.:[Alspa ACI-2 CP/M System]:.

Topic: Fixing up the Alspa ACI-2
Date:  2019 JUN 14

The Alspa ACI-2 is an interesting integrated CP/M system. The chassis houses one 8” full height floppy drive (the ACI-1) or two half-height drives (making it an ACI-2). While the machine at first appears to be an external drive box, there’s a single-board Z80 computer mounted below the disk drive(s) that provides for a full, integrated CP/M system, similar in concept to the Ferguson Big Board or Ampro LittleBoard.

The ACI-2 single-board computer includes a 4 MHz Z80, 64K of dynamic RAM, boot ROM, a double density floppy controller, three 8251A serial ports, and options for a parallel port, battery-backed RTC, and Corvus hard disk interface. My ACI-2 lacks the parallel port, RTC, and hard disk interface, and came with two single-sided Tandon half-height 8” floppy drives.

Alspa ACI-2 and VT320 terminal

System Cleanup and Check Out

The ACI-2 is a little interesting to disassemble. Do not remove the large screws on the side, those hold the drives in place! Remove all of the small screws on the top of the cover, the place it upside-down on a work surface and remove the screws along the bottom edge of the U-shaped top cover. Then, lift the bottom up, being careful of the floppy power and data cables. Here’s my machine, with the two halves split:

Alspa ACI-2 chassis disassembled

If you want to remove the floppy drives, leave the upper part of the chassis upside-down on the work surface and remove the large screws on the side of the cover, then lift the drives out together. There are small mending plates that join the two drives together – I suspect this is how they use the same chassis for either one full-height drive or two half-height drives.

The power supply is nice, it uses a step-down transformer and a small board that contains both the power supply and serial ports. I believe the supply is switchmode, or at least partially switchmode. The AC-powered fan provides adequate cooling for the little system. The power supply board in my ACI-2 says ACI-1 on it:

ACI-2 power supply and fan

The single-board computer is mounted “upside down” to the bottom of the chassis; that is, the components face the desk when it’s assembled and sitting as it normally would. The layout seems pretty clean and simple. It uses 4116 16k x 1 DRAMs. There was no UV sticker on the EPROM in my machine, so I added one, though it’s not likely to get a lot of UV exposure anyway! Here’s a picture of the SBC mounted, and one with it removed and flipped component side up:

ACI-2 System Board, Solder Side ACI-2 System Board, Component Side

My ACI-2 was in good shape but had intermittent response on the console terminal. This turned out to be an issue with the programmable jumper plug for bitrate selection. The old one was a bit mangled, poorly done, and making intermittent contact. Here’s the original, and my replacement:

Broken bitrate jumper plug New bitrate jumper plug

The new jumper plug wires the console, modem, and printer ports for 9600 bps. While I had the ACI-2 on the bench, I probed the bitrate jumper header and figured out what bitrates were present, and where the USART clock connections were. Here’s a little ASCII art to help out:

.:[ACI-2 Bitrate Jumper]:.
  Alspa ACI-2 bitrate selection jumper, U58:
                          __  __ 
                         |  \/  |
       Port 2 (CONSOLE) -|      |- 19200 BPS
       Port 0 (PRINTER) -|      |- 9600 BPS
         Port 4 (MODEM) -| U58  |- 150 BPS
               4800 BPS -|      |- 300 BPS
                        -|      |- 600 BPS
                        -|      |- 1200 BPS
                        -|      |- 2400 BPS
                         |______|

  Connect the Port pin (1 - 3) to the desired bitrate. Multiple Port pins
  can be connected to a single bitrate. All listed bitrates are for x16
  clock input.

With the bitrate jumper fixed, the system came up and operated reliably. I was able to make boot media from disk images found in the Don Maslin Archive on Gene Buckle’s Retrocomputing Archive. As seen in the screenshots below, the images were clearly of someone’s old working disk and had many extra programs on them:

CP/M Directory Listing ACI Disk Directory Program

PCPUT and PCGET for the ACI-2

Usually the first non-DRI utility that I bring over to a new CP/M system is PCGET, followed by PCPUT. The versions I’ve been using and customizing were downloaded from Mike Douglas, who hacked them together from Ward Christensen’s XMODEM. The ACI-2 was no exception. It came with an old copy of MODEM 7 on the disk, itself a Ward Christensen XMODEM program; however, that version only supported the MODEM port on the ACI-2 and seemed to be incompatible with XMODEM on my Linux system. It did however work fine with Procomm Plus under MS-DOS.

I’ve started collecting my various customizations of PCPUT and PCGET into a git repository. They can be found here, on GitHub. The version for the ACI-2 supports all three serial ports.

A KERMIT-80 Overlay for the ACI-2

While PCPUT and PCGET are great, I really like to have KERMIT-80 available on a CP/M system. Its unattended multi-file transfers are extremely handy, especially for archiving the contents of disks without making a full image of the disk. I’ve customized KERMIT-80 v4.11 for several other systems, but I’ve always found the build system to be a bit of a mess. With the ACI-2 overlay, I started working toward a long-term goal of moving KERMIT-80 over to William Colley III’s A85 8080 cross-assembler. This is the assembler I use for most of my work under Linux. It is written in portable C.

I was able to get an Aztec C II environment set up on the ACI-2, and managed to get an older version of A85 from the C User’s Group Library to compile under CP/M. That allows me to use the same free, open source assembler on both Linux and CP/M! The ACI-2 overlay is the second to come over to a new restructuring of the KERMIT dependencies (an overlay for the MITS 88-2SIO was the first). This work can be found here, on GitHub. Currently, all new work is on the a85_restructure branch and should be considered experimental, should you attempt to build it yourself!

CP/M machines running



Copyright (c) 2024 Jonathan Chapman