On Sunday 21 January 2001 22:19, you wrote:

>       I downloaded the file using Netscape Navigator 4.73
> and Internet Explorer 5.00, in the Windows 95 environment.
> Netscape tried to open the file as an ASCII text, and Explorer
> recognized an unknown extension and asked me if I wanted to
> save it to file (cripes, at least once Explorer made the service
> better than Netscape). It seems we will need Maarten suggestion
> about using .msx.zip extensions.

Actually I now think that a single extension is better. An emulator can 
register the .msx extension, so that file managers like Explorer and 
Konqueror will know what to do when you open a .msx file. With for example 
.msx.zip, the program registered for ZIP will open the file instead.

A question to Sean:
The file to specify a mimetype for an extension on Apache, can that file be 
created by any user or is it system wide? If the latter is true, people will 
have to ask system administration to make the changes and they may be 
reluctant to do so.

> -- start of msxgame.ini

We could use ";" for comments instead, I think that's more of a standard. 
It's also a bit easier to parse (some people will want to write their own 
parser, instead of using lex & yacc). Unix formats often use "#", but that's 
not familiar to DOS/Windows and MSX users.

> -- Games are numbered in order of submission
> -- to the mantainer of .msx database
> -- so "1" means Penguin Adventure and "0" means original media
>
> GameID=1.0

Why not use strings instead? Penguin Adventure could be "penadv".

We need a way to know which save game files belong to which game. Using the 
game ID is a good way to implement that. And if we do that, "penadv.sav" is 
more readable than "1.sav". By limiting the game ID to 6 characters, up to 
100 save games can be stored per game in a 8.3 filesystem ("pendav00.sav", 
"penadv01.sav" etc).

It is a good idea to have a major ID and a minor ID. Most uses of the game ID 
do not depend on the minor ID. For example, save games for the Japanese and
English Solid Snake are exchangable. Walkthroughs are as well, although 
walkthroughs for the Japanese version incorrectly state that Snake is smoking 
before using the hang glider to calm his nerves, while he is actually 
checking the wind direction (or is he? ;).

> -- name is following Maarten syntax
> -- japanese name uses Shift-JIS
>
> Name[us]="Penguin Adventure"
> Name[jp]="²å¤Ahx`["
>
> Manufacturer[us]="Konami"
> Manufacturer[jp]="Ri~"

I proposed to use this syntax for the MSX game info files, but it's not my 
standard. As I wrote, I got the idea from the KDE/GNOME .desktop file 
standard.

By the way, I think "us" is not a valid language code. It's probably "en_US" 
or something like that. After all, the language is still English (although 
some UK people will deny this ;), US specifies the "dialect" (it's not really 
a dialect, but I don't know the proper word).

> -- this next field could use a string also,
> -- for instance we could adopt
> -- Gametype="Cartridge"
>
> Gametype=0

I propose to use strings wherever possible. No matter what we choose, we'll 
always need documentation containing a list of possible values. But strings 
are more readable and easier to remember.

> -- This is the generic mapper algorithm
> -- this code snippet would be available in
> -- the .msx file format home page
> -- .msx authors would just copy+paste this code
> -- inside theirs msxgame.ini

One thing that isn't documented yet, is how to handle memory that is not 
controlled by the mapper. We could say it is filled with #FF (the data bus 
pulled up), but I'm not sure if that's correct for all MegaROMs.

Another thing is how to specify that a cartridge ignores slot select (like 
Super Lode Runner does). This is bad design from the cartridge manufacturer, 
but it has happened so now we have to deal with it.

Is it useful to allow I/O ports for writing to mapper registers?

Is there any game that reads the mapper registers, or is it always write-only?

>     -- select a banksize with 8kb
>     Banksize=8

Is any bank size allowed, or just 8kB and 16kB? By the way, make sure you 
write the "B" as a capital, otherwise people may misunderstand it to mean 
"bits". Remember that "mega" in MegaROM refers to "megabit".

>     -- this means we have the following banks
>     -- 0 = 0000-1FFF
>     -- 1 = 2000-3FFF
>     -- 2 = 4000-5FFF
>     -- 3 = 6000-7FFF
>     -- 4 = 8000-9FFF
>     -- 5 = A000-BFFF
>     -- 6 = C000-DFFF
>     -- 7 = E000-FFFF

We could also specify banks by using the address the bank starts at. So 
instead of "3", we would write "6000".

>     -- if we wanted to define multiple registers,
>     -- like in fmsx mapper 3 (konami with scc)
>     -- we could make Register[5000-57FF]=2

I think that's just a hack to allow more than one actual mapper to be 
emulated using a single fMSX MegaROM type. AFAIK, there is no game that 
writes to more than one address to switch. If that's true, there is no longer 
a need for this feature now that we can specify the exact mapper for each 
game.

Bye,
                Maarten

--
For info, see http://www.stack.nl/~wynke/MSX/listinfo.html

Reply via email to