SITUATION BEING ADDRESSED
When we have loaded a valid mini cartridge into the Virtual 2315 Cartridge Facility (V2315CF) it should remain active regardless of whether we power the disk drive down and back up. In the real world, a 2315 cartridge that had been inserted in the drive will still be there when the switch if flipped to run. So too, the virtual cartridge should remain available if we spin up the disk drive.
When we have powered down the disk drive, the V2315CF state machine sits in its run level 9, waiting for the disk drive to signal File Ready after the drive believes it has loaded the read/write heads on to the disk platter inside the 2315 cartridge. Once the drive goes ready, V2315CF advances to run level 10 where the 1130 can access the disk however it wants.
Powering down from run level 10 will simply step back to run level 9, since we do have a valid virtual 2315 image loaded into the V2315CF. The next time the disk asserts File Ready after we spin it up, we will go to run level 10 and be able to use the cartridge again from the 1130.
What was not properly modeled before was that the cylinder number that V2315CF records to match the position of the real disk arm does not go to zero when the drive is powered down (File Ready goes off). That is what the real drive hardware does, but V2315CF naively keeps its previous cylinder number instead.
SIMPLE FIX APPLIED
The same logic in the PICO code that turns the File Ready lamp on or off on the V2315CF main box will now reset or set a flag in the FPGA that forces the cylinder number to 0. Anytime the RDY lamp on the V2315CF is turned off (and the File Ready lamp on the main 1130 console is off), the cylinder will be locked to 0 (home cylinder). Turning on the lamp also unlocks the arm so that seeks from the 1130 can be recorded to set the cylinder to the appropriate number.
No comments:
Post a Comment