Date : Mon, 30 Dec 1996 13:07:02 +0100
From : Robert Schmidt <rsc@...>
Subject: Re: Archive format expansion
deweger wrote:
> This is a very good point, and I'd love it when your emulator
> would offer some help in overcoming this problem.
I agree, auto-booting adds a tremendous boost to the ease of use.
> I have converted quite a number of games
> to the archive format and played them, and one of the problems in
> running these games is finding out the appropriate way of starting
> them. These problems are the following:
> a if there is an !BOOT file, finding out the appropriate *OPT4,x
> option
> b if there is no !BOOT file, finding out which file should be started
> first
> c finding out whether to CHAIN, *EXEC or *RUN this first file
> d If this first file should be CHAINed or *EXECed, finding
> out the appropriate setting of PAGE.
I have also converted lots of games, but I have disregarded !BOOT files
completely, as most disks I have converted only run disk menus anyway.
Problem b is usually no problem - most games' files are named sensibly.
Problem c is straight forward - first try CHAIN. If this yields "Bad
program", try *RUN. If *RUN fails, CHAIN is usually required at a
different PAGE.
I have been reluctant to include !BOOT files in the archives since that
makes it cumbersome to combine several games into one disk image/DFFS
image/directory. As a working solution, I am currently going through
the software (with Tom's emulator), and for each game I add a line in a
log file, similar to this:
Acornsoft/Elite: OK (CHAIN "ELITE" uses OSFIND, *RUN ELITE3 works)
Blahsoft/BoogieGame: OK (PAGE=&1900, CHAIN "BOOGIE")
Urghware/BurpUrp: Illegal opcode 3C at 1243h
This (still very incomplete) log will be made available on my pages
soon, and people are welcome to add to it.
But, I agree that the "intelligence" in this log would be very
convenient to store in !BOOT files instead. Regarding the *OPT4,x
option, the only sensible alternative I see is to add an OPT4 option to
the !BOOT.inf file, for example:
$.!BOOT 0 0 34 CRC=2345 OPT4=2
The alternative of an *additional* file in each archive does not attract
me at all.
Conversion programs should simply ignore *.inf file options that they
don't understand, and move on to the next. Also, the OPT4 option should
be ignored for all files except $.!BOOT.
> > 3. An extra parameter in the !BOOT.INF file, which specifies the
> > option. This has the advantage of settings the options only when
> > a !BOOT file is present. (This isn't too bad but it seems a bit
> > dodgy sijnce the extra parameter will only be present in the
> > !BOOT file, and conversion utilities will have to cope with this.)
Why should this be a problem? The !BOOT file is already special to the
Beeb - why shouldn't !BOOT.inf contains extra information for this file?
> This'd be my least favourite option, not only for the arguments
> above, but also because this rapes the !BOOT file parameters, which
> makes transfer back to a BBC more difficult.
Rapes what parameters? The *.inf format was specified to be easily
extensible with new options. Why is it harder to transfer back to a
BBC?
And, err... the files in the archive are provided for playing the games
you own on a BBC emulator - not your real BBC... You already own the
original disks, right? (Huh huh, right guys? :)
> Happy XMas as well. And good to see you're working on your emulator
> after midnight :)
I hope you all had a nice Christmas - I did... Well it's hard enough to
get back to work now, and knowing that tomorrow (new year's eve) will be
all play and no work doesn't exactly help on my motivation.... :-)
A happy new year to everybody!
--
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.