From dream to idea and project - the trigger

I am subscribed to the IBM1130 group on google groups and read with interest a post at the beginning of 2012 where a member mentioned a past hardware implementation of an 1130 using FPGA (field programmable logic array, a chip that can be structured to create almost any kind of hardware logic through programming).

Another member, Richard Stofer, replied that he was the creator and that his design was 'still available'. He had described it at an "IBM 1130 party" that was hosted once a year (on Nov 30th - 11/30) by the owners of one of the few remaining 1130s - Brian Knittel and Norm Aleks - http://ibm1130.org/. The annual parties no longer take place, sadly, but video clips of the last party in 2008 including a presentation by Richard Stofer about his project. In it, he described not only the design and the hardware he built, but the tools and products needed to do it.

Brian Knittel has built a software simulator of the 1130, available for download on their web site, that I was using to assuage my nostalgia. However, the simulator was not fully accurate, in that it didn't attempt to recreate the hardware console modes that I had used to single step my way through instructions to learn the 1130.

It was accurate from the view of software executing on the machine, whether it was user programs or the operating system - DMS2 - and other IBM provided software. It was not, however, accurate to a person who would have been working with the 1130, thus many buttons and switch settings did not work and some of the peripheral implementations were incomplete. For example, it is possible to use formats for punched cards that the 1130 simulator did not accomodate, since the software Brian wrote took input files that were either ascii 80 column images or 1130 binary format, but it was not dealing with the hollerith code (cards had punches in rows 12, 11, 0, 1, 2 . .. . 9 which in various patterns represented characters or data. The letter C was a punch in the 12 and 3 row of a column, for example. Thus, while a great pleasure to see the 'printed output' files created in ascii as I ran the 1130 and ran programs, it didn't satisfy the itch.

I contacted Richard who kindly agreed to share his designs and other information. I bought the hardware and acquired all the tools he described and created my own copy of his 1130 in fpga.

For those who care about the technical details, this paragraph will detail what was involved, otherwise skip to the following paragraph to continue. The design was implemented on a FPGA development board from Digilent (www.digilentinc.com), the Nexys2 with 1.2 million gate equivalents, written in VHDL which is one of the two main languages used to program hardware. Nexys2 is based on the Xilinx Spartan 3E FPGA and I had to install their ISE web edition development tools. In addition, I needed to program an MBED microcontroller to implement the emulation of the 1130's plotter (IBM 1627) which Richard accomplished by translating the plotter commands to the HPGL language from HP, used to drive their plotters (and the many HP normal page printers that support HPGL).

I built my version of Richard's fpga 1130 and learned a lot about logic design, VHDL and working with hardware. It was a bit more faithful to the 1130, but Richard did not have the same mania for an experiential recreation that drove my interests, he was focused on the fidelity to software, just as Brian was with his simulator, and did not implement the single cycle, single step and other modes I had hoped to recreate. His machine was an FPGA implementation of the Functional Characteristics, the manual that defined the way the machine would behave and is the main document that is used to provide the software level fidelity that was the aim of both Brian and Richard. In some ways, it was the simulator but built in hardware rather than software, although I want to be clear that this was an original effort by Richard that built the 1130 from the ground up from IBM documentation; it did not derive at all from Brian's simulator.

I worked with Richard on several improvements, both those I triggered and quite a few improvements that he created. We still swap ideas on ways that the fpga 1130 could be enhanced. The itch remained unsatisfied, however.

I discovered copies of some IBM manuals on a site called Bitsavers (www.bitsavers.org) that is preserving key historical documents and software from the earlier days of computing. Al Kossow drives that effort as well as serving as software curator at the Computer History Museum near me in Mountain View, CA. The FE Theory of Operation manual described enough about the way that the 1130 worked that I believed it might be possible to build a more faithful hardware version, one that would produce the same results on the console lights and support all the switch settings and buttons of the actual 1130. That trigger began my quest to build my hardware 1130.

No comments:

Post a Comment