I have listings of the maintenance diagnostic programs for the 1130, which exercised the various parts of the system to catch any failed parts. They are pretty good at checking all the important permutations - ensuring that addition that wraps around to zero sets the overflow flag, for instance. All I have is a listing of the assembly of the diagnostics, nothing machine readable or directly able to load into memory.
I am extracting sections of the processor diagnostic, typing in the code into a spreadsheet that helps me hand-assemble code in machine language. The 1130 short instructions use relative addressing from the current instruction address (value of the IAR), with the remaining bits of the short instruction word acting as a displacement from the IAR. It can be a positive or negative value, within a limited range since there are a limited number of bits for the displacement field. My spreadsheet calculates the proper displacement to any fixed address I enter, from the IAR that will exist for the instruction in that word I am assembling.
After I put in operation codes and other flags for each instruction, plus the displacement, I have a column of 16 bit words that need to be transferred into the 1130 memory. My digilent board comes with a USB connection and utility program that will load the RAM on the board from a file on my PC. The file has to be entered in hex (or binary) with a special editor, and due to the way the 1130 is implemented in the fpga, the words from my program are interleaved with a parity word between each. I have the machine set to ignore parity errors for convenience, which saves me the effort of having to calculate and load the parity bits. In addition to sticking an extraneous word between each memory word I am loading, I have to swap the high and low order bytes.
It is a clumsy and laborious task, but if I take on blocks of less than 100 instructions at a time, tolerable. The few times I have had an error flagged, after investigation I found that I had either assembled the code wrong or mis-entered it into the hex file. I will continue this task until I have run every bit of the processor diagnostics and have a system I am assured will work correctly. When I am traveling next week I will bring the fpga board and a logic analyzer, perfect for working through the diagnostics, since I can't be working with peripherals, the physical box build or wiring up adapters while I am away.
DISPLAY PEDESTAL CONSTRUCTION
Having learned from my first prototype of the sheet metal box and stands that sit above the console typewriter, I designed the 'production' version using Autodesk Inventor with its sheet metal functionality. I have worked out where to do the joins of the two halves so that they won't be visible after the box is powder coated (paint equivalent). Similarly, I have the mounting details hidden for attaching the two stands to the box and at their bottom, to the tabletop.
The front of the display pedestal has a plastic section that is the middle 20" of the roughly 28" wide box, and is 5" high, the same size as the box to which it mounts. The 1130 has a captions, boundary rectangles, nibble seperators and other features printed on the inside face of the plastic, with holes in that paint that are in the shape of the numerals or letters associated with each of the lamps inside the box. Each of the six major registers has its 16 bits displayed each by its own lamp, this section taking the left half of the plastic panel. The right side displays various status information by lamps, things such as the operation code, T clock state and machine conditions.
Recreation of the center light panel |
Potential paint mask, numeral holes to be etched out afterwards |
I have a method that would work for the panel image, using the CNC vinyl cutter, but it would not be able to create the lettering for the captions because the details are too small. It could easily allow me to build up the paint, once the lettering was in place, first spraying the off white that is the backing for captions and the lines that separate the lamps for each nibble (hex character). A second mask would spray the dark gray background for the register lamps, then a third mask would add a dark black surround and fill.
I would then take the layered plexiglas sheet to the laser cutter and cut out the numerals through which the lamps will shine, the cutting causing the paint to evaporate leaving clear plexiglas in the shape of the chosen numeral. If I can find a good way to create the black text and transfer it onto the plexiglas, prior to the first paint mask and spraying, I will have a plausible fabrication process.
I will still be looking at alternatives. In addition, I am cleaning up the Adobe Illustrator files where I created the light panel images, making sure they can be used for a variety of fabrication methods. I believe I need about one more hour on a workstation to get all the versions of the file set up as I want them.
I bought the sheet metal and plexiglas to complete this part of the project. The sheet metal was brought into Techshop where I cut it out based on the plan, marking up the holes to be placed in the parts, but there is more yet to do. I have to cut some notches to allow for folding the flanges that support the plastic panel and rear cover, then do all the bending.
The pedestal stand consists of two rectangular cross section posts that hoist the box about 8" above the table top, clearing the console typewriter which sits below and in front of the posts. The attachment method I used has flanges at the top that bend inwards, so that they are hidden inside the rectangular area and can have screws holding it to the bottom of the pedestal box. The screws are hidden inside the posts, which appear to butt up directly to the box. The bottoms also have four flanges for mounting, but these are bent to the outside rather than inside, giving a wider base of support when the are screwed up into the underside of the wood table top.
Having flanges that bend to the inside of the folds at the top and to the outside the bottom is a fabrication challenge, as the bending brake that will form the rectangular shape of the post does not have relief channels to allow a flange to push down through the brake plate. I will have to begin the bend of the bottom flanges, flatten them out, do all the bending of the post body into a rectangular solid shape, then rebend the bottom flanges on a vise.
After I cut all the notches and do the bending to form all the parts, I can bring it home where I will solder it together using a propane torch and plumbers solder. I have created the box as a top and bottom half, joining on the left and right side faces about halfway from top to bottom with a straight butt joint. A flat bit of metal on the inside will be soldered onto the two halves. Hidden sheet metal screws will hold the pedestal stands onto the bottom of the pedestal box and to the tabletop's underside.
BLOCK SHAPED TOGGLE SWITCHES
The 1130 uses a few toggle switches whose handles are a horizontal block, the end profile is a parallelogram narrower at the top than the bottom, the front and top profiles are rectangles. A matching plastic plate sits in the opening of the main keyboard/switch plate, rectangular in shape, as these fit in the same sized openings as the usual IBM rectangle pushbuttons and indicator lights. There is a slot that allows the switch rod to travel front and back as the block handle is moved to its two operating positions. the slot has a rounded top and bottom, but straight side walls, leaving just enough room for the switch lever to swing between its two positions.
One use of the block toggle is the Power switch for the 1130 - moving the lever to the rear towards the typewriter turns on machine power, while pulling the block to the front closest to the operator turns everything off. The other switch in the 1130 configuration I am copying determines whether a console read will read the value of the 16 toggle switches mounted on the front of the typewriter housing or will accept one keystroke from the keyboard.
1130 Block Toggle switches |
No comments:
Post a Comment