Microsoft CP/M doesn't boot on a Videx — and never did
Detail for Part 1 — Why Microsoft CP/M Didn’t Recognize an 80-Column Card.
Joshua Norrid — of A2FPGA fame — reported that Microsoft CP/M on the Microsoft Z-80 SoftCard wasn’t booting with the A2FPGA Videx Videoterm emulation. That couldn’t stand. The Videx emulation in A2FPGA is supposed to be a transparent stand-in for the real card; if Microsoft CP/M won’t run on it, that’s an emulation defect to fix.
Joshua then ran the same test on a real Videx Videoterm card in a real Apple ][+ with a real Microsoft Z-80 SoftCard. Same result. Same image, same hang, same place. The emulation matches the hardware exactly — they fail in lockstep.
That’s a relief, sort of. The emulation isn’t at fault. But it shifts the question: why does Microsoft CP/M not boot on a Videx — on any Videx, real or emulated? The Videx and the SoftCard were contemporaries. They were sold to overlapping customers in the same era. Why doesn’t this work?
Went spelunking the Internet for every Microsoft SoftCard CP/M variation I could find. Located a fair number. Classified each by what hardware it claims to support — 80-column cards, serial cards, parallel cards, the various display-card protocols. Joshua tested each on his physical setup. Compact summary:
- Microsoft CP/M 2.20 — fails to boot on Videx (real hardware and A2FPGA emulation)
- Microsoft CP/M 2.20B — fails to boot on Videx
- Microsoft CP/M 2.23 — boots cleanly on both, runs in 80-column mode
So the change is somewhere between 2.20B and 2.23. A focused diff between 2.20 and 2.23 should expose it. The version that works exists, the version that fails exists, they’re close enough in vintage that the delta should be small. New quest: figure out why.
One footnote up front for anyone else chasing this trail: Microsoft CP/M 2.23 is distributed on the Internet under the filename CPMV233.DSK. There is no version 2.33. The filename is misleading. The boot sector’s (C) 1982 MICROSOFT - CP... string and the on-disk version stamp both confirm 2.23.
I don’t have a real Microsoft Z-80 SoftCard yet — one is reportedly in the mail. For now, the static analysis (disassembly, image diffing) doesn’t need physical hardware. Joshua’s setup confirms whatever the analysis predicts.
Status: problem characterized and isolated to the operating system, not the emulation. Three disk images in hand: CPMV233.DSK (CP/M 2.23) and CPM220Disk1.po / CPM220Disk2.po (CP/M 2.20). Next: triage the disks and figure out where the change lives.