The pdp10_rp emulator had several problems: 1) disks are not recognized properly when they come on-line. Same issue as tapes, but not the same code paths. 2) The bootstrap code did not wait for disks to become ready. 3) The bootstrap code did not take the RH CSR address from the front end (device). Hence, would not boot if the device address was changed. 4) The bootstrap looked for the second HOM block at block 10 of the disk. Unfortunately, it read block 8. 10 is decimal; you need all 10 (decimal) fingers. Fixes: 1) Implement spin-up delay. A device that is attached/re-attached comes on-line a second later. Replace tests for 'attached' with tests for up-to-speed. 2) Wait for the drive to become ready after issuing a controller clear. When it's ready, write the attention summary register to prevent the un-tended on-line interrupt for looking like an error. 3) Read the RHBASE from main memory instead of storing it there. Teach the bootstrap command to put it in memory from the dib, as it did with the unit. 4) Read the correct block. FILSER now gets on-line and off-line interrupts. |
||
---|---|---|
.. | ||
pdp10_bug_history.txt | ||
pdp10_cpu.c | ||
pdp10_defs.h | ||
pdp10_fe.c | ||
pdp10_ksio.c | ||
pdp10_lp20.c | ||
pdp10_mdfp.c | ||
pdp10_pag.c | ||
pdp10_rp.c | ||
pdp10_sys.c | ||
pdp10_tim.c | ||
pdp10_tu.c | ||
pdp10_xtnd.c |