If I recall, PAGE = &E00
for a BBC Model B system with cassette tape based storage.
On installation of Acorn DFS ROM (with 8271 Floppy disc controller), the ROM allocated more memory, increasing PAGE
to &1900
. It could be reduced as far back down to &1300
if I recall, if the user wasn't making use of *COMPACT
I think.
PAGE
is the starting point address for programs such as BASIC and other programs to run.
( Where &
(ampersand) is the BBC micro / Acorn notation for stating a number is hexadecimal/hex. On other systems it was $
(dollar) and modern engineering general convention denotes it as 0x
e.g. 0xFFFF
or 0xE00
etc. )
So, 3 constraints / considerations here for porting games written before disks common place:
- relocatable code if starting address changed
- less memory available
- copy-protection for unofficial ports - I've certainly seen this in Ghouls ("END OF THE LINE" message followed by a hard reset when attempting the port amateurishly).
As far as I can remember, there wasn't any game that couldn't be ported. Indeed, a friend of another school had a hacker-friend who would seemingly hand port games from tape to disk. This was necessary as the original tape-based game couldn't sometimes just be loaded into memory from tape and then *SAVE
d to disk to be *LOAD
ed and run - they may not have worked. This was due to at least one of the above 3 constraints.
On the BBC Master 128, with more memory, I think this workspace memory claimed by the DFS was mapped elsewhere, so 2 of the above constraints may not have applied but other compatibility issues e.g. undocumented 6502 instructions or (unofficial) assumptions about locations of memory mapped things might then have been a challenge.