On Tue, 23 Jan 2001 01:21:20 -0200, Ricardo Bittencourt wrote:

>       Hi people,

  Hi!

>; start of penadv.ini
>GameID=penadv.0


  I was thinking... It would not be good it there is a VERSION
number? Version of the package (not the game). Why? Because
maybe the information is wrong (or new info is added), and it'll
be very difficult to verify that if there is no version number.
If there is a version number, even the emulator may have a function
to call the database on internet and verify game by game if there is
a newer version of the package and update it. Of course ... if
we want this work we need to set up a server with some CGIs and
that sort of thing. Anyway, it'll avoid lots of problems.

  The version may be added as something like

GameID=penadv.0.1

  (1 means the version). This number may be as large as
desired (say, an unsigned integer... 65535 is great enough,
I think). So, the emulator may check. It will verify the
version of the local package. The it'll ask the server
(which may have its address informed by the user) the
actual version of penadv.0 and then, if the database
informs something greater than local, it'll advise the
user and ask if he wants to download the newer version.
If the version is the same, nothing happens (the game
just pops up). If the version is BELOW, the program will
ask if the user wants to UPLOAD the game on the "databaseincoming"
so the manager of the database can verify if the
new (probably made by user) version is worth of implementing
on the default distribution. The upload process may ask a
message for the file, also, where is explained the changes on
the package, so it'll help the manager of the database to
verify the package. (Pe.: "The cartridge mapper destriptor
was wrong. I changex XXXX by YYYY and now it's working right"
or "I just added japanese information to the file").

  Of course all of this may be disabled by the user, or
even enabled without messagens. I think this would help the
user to mantain their local database up-to-date and keeps
the network database updated also, since it'll be not difficut
to the user help on updating it.

  Also, a different way (I think it's better and faster) is the
server keeps a databasefile. The database file would be in the
following format:

struct _gamedata
  {
  ULONG game[2];
  int pkgversion;
  } *gamedata;

  the ULONG game[2] is a 64bit space. Since char gets 8 bits, there
is the space for 6 letters, the game vesion (0 to 256) and also
leaves a space for future additions (or CRC8 if someone wants it).
The pkgversion will keeps the game package version. This way, we
have 10bytes for each game. With 100 games it will give 1000bytes.
With 10000 games, it'll be about 100000 bytes (less than 100Kb).
this file may be even ZIP-compressed.
  This way, if selected by user, everytime it runs the emulator
connected to internet, the local database may be updated, and the
verify for packages it has may be done everytime he runs the game,
locally.

  I know, this will make the database management a little more
complicated. Anyway, it'll improve a lot the way things work.

  Note, the online-update is not a need for the emulator to use
the file. The game will run fine without this. Anyway, it's a good
thing to add on emulators.

   -----     AbraçOS/2, Daniel Caetano ([EMAIL PROTECTED])
 /| | | |\
 \| ___ |/   OS/2:     http://www.quasarbbs.com/daniel/
\/ ----- \/  MSX:      http://www.fudeba.cjb.net/
    | |      Drawings: http://www.djgallery.tsx.org/
   -- --     ...Programming to solve the mistery of life!



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

Reply via email to