TSU Meeting SUNDAY — July 21, 2024
David Anderson, Johan Kuhlman, Adam Trionfo, Gustavo, David Solly, Carl Miles, Joe, Ryan Gray
Sunday meeting with special guest Johan Kuhlman ("Dr. Beep") from the Netherlands, the author of an 81-game ZX81 1K high-res series and two companion books. Johan walked through how he got started — porting Shogun to the ZX81, discovering Wilf Rigter's WRX 1K high-res routine, and turning that into a long run of 1K games (now past 120), ending the high-res run at 81 as a tribute when Sir Clive Sinclair died. He develops entirely in emulators on an old Windows laptop using the sjasm cross-assembler, runs everything through a batch-file build, and starts each game from a single BASIC line whose bytes are reused as system variables to claw back memory.
The technical centerpiece was Johan's brand-new "Character Display" routine, debuted in his latest game Mushroom Man. By using LD H,D / LD L,E inside the display to retarget HL to the next line, he can swap characters every two scanlines, giving an effective quarter-character display built out of pairs of stock ROM glyphs (e.g. the top of an X built from two A's, the bottom from spaces and an X). The method works on real ZX81 hardware and — for the first time in 40+ years — gives the Lambda 8300 clone advanced graphics it could never previously display. Johan also announced an updated release of his SP2-ZX81 emulator (ZX81 emulator that runs on the ZX Spectrum / TS2068), now supporting the new display mode and running faster. Ricardo Calcagno sent greetings via Gustavo, and the group noted that Johan's late-90s parallel-port Spectrum-to-PC link was the conceptual ancestor of the TS-Pico; Gustavo recapped how his TPI command set and custom ROM were grafted onto Ricardo's Pi Pico hardware to produce the shipping TS-Pico.
David Solly then took the floor on high-level languages for the TS2068 and Spectrum. He covered HiSoft Pascal (versions up to 4 from David Nutkin for the 2068, plus a 51-column 1.7 from Sinclair), the microdrive ("M") variants, and Larry Kenny's modifications that let HiSoft Pascal save and load source from the Larken disk system. He used Pascal to strip control characters out of BBS text dumps so the 2068 wouldn't crash on them, to write Junior and column-transposition ciphers (Bifid and Playfair wouldn't fit in memory), and to load custom OCR-style fonts. The group compared notes on Forth (Michael Dove's "Fourth Corner" columns in the Ottawa newsletter, Hogwild Forth's heavy use of direct ROM calls), HiSoft's continued life into the Amiga and CP/M worlds, and a Portuguese CP/M Pascal compiler for the FDD3 that David S. hadn't seen before.
Round-table updates closed the meeting. Joe's Sponzie build is stalled waiting on 64K RAM chips stuck in the Wichita distribution center, and he's prototyping custom keycaps using clear cash-register caps with paper inserts (the group floated a frisket-mask + spray-paint trick for black/white keycaps). Carl Miles reported on a pair of Argentine Czerweny CZ-2000 (black) and CZ-1500 (silver) Sinclair clones he picked up: the case has slits and bent metal tabs holding down the aluminum keyboard overlay rather than adhesive tape, the membranes are cut at an angle to clear those tabs, the expansion-port cutout is wider than a TS1500's (so a 1500 case won't host a Spectrum without cutting), and the case interior is silver-coated and grounded to the modulator — suggesting Timex's FCC-shielding excuse for not shipping the TS2000 in the US was overstated. Carl is using NTSC 60 Hz Spectrum ULAs to build a TS2000 prototype replica and will bring it for show-and-tell next meeting. David also flagged that the library tape archive has passed ~900 TS2068 tapes/disks and now needs a better browsable presentation, which he'll demo at the August 5 meeting.
Highlights
- Johan Kuhlman ("Dr. Beep") debuts a new ZX81 "Character Display" routine in Mushroom Man — swaps characters every two scanlines via LD H,D / LD L,E to get quarter-character graphics; works on real hardware and finally gives the Lambda 8300 clone advanced graphics.
- Johan recaps the 81-game 1K high-res series and two books, develops everything cross-assembled with sjasm on an old laptop, and announces an updated SP2-ZX81 emulator release for the Spectrum / TS2068.
- David Solly's deep dive on HiSoft Pascal for the TS2068: microdrive variants, Larken-disk source save/load by Larry Kenny, and using it for BBS text cleanup, classical ciphers, and custom font loading.
- Carl Miles dissects Czerweny CZ-2000/CZ-1500 cases: bent-tab keyboard mounting, angle-cut membranes, wider expansion cutout, and internal RF coating — fuel for his planned NTSC-ULA TS2000 prototype replica (show-and-tell next meeting).
- Joe's Sponzie build is waiting on 64K RAM chips; David's library tape archive has passed ~900 items and is the headline topic for the August 5 meeting.
Projects discussed: TS-Pico · Library Tape Archiving Process Topics: TS1000 / ZX81 / TS1500 · Games · Machine code, Z80 & assemblers · Spectrum emulation & software · ZX Spectrum · Pico / modern interfaces (UnoDos, etc.)
Summary generated from the meeting recording; the full transcript is kept in the group's private archive.