                          Console Menu V2.0
                       Written By Andrew Bond
                      (c)1996-1997 Andrew Bond
                email : digidev@cix.compulink.co.uk

       HomePage - http://dspace.dial.pipex.com/town/terrace/aak55/

                           31 May 1997

I've not had any time to work on menu for a few weeks now, and i'm not going
to have any for a while so this is a current state release. Check the update
log at the bottom of this document to find out whats new.


What is it ?
------------
The original and still the best!
Console Menu is a universal front end for all console and arcade emulators,
it can even be used to launch normal PC games and software.

You can use it to provide a front end for any one emulator, or create a
tree of menus. From this one starting menu you can select ANY of your
emulators or games.

Example of menu tree.

	Emulators -- Console -- Coleco ---- index of all coleco games
              |	            GameBoy	--- index of all gameboy roms
			  |             Vectrex	--- launches emu, it has its own list
			  |             Atari 2600- index of all atari roms
			  |
			  -- Arcade --- Mame ------ Too many to list!
                            Gauntlet -- Gauntlet I
							            Gauntlet II
							Sega16 ---- Altered Beast
							            Shinobi
										Time Scanner
										etc.
							1942
	PC Games --- Quake
	             Doom
				 Hexen

Pkzip archives are also supported for console roms.

Full descriptions can be added to any game title,
it can even read the game description right out of some rom formats!

Very fast user interface. Pressing a 'A-Z' key will take you to games starting
with that letter, further presses will cycle around all games starting with
said letter.

Press F1 for help!

I've only spent a few hours updating menu, and it has not been extensively
tested yes, please let me know of any problems.

I used to keep this list of supported emulators, but in reality it would be
easier to mention  which games do not work, of which I have not found any!

Tried and tested emulators (old list, not updated)
--------------------------------------------------
Menu works great with all the following emulators :-

	Colemdos	- Coleco Vision
	Fmsxdos		- MSX
	vcs			- Atari 2600
	a26			- Atari 2600
	vectrex		- Vectrex
	uae			- Amiga
	vgb-dos		- Gameboy
	massage		- Master System / Game Gear
	genem		- MegaDrive / Genesis
	megad		- MegaDrive / Genesis
	pokey		- Atari 800xl (use menu for feeding it cartridge images)

Please mail me if you find any new emulators.

Installation
------------
Copy menu.exe either into the same dir as your emulator, or anywhere
described in your dos path.

Console menu uses a simple ASCII text file (script) for configuration,
these can be edited with any text editor. Msdos "edit" or Windows95
"notepad" are both fine.

I have provided a few sample menu.cfg files, these are not called menu.cfg
but an emulator name.cfg . These should be copied into the relevant
emulator directory, and then renamed to menu.cfg.

i.e.
	mame.cfg should be copied into your MAME dir, "copy mame.cfg \mame"
	for example.
	then renamed to menu.cfg. "ren mame.cfg menu.cfg"

These files should give you a good start, the only thing you will probably
have to change is the DIR line, this tells menu which directory your roms
are stored in. I always use a "roms\" sub dir off the emulator dir.
Until I have time to produce some good documentation please use these example
scripts as guides. Anyone want to produce some nice, well presented docs ?

configuration file
------------------
Menu is very flexible, it uses a text based configuration file called
menu.cfg. This file tells menu everything, from where the files are stored
to which emulator you are using. You can edit this yourself with any text
editor, the msdos editor 'edit' will do just fine.
Try 'edit menu.cfg' at the dos prompt.
If you have used the example.cfg file as a base, all possible commands
will be described, just read the comment against each and decide what
you require. Placing a # at the start of a line, comments that line out
i.e. menu will ignore it.

Firstly I know colemdos now supports independent rom cfg files, i.e. if you
load a game dkong.rom it will look for a file dkong.cfg containing the
parameters for that rom.
However I don't like that method of configuration for one big reason, it
requires lots of tiny files. Most modern PC's have a cluster size of
16 or 32k in size. Taking a 32k cluster size for example, a 1 byte file
actually takes 32k of disk space, not 1 byte as reported by dir.
If you have 100 .cfg files, each of say 20 bytes, they will occupy a whopping
3.2mb, yes mega byte of disk space!
It is for this reason that I have extended the config file for menu, now
every setting you desire for all your games can be stored in one file,
occupying at most, 32k of you disk, instead of 3.2mb

Commands :-

	Please see example menu.cfg for an example of all commands.
	This is called example.cfg!


ZIP Support
-----------
You can now play games directly from a .zip file, greatly reducing required
disk space and file count. This option is only available with console
emulators NOT arcade emulators as of yet.
To use this option you must specify a zip file, with the ZIP command, and a
temporary directory with TMP.
PKsoftware's PKUNZIP must also be accessible in you dos path.
Make sure the zip file you use only contains MSDOS filenames, some ZIP files
you find may contain long files from other OS's.
To be sure, I would suggest creating any zip file yourself, with pkzip.
BOY ROM names can't be read from ZIP files, as this would be just too slow.

On the subject of zip files, I would recommend a program called ZipFolders
for windows 95/NT. www.mijenix.com

How much ?
----------
Its freeware, however if you like it please mail me a list of your game files!
Seriously, please drop me an email so I can get some idea of how many people
are using menu.

Copyright
---------
Menu is NOT Public Domain, it is a copyrighted software product and may not be
disassembled, reverse engineered or otherwise modified in any way.

Thanks
------

Nicola Salmoria, your MAME is brilliant, arcade support was added for MAME
Neil Bradley for Atari Vector emulator, any news on star wars? (please)
Michael Cuddy for Gyruss, I love Gyruss!
Marcel de Kogel & Marat Fayzullin for a great emulator!
Dave W for a great Emulation Page!
The author of Nesticle, a great little emulator written off by a moron.
And all other emulator authors.

Updates
-------
You will always find the latest version at the following site(s) :-

http://dspace.dial.pipex.com/town/terrace/aak55/   (UK site)
http://www.gamepen.com/gamewire/classic/classic.html (USA site)


Technical
---------
There is no fixed limit on the number of games that menu can display. However
as the number of games rises, so does the memory consumption. There will be
a point where menu will be using so much memory that there is not enough left
for the emulator to run. This may be resolved in a later release by paging out
menu when invoking the emulator.
Note : If and when you have enough roms for this to be a problem, you can
now split them up into sub-directories which will overcome this.

Menu has been deliberately written as a 16bit program, using only base memory.
This means that it's very small (unlike some cheap immitations!), and
therefore should not upset any other programs memory usage.

Remember kids, what ever happens, its a feature not a bug!

digidev@cix.compulink.co.uk

New in 2.1
----------
o Big improvement in the way sub directories are handled.
o Key to show command line used to execute changed to CTRL-R (run details)
o Ability to edit menu.cfg using your favorite text editor directly from menu
  added (CTRL-E).
o Added new script command EDIT, this is used to select your favorite text
  editor.
o Added CTRL-H to show all help files relevant to currently selected program.
o Added new script command VIEW, this is used to select your choice of file
  viewer. I would suggest using list, although MS-DOS edit is default
o Reduced internal memory usage still further.
o Fixed silly bug that caused window drop shadows to be drawn out of place.
o Fixed problem caused by top level menu using 25 line mode, but a sub menu
  usin 50 lines. Its probably better to use the 50l command only in your top
  level menu anyway though.
o Update, handy if your 'Aquiring' new roms in the background. Press F5 to rescan (update)
o Made addition of extra parameters to selected items global. Use the ROM cmd
  to add parameters to selected MAME games for example.
o Fixed bugette relating to extra parameters, thanks go to Petey Leinonen for
  spotting it.
o Fixed silly bug related to CTRL-H option


New in 2.0
----------
o Support for arcade emulators.
o Support for sub menus.
o Used a slightly newer version of my simple window library, adds drop shadows!

New in 1.9b
-----------
o More of a little twiddle really, 15 mins spent, now you can delete files
  from a zip file, and the display does not reset when you delete or
  add a description anymore.
  Just got a PC version of our latest Playstation game to code now, after
  that, I'll revamp menu, honest guv! Yes you've guessed right, programming
  Playstation games is what occupies all of my time, Menu v2.0 will be
  cool, just wait until i've got the time.

New in 1.9a
-----------
o Files stored in a .zip archive are now filtered through the EXT commands.
o Menu can now read Megadrive / Genesis game descriptions directly from roms.
o Max description length has been increased from 32 to 48 characters, please
  let me know if this causes anyone any problems.

New in 1.9
-----------
o Upto four file extensions may be specified with the ext command, as some
 emulators handle more than one file type. Emulator in case is massage, the
 master system / game gear emulator. You can now have two EXT lines so menu
 will list both .sms and .gg roms.
 ** YOU NOW MUST SPECIFY AT LEAST ONE EXT COMMAND **
o List generator, CTRL-L. Makes a text list of all your games.

New in 1.8
-----------
o New feature CTRL-E shows command used to execute rom.

New in 1.7a
-----------
o Stupid memory allocation bug fixed.

New in 1.7
----------
o Vastly improved menu control, hit an a-z key and you will automatically
  be placed at the first entry starting with that letter, hit the same
  letter again and it will cycle though all entries starting with that letter.
o Description editor now built in, no more fighting with a text editor! (CRTL-D)
o Disabled text cursor when in menu.
o Support for 50 line mode.
o F1 now displays help screen.

New in 1.6
----------
o Files can be deleted from within menu, 'delete' key.
o New command PAF, which places any parameters after the filename
o for use with vcs.exe


