To run BBC BASIC you need to
install the ROM in a ROM bank selected with
OUT &FD. You can do this with a suitable external ROMBox, or with a
Spectrum 128 or later.

Version 0.40 *NEW*
Full set of COLOUR numbers giving FLASH and
BRIGHT. Ensures screen paged in before accessing screen system variables.
Filing system interface substantially tidied up. Loading and saving to
&FFFFxxxx selects screen memory if shadow memory present. Escaping within
load/save no longer causes a crash. Drive selectable with *d:, defaults to
1: if Interface 1 found, to T: otherwise. Saving, loading and cataloging
with microdrive works.

Version 0.39
Now doesn't need to be pre-configured with BASIC's ROM number. Checks ROMs
to find out where BBC BASIC is on startup. Same ROM image should now work in
a &7FFD ROM and in DOCK or EX. Uses a simplistic test on startup to see
if Timex MMU present. Does this by checking if IN &FF is zero. Also
issues Service 1 on startup to let other code have a look-in. If shadow
memory paged in, ensures screen paged in when needed. BASIC runs in shadow
mode with PAGE at &4000. This gives 44K free - exactly the same as with
BBC HIBASIC on the 6502 CoProcessor!

First version made that can run from main RAM. Results in PAGE at &6000
and HIMEM at &BB00. Seems to work, but not fully tested yet.

Version 0.38
ROM port no longer a variable. ROM paging able to use Timex/Spectrum SE
paging registers at &F4 and &FF. ROM numbers are:

&00 : HOME ROM 0 - Spectrum SE ROM 0

&10 : HOME ROM 1 - Spectrum SE ROM 1

&20 : DOCK

&30 : EX

DOCK/EX paging disabled by default with b7 of SCREEN set. Will also select
external ROMs with OUT &7FFD,n*16 with n>3. Shadow memory can page screen
out if available by ORing ROM number with 3. BASIC ORs its own ROM number
with 3 to try to select shadow memory.

Testing reveals v0.38 works on the Spectrum SE, but when BASIC pages the
screen memory out it forgets to page it back in to check for keypresses!
Filenames now changed slightly, adding '.rom' extensions for easier use on
extension insistant systems.

Version 0.37
Generalised ROM paging routine, ROM port a variable in high memory. IM2
interupts use I=&FD with two overlapping vectors at &FDFE-&FDFF
and &FDFF-&FE00 so interupts with data=&FE and data=&FF both
work. RdCh checks for Escape state before waiting for a key, so Escape state
doesn't wait for a keypress.