INTERRUPTING THE NORMAL SIGNAL FLOW BETWEEN DISK AND CONTROLLER
A cable from the IBM 1130 controller electronics is plugged into the small electronics box on the rear of the 13SD disk drive, carrying all the signals between the two ends. The Virtual 2315 Cartridge Facility (V2315CF) interposes between the two ends. Some signals are transported directly between the 13SD and the controller. Some signals are transported between 13SD and controller but also watched in the V2315CF since it must remain in sync with the state of the 13SD in order to perform its functions. Some signals are sent from V2315CF to the controller.
In the real mode - hybrid operation of the 13SD and V2315CF - the disk drive generates signals such as Sector Pulse, Index Pulse and File Ready. In virtual mode, where the disk drive is not active at all, the V2315CF must generate all these signals. Thus the choice of whether a signal passes through the V2315CF between 13SD and controller or not is determined by the mode. The real mode is the normal, intended way to run with the V2315CF.
The cable from the IBM 1130 controller electronics is removed from the back of the 13SD drive. It plugs into an interface board instead. A cable from the interface board plugs into the rear of the 13SD drive. Two ribbon cables from the interface board hook it to the V2315CF main box. The interface board also contains the real/virtual mode switch.
BUILT NEW VERSION OF THE INTERFACE BOARD
My updated interface board design includes the Real/Virtual mode switch and has a redesigned circuit to drive the Unlocked lamp using a MOSFET. I used my rework tools to carefully pull the connectors, pins and other parts from the old board, then soldered them onto the new version. I removed the wires from the disk interface cable, one by one, and soldered them to the new board.
I did loose a couple of the gold plated pins that substitute for IBM SLT backplane pins, into which the. cable from the CPU controller logic plugs. I had some spares which I made use of. I did have a 10uF surface mount capacitor spring out of the jaws of the tool I was using to solder it to the new board. I couldn't locate it and didn't have another compatible capacitor - I have some at lower voltage levels or different form factors. I will tack a through hole part on the board and replace that when my latest parts order is delivered.
V2315CF SET UP IN THE IBM 1130 FOR TESTING CAMPAIGN
The interface board is back in place inside the IBM 1130. I temporarily placed the main V2315CF box and the power supply on top of the internal disk drive cover, then proceeded to wire up the final electrical connections. IBM 1130 +12V power is connected through diodes to the V2315CF power supply, the trickle charger/maintainer and the motorcycle battery.
NEW PCB DESIGNED TO SIMPLIFY POWER DISTRIBUTION, CHARGING AND MONITORING
I whipped up a simple PCB to hold the various diodes that connect the 1130's +12V supply, the 12V lead-acid battery, the trickle charger/maintainer that ensure the battery is topped up, and the connections to the power supply for the Virtual 2315 Cartridge Facility. It is on order, but I did a prototype soldering together components to test with the board while I wait for the production parts.
TESTING PLAN
I will test first in virtual mode, leaving the 13SD drive powered off. This should allow me to debug most of the functionality (and look for defects in the 1130 controller electronics that weren't previously identified).
I can hand toggle simple input output commands to validate quite a bit of the functionality. The 1130 uses an instruction (XIO) that points to an input-output control command (IOCC). The IOCC specifies a device number, in our case 4 for the internal 13SD disk drive. It specifies a command type (Read, Write, Sense Device, Sense Interrupt, Control, Initiate Read and Initiate Write). There is a pointer to a memory location used for some of the command types, plus a few bits that can be used for unique purposes by some devices.
The 13SD disk drive uses three bits to indicate the head and sector desired for read or write operations. It has another bit it uses to show the direction of arm movement - towards higher or lower cylinder numbers. A final bit is used to block data transfer when doing a read, used to validate the parity of a sector without actually transferring the 321 words into core memory.
The 13SD uses Initiate Read and Initiate Write, rather than Read or Write, to perform data transfer. The memory address in the IOCC points to an area. The first word contains a count of the number of words to transfer, up to the maximum possible in a sector of 321 words. The subsequent sequential locations in core memory will hold the data to be written or receive the data during a read.
I will program some Sense DSW commands to monitor the status bits and the sector number being displayed from the simulated rotating disk at the time the XIO is executed. I will use this after other commands I run later, to see the outcome of each test.
Next I can issue Control commands to move the disk arm, watching on the debug console (serial USB link) of the V2315CF for the command to be recognized and the box identify the correct end cylinder number for the movement.
When satisfied with this, I will issue an XIO Initiate Read to read in a sector so that I can compare the core memory contents with the known value in the virtual 2315 cartridge image.
When the reading is considered to work properly, I will modify some locations in core memory that had been read in from the disk, then issue an XIO Initiate Write. If the status appears good to this, I can then reread the sector with XIO Initiate Read to see that the changes were indeed placed on disk and retrieved.
All of this will be done with the Read-Only mode set on the V2315CF box so that I am not damaging the virtual image if things don't work properly. Only when all of the above seem to be working properly will I Unload the virtual cartridge without Read-Only, updating the file on SD card. I can look to see that the changes I made do appear in the proper location of the resulting file on SD card.
I can load the disk drive diagnostic program into the IBM 1130, execute it and let it work against the virtual disk drive we are emulating. Assuming a passing result, it would be time to flip the switch over to real mode on the V2315CF interface board and do this all again with the 13SD drive running.
The real drive will have a cartridge inserted - contents don't matter as the hV2315CF eads will not actually read or write nor touch the surface - and the drive powered on. I will load a virtual 2315 image on the V2315CF main box and wait for the File Ready lamp on the 1130 console (and V2315CF box) to illuminate. I can then run the disk diagnostic with V2315CF in Read-Only mode, validating that the hybrid mode also works.
Lastly, I can hand code an XIO Initiate Write to write content of my choosing on a sector of the virtual cartridge, having turned off Read-Only, then unload it to look for the updated contents in the SD card file.
All of the above should be proper testing to consider this facility operational. I can begin to use the IBM 1130 with disk images that don't require the peripherals I have not yet restored. The main operating software DMS2 expects a working line printer and card reader. At startup it tries to print a banner and then read a control card. If either peripheral is not working, the processor sits in a wait state, where nothing but the correct response of the requested device will allow it to move forward.
SECOND V2315CF BOX CONSTRUCTED FOR SSM MUSEUM INSTALLATION
This initial V2315CF system is installed in the IBM 1130 belonging to the museum operated by the Vintage Computing Federation up in Wall, NJ. I ordered another kit from George Wiley and built it so that I can install it on the IBM 1130 I previously restored for the System Source Museum in Hunts Valley, MD. I will have to do the install on-site there.
I ordered parts to build the interface and power distribution/monitoring boards to go with this. I haven't yet ordered a motorcycle battery or charger/maintainer for this system, but will do so once I am scheduling the time for its installation.
No comments:
Post a Comment