Spectrum emulation & software
Emulation — running Spectrum software on TS hardware, running TS software in emulators (FUSE), and file formats.
153 threads · 1529 messages · 2002-05-28 → 2026-06-28
Two complementary stories run through this topic. The first is putting a Spectrum personality into real TS2068 hardware, anchored by the 2006 thread #1001052 where Richard Atkinson posted bytewise patches to the TS2068 EXROM so it would cohabit cleanly with a patched Spectrum 128 ROM, and Jarek Adamski (author of ZXVGS) explained why writes to port #7FFD need a startup delay on real hardware but not in emulators (the 74LS176 paging latch comes out of /RESET later than the Z80). Johnny Red noted in the same thread that TS2068 hardware uses bus buffers where Spectrum/TC2048 only have resistors (#1001099), so even when the software is compatible the electrical interface is not. That work fed directly into the Twister board with switchable ROMs (#1003483, 2013), where Richard's EPROM-and-channel-switch mod was documented and offered as a service, and Don Dindang's commercial Twister Board (still sold today) emerged. Recent threads keep building on this lineage: Adam's Spectrum divMMC + Twister combo (#639, 2022) made Spectrum TAP/TZX files load instantly on a real 2068 with a Kempston joystick, and the TS-Pico (#4981, 2023) now ships with a customized Spectrum ROM and is gaining the ability to map cartridge ROMs (OS-64 was the explicit use case) into the DOCK bank via a 2068-side helper program — Ricardo Calcagno explained the /ROSCS vs /EX-ROM vs HOME-ROM mapping logic that makes it work.
The second story is emulators as the working tool for archiving and play. The de facto stack is FUSE (Philip Kendall / Fred Meunier), EightyOne, ZEsarUX, and Warajevo running under DOSBox — Jeff Kuhlmann uses Warajevo as his primary 2068 emulator (#3080, 2023), Adam runs ZEsarUX and FUSE on Windows, and Ryan Gray confirms sudo apt install spectrum-roms for FUSE on Linux (#2347). The tape-archiving workflow that recovered Ryan's 1980s T/S 2068 Library Tape (#2347), The Crown (#5436), and the Zebra/Quicksilver tape haul (#3424) all converges on the same recipe: digitize to WAV, massage in Audacity, then loop through FUSE's Save-As as a last resort when tzxtools (tzxwav / tzxplay / tzxmerge) can't parse the audio. Ryan documented Leiradel's tape2wav as a useful escape hatch when tzxtools chokes (#3424), and showed how to concatenate TAP files with plain cat or copy /b and TZX files with tzxmerge. The group has also catalogued the limits: ZEsarUX won't load DCK files with ID 0xFF, FUSE reports "Microdrive not present" on Interface 1bis DCKs (#1189, which drifts from a Zeus disassembler question into Warajevo-under-DOSBox Interface 1bis emulation), and EightyOne is the go-to for ZX81/TS1000 .P files — Ryan's own zx81-utils on GitHub adds zmakebas-format output (#2700).
A cluster of threads documents Spectrum software running on 2068 hardware with the Spectrum ROM in place. Elite is the perennial torture test (#876): the Lenslock copy-protection blocks the tape version, .Z80 snapshots crash via divMMC, and Adam only got it running by finding the Beau-Jolly Supreme Challenge compilation that omits Lenslock. Stano Hrda's Bratislava demos (#1098) are written by Slovak Spectrum coders who auto-detect US TS2068 vs Portuguese TC2048 AY-port wiring so one TAP runs on both. Greg Skuza's mystery DVD of .Z80/.SNA/JLO files (#5990, 2024) turned out to be 1980s Spectrum games modified for 2068 AY sound and joystick ports — confirming this was a common contemporary practice, not just a modern hack. The Polish Koledy Christmas demo (#5237) ships explicit TC and "TS2068 + Spectrum ROM" variants, and the screenshots in that thread sparked a useful discussion (Ryan and Adam) about why CRT composite, RGB, and HDMI capture produce visibly different colors that no emulator will ever reproduce.
File formats and conversion tooling are the connective tissue. Image conversion to SCREEN$ uses Jari Komppa's img2spec / Spectrumizer (#4895) and the newer browser-based ZX Spectrum Image Composer. DCK cartridge images for IF1 / Microdrive load into Warajevo under DOSBox but choke in FUSE and ZEsarUX (#1189). LOAD "" CODE behavior in ZEsarUX for non-screen data (#5336, which drifts in from Christmas greetings) drew Ryan's reminder that you have to lower RAMTOP or use the QuickFont string-address trick to land bytes safely, plus Johnny Red's debug-menu binary-load + SAVE workaround. Zebra FDD 3-inch disk images (#2274, 2022) led to Johnny Red's TOMATO disk-to-TAP utility from the FDD emulator project, with Joao Encarnado later demonstrating a recovered Q-Bert clone running in FUSE. The early model for tape preservation (#1002351, 2009 — Zebra Graphics Designer) showed both the technique (TZX conversion by Jose Manuel) and the friction (Al Hartman's copyright pushback as a former Zebra author), framing norms the group still observes. Recurring people: David Anderson and Adam Trionfo (tape archiving and testing), Ryan Gray (tooling, tape recovery, zx81-utils), Tim Swenson (ZEsarUX experimentation, Sprites2068), Jeff Kuhlmann / qwertyfan2000 (Warajevo expert), Johnny Red / Joao Encarnado (TOMATO, FDD-emulator utilities), Ricardo Calcagno (TS-Pico internals), Richard Atkinson and Jarek Adamski (the original ROM-patch work), and Stano Hrda (Bratislava demoscene bridge).
Key threads
- ZX Spectrum ROM in TS2068 (archive.org) — Foundational 2006 Yahoo-era thread (75 msgs): TS2068 vs Spectrum bus buffering, EXROM, #7FFD reset timing, and Richard Atkinson's concrete EXROM patch to boot a Spectrum 128 ROM — technical groundwork every later ROM-swap and Pico ROM build still relies on.
- Switchable Timex Sinclair 2068 ROM modification (archive.org) — 2013 Yahoo-era thread documenting Richard's EPROM-in-HOME/EX-ROM-sockets mod with channel-2/3 switch as ROM selector, plus pointers to Don Dindang's Twister Board — the hardware lineage of every "2068 with Spectrum ROM" setup in the groups.io era.
- T/S 2068 Library Tape Archiving Process (#2347 on groups.io) — Canonical modern tape-recovery thread — WAV digitization plus FUSE/tzxtools/Audacity workflow, including Ryan's
sudo apt install spectrum-romstip and the FW-TSUG-II WAV archive. - Help me fix a file in The Crown? (#5436 on groups.io) — Worked example of the group's tape-rescue workflow: FUSE as the forgiving WAV loader (it adaptively retunes per chunk where ZEsarUX cannot), Audacity massage, and tzxmerge for assembling multi-level tapes for Pico and emulator use.
- I Got My Spectrum divMMC Today! (#639 on groups.io) — Sets the now-standard divMMC + Twister board + Spectrum ROM + Kempston stack for running Spectrum TAP/TZX on real 2068 hardware, including David's port-31 probe for Kempston detection.
- Question about TS-Pico (#4981 on groups.io) — Confirms TS-Pico ships a customized Spectrum ROM and is gaining cartridge-ROM mapping (OS-64), with Ricardo Calcagno's explanation of /ROSCS, /EX-ROM, and HOME-ROM decoding against the Flash/SRAM block — the modern software-switchable successor to the 2013 ROM-swap mod.
- Demos for the TS2068 from Bratislava - Central Europe (#1098 on groups.io) — Slovak Spectrum demoscene writing new demos that auto-detect US TS2068 vs TC2048 AY-port wiring and ship TAPs tagged for both — concrete payoff of decades of ROM/port work and a bridge to the wider Spectrum scene.
- Elite? (#876 on groups.io) — Perennial Spectrum-on-2068 torture test: Lenslock breaks tape loading, .Z80 snapshots crash via divMMC, and the Beau-Jolly Supreme Challenge compilation is the only working path.
- I need assistance (#3080 on groups.io) — Beginner question that opens into the group's de facto emulator survey (Warajevo-under-DOSBox, FUSE, EightyOne, ZEsarUX) and triggers David's commitment to record a FUSE-on-Windows install guide — best single entry point for new emulator users.
- TS 2068 GAMES (#5990 on groups.io) — Greg Skuza's mystery
.Z80/.SNA/JLOfile dump turns out to be 1980s-era Spectrum games modified for 2068 AY sound and joystick ports — confirming that 'Spectrum game on 2068 with Spectrum ROM' was common contemporary practice, not just a modern hack.
All threads (153)
↳ marks a thread where this topic begins mid-conversation — the link jumps to the message where it starts.