As fast-loaders became more complex—using varying frequencies and fluctuating speeds—copy software evolved into "bit-copiers." Rather than trying to understand what the data meant (e.g., distinguishing between a header, a screen layout, or game code), the utility acted like a digital audio recorder. It sampled the incoming waveform from the cassette player at a high frequency, converted the timing of the waves into a stream of raw bits, and stored that raw timing map in memory. When saving, it reproduced those exact timing intervals, recreating a perfect clone of the custom loader on the target tape. The Evolution into Hardware Solutions
The software intercepted or utilized the standard ROM loading routines. It played the source tape into the computer. As the data decoded, it was mapped directly into the reserved RAM buffer rather than being executed as a running game or program. Step 3: The Write Phase zx copy software work
In the 1980s, (and similar utilities like Lerm Software , CopyCopy , and TF-Copy ) was essential for ZX Spectrum users wanting to duplicate their tape-based games and applications. Because the Spectrum relied on standard audio cassettes, these utilities managed the complex process of transferring data between two tape recorders or from memory to tape. How Tape Copiers Worked Step 3: The Write Phase In the 1980s,
The of a Z80 assembly tape loader
ZX copy software was a product of its time, driven by a culture of sharing, computing curiosity, and the technical constraints of magnetic tape. While controversial due to copyright infringement, these utilities forced programmers to deeply understand the hardware limits of the ZX Spectrum. Today, the logic behind these systems informs how digital archivists preserve fragile analog media, translating the audio signals of the past into the emulated files of the future. it holds it in the buffer.
Later in the Spectrum's lifecycle, microdrive systems and floppy disk interfaces (like the Plus D or DISCiPLE ) became available. ZX copy software evolved to bridge the gap between the slow tape format and fast disk systems.
The utility invokes the standard ROM loading routine ( LD-BYTES at memory address 0556h ). Instead of executing the loaded data, it holds it in the buffer.