ZX81 FAST LOAD (16K ZX-81)
by Ian Deaville
from ZX Computing (February/March 1986), page 78

Ian Deaville lives in the fast lane in Rotherham and explains to the other
ZX81ers how to join him.

This simple little program increases the Baud rate at which the ZX81 saves
and loads to 1500. This means that the already awkward save/load system
becomes even more critical, however I have found that provided you keep your
cassette in good operating condition, clean and with the heads regularly
adjusted, then no real problems should be experienced.

Prepare a cassette and RUN the program, it will save itself on tape and then
set itself up ready for use. Before saving or loading any program load this
in first, a program must be saved at this speed before you can reload it at
the higher Baud rate.

Use RAND USR 32512 to save a program and RAND USR 32525 to subsequently
reload a program.


[The program as listed in the magazine is corrupt; a total of 36 bytes are
missing from the machine code. The missing bytes can be deduced from the
cassette routines within the ZX81 ROM, which this routine is based upon.

The routine saves and loads data to cassette three times faster than the
standard LOAD and SAVE commands. It does this by writing 1 pulse instead of
4 for a '0' and by writing 3 pulses instead of 9 for a '1'. The routines do
not support a user specified file name. The save routine does actually
output a file name consisting of a single byte with value $CD, but the load
routine skips over this and so loads the first program it encounters. RAMTOP
is lowered and the routine relocated at the top of memory, keeping it safe
from the NEW command. The program only works with the edition 2 ZX81 ROM due
to the calls to the FAST, SLOW and BREAK routines. It can be converted to
the edition 1 ROM by replacing all calls to $0F23 with $0F20, $0F2B with
$0F28, and $0F46 with $0F43.
