Date : Thu, 02 Jan 1997 16:12:40 +0100
From : Robert Schmidt <rsc@...>
Subject: Re: Archive format expansion
deweger wrote:
> a game, it gets a bit cumbersome. That's why a standard solution is a
> good idea.
> (This standard solution is a bit like Robert's log file in a standard
> form so it can be executed by emulators and BBCs).
> The first minor point is about how such a standard solution should be
> implemented. There seem to be two basic ways of doing so:
> 1. Add an !BOOT file to every game that contains the commands to
> start the game.
> 2. Add an additional file (with a standard name, e.g. !STARTUP) to
every game
> that contains these commands.
Agreed. See this from a machine independent view: whether the file is
named !BOOT or !STARTUP is totally irrelevant. Now in a BBC view: The
BBC micro DFS already has support for booting - i.e. automatic execution
of a certain file upon start-up. This file is called !BOOT, and any
emulator claiming 100% compatability should also emulate this operation.
Choosing another name (e.g. !STARTUP) for a purpose which is virtually
identical to the existing functionality, does not make sense to me.
> I don't really care. Robert wrote that adding !BOOT files to games would
> make it cumbersome to combine several games into one disk image/DFFS
> image. That's true, but the same applies to adding !STARTUP files.
Agreed.
> However, if people plan on adding more emulator-specific stuff to the
> archive format (like info about errors that occur when running a game on
> a specific emulator, or a kind of menu for multiple games), I think it'd
> be a good idea to put this emulator-specific stuff in an !STARTUP file,
> and not in an !BOOT.INF file. That would localize all emulator-specific
> stuff in one file and make transfer of games back to a BBC much easier.
> (And I *do* transfer games back to my BBC.)
*OPT 4 is *not* emulator-specific. It is BBC specific, just as the load
and execution addresses of each file. Whether one or all or none of the
emulators *support* the "OPT4" option is irrelevant - the option is
required to provide 100% emulation of a BBC micro, which *all* emulators
(should) strive towards.
Next, I am in general opposed to adding new "standard file names" (e.g.
!STARTUP or !OPTIONS) to the archives. If the *OPT 4 value is stored in
!BOOT.INF, it is much easier to make sure that the value is kept with
the correct !BOOT file - in the case where several games are copied into
the same directory. Note that several !BOOT file can exist in one
directory because the DOS/UNIX file name is virtually independent of the
BBC file name.
> Then 1a versus 1b. For the arguments above, it would be neater to put
> the option in an extra file (1b). However, since it's only a single
> parameter, I prefer adding it to an !BOOT.INF file (1a).
I suggest that emulator specific options are kept well outside of the
archive. That is, until emulator authors really got together and
hammered some quite rigid standards down.
In the meantime, here's another suggestion for providing emulator
specific options. Each of you authors can choose a name, say "!MODELB",
"!BEEBEM", "!XBEEB", etc, where you can specify whatever information or
options you feel are relevant to your emulator. If your emulator finds
a file like this in a game/program's directory, you process it.
You can provide these files yourselves as "patches" to the standard
archives found on my pages.
> So my opinion is that as long as we're only talking about the *OPT4
> parameter, I think the easiest way is to put it in the !BOOT.INF file
> (1b). If, however, we're talking about more such extensions, I prefer
> the addition of an !STARTUP file to the archive format (2a or 2b).
Well, what other extensions would people like to see? Are there any?
> Yeah, I just heard 1997 has been nominated Year of the Beeb!
Wow! Let's vote! :)
--
Robert Schmidt <rsc@... >
Software Developer / Vingmed Sound tel +47 67124237 fax +47 67124355
Private tel +47 22352293 WWW http://www.nvg.unit.no/~rsc
The law forbids both rich and poor to beg, steal and sleep under
bridges.