On Fri, 26 Jan 2001, Maarten ter Huurne wrote:

> I noticed you are using a callback mechanism to feed information to the 
> program using the parser. Because there is no fixed order of statements in 
> the INI file, this may be inconvenient. For example, a "Banksize=8" may 
> appear after "Initial[4000]=0" and an emulator wouldn't know how much memory 
> to initialize to block 0 before the bank size is known.

        I thought about that when writing the parser. The callbacks are
only called when there is no error in the ini file, and then are always
called in order:

        gameid, name, manufacturer, year, author,
        rom, banksize, initial, register

        You can check this with the binary present in the pack. Try to
place the banksize statement in the end of the file, and see how it's
printed in correct order at output.

> By the way, I think the "Register[5000/07FF]=4000" syntax is a bit confusing 
> since there is also the "Name[en]=Penguin Adventure" syntax and there is 
> hardly any similarity between "5000/07FF" and "en". Maybe something like 
> "Register=5000/07FF->4000" is better.

        I don't think so, this problem does not exist if you use 
a context-sensitive parser. We always know that after a "Name" tag the
contents of the array must be a two-digit, lowercase, iso639 language
code; and we always know that after a "Register" tag there must be an
address/mask pair.


> You licensed the source under GPL. This does mean that it can only be used in 
> projects that have a license compatible with GPL. For example fMSX does not 
> comply, because the fMSX-Windows code is not public and the fMSX license 
> doesn't require people to make code of ports public. Are you aware of this?

        I was sleepy when I wrote the header files :)

        Of course LGPL would be much better, with LGPL you can add it to
fmsx without worries, but all changes in the parser itself must be
released with source. I think it's fair, this way we're always improving
the parser.

> I don't mind, there is sense in "you shouldn't use open source code if you're 
> not willing to open your own source", but it does mean that this 
> implementation cannot be used by all emulator authors without them changing 
> their licenses and opening up their source.

        You're right. My goal is not to make everyone open sources,
instead I want everyone using the unified format.

----------------------------------------------------------------
Ricardo Bittencourt               http://www.lsi.usp.br/~ricardo
[EMAIL PROTECTED]  "Ricardo is subtle, but malicious he is not"
------ Uniao contra o forward - crie suas proprias piadas ------


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

Reply via email to