====== GEMUS.DAT Specification ======
The GEMUS.DAT file is used by GEMUS's Emulator Setup Wizard. This file contains emulator definitions that the wizard uses to automatically setup a GEMUS environment. When the Wizard starts, it first checks if there is a GEMUS.DAT file in the root folder of the database that is loaded into GameBase. If it finds one it will use it instead of the default GEMUS.DAT file located in the root of the GameBase program folder. This is so that you can write your own GEMUS.DAT files for your own database (and thus specify exactly how you want the emulators to be setup for it). Throughout this document, the DAT file located in the GameBase program folder is referred to as the Global DAT File, and the DAT file located in a database folder is referred to as the Local DAT File.
The GEMUS.DAT file is useless by itself. Accompanying any GEMUS.DAT file there should be a \Scripts sub-folder (in the same folder as the DAT file). This folder contains all the GEMUS scripts pointed to by the DAT file. Without these scripts the Emulator Setup Wizard will not run. If using the Global DAT File, the wizard will copy the relevant scripts from the \Scripts folder into the appropriate database's \Scripts folder when setting up the emulators. If using the Local DAT File, the DAT file's \Scripts folder IS the database's \Scripts folder, so no copying is necessary as the scripts are already in the right place.
==== A Sample GEMUS.DAT File ====
[DAT]
Version=1.0
[CREDITS]
Author=Fred Bloggs
Contact=http://www.bu22.com/
LastUpdated=2002-04-22
[Commodore 64]
¬CCS64 v2.0b DOS¬http://www.ccs64.com/¬¬ccs64.exe¬3EFF020E¬D64;T64;G64;G41;TAP;PRG;P00;P01;CRT¬Y¬CCS64_v20b_DOS.txt¬c64.cfg¬
¬CCS64 v2.0b Win32¬http://www.ccs64.com/¬¬ccs.exe¬A719C6EB¬D64;T64;G64;G41;TAP;PRG;P00;P01;CRT¬Y¬CCS64_v20b_Win32.txt¬c64.cfg¬
¬CCS64 v1.09¬http://www.ccs64.com/¬Please consider registering this emulator!¬ccsdpmi.exe¬332644B8¬D64;T64;PRG;P00¬Y¬CCS64_v109.txt¬c64.cfg¬
¬WinVICE v1.6¬http://viceteam.bei.t-online.de/¬Oooh... with RESID!¬x64.exe¬AB43B34F¬T64;PRG;P00;D64;G64;G41;CRT;TAP¬Y¬WinVICE_v16.txt¬
[Atari ST]
...
[ZX Spectrum]
...
[Arcade]
...
[Super Nintendo]
...
[Apple]
...
[BBC Micro]
...
==== Explanation ====
== The [DAT] Section ==
Version=1.0
This is the version of the DAT file. It Should be 1.0.
== The [CREDITS] Section ==
Author=Fred Bloggs
This is where the authors of the DAT file are specified. In the above example, the author is Fred Bloggs. You can specify multiple authors by separating them with a comma.
Contact=http://www.bu22.com/
This is the URL or email address where updates or newer versions of the DAT file are available. This link appears in the first and last screens of the emulator setup wizard.
LastUpdated=2002-04-22
This is the date that the DAT file was last updated, in the format YYYY-MM-DD. In the above example, the DAT file was last updated on the 22nd April 2002
== The SYSTEM Sections ==
**NOTE:** This section can be auto-generated from within the GameBase Frontend. Just select "Export Emulator Definitions" from the GEMUS menu.
[Commodore 64]
¬CCS64 v2.0b DOS¬http://www.ccs64.com/¬¬ccs64.exe¬3EFF020E¬D64;T64;G64;G41;TAP;PRG;P00;P01;CRT¬Y¬CCS64_v20b_DOS.txt¬c64.cfg¬
¬CCS64 v2.0b Win32¬http://www.ccs64.com/¬¬ccs.exe¬A719C6EB¬D64;T64;G64;G41;TAP;PRG;P00;P01;CRT¬Y¬CCS64_v20b_Win32.txt¬c64.cfg¬
¬CCS64 v1.09¬http://www.ccs64.com/¬Please consider registering this emulator!¬ccsdpmi.exe¬332644B8¬D64;T64;PRG;P00¬Y¬CCS64_v109.txt¬c64.cfg¬
¬WinVICE v1.6¬http://viceteam.bei.t-online.de/¬Oooh... with RESID!¬x64.exe¬AB43B34F¬T64;PRG;P00;D64;G64;G41;CRT;TAP¬Y¬WinVICE_v16.txt¬
There can be multiple SYSTEM sections in a DAT file. Each one contains the emulator definitions for that system. The name of the section (between the [] characters) is the name of the system. Each emulator definition is split into fields by the ¬ character. An emulator definition line must begin and end with the ¬ character. The wizard, when it starts, lets the user pick which system that they would like to setup emulators for.
The format of an emulator definition line is as follows: -
¬NAME¬URL¬[COMMENT]¬FILENAME¬CRC32¬FILETYPES¬USESHORT¬SCRIPTFILE¬[ASSOCIATED-FILE¬*]
**NAME**
Required. This is the name of the emulator. It is the unique name that GEMUS uses to identify the emulator. When the wizard scans through the emulator definitions, it will not allow you to add emulators to your GEMUS setup if you have an emulator already setup with the same name.
**URL**
Required. This is the URL of the Emulator's web site (or an email address). This is used in the wizard to allow users to obtain the emulator if they do not already have it.
**[COMMENT]**
Optional. This field can contain any information you want about the emulator. This should be used for such info as specific instructions to running games with this emulator. Good examples of use are: "The script for this emulator only works with the registered version of the emulator", or "Specifically setup for the GB64 database".
**FILENAME**
Required. This is the actual filename (without a path) of the file used to run the emulator. The wizard uses this (along with the CRC32 field) when scanning for the emulator on your computer.
**CRC32**
Required. This is the CRC32 checksum of the file used to run the emulator. The wizard uses this (along with the FILENAME field) when scanning for the emulator on your computer. You can specify multiple CRC32 values in one definition by separating them with the pipe ( | ) character (for example ¬A719C6EB|B729DEEB|24E5F221¬). If you specify multiple CRC32 values, you should put them in preference order since the wizard's emulator search will scan for these in the order they are specified and stop search once one is found. If you do not wish to specify any CRC32 values, you must specify a single * value (¬*¬). This will cause the wizard to only search for files matching the FILENAME field, and stop when the first matching file is found.
**FILETYPES**
Required. This is a list of filetypes that the emulator supports, delimited with the semi-colon character. For example ¬D64;T64;PRG¬.
**USESHORT**
Required. This field specifies whether the emulator uses short filenames when running games via command line. This must be one of two values... ¬Y¬ (uses short filenames) or ¬N¬ (doesn't use short filenames).
**SCRIPTFILE**
Required. This is the filename (without a path) of the emulator's GEMUS script file, which should be present in the DAT file's \Scripts folder.
**[ASSOCIATED-FILE¬*]**
Optional. There can be as many associated files as you wish in an emulator definition. They correspond to the associated files that the emulator's GEMUS script may use. Associated files that you specify in a GEMUS.DAT emulator definition line are assumed to be already on the users system in the folder of the emulator's executable file (or one of it's sub-folders). To specify that the associated file is directly in the emulator's folder, just use the asssociated file's filename. If you wish to specify that the associated file is located in a sub-folder of the emulator's folder, include the subfolder name before the filename. The wizard will attempt to create the associated file if it doesn't already exist in the specified location.
The following example specifies 2 associated files, one which is assumed to be in the emulator's root folder, and one which is assumed to be in the emulator's config folder: -
...¬settings.ini¬config\controls.ini¬