<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Thu, 15 Feb 1996 12:15:17 +0000 (GMT)
From   : Robin Watts <Robin.Watts@...>
Subject: Tape/Snapshot fileformats

Hi all,

Following on from the comment about Tape/Snapshot file formats, here
are details of the snapshot/script formats that 6502Em uses. We are
putting these out in the hopes that they can become a standard...

I will try and get details of our Tape format to publish as well.

The script file format has been updated slightly to allow for
"Indexfiles" that determine what filenames to use if CHAIN"" is
done. Also, the Snapshot format now allows various different things to
be saved including sideways RAM etc. I will similarly try and get
details of these.

Ta,

Robin
6502Em: Filetype &BBC
====================

Acorn's filetype &BBC (BBC ROM) has been extended by 6502Em

If the first line of the file is one of the following:

BBC Script
BBC Tapefile
BBC Snapshot

then it is a new type of file, otherwise it is still
a sideways ROM image (which 6502Em will also load)

BBC Snapshot files are saved out by the emulator, and
contain the complete state of the emulator at the moment
it was saved.

BBC Tapefile files can be accessed from the emulator using
the casette filing system (selected by *TAPE)

BBC Script files are described in 'Scripts'
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
Palette Off
Patch Off
Patch <patchname>
Machine <machinename>
TapeFile <filename>
Keymap Default
Keymap <keymapname>

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, Compact
and <filename> is the filename of a tapefile
(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 are executions addresses recognised)
Otherwise it will be *Run'ed
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 ""
BBC TV Editors don't know anything about computers:                 Robin
Watts
"This device contains a computer which has sixteen pieces..."

<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>