<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
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.


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