The Sea Change ZX Minimal ROM

The Sea Change ROM is a radical re-working of the ZX Spectrum ROM so none of the ROM routines such as $09F4 and $1601 are where they used to be.
New charts are required.
The amount of Free RAM can be obtained now with the CAT command which has the main function of cataloging the streams area. So CAT gives the free RAM which is now 41717 instead of 41472.
That's an extra 200 bytes plus a few extra due to the smaller command line.
This has been achieved by moving the System Variables down to address 23296 where the ZX Printer buffer used to be. You can still use COPY to copy the display to the ZX Printer but LPRINT and LLIST now give an error. If you want to list to a ZX printer then you must first use

OPEN #7,"P"
LIST #7
CLOSE #7

In fact you can have as many as a dozen different streams opened to channel "P" and each will contain its own printer buffer which, if you terminate items with a semicolon, could contain uprinted text. All these new channels are created in the CHANS area following the new system variables.
I have also added the "T", "B", and "N" channels to give the 16K ROM RS232 and network capabilities. You can now output and input with those channels.

It is now possible to SAVE and LOAD to and from the network and RS232 but the original 9-byte header format has been abandoned in favour of the standard 17-byte header. These commands are not compatible with Interface 1 and a filename is required.
e.g. OPEN #7,"b" : SAVE #7 "anyname" : CLOSE #7

You can download a ready built Stage 1 ROM (sco1.rom) from here

You can download a list of the re-located System Variables from here

STOP PRESS. The Assembly File and ROM now uses the Newton Raphson method of calculating square roots adapted from a FORTH word written by Steven Vickers in 1983.

This is the original advert that inspired this ROM