Timex Sinclair Online User Group Meeting November 3, 2025

Date: November 3, 2025

David Anderson presented a typed-in BASIC program originally published in Family Computing from November 1983. The program rendered a turkey in monochrome graphics on EightyOne, a ZX81/TS1000 emulator. We “enjoyed” the slow execution speed and the program’s entertainment value as a novelty timer.

Profile Database: History and Upcoming Video

David also talked about a project he’s working on, a video about Tom Woods, focusing in part on his database for the Sinclair computers, Profile. Examples of real databases, including one used in property management in the 1980s, will be included in the video.

New member

Jonathan, a new member, described his origin story beginning with a ZX81 at school and later moving to a Timex 2068. He is restoring and archiving ZX81 titles and learning electronics troubleshooting for systems such as the TS1500 and the Sam Coupe.

Member projects

Jeff Fetta presented two of his projects: a compact flash adapter for the ZX81/TS1000 family and a recreation of an AY-3-8910 sound device.

Jeff explained the compact flash adapter as a solution to cassette. Technical details included:

  • Compact flash operates in an IDE-like mode with an 8-bit transfer option suitable for 8-bit microcontrollers.
  • The adapter accepted .p files (binary tape images), a small FAT-file driver (about 1.5 KB) supported loading and saving P files directly off the card, and the adapter presented the storage as if it were tape input to the machine.
  • Jeff added 64 KB of off-board RAM and installed a modified ROM (Shoulders of Giants variant) to gain additional features and improved math routines. The ROM stack-up required leaving the internal ROM partly present for character generation unless additional hardware tricks were used to fully replace it.

Engineering Emulator and ULA Emulation

Jeff described development of his engineering-grade emulator designed to aid hardware development. Capabilities and technical details included:

  • Breakpoints, single-stepping through Z80 code, register inspection, memory dumps, and live display-file inspection.
  • Counts of T states by instruction and attention to the refresh register for accurate video timing.
  • Attempted low-level ULA emulation including shift-register output and character assembly from memory reads; challenges remained with pseudo-high-resolution graphics modes.
  • Pseudo-high-res modes used a technique where the first scan line of a character was reused across vertical lines, and code manipulated the ULA line counter and IN/OUT ports to achieve unique effects. Many emulators had ad-hoc hacks to support these modes, but Jeff focused on hardware-level emulation so all modes would render correctly without mode-specific hacks.

Wespi and Timing Issues

We discussed the Wespi, an ESP32-based loader that captured the machine’s audio/video timing and provided a web-based file server for program upload.

  • The Wespi code generated video with a timing constant 625,000 for 50-Hz PAL-style operation. Members noted NTSC/60-Hz systems require different constants (525-line framework referenced) and suggested code changes or hardware switch approaches to support both 50 and 60 Hz machines.
  • The Wespi captured composite timing signals; in North American 60 Hz machines mismatch produced out-of-sync behavior. Workarounds included re-clock mods to the machine or modifying Wespi code for 60 Hz capture.

ZXPand / OpenSpand

A community-led open hardware reimplementation of the ZXPand was presented. The design targeted a Raspberry Pi Pico or similar microcontroller and provided:

  • SD card or on-board flash storage, AY-3-8910 audio support, joystick input, serial I/O, and optional high-resolution graphics support.
  • Firmware update paths via USB and support for file server uploads when using Wi-Fi-equipped microcontrollers.
  • Discussion emphasized trade-offs between on-board serial flash for persistent storage and the convenience of removable SD cards.

Interface Zero, Twister Boards, and 2068 Expansion

Carl Miles provided an update on his Interface Zero board intended to let microdrives operate with Timex 2068 machines. The prototype board included:

  • Slots for multiple ROM images and flash storage to switch interface ROM variants.
  • A connector to network daughterboard options for RS-232 and networking.
  • A separate modulator-replacement board to host an ESP32 for internal Wespi-style functionality including VGA and audio outputs in the TS1000/ZX81 form factor.
Scroll to Top