IMSAI 8080 replica
I've been working on building an IMSAI 8080 CP-A Front Panel replica since May 2017.
These devices have a dual-core CPU @ 240MHz, 520KB SRAM, 4MB Flash RAM (storage) and builtin WiFi, USB connector for serial UART and programming.
To this I have added
- microSD Card for a FAT filesystem (using an 16GB card)
- PSRAM for future memory paging implementation
- MAX232 style RS-232 driver and DE-9M sockets for serial UART
- Full size, fully functional replica of the IMSAI CP-A front panel with all LEDs and switches (for scale: the green cutting mat is A3)
If you've seen the original IMSAI 8080, I hope you'll agree that the toggle switches are a great match to the original colours. The case colour is the best I can source in blue acrylic but I think many people will choose to spray paint it for a better match to the original.
Sometimes I use the USB based serial UART for TTY: (under CP/M) but most of the time I connect over WiFi using a browser to launch the desktop GUI that this port of the imsaisim can serve using an embedded web server.
Running the replica at unlimited speed I can get a simulated clock speed somewhere above 4 MHz, there is certainly no problem with reliably running the simulation at a realistic 2 MHz or 4 MHz making WordStar, SuperCalc2, M80/L80 a pleasure to use.
The stock imsaisim machine from z80pack is configured with:
- 64K of RAM, however the CP/M 2.2 BIOS is configured for 56K to avoid conflicts with ROMS
- 4 simulated 8" floppy disks using 256K floppy image files (*.dsk)
- IMSAI MPU-A bootrom
- MPU-B style bank-switched ROM and RAM for bootrom masking
- IMSAI VIO support (optional based on bootrom choice)
- A range of disk images with different operating systems, applications, games, demos...
The best reference for the imsaisim machine is Udo Munk's z80pack site.
To this I added a simulated GUI desktop that you access over WiFi from an evergreen browser (Chrome & Firefox, but not Safari) that includes the following virtual/emulated devices (some that I just made up)
- TTY: - VT100/ansi compatible character mode serial terminal, can be windowed or zoomed to full-screen (over websockets)
- CRT: - implementation of the IMSAI VIO (over websockets: mirrors the 2KB display RAM and does all rendering in the browser)
- LPT: - implementation of an 80-column dot-matrix/line printer with selectable paper-types - ready to print on your real printer (dumb text printer, no Esc codes, over websockets)
- X:DSK: & LIB: - graphical disk manager for the 4 floppy drives A-D, including eject, insert (drag-and-drop) from a disk library (.../machine/disks/library/), download disk image, upload disk image, delete disk image (uses RESTful web service interface)
- CPA: - IMSAI CP-A front panel (only the 6 control switches & 4 status LEDs on the RHS, over websockets)
- SYS: - system status window, shows details of the simulation (host?), enables remote reboot
- CFG: - configuration file editor, enables config files (.../machine/conf) to be edited and saved
- DZLR: - implementation of the Cromemco Dazzler graphics display
- ACC: - implementation the Cromemco 88-CCC Cyclops Camera Controller and 88-ACC Cyclops camera (using the web camera attached to the machine running the browser)
You can see what they look like in these screen-shots.
When the browser is made full-screen you would't know you were in a browser, it just feels like a desktop GUI.
The desktop GUI has been back-ported to z80pack V1.36-dev for desktop operating systems (OSX/Windows/Linux) so you can experience it on a modern PC running the imsaisim machine simulation.
- TTY:, VIO:, DZLR: are all able to go full-screen with the use of a widget on the window title-bar and the use of the
- you can take screen-shots of the VIO: and DZLR: with the use of a widget on the window title-bar
- ability to change aspect-ratio of the Dazzler display between 1:1 (square pixels), 4:3 (CRT TV), 8:7 (not common, but the closest to the "real thing" I could measure off a YouTube video of an original Cromemco Dazzler working, so I've made this the default), with the use of a widget on the window title-bar
- this chosen aspect-ratio is preserved in full-screen mode
- but not when a screen-capture is taken, this is always 512x512 square pixels
Here are some screen shots of the VIO: and DZLR: made with the screen-shot feature.
The desktop GUI is developed to work with the latest version of the Google Chrome browser (Official Build). If it works with other browsers that's fortunate but not tested. Its currently looks to work with FireFox (not extensively tested), but I regularly have problems working with Safari.
The first batches of IMSAI 8080 replicas shipped in June & July 2019.
Production has been on hold since then as I have had a few other priorities including:
- releasing a firmware update to
- enable the second UART and RS232 port
- enable configuring the speed and settings for the two UARTS
- updating the black & white text facia and red filter to be more authentic to the original IMSAI 8080
- sorting out a new aluminium lid to replace the blue acrylic lid you will seen in current videos and pictures
The next batch is planned for October 2019. The price for the kit is USD$280 and in addition you also pay for postage and any PayPal transaction fees.
Expression of interest
I am accepting expressions of interest via email. If you send email to email@example.com I will add you to the list.
Once new kits are ready to ship I will contact you to confirm your order.
News & Updates
You can stay up-to-date with news about additions to this site, or new YouTube videos demonstrating the features listed above by following on Twitter @TheHighNibble and subscribing to TheHighNibble YouTube Channel
The IMSAI 8080esp forum has been set up in Google Groups. It is open to everyone to read the posts but you must apply to join the group if you wish to post.
17 1/8" x 7" x 2 11/16"
435mm x 178mm x 68mm
(width x height x depth)
5VDC @ 500 mA (max., < 100mA typical) - USB micro-B plug required
18 1/3" x 7 1/2" x 3"
465mm x 190mm x 75mm
(width x height x depth)
less than 4.4 lbs
less than 2 kg
Enhancements and Add-ons
- Harddisk emulation
- Virtual 'AT' modem over TCP/IP sockets (telnet) (outbound only, no answer mode)
- Paged memory management to enable CP/M 3.0 (Plus) with banked memory
- Add answer mode (inc. auto-answer) to the virtual 'AT' modem
- Add virtual 'AT' modem UI on the desktop GUI
- Add 132 column mode to the LPT: line printer
- Add basic escape code support for formatting output on the LPT: line printer
- Virtual paper tape reader and punch on the desktop GUI
- Hardware based VIO, Dazzler, VT100 terminal with VGA output and PS/2 (and maybe USB) keyboard input
- Hardware based interface for the replica Cromemco Cyclops ACC: digital camera