TSU Meeting MONDAY — July 3, 2023
David Anderson, Clark Calkins, Gustavo, Jeff Burrell, Adam Trionfo, Paul Anderson, Ingo, Tim Swenson, Willie
Guest speaker Clark Calkins joined the group to recount his early-1980s work writing the ZX81/TS1000 driver code for the A&J Microdrive stringy-floppy system — a spin-off of Bob Howell's Exetron, intended as a cheap mass-storage alternative when 8" floppy drives cost two to three thousand dollars. He described disassembling CP/M 2.2 (and later CP/M 3 and Borland Turbo Pascal) from scratch with DDT, generating fully labeled and commented source. To skirt the copyright on the CP/M binary, he wrote a "source code generator" that shipped only the labels, arguments, and comments, then reconstructed the instructions from the user's own running OS. He used the disassembly as the basis for ZCPM, a stripped-down CP/M he was porting to the ZX81 (intending to eventually burn it to EPROM); the code ran, but the project lost momentum and the tape cassettes themselves proved unreliable. After David tracked him down recently, Clark found an old CD with his CP/M, ZCPM, Turbo Pascal, and Timex utility/debugger/editor sources and agreed to hand them over for archiving.
The group discussed Clark's day-job inspiration for the noise-triangulation project (acoustic leak detection on a liquid-sodium reactor loop at GE, done on a PDP-11), the parallel histories of A&J's endless-loop stringy floppy and Sinclair's matchbook-sized Microdrive, his single-keystroke command shortcuts on ZCPM to work around the ZX81 membrane keyboard, and the current legal/open-source status of CP/M after Digital Research's demise.
Ingo gave a long demo of his "Kilo-Zed" project: a ZX81 motherboard housed in a custom 3D-printed case (now on version three, with deeper keyboard recess, rear-mounted barrel jack, video out, and power switch), driven by a full-size mechanical keyboard he designed in KiCad and had fabbed at JLCPCB. The switches are hot-swappable Gateron blues/yellows; he covered the trade-offs between switch types, keycap materials, base plates, and factory lubing. He also showed his ZX81 expansion-port breakout board (all address/data/control lines on headers for prototyping), described the composite-video mod (a 555-based version for old ULAs without a back porch, simpler transistor version for new-stock ULAs from Stuart Newfield), the Traco regulator he uses in place of a heatsink, and outlined the larger "Mega-Zed" follow-on that will host a 60% keyboard and internal expansion slots.
David reported on his Larkin and AERCO 5.25" disk archiving work: using a Greaseweasel to image club disks from Bob Swoger / Frank Davis / Paul, parsing the Larkin catalog format in Python, and emitting one TAP file per file so they load cleanly in FUSE. He demoed the website update with newly-archived 2068 tapes (Herb Bowers tax program, animations, Dead Ducks, Bite Power issues, the Clone tape-duplication utility) and discussed how to handle multi-file programs like Bill Jones's DAISY database — concatenating TAPs works for FUSE's browse mode but "de-Larkinizing" Swoger's LOGIcall front-end is needed for some disks. The next meeting was set for Sunday, July 16; Willie agreed to talk about his JLO interface clone.
Highlights
- Guest Clark Calkins recounted writing the A&J Microdrive stringy-floppy driver for the ZX81/TS1000 and his ZCPM port of CP/M 2.2
- Clark's "source code generator" trick — shipping labels/args/comments and reconstructing instructions from the user's own CP/M — to skirt copyright
- Clark located and agreed to hand over his recovered CP/M, ZCPM, and Turbo Pascal disassembly sources for archiving
- Ingo demoed the Kilo-Zed: ZX81 in a 3D-printed case with a custom JLCPCB-fabbed hot-swap mechanical keyboard, composite mod, and expansion-port breakout board
- David showed Larkin/AERCO disks imaged via Greaseweasel and converted to per-file TAP via a new Python tool, plus a website refresh of newly-archived 2068 tapes
Projects discussed: Library Tape Archiving Process Topics: TS1000 / ZX81 / TS1500 · CP/M · Tape & library archiving (TAP/TZX) · Disk & floppy systems (Larken, AERCO, Oliger) · Hardware projects & new boards · Machine code, Z80 & assemblers
Summary generated from the meeting recording; the full transcript is kept in the group's private archive.