~/wiseowl/projects
Projects
Canonical records of hardware and software work — what was built, why, how, and what was learned. Each project links to its dev logs and related deep-dive articles.
Microsoft SoftCard CP/M on a Videx
Reverse-engineering why Microsoft SoftCard CP/M 2.20 won't boot on a Videx Videoterm 80-column card and 2.23 does. 11 bytes of 6502 code that read the Pascal 1.1 signature byte the Videx ROM has exposed since 1980 — a 1982 fix that's Videx-shaped but not Videx-specific.
Smalltalk from Scratch
A complete Smalltalk-80 interpreter and modern runtime in C# — Blue Book bytecodes, a coldstart image loader, SDL2/SkiaSharp display, and a 884-test CI suite running headless on GitHub Actions.
Building Microsoft SoftCard CP/M from Source
Annotated 6502 and Z-80 assembly sources for Microsoft SoftCard CP/M 2.20 and 2.23, with a build tool that packs them into a byte-identical .DSK. The deliverable that fell out of the cpm-videx investigation — a reproducible disk image, region by region.
A2FPGA: Five Cards, One Board
A fork of the A2FPGA Multicard Core that adds Videx VideoTerm 80-column card emulation and ThunderClock Plus clock card emulation to a Tang Nano 20K FPGA board — alongside three upstream bus timing bug fixes that had gone unnoticed for two years.
Apple Panic
Reverse engineering the copy protection on the original Apple II arcade port — non-standard WOZ disk geometry, a self-modifying loader, 45 KB of compressed game data, and the nibbler analysis toolkit.