As of this writing, I have the IMSAI connected to a Raspberry Pi model A, and I use screen as a terminal program (screen /dev/ttyAMA0 using the RS-232 serial shield on the Pi or screen /dev/ttyUSB0 with a USB adapter). The RS-232 is set up for 8N1 at 9600 baud. With screen, I can switch over easily to the Pi and edit assembly files, then transfer the files with XMODEM. It's a little inconvenient with just one serial port, but it works. The commands look like this to receive a file from the Pi:
A>XMODEM FOO.ASM /R
cntl-A : exec !! sx FOO.ASM
and to send a file to the Pi:
A>XMODEM FOO.ASM /S
cntl-A : exec !! rx FOO.ASM -c
I usually force the CRC checking. For reasons I haven't figured out yet, the checksum method fails. I was also having difficulty transferring larger files (like the XMODEM.ASM, or the PRN file that ASM generates, which is about 72K). My solution was to limit the size of the transfer buffer efrom a maximum of 0xF0 (240) 128-byte (sector-sized) pages to 0x80 (128) pages. I haven't tested values between these, but I haven't had trouble transferring files with this smaller buffer size. (It turns out that this was a bug in XMODEM. It was corrected in a recent revision.)
Recently, I grabbed an IMSAI SIO-2 board to expand the number of serial ports and enable direct file transfers. The board was missing the 8251 UARTs and one transistor had been sheared off, but otherwise it was in immaculate condition. After the usual check-outs (tantalums for shorts, power on the 7805 regulator) I had the board operating in pretty short order. I used DDT to enter the following test program
0001 Â 0000 Â Â Â Â Â Â CDAT .EQU 22H ;8251 DATA PORT
0002 Â 0000 Â Â Â Â Â Â CCOM .EQU Â Â 23H Â Â Â Â Â Â ;8251 COMMAND PORT.
0003 Â 0000 Â Â Â Â Â Â SENSE .EQU 0FFH
0004 Â 0000 3E 00 Â Â Â MVIÂ A,00H ;INITIALIZE UART.
0005 Â 0002 D3 23 Â Â Â OUTÂ CCOM
0006 Â 0004 D3 23 Â Â Â OUTÂ CCOM
0007 Â 0006 D3 23 Â Â Â OUTÂ CCOM
0008 Â 0008 3E 40 Â Â Â MVIÂ A,40H ;reset command
0009 Â 000A D3 23 Â Â Â OUTÂ CCOM
0010 Â 000C 3E 4E Â Â Â MVIÂ A,04EH Â Â Â Â Â Â ;Mode register 8,1,n
0011 Â 000E D3 23 Â Â Â OUTÂ CCOM
0012 Â 0010 3E 37 Â Â Â Â Â Â Â Â Â MVI A,37H ;Command register
0013 Â 0012 D3 23 Â Â Â OUTÂ CCOM
0014 Â 0014 DB FF Â Â Â LOOP: IN SENSE
0015 Â 0016 D3 22 Â Â Â OUT CDAT
0016 Â 0018 DB 23 Â Â Â LOOP1: IN CCOM
0017 Â 001A E6 01 Â Â Â ANI 01H
0018 Â 001C CA 18 00Â Â JZ LOOP1
0019 Â 001F C3 14 00Â Â JMP LOOP
0020 Â 0022Â Â Â Â Â Â Â
0021 Â 0022 Â Â Â Â Â Â .END
and used it to verify valid RS-232 output on my scope. The three 00 bytes initially sent to the UART are recommended in the 8251 sheet.Â
Channel A is currently jumpered for data on I/O port 22, and control on 23, which sets channel B (unused, so far) data on 24 and control on 25. XMODEM is now set up to use the console (Proc Tech 3P+S) and transfers files directly over the SIO-2. Now I can see the transfer in progress.Â
What's next?
My restoration from a barn-find machine, complete with mud wasp nests, to a functioning microcomputer system is more or less finished. I've learned a lot along the way. It's my hope that these pages serve to document the adventure of a relative novice through the process of taking a non-working system and making it breathe again as a running machine. Without the online boards and mailing lists, I wouldn't have gotten far. These are the information exchanges of today, like the Homebrew Computer Club or other computer user groups of old. It is one small example for others just jumping in that, using the resources of this community, it's possible to restore, explore, and run these machines.
I suppose it's time to turn to other projects in the retropipeline, but I'll probably circle back and fix a few nagging details. On the one hand, I'd like to get the entire thing apart again to do a much deeper clean, but of course this comes at the risk of busting an operating machine. During my quest for more serial, I obtained a Cromemco TU-ART board. It turned out to be in pretty bad shape (ah, eBay roulette), with a lot of corrosion on many chips and weakened pins. I haven't gotten it working yet. I've been writing small utilities to help archive and restore disks. My second disk drive is showing some mild signs of its age again. Of course, I get to play with the IMSAI now... like watching the amazing blinkenlights and 8" electromechanical disk activity during assembly and command file generation.Â
Page listing - "Subpage Listing"