Tuesday, September 29, 2015

Small progress and ceasefire on the 1053 spring front, major coding and testing of the SAC Interface virtual and mirror devices


After studiously ignoring the spring most of the day, I strode back into the valley of death for my day's ration of utter frustration. After only 30 minutes, I was able to get the errant spring completely out of the typewriter. Now, if I can get the spring attached first to the tab interposer, while dangling backwards, I theoretically can reach in with a spring hook and pull the rear of the spring back over its mounting tang.

I put in another 30 minutes - my quota for a session - but didn't succeed. I will keep coming back, but in frustration-limiting short bursts until I get an end on, then repeat for the other end as long as necessary.


I completed the Python (PC side) code for the virtual 2310 disk drive, allowing the user to open an IBM 1130 Simulator disk image file and allow the 1130 system to access it as if it were a physical cartridge sitting in a real disk drive (an IBM 2310 drive, number D).

I made some enhancements for more faithful error recovery and behavior. A helper thread now models the 1500 rpm rotational speed of the disk, cycling the sector number so each sector lasts 10ms. The read and write logic will wait until the helper thread's sector number matches the target before it begins the data movement. The seek logic will calculate the time a seek would consume on the physical 2310 drive and sleep until that has passed.

My experiments with the disk image files showed that I was correctly converting between those encodings and the 1130 words that I would read or write. All that remains is to do some testing - a safe copy of the file, load the DCIP utility into core, set the console switches for drive D and then do some IO to it.

In lieu of battling the typewriter spring, I worked on the Python program to fill out the remaining virtual or mirror drivers. Still to complete were:

  • Mirror bit switches
  • 1403 line printer
By the end of the evening, I had most of the bit switch coded, although the GUI display of the switch settings is not yet done. I also roughed out all the pseudo code for the 1403 printer function. In addition to finishing that worker thread for the 1403, I have to write the routine to select an output file when the user wants to start the 1403 printer. 

No comments:

Post a Comment