Maarten ter Huurne wrote:
> Packager ID:      Server:
> [EMAIL PROTECTED]      -
> msxpackbeta       beta.msxpack.org
> msxpack           msxpack.mirror.nl
> msxpack           release.msxpack.org
> mr_x              msx.whatever.com:8080

        Just to improve the idea: .msx database servers doesn't
need to be unix daemons or windows tsr. They can be just plain
files in a web page.

        The official msx server will be just a text file 
in some server (let's say http://www.msxformat.org/server/index.txt)

        index.txt will have a syntax much simpler than the .ini
files inside the .msx package, due to bandwidth problems:

; start of index.txt
2000-01-24
alest2
aleste
2000-01-23
antadv
goonie
2000-01-22
penadv
nemes3
kqbert
irtype
; end of index.txt

        A database client (could be a package manager or an emulator),
would just download the index.txt and see if the packages stored
locally have lower dates than the ones in the server. If it is the
case, they can warn thw user of start the download. Users searching 
for games can also use the client to check if the game he wants was 
already packaged.

        If a game is updated in the server, the later entry is deleted
and a new one is added:

; start of index.txt
2000-01-25
penadv
2000-01-24
alest2
aleste
2000-01-23
antadv
goonie
2000-01-22
nemes3
kqbert
irtype
; end of index.txt

        This file can get quite big when the project packages 
all the msx games. However, clients do not need to download the
entire index. Let's say the client downloaded the index
at 2000-01-23 and stored it locally. When he is getting the new 
index, download can stop once he reach the line "2000-01-23".

        So ok, the game has been found. Using the gameid in
the index.txt, he can connect to the web site again and download
the game.inf file in the same directory. Let's say he wants
to download "penadv", then he would need to download
the http://www.msxformat.org/server/penadv.inf . The contents
of this file should be standardized, for example:

; start of penadv.inf

Game=http://www.lsi.usp.br/~ricardo/penguin.msx
Game=http://www.msxnet.org/games/penguin_adventure.msx
Game=ftp://ftp.funet.fi/pub/msx/msxformat/penadv.msx
ManualScan=http://www.msxformat.org/manual.htm
Walkthrough=http://www.msxformat.org/walk.htm
BoxScan=http://www.msxformat.org/box.htm
CartridgeLabelScan=http://www.msxformat.org/label.htm

; end of penadv.inf

        penadv.inf would only link to .msx files approved
by the Packaging Project (ie., files with Packager=msxpack),
and user can select whichever "Game" link we wants
(the software could automatically select the fastest mirror)

        The files inside the server can be mirrored as well,
someone could copy index.txt and all the *.inf files
to his site and place his addr in a list of mirrors.
Users can discover if a mirror is updated by looking in
the data of last game added. 

        It's worth to note that this approach is independent
of the Unified MSX Format. All it needs is a Packager tag inside 
the .ini, and we were going to add it anyway.

        ---

        But now let's get back to SCC. In addition to 
Required, Optional and Extra, there could be an Internal keyword.
This way Nemesis3 would have a tag:
        
        Internal=SCC

        Konami Mahjong could have...

        Internal=DAC[5000/0FFF]

        ...and here we have the generic DAC !

        I agree with Sean about the generic SRAM syntax.
If we allow exceptions, then we could just as well make
every mapper an exception and forget about the whole generic 
thing. However, I am developing a new syntax which can cover
the PAC and Game Master 2. I'm just removing bugs from it, 
later today I'll post it.

----------------------------------------------------------------
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