Tape loading, on your terms
ZenZX gives you three ways to load a tape, and lets you pick the right one for what you're doing — not a single fixed trade-off between speed and correctness.
Three modes
- Fast — the default. Loads instantly by injecting the program directly, the way most emulators load tapes. Best for just getting into a game.
- Accurate — plays the tape at its real recorded speed, reading it the way the actual hardware would: the loading stripes, the pitch and rhythm of the loading sound if you have audio on, the exact timing a period-correct loading screen expects. This is the real experience, at the real 1980s pace.
- Turbo — the same accurate, real timing underneath, with the on-screen rendering skipped while the tape plays. You get the correctness of Accurate mode without watching it happen, for when you know the load is good and just want it done sooner.
Switch modes from the Tape menu, or set one from the command line with -tapemode=fast, -tapemode=accurate, or -tapemode=turbo.
Hardware-accurate underneath
Accurate and Turbo modes don't just play back the bytes on a tape at the right speed — they model the ZX Spectrum's real memory and I/O contention, the actual electrical behaviour that makes the loading border stripes look and time the way they do on genuine hardware, and decode the tape's pulse data exactly as specified rather than an approximation. That precision is what lets loading screens, tape-timed protection, and the handful of programs that are picky about exact tape behaviour work correctly — the same programs that can trip up emulators using a looser model.
Why it matters
A game's loading screen, the pitch of the loading warble, the exact moment control passes to the program — these are part of the real Spectrum experience for anyone who remembers it, and they matter to software that was written expecting real tape timing. ZenZX doesn't make you choose between "it loads" and "it loads properly" — Fast mode is there when you just want to play, Accurate and Turbo are there when the loading itself is part of what you came for.