My IMSAI System
I have an IMSAI 8080 machine in my collection as well. The IMSAI could be considered to be the first "clone" machine, in this case, of the Altair 8800. It was configured similarly (8080 CPU and 4k of SRAM) but it had a splashier front panel graphics and larger, bi-color paddle switches on the front panel. The power supply was larger and less electrically noisy, and the backplane was better designed than the Altair.
My system didn't come with the stock 8080 CPU card installed (although it was provided). Rather, it came with the TDL ZPU Z80 CPU card (replacing the CPU card was a common upgrade as the Z80 became more prevalent as it was faster and had a more capable instruction superset). It came with 48k of installed memory in three Vandenberg 16k boards. The disk drive system was the iCOM "Frugal Floppy" system. The serial cars is a Solid State Music 2p-2s card.
The picture above shows my IMSAI system (Serial #003526 from the San Leandro facility) on top of the iCOM Frugal Floppy system (Serial #1154).
Here are some manuals relating to my IMSAI machine:
Core System Manuals
Manuals relating to the hardware installed in my machine
- CPU: Technical Design Labs "The ZPU Manual" (pdf)
- Memory: 3 @ Vandenberg Data Products 16k SRAM (pdf)
- Terminal board: Solid State Music 2p-2s (pdf)
- EPROM: Solid State Music PB-1 (pdf)
- Modem: PMMI Communications MM-103 Modem and line coupler (pdf)
- Disk Drive System: iCOM "Frugal Floppy" dual 8" drive system.
- iCOM Frugal Floppy CP/M 2.0 Supplement (Computer Mart of New Jersey-Bruce Ratoff) (pdf)
- iCOM CP/M System Upgrade release notes (pdf)
- Customized CBIOS3 listing for CP/M 2.2 and the iCOM Frugal Floppy (last date 4/22/81) (pdf)
- CBIOS for CP/M 2.2 and the iCOM Frugal Floppy (might be for my system) (pdf)
- iCOM Warranty Card (pdf)
- Application note: Shadow Modification for iCOM Interface Card (pdf)
- FD400/5XX Service Manual (pdf)
- Synetic Design Company FDS-2 Binder:
- Synetic FDS-2 Core Manual (pdf)
- Operator's Guide - FDOS-II (pdf)
- Operator's Guide - iCOM Macro Assembler (pdf)
- Operator's Guide - Text Editor (pdf)
- FD360/FC360 Controller/Formatter Maintenance Manual (pdf)
- FD360/FC360 Schematic Diagrams (pdf)
- Interfacing Guide for the FD360/FC360 Controller/Formatter (pdf)
- Interfacing Guide for the FD3700 Controller/Formatter (pdf)
- BASIC-M Operator's Manual (pdf)
Digital Research CP/M Manuals that came with my system
- Introduction to CP/M Features and Facilities (Digital Research) (pdf)
- CP/M 1.4 System Alteration Guide (Digital Research) (pdf)
- CP/M 1.4 Interface Guide (Digital Research) (pdf)
- CP/M 2.0 User's Guide for CP/M 1.4 Users (Digital Research) (pdf)
- CP/M 2.0 System Alteration Guide (Digital Research) (pdf)
- CP/M 2.0 Interface Guide (Digital Research) (pdf)
- CP/M Assembler (ASM) (Digital Research) (pdf)
- CP/M ED - A Context Editor (Digital Research) (pdf)
- CP/M Dynamic Debugging Tool (DDT) (Digital Research) (pdf)
- CP/M SID Symbolic Instruction Debugger User's Guide (Digital Research) (pdf)
- CBASIC Version 2.0 Language Reference Manual (Digital Research) (pdf)
- CB80 Language Manual (Compiler Systems) (pdf)
- LK80 Operator's Guide (Compiler Systems) (pdf)
Other Manuals and Documents that came with my system
- IMSAI 8k BASIC Listing (pdf)
- An Introduction to the DOS-A IMSAI Floppy Disk Operating System (pdf)
- IMSAI/Tarbell Bootstrap Loader (pdf)
- JRT Systems Pascal Reference Manual (pdf)
- MicroPro Word-Master Operators Manual (pdf)
- Mini-article from Dr. Dobb's (9/76:17) regarding "...the memory clobbering phantom!" (pdf)
- Solid State Music 2P/2S Manual (pdf) (JC)
- Structured Systems Group, Inc. NAD Name and Address System manual (pdf)
- Structured Systems Group, Inc. QSort User's Manual (pdf)
- TDL Z-80 Relocating Macro Assembler User's Manual (Technical Design Labs) (rev. 1.2; 12/9/76) (pdf)
- TDL Text Editor User's Manual Preliminary (Technical Design Labs) (12/76) (pdf)
- TDL Text Output Processor Manual (Technical Design Labs) (rev. 1.0; 2/14/77) (pdf)
- TDL Zapple 12k BASIC Version 3 User's Manual (Technical Design Labs) (rev. 0; 1/78) (pdf)
- TDL Zapple Monitor (Technical Design Labs) (pdf)
- TDL 8k BASIC Manual (Technical Design Labs) (pdf)
- Disk Basic Version 1.06 Documentation Update (Xitan) (pdf)
- Z80-CPU Technical Manual (Zilog) (1976) (pdf)
- Zilog Data Book (Zilog) (1979) (pdf)
CP/M and Microsoft Manuals
The Frugal Floppy system I have is a bit flaky. Actually, it's not the system per se, but the Pertec FD400 floppy drives. So, I wanted to replace this floppy system with a working one based on 5.25" disks. Not only is it difficult finding a working controller capable of 5.25" disks but if you're lucky enough to find one, it's even harder to find a working boot disk.
In many circumstances, you can make an image of an 8" diskette using ImageDisk and take that image and write it onto a 5.25" high-density (1.2mb) diskette. The drive RPM (360) and transfer rate (500kbps) is the same as an 8" drive, and the 5.25" drive is capable of stepping 80 tracks, which is greater than the 77 tracks on 8" disks.
So, I'm going to chronicle two things here -- repairing the 8" system and converting to a 5.25" system. In advance, I owe a load of thanks to Herb Johnson, Mike Stein, Tony Duell, and many others on the ClassicCmp list for their assistance with this project.
Implementing a new 5.25" Disk System
I tried this method first, and it actually worked better than I had anticipated. With the help of another hobbyist (John Singleton) who had the exact same system and had gone through the same process, I was able to re-implement a 5.25" disk system from scratch using his CBIOS and method. I wrote a complete paper on this, available as a FAQ here (MS Word).
Essentially, this project required a few things:
- 64k of memory, less 2k to accommodate the monitor EPROM. I used a CompuPro RAM17 (manual pdf) with one of the 6116 SRAM chips replaced with an EPROM. Other configurations are possible, but essentially the top 4k of memory space is used for the monitor, CP/M CBIOS, disk buffers and monitor variables.
- A good system monitor program. Calling it a monitor is understating its capabilities. The FAQ identifies in detail what capabilities the monitor program needs, but in addition to "regular" monitor capabilities, it needs the ability to read HEX files, cold-boot CP/M, write CP/M to disk, format blank disks, and also act as the CP/M CBIOS.
- A working disk controller board, cabling and drives. I used the CompuPro Disk 1 controller (manual pdf) and YE Data YE-380 1.2mb drives (used on old IMB PC/AT machines). The YE drives are great because they have head load solenoids and operate just like 8" drives.
- CP/M 2.2 sources...available from http://www.cpm.z80.de/source.html (mirror). This archive has both 8080- and Z80-neumonic source files -- use the right one for your application.
- CP/M 2.2 "standard" distribution...available from http://www.retroarchive.org/cpm/os/os.htm (stdcpm22.zip) (mirror)
- CP/M 2.2 assorted patches from cpm.z80.de (mirror)
- CP/M emulator for compiling. I used MyZ80 from the Walnut Creek CP/M CD-ROM (mirror)
- Lots of patience.
Overall, the project took about two months, but that included acquiring parts and doing testing. Once I got going, it only took a couple of weeks to implement and test. Now, I have a complete and fully-working dual-drive system that uses 5.25" floppy drives to emulate 8" drives. I mounted my drives in an old DEC RX-180 external drive case -- convenient, but not IMSAI obviously. I guess I could spray paint it IMSAI blue but for now it's vintage enough.
May, 2008: A few weeks ago, I came across a post on the Vintage Computer Forums (http://www.vintage-computer.com/vcforum/index.php) which mentioned a software-based disk drive emulator called the Altair Peripheral Emulator ("APE") (http://frankbarberis.tech.officelive.com/default.aspx). APE uses two pieces of software to emulate a CP/M compatible 4-drive floppy disk system. A Windows program runs on the host machine, which connects to an S-100 machine through a serial cable. A small boot loader is toggled into the S-100 machine which loads a secondary boot loader that does the heavy lifting to get CP/M booted.
I contacted Frank and he is very helpful and was able to create a custom floppy that matched my S-100 serial port configuration (I/O port location and status bits). It's a little slow because of the 9600-baud serial connection but absolutely very functional. If you have a fast enough (4MHz) S-100 machine and serial card, it is capable of running at 19,200 baud which should be more than adequate for daily use.
I usually use a Windows-based laptop as a terminal for my classic machines. For this setup, I use two USB-to-RS232 adapters connected to the two SIO ports on my IMSAI and I run but Hyperterm and APE on the laptop. Works like a charm. Thanks, Frank, for a great tool.
Fixing the Frugal Floppy System
The iCOM "Frugal Floppy" System is a nice dual-8" floppy system. The actual system is manufactured by Synetic Designs Company but its based on the iCOM FD360 controller-formatter and Pertec FD400 drives. These are the same drives used in the original Altair 88-DCDD. FD400 drives have direct-drive DC spindles and a soft-sectored geometry of 77 tracks containing 26, 128-byte sectors, for a total of 256,256 bytes.
The controller-formatter is a two-board, totally TTL (i.e., no LSI logic) controller which connects to the host through a 50-pin non-Shugart-compatible interface. This cable connects to a host interface card in the IMSAI. This card contains some glue logic, buffer RAM and an EPROM.
In this system, the first drive (the top one in the picture above) works perfectly, and the system boots CP/M 1.4 with no problems at all. The bottom drive worked for a while when I first got it but now suffers from CRC errors. There is a light on the drive cabinet that indicates CRC errors, and I get nothing but BDOS errors when accessing that drive.
Given this, there are a few procedures that I've done and still have yet to do:
- Clean the heads. I first used a diskette-based wet cleaner and that didn't seem to make much of a difference. Next, I plan on cleaning the heads manually, using isopropyl alcohol and a swab to see if that helps.
Result:
Check the spindle speed. The procedure in the manual calls for counting pulses at a tie point on the controller card. One can also use an optical/non-contact tachometer to check the speed (which should be 360 RPM). The rub here is that the spindle motor does not have an optical tach disk ("zebra stripe"), so you have to make one or copy one from another floppy drive (like the Tandon TM100) and glue it to the spindle. For convenience, here's a copy of mine.
For the tachometer, there are several options: neon light connected to 110v/60Hz; xenon stroboscope; Model 100 Bar Code Reader (Portable 100 magazine, 2/88, p.32). The associated machine language program has to be modified to count more pulses because we need to count at least one second's worth of pulses. Further, the BASIC program needs to be modified slightly to have the math work out right.
Result: Well, the initial test run of the bar code stroboscope didn't turn out as I had hoped. I think I have some more work to do on getting the math correct. I'm testing against a known-good Tandon TM100 floppy drive (which has a 60Hz strobe disk on the flywheel) and I'm getting nonsense readings.
Cromemco Dazzler
I recently decided to pull out one of the Cromemco Dazzler boards I have and see if I could get it to work on my IMSAI. Well' with some minor adjustments, it works just fine. Now I'm searching for a Cromemco 7A+D analog/digital board so I can get the joystick interface working.
Copyright (c) 1998-2010 Richard A. Cini, Jr. (rcini at msn dot com) All Rights Reserved. All copyrights of any third parties referred to herein are hereby acknowledged. There is no warranty, either express or implied, relating to any of the content contained herein. The site maintainer shall in no event be liable to anyone for damages, including any loss of profits, lost savings, or other incidental or consequential damages arising out of the use or misuse of the information contained on this Web site. Batteries not included. You may use the information contained herein for NON-COMMERCIAL purposes only and AT YOUR OWN RISK.
Last Updated 08/05/2010 20:09 -0400