GAMES INDEX by Jim Grimwood

The program that started it all! GINDEX.Z80 is the original magazine index program I
wrote on a Spectrum 128k back in 1988, which was eventually transformed into the SPOT
database running on an Apple Macintosh (the 'Trumpton' in the title). The .ZIP archive
also includes the last Games Index data files consolidated together in the file
GINDEX.TAP, a synopsis of the program features and options in GINDEX.TXT and a listing
of the machine code section in GINDEX.ASM.

As storage space quickly ran out on the 128k RAM disk, I included a 'compress' option
to remove entries for programs with no reference lines or for publishers with no game
entries. I think there is a bug in this machine code routine, as when I came to look
at the GINDEX data prior to setting up SPOT I found a number of entries missing which
I was sure should have been there, and I think they got overwritten by the 'compress'
option. If someone could find the bug I would be grateful. The machine code's all
rather clunky as I never became particularly adept with it.

The set of data files consist of a number array which specifies the size of each of
the following 26 program data files, a string array with the publisher information,
and then 26 headerless data blocks with the data for the program entries, one for each
initial letter in the alphabet. The program data blocks are copied to the Spectrum's
RAM disk area.

The initial question about the 8056 printer is so that RAMTOP will be set to leave 
space for the printer driver if necessary. Option entries take the initial letter of
any of the listed options as a response. In general, if there is no explicit cancel
option, then an empty response of just pressing Enter will return to the previous
option. The main options of Input/Delete/Load/Save/Query/Reports/End are all pretty
self-explanatory.

When Inputting an entry, the full name for the program title and/or publisher must
be entered to obtain a match against any existing entry, otherwise the program will
ask if a new program or publisher record is to be inserted. The codes used for the
other fields are:
Magazines:	c=Crash, m=Micro Adventurer, s=Sinclair User,
		v=Computer & Video Games, y=Your Sinclair
Program type:	a=Adventure, p=Puzzle, r=Arcade, s=Strategy/Simulation, u=Utility
Index code:	f=Feature, h=Hints/Pokes, p=Preview, r=Review

The Delete screen allows deletion of program index entries, not the program entry
itself; program entries can only be removed by using the Compress option on the
Reports menu. On the Delete screen the program offers in turn each index entry of the
selected type for the selected program and asks if it is to be deleted. Again, just
pressing Enter will break out and return for another selection.

The Query screen returns records where the query string matches the beginning of the
program title; at the List? prompt the [nps] options stand for No|Printer|Screen; just
pressing Enter will skip the List and display the next matching record, if any, or
"boop" otherwise. The List? prompt with the same options is also used on the Reports
screen.

Error messages in red require an Enter response to continue. Tape read or verify errors
and Break are trapped and handled within the program.

On selecting End from the main menu, if changes have been made without a save then a
message to that effect will be displayed and the program will return to the main menu.
If End is then immediately selected again without a save, this will be taken as an
override and the program will quit.

--
Another Fine Product from:
Jim Grimwood, Weardale, England; home of:
Your Spectrum Unofficial Archive (YRUA?)
Spectrum Oracle on Trumpton (SPOT*On) magazine index
The Type Fantastic (TTFn) magazine type-ins archive
http://www.users.globalnet.co.uk/~jg27paw4/
--
