home *** CD-ROM | disk | FTP | other *** search
- M.E.S.S. - Multi-Emulator Super System
- Copyright (C) 1998 by the MESS team
- ARM/RISC OS version 0.02b4, ported by Gareth S. Long
-
-
-
- Last updated: (18 Aug 1998)
-
- ** PLEASE READ THE CHANGELOG AT THE BOTTOM OF THIS FILE FOR IMPORTANT
- UPGRADE INFORMATION, ESPECIALLY IF YOU ARE NOTICING DIFFERENCES BETWEEN
- THE CURRENT MAME AND YOUR LAST VERSION **
-
- ** PLEASE ALSO READ THE ACCOMPANYING README.TXT AND WHATSNEW.TXT RELATING
- TO MAME, ESPECIALLY THE BITS AT THE TOP IN CAPITAL LETTERS, IN MUCH THE
- SAME WAY AS YOU ARE READING THIS NOW **
-
- AND READ THEM EVERY TIME THIS FILE IS UPDATED.
-
- *** PLEASE, PLEASE, PLEASE MAKE SURE YOU ACTUALLY DID THE ABOVE ***
-
- ... I'LL BE ABLE TO TELL...
-
- One more note: People doing magazine articles and things; please let me know
- in advance! Publishers lead times mean you're probably writing a retro retro
- into the world of retro gaming by the magazine hits the subscribers even. I
- can give accurate information on events to coincide correctly with
- publication dates.
-
- What is it?
- ===========
-
- MESS is a multiple console/computer system emulator. It is largely a
- derivitave of the MAME project, but geared away from 'only' arcade machine
- emulation. In many ways, technically, there are similarities, but there are
- enough differences to warrant a different style of project to handle some of
- the different characteristics, such as keyboards, floppy drives, serial
- ports, and the like.
-
-
- MESS serves a a documentation project, like MAME, though one of the
- fundamental differences between MAME and MESS is the relative complexity of
- the drivers - under MAME< one driver typically runs one specific arcade
- machine type, MESS system drivers are responsible for running literally
- thousands of game/computer images in themselves, and evolve more slowly.
-
- MAME works on the principle of multiple drivers for specific arcade machines,
- 'MAME pacman' runs pacman, for example. MESS works with 'system drivers',
- which emulate a complete console/computer system. Ruynning a system on it's
- own is not often very exiting - ifyou're lucky, you'll end up at the startup
- prompt on a computer system, or in the case of a console, you get little or
- nothing - as you're 'emulating' turning a machine on without it's cartridge
- ROMs.
-
- In order to get the emulation to do something interesting, you'll need some
- Images for the system you're trying to use - in the case of the Genesis
- driver, your images are Genesis ROM images. In the case of the TRS80 driver,
- your images are TRS80 floppy disc images, and so on.
-
- For most computers and some consoles, you'll need to get hold of a copy of
- the BIOS ROM(s). Not having ehse us like trying to turen the original machine
- on, with the BIOS ROMs removed.
-
-
- What do I need?
- ===============
-
- Best results are obtained with a StrongARM based Risc PC. Sorry, but versions
- of MESS for other machines are only really usable on a midrange pentiums or similarly
- specced machine, or above for some systems. Having said that, ARM 710 users
- shouldn't have much of a problem with some of the simpler systems. I am committed to making
- MAME more usable on lower-ended machines. Honestly:
-
- MESS will work on older machines, but the palette will be completely wrong at
- the moment for reasons I will describe below. Expect this to change soon,
- however.
-
- Systems, Images, getting Images
- ===============================
-
- The 'Images' has a different meaning depending on which system in MESS you
- are dealing with. Either way, these are fairly widely available via the
- internet. In order to use the images legally, you should own the image on
- it's original media, and you shouldn't just go picking them up via sites like
- http://www.davesclassics.com or just doing a web search... so I'm sure you
- won't - though it's worth checking to see if the images have been released
- into the public domain. Additionally, lots of 'home brew' titles are
- available for some of the systems supported under MESS.
-
-
-
- Organising MESS
- ===============
-
- This will change a great deal as frontends for MESS are developed and put
- into play, and als0o as MAME itself evolves..
-
- Create a directory called MESS somewhere on your hard disc. I *strongly*
- recommend that this directory be an image filing system archive (zipfile or
- TBAFS archive will do nicely, as will a DOSFS partition.. public domain
- utilities like X files etc also work well. You can even use StrongHelp to
- archive the files inside a new StrongHelp manual). This allows you to use
- more than 77 filenames in a directory, and also allows you to use filenames
- greater than 10 characters, which some games need)
-
- Unpack the contents of the MESS archive into it.
-
- Create two blank directories, called 'CFG' and 'HI', alongside the ESS
- executable.
-
- Unpack any images you have downloaded into directory names which match the
- game name (like 'sonic/smd','elite/nes' etc). These should be in the 'Images' subdirectory within
- your MESS directory. Your resulting directory structure should look thus
- (names in square brackets are directory names):
-
- [MESS] (image filing system archive)
- \
- \
- MAME (executable) DACSptX EmUtils [Images] [CFG] [HI] [... etc]
- |
- |----------|
- | | |
- sonic/smd elite/nes ...
- sonic3/smd mario/nes ...
- ewormjim/smd sonic/sms ...
- ... ... ...
-
-
- To run MESS, set your current directory to that of the MAME image filing
- system ardchive (double clicking on the provided SetDir obeyfile will do this
- for you).
-
-
- Usage
- -----
-
- MESS system [image names] [options]
-
- for example
-
- MESS nes zelda/nes
- will run Zelda on the Nintendo
- MESS coleco dkong/rom -nosound
- will run Donkey Kong on the Colecovision without sound
- MESS trs80 boot/dsk arcade1.dsk
- will run the TRS80 with two disks loaded
- MESS cgenie games1/dsk
- will run the Colour Genie with one disk iamge loaded
- MESS kaypro k1
- will run the Kaypro 2x using a set of images defined
- by an alias 'k1' (see below).
-
- options:
-
- -resolution XxY (default: autoselect)
- X and Y are width and height (ex: '-800x600')
- MESS goes some lengths to autoselect a good resolution.
- You can override MESS's choice with this option.
- You can use -XxY (e.g. -800x600) as a shortcut. Frontend
- authors are advised to use -resolution XxY, however.
- If you get an error 'XxY not supported', you probably
- need Scitech's Display Doctor, which provides the 'de facto'
- standard VESA implementaion (http://www.scitechsoft.com)
- Some common resolutions are 320x200, 320x240, 400x300,
- 512x384, 640x400, 640x480, 800x600 and 1024x768.
-
- -skiplines N
- since many games use a screen taller than 240 lines,
- they won't fit in the screen. The parameter 'N' sets
- the initial number of lines to skip at the top of
- the screen. You can adjust the position while the game
- is running using the PGUP and PGDN keys.
-
- -skipcolumns N
- same as above but moves the screen horizontally. This is rarely
- used since the screen usually fits in the screen. To adjust the
- position at run time, use SHIFT + PGUP/PGDN.
-
- -double / -nodouble (default: auto)
- use nodouble to disable pixel doubling (faster,
- but smaller picture). Use double to force pixel doubling when
- the image doesn't fit in the screen (you'll have to use PGUP and
- PGDN to scroll).
-
- -depth n (default: 8)
- Some games might need 65k color modes to get accurate graphics.
- You might want to use -depth 16 for that case.
-
- -h n
- Use hz to force a specific framerate when attempting to set a RISC
- OS mode, -1 means 'any framerate will do'. If the RISC OS port of
- MESS cannot find a set framerate for a given resolution, it will
- search for another resolution.
-
- -vsync / -novsync (default: -novsync)
- syncronize video display with the video beam instead of using
- the timer. This option can only be used if the selected video
- mode has an appropriate refresh rate; MESS will otherwise refuse
- to start, telling you the actual refresh rate of the video mode,
- and the rate it should have.
- If you are using a tweaked mode, MESS will try to automatically
- pick the correct setting for refresg frequency; you can still override it
- using the -hz option.
-
- -sr n
- set the audio sample rate. The default is 22050. Smaller values
- (e.g. 11025) will cause lower audio quality but faster emulation
- speed. Higher values (e.g. 44100) will cause higher audio quality
- but slower emulation speed.
-
- -sb n
- set the audio sample bits, either 8 or 16. The default is 8.
- 16 will increase quality with certain games, but decrease speed.
- This is a software setting, not hardware. The sound card will
- always be used in 16 bit mode, if possible.
-
-
- -fm / -nofm (default: -nofm)
- use the SoundBlaster OPL chip for music emulation
- in some games. Under RISC OS, this will disable FM as a SoundBlaster OPL
- chip is not available to anything less than a Phoebe/Smelly Cat 2100.
-
- -log
- create a log of machine startup information, illegal memory
- accesses and other details in ERROR/LOG
- The amount of output depends on verbosity defined in the
- drivers and is set relatively low for the release version.
-
- -help, -?
- display current mess version and copyright notice
-
- -list
- display a list of currently supported games
-
- -listfull
- display a list of game directory names + description
-
- -listdetails
- display a detailed list of drivers and the hardware they use
-
- -mouse / -nomouse (default: -mouse)
- enable/disable mouse support
-
- -frameskip n
- skip frames to speed up the emulation. For example, if the game
- normally runs at 60 fps, "-frameskip 1" will make it run at 30
- fps, and "-frameskip 2" at 20 fps. Use F11 to check the speed
- your computer is actually reaching. If the game is too slow,
- increase the frameskip value. Note that this setting can also
- affect audio quality (some games sound better, others sound
- worse). Maximum value for frameskip is 3.
-
- -cheat
- The cheat system is disabled by default. Use this switch to
- turn it on. Read cheat.doc for more information on how to
- use the cheat system.
-
- -debug
- Activate the integrated debugger. During the emulation, press
- tilde to enter the debugger.
-
- -record name
- Record joystick input on file INP/name.inp.
-
- -playback name
- Playback joystick input from file INP/name.inp.
-
- -ignorecfg
- ignore mess.cfg and start with the default settings
-
-
- The following keys work in all emulators:
- Tab
- Enter configuration menu. Press Tab or Esc to get back to the
- emulation.
-
- ScrollLock
- Pause
-
- F5
- Show the game graphics. Use cursor keys to change set/color,
- F5 or Esc to return to the emulation.
-
- F7
- Calibrate the joystick
-
- F8
- Change frame skip on the fly (60, 30, 20, or 15)
-
- F9
- Reset the emulation
-
- F10
- Toggle speed throttling
-
- F11
- Toggle speed display
-
- F12
- Save a screen snapshot. This is currently undefined whilst we work
- on a uniform method of saving (and it'll probably be PNG).
-
- numpad +/-
- Volume adjust
-
- Left shift and numpad +/-
- Gamma correction adjust
-
- Shift-F12
- Exit emulator
-
- Format of the configuration file mess.cfg:
-
- This file defines general (and optionally driver specific) settings
- for various aspects of the emulation.
- It contains sections, ie. names enclosed in square brackets like
- [config], [directory] or [drivername]. These sections contain one or
- more lines of the form 'variable = value'. The value can be either
- text or numeric, depending on the option. Boolean options accept
- 'yes', 'no'. Some options accept 'auto' to let MESS decide what to choose.
- The following settings are recognized in the [config] section:
-
- scanlines = yes|no same as -scanlines / -noscanlines command line options
- double = auto|yes|no same as -double / -nodouble command line options
- vsync = yes|no same as -vsync / -novsync command line options
- syncedtweak = yes
- vesa = no same as -vesa / -novesa command line options
- ntsc = no 'yes' is the same as -ntsc command line option
- vgafreq = 0 same as -vgafreq n command line option
- depth = 8|16 same as -depth n command line option
- skiplines = 0 same as -skiplines n command line option
- skipcolumns = 0 same as -skipcolumns n command line option
- gamma = G set gamma correction G = 0.5 - 2.0
- frameskip = 0|1|2|3 set default frame skip value
- soundcard = n select a soundcard (-1 always ask, 0 none, 1 - 7 set)
- oplfm = yes|no use soundblaster OPL chip (same as -fm / -nofm options)
- samplerate = n same as -samplerate n (or -sr n) command line option
- samplebits = n same as -samplebits n (or -sb n) command line option
- mouse = yes|no same as -mouse / -nomouse command line options
- joytype = n select a joystick (-1 none, 0 - 5 select )
- cheat = yes|no 'yes' is the same as -cheat command line option
- debug = yes|no only for developers (same as -debug option)
- resolution = auto|XxY select a resolution (automatic or fixed X by Y pixels)
-
- It is possible to override this global settings for every driver in it's
- own section. If you want eg. the Vectrex driver to use a 1024x768 resolution,
- a gamma correction of 1.5 and no sound you would add a section:
-
- [vectrex]
- resolution = 1024x768
- gamma = 1.5
- soundcard = 0
-
- Another option for the driver specific sections is 'aliases'. It allows you
- to specify a set of ROMs or disk images with a short name, eg.:
-
- [trs80]
- arcade = boot.dsk arcade1.dsk arcade2.dsk arcade3.dsk
-
- Now you can call 'mess trs80 arcade' and have all four disks inserted.
-
-
- Miscallanea
- ===========
-
- Unless you specify otherwise, MESS will attempt to pick the correct display
- resolution for you given your monitor type, and choose the next nearest if
- that fails. Most games require 224x288. holding down CONTROL during startup
- will allow you to see some of the diagnostic messages giving information on
- what mode MESS found suitable.
-
- On a Risc PC, you can define your own modes using !MakeModes to make the best
- use of your monitor.
-
- The best method of setting up perfect modes for MAME are as follows:
-
- 1) Get a copy of something like !MakeModes, !CustomVDU or whatever, from any
- good Acorn-related FTP site (!MakeModes is available from ftp.acorn.co.uk).
-
- 2) Define a mode of either the exact size you need (eg 224x288) or one with
- *twice* the Y resolution so that you can use -double (and -scanlines if you
- like) - modes defined this way are likely to have a lower refresh rate and
- might perform a little better.
-
- It doesn't take an experienced modesman to define up a mode that'll work fine
- with your monitor type - just fiddle with a resolution reasonably close to
- what you're aiming for. Pass your examples of professional modesmanship to me
- and I'll include them with the distribution, I shall provide some
- ready-made monitor definition files I've defined for common monitortypes
- soon.
-
-
-
- History
- =======
-
- A list of doings that have been transpiring, from the beginning:
-
- [Undated]
-
- Pre-MESS release development by mysel and the rest of the MESS team.
-
-
- [03 Jun 1998] (MESS 0.01)
-
- First release of MESS, for any platform.. This file is extremely prelininary,
- as I have to update both my MAME and MESS documents to achieve some level of
- synchronicity. This, in addition to the latest RISC OS MAME readme, should
- give you some idea as what to do. Any problems, contact me:
- gatch@elecslns.demon.co.uk
-
- Note that the keyboard system is undergoing a lot of revision at the moment,
- due to it having to handle computers!
-
- [17-Aug-98] (MESS 0.02 beta 4)
-
- Various enhancements and bugfixes. Keyboard support should be a lot better,
- also note changes in the default key mappings for some functions, notably
- exitting the emulator!
-
- [18-Aug-98]
-
- Various documentation changes.
-
- There are now 10 levels of frameskip available (0-9).
- Frameskip value is shown within the speed indicator.
-
- Please note that as beta 4 was made available, I was halfway through writing
- a new Genesis renderer which makes use opf tricks to improve speed. However,
- the FM support added in this version slows to Genesis driver to a completely
- unusable rate on ARM systems due to the extensive double precision floating
- point usage - I need to incorporate a fixed point library for this.
-
- Sega Master system emulation is flaky to say the least in this beta.
-
- wd179x floppy controller emulation is not present in this release of ARM MESS
- - I'm not releasing it until I'm certain it isn't likely to screw up anyone's
- floppy discs...
-
-
- The next release is likely to coincide with the optimisation drive throughout
- the core to benefit performance on ARM-based systems. This should hopefully
- significantly improve speed. Recently, floating point activity has increased
- within the project to the detrement of ARM-based systems, I will try to
- reduce the effects of this as far as I can.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-