Skip to content
Techniques & Technology

Fast Loaders

Beating the bottleneck

Fast loaders accelerated tape and disk loading on 8-bit computers, reducing frustrating wait times through optimised data transfer routines.

commodore-64sinclair-zx-spectrumbbc-microloadingoptimisationtechnical

Standard loading routines on 8-bit computers were painfully slow. The C64’s 1541 disk drive loads about 400 bytes a second through the KERNAL, despite the drive’s internal electronics being capable of vastly more. The reason was a chip bug, not a policy: Commodore meant the VIC-20 and 1540 to use the 6522 VIA’s hardware serial port, found it faulty, and fell back to a protocol driven entirely in software — “the dead slow software-driven Commodore serial protocol”, in Pasi Ojala’s words — which the C64 then inherited. Tape loaders were slower still. Fast loaders replaced ROM routines with optimised code that transferred data many times faster, often with brief on-screen entertainment (border flickers, progress meters) to make the wait bearable.

Stock loading speeds

Platform Stock speed Notes
C64 disk (1541) ~400 bytes/s 202 blocks in 128 s by CMD’s stock figure; bit-banged bus protocol padded for the VIC-II’s DMA
C64 tape (datasette) ~50 bytes/s Pulse-encoded audio with safety margin
ZX Spectrum tape ~187 bytes/s (1500 baud) Better than C64 tape, no disk in stock 48K/128K
BBC Micro tape ~120 bytes/s (1200 baud) “High-speed” mode supported 300 baud (~30 bytes/s) — backwards from “fast”
Amstrad CPC tape ~180 bytes/s (1000 baud) Variable rate; “speed-write” sections faster

A 16 KB game on a stock C64 datasette: roughly 5 minutes to load. Same game with a turbo loader: 30-60 seconds.

C64 disk fast loaders

Why is the 1541 so slow? The bus has only DATA, CLK and ATN, and the KERNAL drives them one bit at a time in software, holding each bit for 60 µs because “the 64’s video chip may interrupt the processor for 42 microseconds at a time”. Fast loaders win speed back by:

  • Custom drive code — uploading a small machine-language routine into the 1541’s own RAM that participates in a new protocol.
  • Two bits per transfer — using CLK and DATA both as data lines.
  • Taking the timing away from the VIC-II — turning the screen off, or letting the C64 clock each bit pair over ATN so an interrupted C64 loses nothing.
  • Whole sectors at a time, decoded and streamed in one loop.
  • Parallel cables (hardware mod) — bypassing the serial bus entirely.
Solution Type Claim Source
Stock KERNAL None 202 blocks in 128 s (about 400 B/s) CMD’s stock figure, 1988
Epyx FAST LOAD Cartridge “five times faster than normal”; measured by a rival at 144 s to 41 s on Pitstop II Advertisements, 1985
The Final Cartridge (H & P) Cartridge “6 times faster disk loading, 8 times faster saving” Advertisement, December 1985
Action Replay (Datel) Cartridge Warp 25: “200 BLOCKS IN 6 SECONDS” on its own disk format; snapshot freezer alongside Advertisement, July 1988
JiffyDOS (CMD) KERNAL and drive ROMs 202 blocks in 8 s, saved in 30 s Advertisement, November 1988
Burst mode (1571/1581) Built into the drive “ten-fold”; about 3.5× over KERNAL sequential access on a C128; usable from a C64 with two extra wires C=Hacking 3 and 19
Dolphin DOS, Professional DOS ROMs plus parallel cable The “complicated, expensive hardware systems” the rest measured themselves against Commodore Disk User, 1988

See Disk Fastloaders for the technical detail of how these protocols work.

Tape fast loaders

Tape fastloaders use a different trick: store the data more densely on the tape. The stock C64 cassette format uses long pulses that any drive (even an azimuth-misaligned one) can read; turbo loaders shrink those pulses, demanding a well-aligned drive but moving 4-10× more data per second.

Loader Platform Notable use
Novaload C64 Novagen’s loader — “that hugely popular fast-loader”, as Zzap!64 put it in 1985 — and the name that turns up most often in the “Fast loader:” line of Commodore Computing International’s reviews
Burner, Pavloda, Flashload, Ultraload, Wildload C64 The other named loaders in CCI’s review boxes of 1984–85 and in the Nostalgia group’s tape-transfer sources; each is a distinct format with its own drive routine
Speedlock ZX Spectrum Most common Spectrum turbo + copy protection combo
CyberLoad (Microprose Soccer, etc.) C64 Custom per-publisher loader
Alkatraz ZX Spectrum Heavy copy-protection turbo loader
Bleepload ZX Spectrum Firebird’s loader, a fixture of Your Sinclair’s hacking columns

Most commercial tape loaders combined turbo loading with copy protection — the bespoke encoding made it harder to clone the tape on a standard cassette deck.

Loading screens

While the data trickled in, fastloader cartridges and bundled software typically displayed:

  • Coloured border flicker — each border-colour change marked one block successfully decoded, giving visual feedback. The Spectrum’s loading-stripe pattern is iconic.
  • Loading screens — a static image (often the title screen) loaded first, then displayed during the rest of the load. Renegade, The Last Ninja, and most Ocean releases popularised this.
  • Mini-games — Mastertronic’s Invade-a-Load on the C64 let you play Space Invaders to Rob Hubbard’s One Man and His Droid music during the load; Zzap!64‘s reviewer of 3-D Pinball in 1991 “enjoyed playing the Invade-a-load more than the game itself”. Players’ Painter and Novagen’s Mix-e-Load (mix a Hubbard tune while Delta loads) belong to the same family.

Modern relevance

The fastloader story informs:

  • Streaming asset loaders in modern engines — overlap I/O with computation, the same trick.
  • Background pre-loading in web/mobile apps — pre-fetch while the user reads.
  • Embedded firmware updates — over-the-air protocols still negotiate timing, just at higher data rates.

See also

Not yet fact-checked. This entry was drafted by an AI and nobody has verified it. The dates, figures and technical details may be wrong. Use it to find your bearings, then confirm anything that matters against a primary source.