Spectrum Games Database v1.19 (Release 03-09-1996)
Written by M. van der Heide - Copyright 1995-1996 ThunderWare Research Center
This program may be used for maintenance purposes of your ZX-Spectrum programs.
It can be used in conjunction with the four leading PC Spectrum emulator
programs: `Z80', `JPP', `Warajevo' and `X128' and knows all about .Z80, .TAP,
.MDR, .VOC, .SNA, .SCR and the brandnew .SLT files.
This program is neither public domain nor shareware: it's freeware.
This means that anyone is allowed to distribute and use the program, but all
copyrights are still owned by ThunderWare Research Center.
You can therefor not request any money from anyone for copying this program,
apart from the expenses made for the media onto which it has been copied.
Remember you can always freely obtain the latest version from my internet
home page at:
http://pampus.gns.getronics.nl/~mheide/spectrum.html
Or you can try ftp.nvg.unit.no (probably in /pub/games/utils/pc)
0. INDEX
--------
1. Disclaimer
2. Requirements
3. Important Notes
4. Sytax
5. The Screen
6. The Buttons
7. The Fill-In Fields
8. Selecting a Game
9. The Selection Criterion
10.1. The Configuration
12.2. The Configuration File
11. The Menu Strip
12. .TAP Catalogs
13. .MDR Catalogs
14. The Game Information File
15. The Game Screenshot File
16. Database Validation
17. Game Compression
18. Supported file types
19.1. Notes on using the `Z80' Spectrum Emulator
19.2. Notes on using the `Warajevo' Spectrum Emulator
19.3. Notes on using the `X128' Spectrum Emulator
20. Converting Your Databases
21. Troubleshooting
22. The Credits
23. How to Contact Me
1. DISCLAIMER
-------------
S.G.D. has been tested on a lot of systems, including '286, '386, '486,
'486DLC and Pentium machines (even emulators), with ISA, VLB and PCI causing
no problems. If you want to use this program, though, you do so at your own
risk. This means that it is extremely unlikely to damage your system, but if
the unthoughtful event DOES happen, you will be on your own.
ThunderWare Research Center can and will accept no claims whatsoever.
2. REQUIREMENTS
---------------
In order to be able to use this program you will need the following hardware:
- A 80286 or better processor,
- A (Super)VGA card with at least 256Kb,
- A mouse with a fully Microsoft compatible driver
(Microsoft compatibility version 6.26 or up),
- At least 2Mb of memory,
- At least 460Kb of free conventional memory, or 410Kb if (enough) upper
memory is available.
And the following software:
- (MS)DOS 5.0 or better,
- An XMS driver (e.g. HIMEM or QEMM) with XMS version 2.0 or higher,
- Loads of Spectrum games :)
- One of the supported emulators if you want to play the games.
See HISTORY.DOC for the latest changes. There are quite a lot of them!
Also note the change of database format!
3. IMPORTANT NOTES
------------------
1. The database format has been changed again since version 1.18. You will
have to convert it to the new format. This can be done with the `-c'
command line option (see below).
2. Free up as much conventional memory as possible to be able to show all your
spectrum games (needed is 48 bytes of conventional memory and 128 bytes of
XMS per game entry).
3. If a fatal error occurs due to low memory, you will be asked if an attempt
should be made to rescue the database (if it had been changed). If a
successful attempt was made, the database will be in the file GAMES.SAV.
You must rename this file to GAMES.DAT yourself before restarting.
4. If the following fatal error occurs after writing back a changed database:
`Could not install new database', or `Could not remove old database', the
version just written will have an extension `.TMP' (in the same directory
as the old database).
You must rename this file yourself before restarting.
5. Although this program runs fine in a DOS-box from Windows, this is not the
recommended setup, as the spectrum emulator doesn't like Windows that much
(and neither should you)! Also see the Troubleshooting section on Windows.
Make sure you allow use of the upper memory area, as this frees a large
amount of precious conventional memory.
6. When you choose to validate the database, remember that using a diskcaching
program (such as SMARTDRV) will do miracles.
7. The maximum filesize for a game is currently 7 digits. Please let me know if
you have larger (.VOC) files and you want to include them too.
8. Unlike a certain well-known Microsoft product, this GUI allows dragging and
resizing while the window is being updated at the same time (try dragging
the percentage requester). And no, it wasn't hard to implement...
9. If upper memory is available, the max number of games is around 5000 per
database. If no upper memory is available (or you used switch -u), around
4000 games is the max.
4. SYNTAX
---------
To see what syntax is available, use SGD -?
To start the Spectrum Games Database, use the syntax
SGD [-cX] [-p] [-q] [-w] [-d] [-u] [databasename]
Option `-cX' (or `/cX', `-CX' or `/CX') is used if you are upgrading your
database.
Use -c1 to convert from version 1.07 or below
Use -c2 to convert from version 1.09 or below
Use -c3 to convert from version 1.17 or below
(if you don't use it, you will be presented a corrupt database).
Option `-p' is used to disable the load/save percentage bar, which is useful
if you have a slower computer or a really slow video card.
Option `-q' is used to disable all sounds from SGD. Be careful: this does NOT
turn off the sounds from the emulators (unless `X128' is used)!
Option `-w' is used to disable MS Windows `multitasking' if it is detected.
It will be enabled again once you leave SGD. This should be used with caution.
This option works on Windows 3.x in enhanced mode and on Windows95.
Of course, programs run from the shell (such as a ZX-Spectrum emulator) will
still detect that Windows is running and act accordingly, but emulation will
be a lot faster.
Option `-d' is used to enforce Direct Video Register Control. It will prevent
SGD from using the RIL if one has been found.
Option '-u' is used to disable use of upper memory.
The [databasename] may be omitted, which is defaulted to GAMES.DAT. If you
want to use a different database, remember that any rescued database is
ALWAYS named GAMES.SAV in the SGD directory!
Any database printed to a file will get extension `.OUT' and will be in same
directory as the database itself.
5. THE SCREEN
-------------
The screen is set up in a 640x480x16 resolution and contains two windows.
The left window holds the spectrum games stored in the current database file,
the right window is the description window that contains information on the
game that is currently being selected. The lower part of the right window is
used for the List and Screen button output.
At the bottom of the right window the name of the current database is printed,
together with a checkmark if the database has been changed.
You can make a snapshot (GIF image) of the full screen at any time by pressing
[CTRL][Print Screen]. In each session, the first screen dump will be called
SDUMP001.GIF, the next SDUMP002.GIF etc.
When a Spectrum screen is being displayed, you can press [ALT][G] to convert
this image to a GIF file, which will be created in the directory you assign in
the configuration file (`GIFPath' value). The name of the image will have the
same PC-name as the game, with extension `.GIF'
6. THE BUTTONS
--------------
Add - Add an entry to the database. After filling in the name of the game,
the new entry will be sorted into the database.
Del - Delete the game that is currently selected. Note that the game will
only be removed from the database, the game file itself will be left
alone. Confirmation is asked if this is set in the configuration.
Write - Write the database back to disk. This is also done if you leave the
application.
Reload - Re-read the database from disk.
Print - Print the database to the printer.
Play - Play the selected game in the selected emulator.
- If the game is not in a snapshot file, you will have to type
LOAD "" first to load the game.
- .MDR files are put into microdrive 1.
- 128K games use the 128K spectrum.
Config - Configure the application.
Shell - Shell out to DOS. Notice that the application consumes only 2Kb of
conventional memory :)
WARNING: you must not start TSR programs from within the shell, or the
application will not be able to swap back in!
If MS Windows multitasking has been disabled, it is still disabled
while you're in a shell.
Quit - Stop.
Screen - Find and display the spectrum screen contained in the game. If the
game is in a tape file, the first screen in the tape is taken.
List - TAP files: creates a catalog of the tape (see below for format);
MDR files: creates a catalog of the microdrive cartridge, very much
like you type `CAT 1' on the spectrum (see below);
If the cartridge is write protected, this is reported in
blue after the cartridge name (first line).
Z80 files: gives some information as found in the header.
SNA files: gives nothing, as nothing interesting can be found in the
header!
SLT files: as Z80 files, but also reports some information about the
extension blocks.
ScrShot - View a saved screenshot (.SCR) file. See `Game Screenshot Files' for
more information. SLT files only show a screenshot if it is included
in the snapshot (as extension).
Info - View the game information file (see below).
EdInfo - Edit the game information file in a seperate task.
About - Shows an about box.
SysInfo - Shows some system information;
The buttons can be selected in two ways:
1. By clicking on them,
2. By pressing [ALT] + the underlined character.
The fields in the right window can also be selected with the [TAB]/[ENTER]
keys. [TAB] cycles clockwise, [SHIFT] + [TAB] cycles counter-clockwise.
7. THE FILL-IN FIELDS
---------------------
The fields `Name', `Publisher', `Year', `Players', `PC-Name' and `Type' can be
edited. Click on it to get a cursor. The keys are:
[CURSOR LEFT] - One char left;
[CURSOR RIGHT] - One char right;
[HOME] - Go to the start of the box;
[END] - Go to the end of the box;
[BACKSPACE] - Delete the character before the cursor;
[DEL] - Delete the character under the cursor;
[INS] - Toggle insert/overstrike mode (the startup mode is set in the
configuration window);
[ENTER] - Accept the input and elect next button;
[TAB] - Accept the input and elect next button;
[SHIFT][TAB] - Accept the input and elect previous button;
[ESC] - Restore and stop editing;
[CTRL] and one of:
[CURSOR LEFT] - One word left;
[CURSOR RIGHT] - One word right;
[HOME] - Go to the start of the input field;
[END] - Go to the end of the input field;
[DEL] - Clear the entire input field.
B - Clear start of input field up to the cursor;
E - Clear from the cursor to the end of the input field;
W - Clear from the cursor to the start of the next word;
Any ASCII character inserts the character.
The fields `Year' and `Players' only accept numerical characters.
If you start editing, overstrike or insert mode is selected depending on the
configuration.
I usually use the `Type' field as follows:
Arc for arcade games;
Adv for text adventure games;
Arc/Adv for arcade adventure games;
Sim for simulation games;
Str for strategy games;
Spo for sports games;
Brd for board/card games;
Lrn for learning 'games';
Dem for games demos;
Bld for `building' software for games (e.g. The Quill);
8. SELECTING A GAME
-------------------
Games are selected from the left window. The current game's name is inverted.
To select another game, either move the slider and click on it with the mouse
or use the keys:
[CURSOR UP] - Move one game up;
[CURSOR DOWN] - Move one game down;
[PAGE UP] - Move a page up;
[PAGE DOWN] - Move a page down;
[INS] - Choose the game;
[CTRL][INS] - Toggle the 'selected' status of the game.
If you have set up a selection criterion, you can use the key [CTRL] with
[CURSOR UP] - Move one selected game up;
[CURSOR DOWN] - Move one selected game down;
To toggle the `selected' status of a game with the mouse, hold down [CTRL] or
the middle mouse button (if you have a 3-button mouse) while clicking on the
game name.
You can toggle the `selected' status of an entire range of games at once (with
the mouse only!) by selecting the entry at the beginning of the range and then
selecting the last entry in the range while pressing [SHIFT].
`Selected' games are printed with a cyan background.
The slider can be used as follows:
- Pick up the slider and drag it to the position you want;
- Hold down [CTRL] or the middle mouse button and click somewhere on the
slider bar to set the slider to that position directly;
- Click above the slider to go up a page (repeated while pressed);
- Click below the slider to go down a page (repeated while pressed);
- or use the arrow gadgets to go up/down a line (repeated while pressed);
You may also use the Typed-Name feature: Start typing the name of the game.
Each time you add or delete a character, the database will be searched for the
closest match to a game name. The selection bar will be on that entry.
Pressing [ESC] or selecting the entry will clear the typed-name box.
Note that you do not have to insert spaces or other typographical characters;
these are ignored when matching.
Games that can not be played in the currently used emulator (games with unknown
filename extension for `Z80', all except `.SNA' for `JPP' and all except
`.Z80', `.TAP' or `.MDR' for `Warajevo') are printed in red.
When you double-click a game name, the game is automatically started.
9. THE SELECTION CRITERION
--------------------------
At the bottom of the left window is a box with an `S' before it.
This is the box where you can enter your selection criterion.
Eight different criteria are included, which use the following names:
Name Is Type
NM Name (AlphaNum)
PU Publisher (AlphaNum)
YR Year (Num)
ME Memory (Num)
PL Players (Num)
TO Together (Bool)
PC PC-Name (FileName)
TP Type (AlphaNum)
PB PlayBit (Bool)
OS OrigScr (Bool)
IM Improve (Bool)
FD FloppyDisk (Num)
The syntax is simple:
AlphaNum types are followed by a `=' character and a string, in which the
wildcard characters `*' and `?' may be used;
If you want to use characters `*' or `?' or `,' but not with their
special meaning, insert a `\' before it.
(For example `\?' is no wildcard, but a `real' question mark)
FileName types are handled almost the same as AlphaNum types, but follow the
(extended) DOS convention for wildcard handling.
Num types are followed by `>', `<', `=', `>=', `<=' or `!=' and a number;
Bool types are followed by a `=' and a `Y' or `N'.
The PlayBit value is not really a database field. It checks the `playable' bit
in the select window (which makes the entry red if not set).
The FloppyDisk value can be used to find out which games are located on a
particular floppy disk. Used 'fd=0' to find all games NOT on a floppy.
Lettercase is not important.
Multiple criteria are joined with a `,' character (no spaces!). For example:
yr>=1985,pl=2,to=y,pc=*.tap,os=y
will select all games since 1985 that can be played by two players together,
that are in tape files and contain the original loading screen.
- Games that cannot be played with the selected emulator are printed in red.
- Games that match the criterion are printed with a cyan background.
Apart from using the criterion, you can (de)select entries by hand: press
[CTRL] or the middle mouse button (if your mouse has 3 buttons) while clicking
on a game.
You can toggle the `selected' status of an entire range of games at once (with
the mouse only!) by selecting the entry at the beginning of the range and then
selecting the last entry in the range while pressing [SHIFT].
If you pass an empty selection criterion, all files will be deselected.
10.1. THE CONFIGURATION
-----------------------
The configuration window holds the following items:
Remap Bright Black : Should the ULA bug be matched and should bright black be
displayed as dark black?
Confirm Quit : User must confirm quit?
Confirm Delete : User must confirm delete?
Follow Slider : If turned on, the games combo window will be updated
while you move the slider bar. If turned off, only the
slider bar will be updated while moving; the result will
be printed when you release the mouse button.
This option should be turned off for slower computers
only.
Snap Mouse Default : Turn it on if you want the mouse to move to the default
button if a window/requester is drawn or if an edit
button is finished with the [ENTER] key (Default is off).
Edit Insert : Sets the initial edit mode for startup of edit buttons.
Checked means insert mode, cleared means overstrike mode.
Always Backup : If this option is turned on (the default), SGD will make
a backup of the database the first time that a new
version is to be written. This file will have extension
'.BAK'
This option can be temporarily overridden from the menu.
Blanker Installed : Use the blanker?
Blanker Time-Out : Number of seconds of non-keyboard/mouse activity before
the blanker activates.
Printer : 1 for LPT1, 2 for LPT2, 3 for LPT3.
0 is used to print to a file instead. The name of the
file will have the same name as the database, but with an
extension `.OUT'
Lines Per Page : The number of lines per page that the printer uses.
Emulator Type : Type of emulator: `Z80', `JPP' or `WAR'.
Emulator Path : Full path to the emulator of the chosen type.
If you use a .BAT file, which will start the emulator in
turn, make sure you pass all the parameters "%1" etc too!
Additional Switches : Additional command line switches to be passed to the
emulator of the chosen type.
`Z80' seems to have problems with some of them this way.
Game Info Editor : The file name of the editor to be used when the `EdInfo'
button is pressed. The extension (.COM/.EXE/.BAT) must
be given too! If this is a batch file, "%1" holds the
information file name. If the editor is not in the
current directory nor in the search path, the full path
must be supplied.
Button `Save' will save the current configuration, `Reload' will load the
configuration back from disk.
You must explicitely press the `Use' button (or the close gadget or the [ESC]
key) to leave the configuration window.
10.2. THE CONFIGURATION FILE
----------------------------
The file SGD.INI holds the above configuration. Other values are:
NextFloppyDiskId : This is the next floppy number to be used. You should
NOT edit this field by hand!
UseGeniusMouseHiding : If turned on, will use the old-style Genius mouse hiding
function. Turn it on only when you have a Genius mouse
driver with version 7.02 or below.
NoLocalMouseHiding : If turned on, will always fully hide the mouse when a
request is made to hide in a specific range.
This should only be used when you have a really weird
mouse driver (e.g. in Windows NT) that messes up the
screen.
SwapMouseButtons : If turned on, will swap the left and right mouse buttons.
DragOutlineOnly : If turned on, will update only the window's outline
while a window is being dragged. This should only be
turned off if you have an extremely fast processor and
video card (as most windows reside in XMS)
ResizeOutlineOnly : If turned on, will update only the window's outline
while a window is being resized. This should only be
turned off if you have an extremely fast processor and
video card (as most windows reside in XMS)
ValidateAfterLoad : If turned on, will auto-validate the paths of all games
in the database after a (re)load or import. The default
is `off'. This option can be temporarily changed from
the menu.
Be careful: it can take quite some time to validate if
you have a large database.
GIFPath : The directory where the GIF files of the spectrum screen
images (created with [ALT][G]) will be stored;
You can put GIF files in a directory relative to your
games by inserting a `$' character before the path name.
For example, if you use only `$', the GIF files will be
put in the same directory as the game. If you use `$GIF',
the files will be put in a subdirectory `GIF' from your
game location.
Z80SnapNeedsTape : This string is searched for at the end of the game name
if this game is in a .Z80 or .SNA file and the chosen
emulator is Z80. If it is found, the PC-file with the
same name but extension .TAP is inserted as a tape file
as well. This is used for programs of which the first
part is in a snapshot while the rest is in a tape.
E.g.: `Professional Adventure Writer' is in a .Z80 file
while the character sets are in a .TAP file on most
internet sites. When this option is used, it will
play PAW128K.Z80 and also insert the tape file
PAW128K.TAP
Make sure the name of the accompanying tape is the same!
I use the string "+TAP)" myself.
Z80SnapNeedsVOC : Does the same as Z80SnapNeedsTape, but when the rest of
the program is in a VOC file.
Make sure the name of the accompanying VOC is the same!
I use the string "+VOC)" myself.
Z80TapesOnly : Turn this option off if you have both .TAP files created
with Z80 and .TAP files created with Warajevo. The
default is on (only Z80).
(see below)
Compressor : The compression program to be used when using the
`Compress games' option from the menu strip.
(see below)
CompressOptions : Any options needed by the above compression program.
If more than one option is needed, the argument must be
quoted.
StableFloppies : Assume that Spectrum software on floppies stays there.
When turned on (default), SGD will not ask to insert a
floppy when you select a game. It will ask for it when
you press a button (Play, Screen, List, ScrShot, Info
and EdInfo). When turned off, SGD will ALWAYS want the
correct floppy in the drive.
The above parameters must be filled in by hand.
GameDir : All the directories where games from the database are
found. GameDir entries are automatically inserted if you
select files from the file requester.
This file can be edited with any ASCII editor, but is also rewritten if you
change the configuration.
11. THE MENU STRIP
------------------
SGD has a menu strip a la Amiga. For users unfamiliar with the Amiga, I'll
explain how it works:
- To use the menu strip, press the right mouse button. You'll see the strip
at the top line of the screen;
- While keeping the right button pressed, move it to one of the words in it.
A roll-down menu will appear;
- While still keeping the right mouse button pressed, move the mouse over the
menu entry you wish to activate. Entries with an `>>' at the end have a
submenu attached;
- When the mouse highlights the entry you want, release the right mouse button;
- If you don't want one of the options, move the mouse somewhere in the void
and release the right mouse button there.
- Some menu entries has key shortcuts. These are shown at the end of a line.
The menu strip has the following entries:
1. Database
- New : Remove the current database from memory and start with
an empty one. You will be asked to save first if you
changed anything;
Notice that the database name will be 'NONAME.DAT'.
When saving a new database, you should use the menu
option 'Save As...' to give it a proper name.
- Open ... : Remove the current database from memory and open a new
one. You will be asked to save first if you changed
anything;
- Save As ... : This menu has a submenu:
- All : Save the entire database to a new file;
- Selected : Save only the selected entries to a new file;
- Print : This menu has a submenu:
- All : Prints the entire database (the same as the button);
- Selected : Prints only the selected entries;
- Import database : Join another database in memory. The new database will
be simply added, so the result will be unsorted.
Afterward, the selection bar will be on the first
imported line.
- Resort database : Resort the database. All entries will be sorted by
game name. This option is generally needed when you
import a database.
- Validate database : This menu has a submenu:
- All : Validate the entire database;
- Selected : Validate only the selected entries of the database;
- Compress games : This menu has a submenu (see below):
- All : Compress all games in the database;
- Selected : Compress only the selected games of the database;
- Find new games : Search all GameDir directories for game files that are
not yet in the database. All found games can be added
to the database. Be careful: it can take quite some
time to search if you have a lot of new games and/or a
large database.
- View screenshot : This allows you to view a .SCR file. A seperate
window will be opened with a `Make GIF' button
attached. Created GIF files will be put in the same
directory as the .SCR file, no matter what value you
used in the `GIFPath' configuration!
- Backup database : If checked, will create a backup of the `old' database
before writing a new one (to temporarily override the
`Always Backup' option from the configuration window).
- Auto-validate : If turned on, will auto-validate the paths of all games
in the database after a (re)load or import. The default
is `off'. Be careful: it can take quite some time to
validate if you have a large database.
- Quit : Guess...
2. Edit
- Delete selected : Remove all selected entries at once.
- Invert selected : Invert the selected games - selected games are now
deselected and vice versa;
- Duplicate Entry : Duplicate the currently selected entry;
- Create GIF-file : Convert the currently displayed Spectrum screen image
to a GIF file, which will be created in the directory
you assigned in the configuration file (the "GIFPath"
value). The name of the image will have the same
PC-name as the game, with extension `.GIF'
- Create SCR-file : Convert the currently displayed Spectrum screen image
to a screenshot file, which will be created in a
subdirectory `SCRSHOT'. See `Game Screenshot Files'
for more information.
This option is disabled when the ScrShot button on the
screen is active, unless an SLT file is being handled.
An SLT file creates a SCR file which will not be
viewable from the ScrShot button (as this button takes
the screenshot as found in the SLT file itself).
3. System
- Disable sounds : Turn all sounds from SGD on/off. Has the same purpose
as the command line option `-q'.
For those people who might wonder why you could possibly need more than one
database, I use five databases:
TEXTADV.DAT - For all text adventures;
GAMES.DAT - For all other games and demos of games;
DEMOS.DAT - For all other demos;
UTILS.DAT - For all utilities;
MISC.DAT - For all cheats, spoilers and tapezines;
12. .TAP CATALOGS
-----------------
A tape file reports the following information per file:
1. (Expanded) Spectrum file name;
2. Type of file: PROG, CODE, A-AR, N-AR, HEAD, ????;
3. Depending on the type:
PROG (Program) : Auto-start line or ----- if none;
CODE (Code) : Startaddress of the code;
A-AR (Alphanumerical Array) : -
N-AR (Numerical Array) : -
HEAD (Headerless block) : The Flag byte;
???? (Unknown block) : The Type byte;
4. Length of the block.
Tape catalogs are of course printed in the original spectrum font.
Blocks with zero length are reported as being noise (multiple blocks are
reported only once).
When a tape index is on the screen, you can double-click on a block if it is
of type CODE or HEAD. This opens a window where the selected block is
displayed as though it was a screen. This window also contains a `Make GIF'
and `Make SCR' button. To close it, you must either press [ESC] or use the
close gadget. This is useful for tape files that contain multiple screens.
A lot of tapes also have a screen with some bytes following it (remember that
a Spectrum screen is 6912 bytes), so it cannot be found when you press the
`Screen' button from the main screen. This option allows you to still watch
that screen!
The 'Make SCR' button is used to make the shown screen a screenshot file,
which can be shown from the main window with the `ScrShot' button.
Notice that you cannot handle the tape combo window from the keyboard, as
this would conflict with the Game Select Window.
Sometimes, the startaddress of the block is not exactly the startaddress of
the Spectrum display area. I have some TAP files where some bytes before
this address have been saved as well. This results in a 'shifted' picture.
You will find a fine-adjust thingy in the window where you can adjust this
offset.
13. .MDR CATALOGS
-----------------
A microdrive file reports the following information:
- Name of the cartridge, followed by an empty line. If the cartridge is write
protected, reports `(Write protected)' in blue after it;
- Per file on the cartridge:
1. (Expanded) Spectrum file name;
2. Type of file: PROG, CODE, A-AR, N-AR, ????;
3. Depending on the type:
PROG (Program) : Auto-start line or ----- if none;
CODE (Code) : Startaddress of the code;
A-AR (Alphanumerical Array) : -
N-AR (Numerical Array) : -
???? (Unknown block) : The Type byte;
4. Length of the block (Unless type ????).
The files are sorted alphabetically (like the original);
Hidden files are reported in red.
- An empty line, followed by the empty space in K, rounded down.
Microdrive catalogs are of course printed in the original spectrum font.
14. THE GAME INFORMATION FILE
-----------------------------
You can add information files to your game files. It has the same name as the
game file, but with extension `.TXT' and is to be found in a subdirectory
`INFO'.
For example: A game with full path:
c:\spectrum\game.z80
will have an info file:
c:\spectrum\INFO\game.TXT
---- ---
This file can contain any information you like, such as:
- Goal of the game;
- Playing keys;
- Special POKEs;
- Ratings, etc.
The file is shown if you press the `Info' button and can be edited/created
if you press the `EdInfo' button. The editor to be used must be supplied in
the configuration window. Before the editor is started, a test is done if the
`INFO' subdirectory exists. If it does not exist yet, you will be asked if it
should be created.
Lots of spectrum game files from the internet have an information file added.
Just check the extension and you can view this file!
An information file uses the following format:
- The length of each displayed line is 80 characters (special codes are not
counted). If a line is longer, it wraps (at word boundaries) to the next
line.
- Special codes can be inserted to control color and attributes of the
characters in the file:
{B Start bold printing;
{I Start inverted printing;
{U Start underlined printing;
{T Start italics printing;
{+n Change the foreground color to color n (see below);
{++ Restore the foreground color;
{+- Change the foreground color to the background color;
{+* Change the foreground color to the bright color;
{+/ Change the foreground color to the non-bright color;
{-n Change the background color to color n (see below);
{-- Restore the background color;
{-+ Change the background color to the foreground color;
{-* Change the background color to the bright color;
{-/ Change the background color to the non-bright color;
}B End bold printing;
}I End inverted printing;
}U End underlined printing;
}T End italics printing;
}N Restore all variables, this is the same as }B}I}U}T{++{--
All other `{' and `}' sequences loose their sequence character, so you
should use:
{{ To get a single `{' character (`}{' will also do), or
}} To get a single `}' character (`{}' will also do).
If you select both bold and italics, the result will be bold only.
Color values may take the values (* def. fore-, # def. background):
COLOR VALUE COLOR VALUE
* Black 0 Dark grey 8
Blue 1 Light blue 9
Green 2 Light green A
Cyan 3 Light cyan B
Red 4 Light red C
Magenta 5 Light magenta D
Brown 6 Yellow E
# Ligt grey 7 White F
The following key-equivalents are available while viewing this file:
[CURSOR UP] - Go one line up;
[CURSOR DOWN] - Go one line down;
[PAGE UP] - Go one page up;
[PAGE DOWN] - Go one page down;
[ESC] - Stop viewing.
If the file is too long to fit into memory (which means: you really have a
lot of games!), it will be truncated in the viewer.
SLT files use an extension to store this information within the snapshot
file itself.
It is currently NOT possible to edit this, as the format is still undecided.
I used the format proposed by Damien Burke:
1. A line is max 64 characters in length;
2. End-of-line is done with a single CR (as with e.g. Tasword)
3. Bold is done by surrounding a string with '' and '' sequences;
Underline is done by surrounding a string with '' and '' sequences;
As soon as the format to be used is decided on, I'll adjust to this.
14. THE GAME SCREENSHOT FILE
----------------------------
You can add a screenshot file to your game files. It has the same name as the
game file, but with extension `.SCR' and is to be found in a subdirectory
`SCRSHOT'.
For example: A game with full path:
c:\spectrum\game.z80
will have a screenshot file:
c:\spectrum\SCRSHOT\game.SCR
------- ---
Screenshot files can be created in different ways:
1. From within Z80. Press F10, choose `X - Extra options' and `Save screen or
memory block'. Be sure to use the same name as the snapshot. You will have
to move the created file into the screenshot directory yourself.
2. While viewing a game screen (the `Screen' button pressed): select menu
entry `Make SCR-file' ([ALT][K]);
3. While viewing a TAP block image: select button `Make SCR'.
Before a screenshot a created, a test is done if the `SCRSHOT' subdirectory
exists. If it does not exist yet, you will be asked if it should be created.
As a lot of snapshots miss their loading screen, the `Screen' button will not
display it for you. This option allows you to still maintain these screens.
I found a lot of games on the internet have a screenshot file in the archive,
which can be viewed in this manner.
SLT files use an extension to store this information within the snapshot file
itself.
16. DATABASE VALIDATION
-----------------------
Each time you select a game or change the path to a game, the entry is
re-validated. Validation includes finding the length of the file, finding and
testing the consistency of the filetype and adjusting the `playbit' of the game.
You can force SGD to automatically re-validate each database as it is loaded
or imported by turning on the `Auto-validate' menu entry (temporarily)
or the `ValidateAfterLoad' option in the configuration file (permanent).
You can also validate the current database by hand from the menu strip.
(see above)
My guess is that you will not have to validate very often (probably never),
and you should avoid it as much as you can, as it is a very timeconsuming
operation. The only reason to use it is when you reorganize the locations of
your game files.
17. GAME COMPRESSION
--------------------
If you're a bit like me and want to maintain an internet Spectrum archive, you
will need to have your games compressed. This is done from the menu strip.
First you must define the compressor program to be used, in your configuration
file (`Compressor'). If the compressor needs extra options, these can be defined
as well (`CompressOptions'). The usual compressor will be PKZIP (copyright by
PkWare Inc.), which is normally used on the internet.
A compressed game contains all material related to that game, i.e. if you had
a screenshot or a game information file, or the next levels are in a .VOC or
.TAP file or (level-loader) .DAT files, these are all included in the archive.
When you select the compress option from the menu strip, you will see a
requester where you must confirm the action. Be sure that you want to do it, as
there is no way to back out once it has been started!
Each game is written to its own archive file, where the filename will be the
game PC-name, with an extension depending on the used compressor.
The usual location for compressed games is in a subdirectory `ZIPPED' from your
games (like the `INFO' and `SCRSHOT' subdirectories). In the confirmation
requester, you can choose a custom directory if this is not where you want them.
18. SUPPORTED FILE TYPES
------------------------
Z80 : .Z80 .TAP .MDR .VOC .SNA .SLT (.SCR)
JPP : .SNA
Warajevo: .Z80 .MDR (.TAP)
X128 : .Z80 .TAP .VOC .SNA .SLT (.SCR)
Notes: Z80 supports .SLT from version 3.04 (not available yet)
Warajevo supports .MDR from version 1.50
Warajevo has its own .TAP format, incompatible with Z80 (see below)
X128 cannot save .TAP files
X128 can read .Z80 files through V3.00, but writes V2.01 files
19.1. NOTES ON USING THE `Z80' SPECTRUM EMULATOR
------------------------------------------------
Z80 is the only shareware emulator, but the emulation is so good that it's
well worth registering.
1. EMS should be installed as well, as Z80 needs it for better 128K emulation.
2. Be careful with the `-n' switch (no Interface I). If you have this switch
in your Z80.INI, you will not be able to play .MDR files!
19.2. NOTES ON USING THE `WARAJEVO' SPECTRUM EMULATOR
-----------------------------------------------------
The Warajevo ZX Spectrum Emulator is one of the new emulators. There are some
important things to consider when you use this emulator though:
1. This emulator has 2 seperate emulator executables: SPEC48.EXE and
SPEC128.EXE. When you setup the path to this emulator (From the
configuration window or in the configuration file after `EmulatorPathWAR'),
you MUST choose either one of these executables.
Depending on your choise, SGD does the following:
SPEC128.EXE : SGD will ALWAYS start the 128K spectrum;
SPEC48.EXE : SGD will start the 48/128 spectrum depending on the memory
type field of the game.
2. This emulator has a lot of (command line) options to improve emulation.
Like the authors say in their documentation, each game will probably run
best with a dedicated set of options passed.
SGD supports only 1 set of options (Extra options). You should choose the
best overall combination. You can also setup a configuration file (see the
Warajevo documentation) which is used in the same way.
A lot of great features are lost when using SGD in stead of the database
program supplied with Warajevo, but a lot of other features are returned.
It's up to you which one you decide to use.
3. I would like to stress that .TAP files from Warajevo are NOT compatible
with the .TAP files from Z80 (as you usually find them on the internet)!
SGD supports only the Z80 version, so don't try to `List' a .TAP file
created with Warajevo (and don't try to `Play' one created with Z80).
To reduce possible confusion, I created the configuration option
`Z80TapesOnly'. If turned on (default), all .TAP files on the database are
considered created with Z80. You can not handle TAP files when you choose
the Warajevo emulator. If turned off (must be set by hand), you are
responsible for remembering which .TAP files belong to which emulator.
You must turn the option off to be able to play .TAP files with Warajevo.
4. You need version 1.5 to be able to play microdrive (.MDR) files.
19.3. NOTES ON USING THE `X128' SPECTRUM EMULATOR
-------------------------------------------------
This emulator runs in 128K mode only. It's the first emulator that accepts
the .SLT file format, which SGD supports since v1.14
This emulator is also the only one with a '/quiet' switch, which is also
supported by SGD.
20. CONVERTING YOUR DATABASES
-----------------------------
The database format has changed during 3 version updates, v1.18 being the last
one at the moment (to support floppy numbering). You must convert your `old'
databases with a command line switch:
Use '-c1' to convert from version 1.07 or below
Use '-c2' to convert from version 1.09 or below
Use '-c3' to convert from version 1.17 or below
Converting should be done one database at a time.
The converted database will be written back immediately. The old, nonconverted
version, is backed up first with extension .BAK
Notice that this extension is the normal backup extension.
Be sure NOT to use the `Load Database' menu option within SGD to load the
next database to be converted, as this doesn't work!
21. TROUBLESHOOTING
-------------------
Q: When I return from SGD to DOS, or when I start a shell from within SGD,
the screen does not have a cursor, but I see a cursor-like line
somewhere in the void. The font seems to have changed too. What happened?
A: I encountered this problem so far only when using MouseWare from Logitech.
If you use Logitech's MouseWare, ensure that the VCI module LVESA.OVL is
loaded and cursor enhancements are off.
To do this, edit your MOUSEDRV.INI file. Look for the section `[Display]'
and ensure that a line `VideoModule=C:\MOUSE\LVESA.OVL' is present (or
whereever the LVESA.OVL file resides).
Now, if you load your mouse driver (possibly from your AUTOEXEC.BAT file),
load it with parameter `NOCENHANCE'.
Q: The mouse makes a mess of the screen! I don't like this at all!
A1:You have a Genius mouse with a driver version 7.02 or below.
Genius mouse drivers v7.02 and below have a different approach for mouse
hiding. If you use one, weird things can happen. Yet, no harm is done by
this to the application nor your computer. Two solutions are available:
1. Get yourself a newer mouse driver, or
2. Turn the option `UseGeniusMouseHiding' on in the configuration file.
A2:You have a combination of an older (ISA) video card and an older mouse
driver, which does not provide the RIL (Register Interface Library).
Be sure not to use the command line option '-d', as this disables the RIL.
You can see if the RIL is present when pressing the 'SysInfo' button.
If a RIL is present, you will see a line 'RIL version : xxxx' in the video
section. If it is absent (or not used), you get 'Control : Direct' instead.
You can solve this problem in the following ways:
1. If you are running SGD in a DOS-box from OS/2, update the box's
parameters, so that compatibility mode is on.
2. Use a newer, fully Microsoft compatible mouse driver, or
3. Add the following line in your CONFIG.SYS:
DEVICE = EGA.SYS
This device driver also provides the RIL.
Q: When I start SGD, the screen is cleared, I see a cursor sitting in the upper
left corner, but all activity has stopped. What did I do wrong?
A: You started SGD while you were in a non-supported video mode (for example
132x44). This causes the graphics library to crash completely. You need a
full reset of the computer to restart. Next time, use the command 'MODE 80'
before starting SGD.
Q: I print to a print queue (for example a Novell Netware captured LPT port).
When I choose to print the database, it doesn't work!
A: SGD prints to the parallel port hardware directly. Queueing programs are
unable to trap those operations. For this reason, I built LPT0: in the
configuration. This will print to a file instead. Use this feature and
print the file from DOS (or the shell) instead.
Q: I run SGD from Windows NT. The mouse cursor looks very weird. The mouse
cursor also messes up the screen. What's this?
A: As I said earlier, you shouldn't run SGD from (any version of) Windows.
Windows NT is the funniest of all. Although it's from Microsoft, the
emulated mouse cursor in a DOS box is absolutely NOT Microsoft compatible!
Talk about weirdos, eh!
You should turn on the 'NoLocalMouseHiding' in the configuration file. This
will solve the screem problems, although the mouse will still look weird
(and flickers).
Q: When I run SGD from DOS, I get XMS version 3.0. But when I run SGD from a
DOS-box in Windows 3.x, I get XMS version 2.0, although I didn't change my
XMS driver. How's that possible?
A: Windows uses an internal, enhanced (yeah, right) XMS driver, which
overrides the driver you installed already. This driver is actually A LOT
slower (that's why they invented version 3.0!!!), but should work fine
with SGD.
Q: When I load a database, it says I'm out of memory. It asks me to truncate
the view on the screen to about 5000 entries. What should I do?
A: Wow! You REALLY have a lot of games!
Immediately get in touch with me, as you might have games that I don't :)
Ok...the best thing to do would be to split up your database. As you can
no longer read it entirely into memory, you will have to do this by hand
with an ASCII editor. The standard DOS editors, such as EDIT, won't be able
to do the job, as the database file doesn't fit in memory. You could try a
Windows editor. This is why I keep the database in an ASCII file!
(By the way: how did you manage to insert those entries???)
Q: When I load a database, I get the fatal error 'Percentage is [>100%]'!
Q: When I load a database, I get the fatal error 'Database found corrupt while
reading entry [XXX]'
A: You have to convert your database to the new format of v1.18
Please read the section 'Converting Your Databases'.
22. THE CREDITS
---------------
I would like to thank the following people:
- Sir Clive Sinclair for creating such a terrific machine;
- Gerton A. Lunter for writing the remarkable Spectrum emulator `Z80';
(also for documenting everything so well, thanks!)
- Arnt Gulbrandsen for writing the Spectrum emulator `JPP' and maintaining
this huge spectrum games archive at www/ftp.nvg.unit.no
- Zeljko Juric and Samir Ribic for writing the excellent `Warajevo ZX Spectrum
Emulator';
- James McKay for writing the Spectrum emulator `X128';
- Marty Del Vecchio for generously releasing his swap() routine to the
(free) public domain;
- Damien Burke for including SGD in the official `Spectrum FAQ';
- Jeroen J. Kwast of ThunderWare Research Center for writing one of the
Spectrum emulators on the Amiga and for being such a critical beta-tester;
- Gerard Mulder for his enthusiasm and being my second beta-tester;
- Frank Vierstra for being my third beta-tester;
- My external beta-testers Harvey Lodder, Greg King, Peter Hope and Andrew
Julian;
- Lex Klaassen for his idea of a marked floppy system;
- Camille van der Heide for mentioning his ideas for improvement;
- All those people who maintain WWW pages and archive sites for the spectrum;
- All those people who made snapshots of games and gave them away!
23. HOW TO CONTACT ME
---------------------
Contacting me can be done in only two ways at the moment, by mail and e-mail.
If you have suggestions for improvement (bug reports are also welcome... ;)
write an e-mail to the following address:
mheide@gns.getronics.nl
Or a `normal', oldfashioned snail-mail letter to:
ThunderWare Research Center
t.a.v. Martijn van der Heide
Daguerrestraat 120
2561 TX Den Haag
The Netherlands
Enjoy!
Martijn van der Heide
Software Development Engineer
ThunderWare Research Center