Friday, November 29, 2024

Believe the Virtual 2315 Cartridge Facility FPGA design is done, undertaking thorough simulations now

FPGA DESIGN RUNS IN GEORGE WILEY'S RK-05 EMULATOR BOX

The emulator was modified from providing virtual RK-05 disk drives into the facility that provides either a virtual or a hybrid 2310 (IBM 1130 internal) disk drive. Hybrid means the drive in the 1130 is spinning with a cartridge inserted, but the emulator is managing the flow of data to and from the 1130. Arm movements occur on the physical drive and are mirrored inside the emulator. 

The disk heads are not flying on the inserted cartridge, whose actual contents are ignored. Rather, an image on a micro SD card in the emulator is fed to the 1130 during disk reads and any writes from the 1130 are captured to update the image inside the emulator. 

COMPLETED LOGIC FOR THE FPGA DEVICE INSIDE THE EMULATOR

My design modified the Verilog built by George, adapting it to the way the 2310 disk drive works and introducing the hybrid mode. I believe it has implemented what I intended, but I need to very carefully simulate it as a first check that this is true. Once that is done I can begin testing on the IBM 1130 until it works as intended, compatibly and accurately. 

SIMULATIONS BEING RUN UNDER VIVADO TOOLCHAIN

I am using AMD's Vivado (originally from Xilinx) to simulate the various functions of my code. I intend to build this up function by function except for the two areas that are just too complex to model well in a simulation - operation of the SDRAM in the emulator box and the dialog over an SPI communications link from an application running in a Raspberry Pi Pico (also inside the emulator box). 

Sunday, November 24, 2024

Drat - error in my new PCB for 1627 controller card

STOPPED DEBUGGING THE BODGED CARD ON THE BENCH

Mostly the card was working correctly but I would continue to get flakey behavior that after investigation seems to be issues with the bench testing apparatus itself. The only issue that was still occurring was quite odd. 

When the system reset (DC Reset) would stop, the request for interrupt on level 3 (IL3) would immediately go on, but this was not because of any of the six movement commands being activated. If I monitored the DSW Bit 14 (busy) signal using a pullup resistor, the false triggering of the IL3 stopped! 

There is no logical connection between these other than possible shorts or power interactions through chips. It doesn't make sense from the design thus I had to ascribe it to an issue with the particular card I am testing - the bodged up one with jumper wires to the donor SLT card. 

BUILT NEW SLT CARD WITH INTEGRATED SLT CONNECTOR

I soldered all the components onto the new version of the card which has an integrated connector, avoiding the requirement for donor cards or jumpers. All the spring contacts are in place on the card so that it can connect to the pins in an SLT card socket, either on my bench tester or more importantly in an IBM 1130 card compartment. 


It was time to install the housings on the end of the cards. I have not completed the new 3D printed housings, but I pulled two off of the donor SLT card I had been using for the earlier instance of the plotter controller card. 

DISCOVERED BAD SPACING BETWEEN THE TWO CONNECTORS

One housing fit but the other will interfere with the first if I try to install it. I compared it to the spacing of a normal double width card and saw that my layout for the PCB was wrong!



You can see in the picture above that the left row of contacts lines up with the openings in the housing but the right row of contacts is over too far to the left. The width of the space between the connectors is too small in my card. I measured the spacing on an IBM double wide card and found that the middle of the contacts on either side should be .375" apart. 



In addition, there are small tabs on the IBM SLT card that lock the housings onto the card, so I should be implementing them as well. 




Back to the drawing board (well, back to KiCAD) and another round of PCB manufacturing. 

Various parts for recreation cards

3D MODEL FOR COVER ON MY REPLACEMENT SLT CARDS

Eric Schlaepfer sent me his files for a cover that he used when he created substitute SLT cards. He removed the spring clips from junk cards, rather than buy new ones like I did, but otherwise it is the same process to build a PCB that will have an SLT connector on its end. I will make one to assess it for possible changes - since my spring contacts are wider than the IBM part, it may be necessary to alter the design. 


You may recognize Eric from his work creating the Monster 6502, from his Tube Time social media presence on X or from his work with Curious Marc on various projects. 

SMS POWER PADDLE CARD IN PCB FABRICATION

I designed a card to use with the SMS power connections that the IBM 1130 utilizes to provide power to the 1053 Console Printer, 1627 Plotter, 1134 Paper Tape Reader, internal disk drive, and 1054 Paper Tape Punch. These have a tendency to snap. This card will allow museums and other 1130 owners to replace the connectors that are damaged. I produced ten of them, but will also share the design files on Github for those who need to make their own. 



Saturday, November 23, 2024

Disk drive reconnection and one issue

WIRED UP THE AC POWER CABLE TO THE DISK DRIVE

The AC power cable was reinstalled in the disk drive, with the ground wire connected to the AC box lug and the hot and neutral wires connected to their spot on terminal block TB4 inside the box. The cable runs back to an SMS power card that is plugged into the SMS power connectors that are used for the 1053 console printer, disk drive, 1134 paper tape reader, 1055 paper tape punch and 1627 plotter devices. 

HOOKED UP THE RUN SWITCH AND DISK UNLOCKED LAMP WIRING

When I tested the wires to determine which switch terminals each connected, I discovered that the switch was not working properly. It is a DPDT switch although only the Normally Open and Pole terminals are used. One of the two poles was not connecting to either the NO or the Normally Closed contacts.

I used Deoxit to spray inside the switch and exercise it until I restored a good low resistance connection when it is put in the ON position. The four wires from the switch were inserted into the terminal blocks on the front of the disk drive. A doubled set of wires from the Disk Unlock lamp on the main console was plugged into its spot on a terminal block. 

An end of a wire snapped off the pin connector that was plugged into a terminal block - but I soldered it back together easily. 

SMS POWER CARD SNAPPED OFF - SIGNS OF PRIOR DAMAGE AND BAD REPAIRS

I found that the card was snapped off at the fingers. One of the two finger sections showed signs of a prior break and a repair using some kind of liquid metal squeeze on material. It was also wrapped in black vinyl electrical tape, probably to keep the parts together.


This is the means of delivering 115VAC hot and neutral to the disk drive, as well as a good ground connection to the 1130 frame from the disk drive. I could directly wire this up, but that would not match the way that IBM connected the disk drive. 

DESIGNING NEW SMS POWER CARD TO BE FABRICATED

I fired up KiCad and began to design a compatible SMS power card. Once it is fabricated by JLCPCB I can use one to repair the disk drive connection and keep a few for other possible uses. I think the SSM museum could use one so I will send one to them. 

Tuesday, November 19, 2024

Assessing a location for the Virtual 2315 Cartridge Facility interface board

MOST COMPONENTS SOLDERED ON INTERFACE BOARD

I had a few hours in the workshop in between time spent with family visitors. I soldered on the connectors, installed the pins that allow me to hook up the cable connector from the 1130 controller logic, soldered on a cable that plugs into the disk drive, and a few other components. I still need to install the voltage regulator, resistors and capacitors. 

TESTED CABLE ROUTING AND MOUNTING POINT FOR BOARD

I had to find a potential location for the interface board where the cables from the disk drive, 1130 controller logic and emulator box can be routed simply and neatly. I did find a good spot, as you can see from the temporary mount with cable ties. 

I will drill and tap for the mounting screws along the left side of the interface board then work out a mount point for the right side. 

Parts arrived to build Virtual 2315 Cartridge Facility interface board

PCB ARRIVED ALONG WITH THE PARTS

This board is the interface between the IBM 1130 disk controller logic, the 2310 disk drive and the modified RK-05 Emulator that together form the Virtual 2315 Cartridge Facility. The cable from the CPU that normally would plug into the disk drive will plug into this new board. A cable attached to this new board will plug into the disk drive. A pair of ribbon cables connect this board to the RK-05, passing most of the signals between 1130 and disk while processing all the data related signals inside the emulator.


FINISHING UP THE FPGA AND C CODE TO BEGIN TESTING

In order to start testing with the 1130 and disk drive, my modifications to George Wiley's RK-05 Emulator must be installed. The 2310 disk drive differs from the DEC disk drives in quite a few ways. As well, my notion of a hybrid of real disk drive plus emulator is unique. 

I will do some final simulations of the FPGA logic before installing it on the FPGA chip in the emulator. The emulator FPGA works hand in hand with a Raspberry Pi Pico that manages the SD Card where the cartridge images are stored, thus there are some Pi side C code changes needed.

Saturday, November 16, 2024

Still testing substitute 5806223 card to support 1627 plotter on the IBM 1130

AFTER ERROR OF MISSING PULLUP, STILL HAVE ERRONEOUS BEHAVIOR

The card was producing the 1.9 ms and 50 ms output pulses now. More importantly, the interrupt level 3 request (IL3) was not incorrectly high before commands were issued. I saw the busy status emitted when the XIO Sense Device was issued.

What was wrong was the behavior of both busy and IL3. I saw the flipflop turn on, emitting IL3, when I requested a Drum Up move. However, the line dropped after 100 ms when it should have been latched on until an XIO Sense Device with bit 15 was issued. 

This is incorrect on three levels. First, the flipflop should not turn off by itself. Second, the timing suggests that even though I was issuing one of the 1.9 ms actions, the other pair of timers produced two 50 ms actions; the Drum and Carriage movement commands should create two 1.9 ms intervals. Third, the intervals, whether 50 or 1.9, have no path that should reset the IL3 flipflop.

There might be a short between wires, since this was a very bodged prototype, or a bad gate, but in any case the behavior is incorrect. I will check this further when I get back from a family trip early next week.