Loading routine "cores"

From SinclairFAQ
Revision as of 20:27, 28 July 2018 by Pak21 (talk | contribs) (Document ROM and Speedlock core loops.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This page documents the "core" of the loading routine used in the various turboloaders: the part of the loader which actually finds an edge from the tape.

ROM loader

The basis for every loading routine out there, this is the one found in the Spectrum ROM (at 05ED). The LD-SAMPLE name is taken from Logan and O'Hara's The Complete Spectrum ROM Disassembly.

LD-SAMPLE  INC B
           RET Z
           LD A,7F
           IN A,(FE)
           RRA
           RET NC
           XOR C
           AND 20
           JR Z,LD-SAMPLE

This routine is used unchanged (just copied elsewhere in memory) by a large number of turboloaders, for example Cybernoid and Dan Dare.

Turboloaders

The names given to each of these loading routines are not meant to imply that loaders was the first to use the specific loading loop; it is the most common usage of the loading loop, or just the first place that it was seen by the authors of this page.

Speedlock

The Speedlock loader, used in huge numbers of games, for example Daley Thompson's Decathlon and Head over Heels.

LD-SAMPLE  INC B
           RET Z
           LD A,7F
           IN A,(FE)
           RRA
           XOR C
           AND 20
           JR Z,LD-SAMPLE

This is essentially identical to the ROM loader, but just without the RET NC which aborts if space is pressed during the ROM loading routine.