Date : Tue, 12 Aug 1997 23:34:57 +0100 (BST)
From : Mark Cooke <mpc@...>
Subject: !6502Em script file format
Hi all,
The script format used by !6502Em follows.
Regards,
Mark
6502Em: BBC Script files
=======================
These are files intended to be the !Run file of
an application directory containing a BBC game.
When the application is run, !6502Em will be
loaded if necessary (so long as it has been 'seen'
by the filer).
Within the script file, you can alter certain
features of the emulator and specify which
file to run first to load the game.
The emulator's internal Currently Selected Directory (CSD)
will be set to the directory containing the script file.
The first line of the file MUST be:
BBC Script
On later lines, you may use the following commands:
Palette [On|Off]
Sound [On|Off]
Patch [Off|<patchname>]
Machine <machinename>
TapeFile <filename>
IndexFile <filename>
Keymap [Default|<keymapname>]
DisableTape
ScrollHack
LoadROM <filename>
LoadRAM <filename>
KillROM <ROMName>
ExactSpeed [On|Off]
Speed <Speed>
where:
<patchname> is the name of a 'Patch' in !6502Em.Patches,
<keymapname> is the name of a 'Keymap' in !6502Em.Keymaps,
<machinename> is one of BBCB, Master128, OS3.5, Compact, Electron
IndexFile takes a file containing names of files (in order)
that will be loaded when a CHAIN"" or *RUN"" is issued
(in the same directory as the Script)
The last line of the script is then used to determine
how to run the game.
If the last line is non-existent, then the emulator
will try to load a file of the same name as the application
directory.
If the last line is just a single word, then the emulator
will try to load a file of this name.
In both these cases, the emulator will try to work out
whether the file is BASIC from its execution address or
filetype.
(&801F, &8023, &802B, &80E7 are executions addresses recognised)
Otherwise it will be *Run'd
If it is recognised as BASIC from its execution address,
page will be set to its load address before it is loaded.
If the last line contains a space (ie is not a single word)
or starts with CHAIN or * then that line will be typed into
BASIC by the emulator.
eg to turn the sound off, the last line might be:
OSCLI "FX210,1" : *Run GameObj
Some example Scripts:
BBC Script
BBC Script
Patch Off
Keymap Arcadians
BBC Script
Palette Off
ExileL
BBC Script
Machine BBCB
Patch Elite
Palette Off
Elite
BBC Script
Machine Master128
Patch M128Elite
Palette Off
MODE2 : */M128Elt
BBC Script
Patch Off
Palette On
PAGE=&1900 : OSCLI "FX210,1" : LOAD "LISTING"
BBC Script
TapeFile JSW
Machine BBCB
OSCLI "TAPE" : CHAIN ""
Mark Cooke The views expressed above are mine and are not
Systems Programmer necessarily representative of university policy
University Of Birmingham URL: http://www.sr.bham.ac.uk/~mpc/