I picked up a lift gate truck from Hengehold in Los Altos, drove it home and met some people who volunteered to help me move it all. We loaded up everything, strapped it down, and drove very slowly and carefully to CHM where we could unload and set it all up.
The bumping of the wheels rolling into the freight elevator caused the front panel display lights to slide outward at the front, dislodging the lights. I was able to show the machine for the weekend by using blank punched cards as insulators to keep the loose circuit boards and lights from shorting each other out.
It was a long two days of running various Fortran compile and execution jobs, Assembly jobs, disk directory listings, the Lunar Lander game and other examples. I used the virtual 1442 card reader but most times ran with both the inboard real disk and the virtual 2310 disk. About half the time I had booted from the internal cartridge, the rest using virtual cartridge images.
I met many people I knew from the past, either from various 1130 and classic computing related internet groups or in person. Brian Knittel, who built the 1130 simulator and owns another running 1130 system, visited on Sunday and ran some software on the 1130.
I was able to speak to many visitors, ranging from people who worked with the 1130 years ago to tech enthusiasts who were seeing one for the first time. Met some former IBMers who either used the system or in some cases designed or coded parts of the system.
The show had many other outstanding exhibits, both creative replicas and lovingly restored vintage machines. I knew the VCF judges were going to award ribbons to some exhibits but had little expectation of winning one myself. To my surprise, however, my 1130 received a first place award for the minicomputer/mainframe category and I was given a second place award in the replica category.
Friends including Brian helped break down the system, pack it up and get it on the truck. The trip back down the freight elevator finished the job that the first trip had started on the light panel. The front panel and its honeycomb plastic assembly is entirely separated, with the circuit cards and lights of the display pedestal hanging loose.
It is all repairable, just a bit of a pain. It always has been, a design flaw that makes replacement of bulbs a very tedious and nearly impossible task, so my repair will address this problem once and for all.
By 7PM, the machine was back in the workshop, not yet reassembled but safe and sound. The replica was in the back yard, heading to its temporary home in the shed. We were all a bit exhausted and will need Monday as well to fully recover.
SAC INTERFACE FOR ADDING PERIPHERALS TO THE 1130
Issues noted to be addressed after the VCF
When I switch disk cartridges in the virtual 2310 disk drive and boot, the FPGA and GUI think the disk is still on its last cylinder position, thus the boot program has to step backwards one cylinder at a time until it gets to the home cylinder (0). I can change the logic so that unmounting a cartridge restores the arm to cylinder zero.
Also, the speed of the seek is distressingly slow. I think I have a problem with my timing logic to model seeks, in particular the 'settle' time that is applied after a movement. I am withholding the op complete interrupt until the settle time has passed, but I think that a real drive will interrupt as soon as movement stops.
Therefore, the settle time is only applied to block read or write operations subsequent to a seek. I have to restructure the logic to make the settle counter independent, kicked off by the end of a seek and then have the read/write logic wait if the counter hasn't reached zero.
In practice, the disk performed indistinguishably from the real one when running real 1130 job streams. It didn't affect the exhibition at all.
My virtual 1403 will get strange bursts of garbage in certain lines - but totally repeatable on the same jobs. For example, the header of each page with a //JOB has some random 3 characters printing. The header line of a dump slet program has some random 3 characters, but the data lines are perfect.
This tells me I have a timing problem with my modeling - some code is reusing the print buffer before it should, because of something I am doing wrong. With adjustments, this will work fine as well.