fdcplus
| Name | Last modified | Size |
|---|---|---|
| ../ | ||
| CPM22-48K-HDF.dsk | 03-Oct-2026 14:40 | 1.5 MB |
| fdcplus-type5.toml | 03-Oct-2026 14:40 | 2.3 KB |
| fdcplus-type7.toml | 03-Oct-2026 14:40 | 3.9 KB |
| fdcplus.zip | 03-Oct-2026 14:40 | 343.9 KB |
| README.pdf | 03-Oct-2026 14:40 | 77.0 KB |
CP/M 2.2b on an Altair FDC+
The FDC+ is a floppy controller. It replaces the 88-DCDD in an Altair and responds to the same ports, so Altair disk software runs on it. The FDC+ can also read disks from a drive server on a PC through a serial cable. It also has its own floppy format, which holds 1.5 MB.
This directory has two machines:
| Machine file | What it is |
|---|---|
fdcplus-type7.toml |
CP/M from an FDC+ Serial Drive Server. The FDC+ (drive type 7) gets its tracks from the server through a serial cable. This directory has no disk for it. Set your serial port in the machine file before you start. See "CP/M from an FDC+ drive server". |
fdcplus-type5.toml |
CP/M on the FDC+ 1.5 MB floppy (drive type 5), from CPM22-48K-HDF.dsk. See "CP/M on the FDC+ 1.5 MB floppy". |
To start a machine, go to this directory and give the name of the machine file:
$ altairsim fdcplus-type5.toml
On Windows, the command is altairsim.exe:
> altairsim.exe fdcplus-type5.toml
The machine boots itself. You type no BOOT command. It stops at the CP/M prompt.
Press Ctrl-E (STOP) at any time to go back to the monitor. Type RUN to continue. CP/M
receives Ctrl-C and does a warm boot.
The files
| File | What it is |
|---|---|
fdcplus-type7.toml |
The serial-drive machine. It is base = "default" with an FDC+ in place of the 88-DCDD, and a 10 MHz clock. The file explains why the clock setting is needed. |
fdcplus-type5.toml |
The 1.5 MB floppy machine. It is base = "default" with an FDC+ at drive type 5 in place of the 88-DCDD, and the disk in drive 0. |
CPM22-48K-HDF.dsk |
Mike Douglas's 1.5 MB CP/M 2.2b disk for a 48K machine. It has MOVCPM, COPY, PCGET/PCPUT, MBASIC, WM and games, with 920K free. |
Copy CPM22-48K-HDF.dsk before you write to it. The machine mounts drive 0 for reading and
writing, and CP/M saves every new file to A:. In a clone of the repository, git checkout
restores the disk image. In a copy that you downloaded, nothing restores it.
CP/M on the FDC+ 1.5 MB floppy
fdcplus-type5.toml has the FDC+ with its drive type switches set to 5. This is a
high-density floppy that holds 1.5 MB, with one 10,240-byte sector on each track.
CPM22-48K-HDF.dsk is in drive 0. Start the machine:
$ altairsim fdcplus-type5.toml
The console shows:
48K CP/M 2.2b v1.2
For Altair 1.5Mb Floppy
A>
The boot PROM at FF00 is the standard DBL PROM. DBL cannot read this disk. The FDC+ gives DBL
a sector of its own from the memory of the board. That sector holds a loader, and the loader
reads the real disk. The machine file explains this in more detail.
Do not change the clock. The CP/M for this disk moves each track at a speed that only a 2 MHz
processor matches. At full speed, the board keeps 2 MHz time also. A higher clock_hz makes
CP/M fail, as a faster processor does on a real Altair.
CP/M from an FDC+ drive server
fdcplus-type7.toml has the FDC+ in its serial-drive mode. The disk images are on an FDC+
Serial Drive Server, or on any program that uses its protocol, at the other end of a serial
cable. The board gets the images one track at a time. The simulator and a real FDC+ Altair can
use the same images through the same server.
- Start the server.
- Mount a bootable 8" Altair CP/M image in drive 0 of the server. This directory has no such
image.
../cadzilla/cpm22b23-56k-drawdemo.dskis one (56K CP/M 2.2b v2.3). - Open
fdcplus-type7.toml. Setconnectonfdc0to your serial port. The file has examples for macOS (serial:/dev/cu.usbserial-XXXX), Linux (serial:/dev/ttyUSB0) and Windows (serial:COM3). - Set
baudto the rate of the server. The two ends must use the same rate. The rates are 9600, 19200, 38400, 57600, 76800, 230400, 403200 and 460800. - Start the machine:
$ altairsim fdcplus-type7.toml
If the port does not open, the error lists the serial ports of this computer. If the port opens
but the console shows nothing after the boot, the drive server does not answer. The machine file
turns on the error debug flag of the board. The flag reports each fault on the serial line.
The machine file sets clock_hz = 10000000 and baud = 230400. Do not run the processor at full
speed. The CP/M BIOS stops its wait for a sector after a count of loops. The count takes 0.28
seconds at 10 MHz. A track takes 0.19 seconds at 230400 baud, so the track arrives in time. At
full speed, the count takes a few milliseconds, and the track arrives too late. For a slower
serial line, also use a slower clock. At 38400 baud, a track takes about one second. This needs
the real 2 MHz.