Saturday, October 10, 2015

Forced busy bit with mirror device adapters won't work. Restoration on PE disk drive. Other debugging on SAC Interface Box


Further testing revealed more flaws with my strategy for the mirror device of pushing the busy and/or not ready bits into the DSW when the program does its XIO Sense Device. The typewriter diagnostic looks for problems and goes into a halt with 'typewriter stuck in busy', a pretty simple thing to detect if you have just received the Operation Complete interrupt since busy is not a valid co-condition.

I think I am going to be forced to build in the big buffer for mirror devices and allow the mirror code on the PC to interrogate and fetch the contents asynchronously with the actual IO adapter driving data and my fpga logic capturing it.

I decided to push in some diagnostics for the 2501 reader and the 2310 disk drive adapters, from the PC side, to let me begin debugging them. Later tonight I will make the alterations to the fpga to implement the mirror buffer.

I loaded the standalone disk utility into the 1130 and my logic is responding. Now to work through the code, debugging and strengthening it. I am running various tests, each time determining another step in the operation of the virtual disk drive.

Tonight I generated a 1024 deep buffer of 16 bit words, for use by the mirror adapters - either the mirror 1132 or the mirror 1053, whichever is active. I began to 'wire' it in to the 1053 adapter logic - causing the XIO Write commands to push a character into the FIFO and the 'get special data' transaction from the PC to pop out a character.

For the 1132 printer mirror action, with its rate of over 3 line of 120 characters each second, I am going to move the assembly of the print line down into the fpga, so that the mirror adapter will push 60 words (two print columns per word) in ASCII into the FIFO for fetching by the PC program. I will also need a way to designate skip or space operations. Given the high rate, I can't leave it to the Python program to fetch 8 words with cycle stealing for each of 48 character positions of the emitter wheel, just to build out one line of print.


Two early tasks are to remove the 'protective paper' stuck to the front of the drive, and removing the protective lock keeping the disk arm from extending out and being damaged during shipment. Once these are done, I can begin inspecting and cleaning - I am particularly interested in the condition of any foam rubber or other plastics which might have gone bad.

The paper on the front is a problem because the adhesive as become much too set and won't peel off as originally intended. I am alternating soaking with water to remove the paper backing and wiping with IPA to dissolve the glue. It is very slow work to get this off without damaging the paint finish underneath which is visibly new and untouched.

Top rear untouched, top front mostly done, working on front black area
The disk arm is held back by a strong spring attached to a bright blue temporary holder. I removed the spring once I had the drive up in a safe spot inside the workshop. The blue rubber disc seems like it also serves as a protective backstop so I put it on sans spring. I did notice that the rubber on the disc and two spots along the side of the frame were tacky to the touch - thus degrading due to age.

Removing rear cover over positioner and electronics
positioner center rear, power supply right rear, cards left rear
Spring from blue disc at bottom holds arm rearward for shipping
Spring and disc after removal
Arm roller bearings visible with blue disc removed
Disc replaced as safety buffer for arm
I found some documents that cover a slightly older version of my drive but are close enough to be able to restore it from. I bought the second identical drive, also new in 'box' (plastic wrapped, mounted on wood shipping baseplate), and should have that here to restore along with this one. My big remaining item for these are the proper 5440 type (top loading 14") removable cartridges. 

No comments:

Post a Comment