PRU1 code split into multiple images
1. test functions
2. UNIBUS operation
PRU1 bus latch interface
Write byte/bits access not with MACROS (random optimizer influence),
now with *_helper() procedures. Same timing, more determinism, much code saving.
Nono more ASM code to write PRU0 XFER area.
demo: menu to test UNIBUS signals directly
rework "Arbitration" logic: now 3-fold
Rework of UNIBUs arbtiration: NONE/CLIENT/MASTER
- no Arbitrator (SACK penidng for 11/34 Konsole) (NONE)
- phyiscal PDP_11 CPU is Arbitrator (CLIENT)
- UniBone implements Arbitrator (MASTER)
- Same PRU code loop handles all arbitration types
PRU buslatch timing slower, for some problematic PCBs
More aggressive bus latch selftest
(mixed patterns, running on PRU now)
Refinement of ready-to-run scripts
- Adapted to changed "demo" menu
- new name scheme
<OS>_<boot- drive>_<PDP-11CPU>
indicates
- which OS is run
- which disk emulation is used and what is the boot device
- what is the (minimum) PDP-11 to run that
Merged in Joshs DMA timing for 11/84
UNIBUS master cycles waits 350 us before MSYN, instead 150.
Merged in Joshs DMA request queue
multiple devices canrequest INTR and DMAs concurrently, will be put on the bus sequentially
Merged in Joshs MSCP driver
- Build RT-11v5.5 for MSCP
- added boot loader "du.lst"
MSCP run scrips
2.11BSD on MSCP on PDP-11/44
RT11 on MSCP
Fix: image file sizing
Disk image file exptend automatically if block beyond current file end is written
- Removed delay in mscp server polling loop, which as I suspected was papering over an issue.
We now pull all messages from the command ring at once and save them locally. When processing
completes, the polling loop goes back to sleep. This jibes with host code expectations of the
port. No more delay necessary to avoid race conditions.
- Cleaned up RCT/RBN information so that this can be dynamically configured in the future, should
the need arise
General code cleanup/refactoring. Added header comments.
Added "use image size" parameter for MSCP disks -- block count derived from image file size rather than DEC drive geometry; allows for arbitrarily large disks (up to 2TB, theoretically.)
without help from the device code (just call request_DMA and when it returns the DMA transfer is complete.) Fixed
request_DMA to chunk DMA transfers larger than 1024 bytes to avoid overrunning the mailbox's shared memory. Fixed
concurrency issues with DMA requests -- a race condition could cause DMA request data to get clobbered.
RT-11 now boots, MSCP behavior is now very reliable.