Skip to content

TSU Meeting MONDAY — July 3, 2023

Watch on YouTube

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.