--------------------------------------------------------------- Kem -- the Killer multi EMulator. Copyright 1996-1997 Michael Cuddy, Fen's Ende Software All Rights Reserved Version 1.1 --------------------------------------------------------------- NOTE: THIS PROGRAM MUST NOT BE DISTRIBUTED WITH ARCADE ROM IMAGES. THE ARCADE ROMS ARE COPYRIGHTED BY THEIR RESPECTIVE OWNERS, AND ARE NOT PART OF THIS DISTRIBUTION. DISTRIBUTING ROM IMAGES WITH THIS ARCHIVE IS ILLEGAL, THREATENS THE DEVELOPMENT OF FURTHER EMULATORS, AND ATTRACTS THE ATTENTION OF BIG SCARY LAWYERS. PLEASE DO NOT DISTRIBUTE ROM IMAGES WITH THIS PROGRAM. I DO NOT KNOW WHERE TO GET ROM IMAGES FROM. IF YOU SEND ME MAIL REQUESTING ROM IMAGES, I WILL IGNORE IT. I WILL PROBABLY ALSO IGNORE ALL FUTURE MAIL FROM YOU. ALSO NOTE: I PUT MUCH BLOOD, SWEAT, AND TEARS INTO THIS EMULATOR. I AM NOT ASKING ANY MONEY FOR IT. I DO NOT GIVE PERMISSION FOR IT TO BE SOLD, FOR ANY PRICE, ON ANY CD-ROM COLLECTION IF THAT COLLECTION INCLUDES ROM-IMAGES. IF YOU PAID MONEY FOR THIS EMULATOR, YOU WERE RIPPED OFF. PLEASE NOTIFY ME OF THE SELLER SO THAT I MAY TAKE APPROPRIATE LEGAL ACTION. --------------------------------------------------------------- Table Of Contents: I. What Have I Got Here? II. System Requirements III. Command Line Arguments IV. The Games V. Configuration Menus *NEW - README!!* VI. Extra Special Thanks Appendices: A. The Game Configuration Files (*.GAM) B. Reporting Bugs C. Known Problems D. Files Included In The Archive E. Contact Information F. Version History I. What Have I Got Here? ------------------------ You are holding in your hot-little-hands (disk?), the latest and greatest version of my emulation system "KEM". "KEM" used to stand for KONAMI EMULATOR, but since I added the Bally/Midway "MCR" emulations (Tron, Et. Al.), I decided to change the name to KILLER EMULATOR. I could have picked MIKE'S EMULATOR, but "MEM" was a stupid name, and "FEM" for FEN'S ENDE EMULATOR was kinda lame, too. BLAH, BLAH, BLAH... I hate writing manuals... This emulator started out as a GYRUSS emulator. It was the first, and was written when I knew very little about emulation (as opposed to now, when I have passed knowing "very little" about emulation, and have risen to "kind know what's going on" ....). GYRUSS begat TIME PILOT, which begat POOYAN, and then, silly me realized that these stupid emulations had about 90 percent common code between them. Thus, KEM was born. I ripped the good, and the bad, from GYRUSS, TIME PILOT, and POOYAN, turning nasty ugly compile time constants into nasty global variables, added a configuration script "language", and VIOLA', a multi- emulator. Well, after poking about on the net, and finding schematics for TRON, I decided that I should emulate TWO TIGERS. Well, I always sucked at TRON, but I was always the one with the "ALL TIME HIGH SCORE" on TWO TIGERS whenever I could find it, and since TRON and TWO TIGERS used the same hardware (BALLY MCR/II), I decided to kill two birds with one stone, and emulated them both. Most of the code from the KONAMI style emulators was reused in the MCR2 emulation core; the CPU's, audio stuff, etc., but the configuration language lacked something (and, by all rights, still does .. I'll get to that later), so I hacked, and I hacked, and I blew the config file in! ------------------------------------------------------------------ The following games are currently supported: CONFIG FILE Game Name System Type Sound? ----------- --------------------- ------------ ------ 2tigers.gam Two Tigers MCR/II Yes bluep.gam Blue Print BLUE PRINT Yes demoderb.gam Demolition Derby MCR/III No domino.gam Domino Man MCR/II Yes dotron.gam Discs of Tron MCR/III Yes(1) gyruss.gam Gyruss KONAMI Yes journey.gam Journey MCR/II+ Yes kickman.gam Kickman MCR/I Yes pooyan.gam Pooyan KONAMI Yes rampage.gam Rampage MONOBOARD(2) No shollow.gam Satan's Hollow MCR/II Yes solarfox.gam Solar Fox MCR/I Yes tapper.gam Tapper MCR/III Yes timber.gam Timber MCR/III Yes timep.gam Time Pilot MCR/III Yes tron.gam Tron MCR/II Yes wacko.gam Wacko MCR/II Yes (1) "Discs of Tron" does not have SARK's voice (2) "MONOBOARD" is very similar to MCR/III, with the CPU+SPRITE board being compressed down onto one PCB. ---------------------------------------------------------------- BY THE WAY: PLEASE READ THIS WHOLE MANUAL, including the "KNOWN BUGS" file before sending me any mail. If you send me mail with a complaint about something covered in this manual, or the "FAQ", I'll just ignore your letter ... Mind you, I'm not trying to be a jerk, it's just that I get 200-500 mail messages per day, and I just can't answer questions I've already answered. II. System Requirements ----------------------- To run this emulator, requires a pretty fast machine. A P120 should be sufficient, if you have a fast PCI graphics card. 486's are not supported, and I'll immediately close any bugs submitted about the program being too slow on a 486. Some of the emulated games will function, but slower than true-speed on a 486, and some will "crash" going into "pause" mode without warning. The "official" minimum system requirements are: * PENTIUM 100 or faster CPU. Let's face it; this program is a PIG! it's a total hack, and not much of it has been converted to ASM. I'll probably be putting an assembly language Z80 core into it in the near future. Sound slows down the whole shebang, so if it's too slow for your system, turn off audio (see options: -a 0). You can also try the frame-skipping option (-K 1). * FAST SVGA Card, with VESA BIOS: If you do not have a VESA 2.0 (which allows "linear access") for your SVGA card, then you should get "Scitech Display Doctor" (SDD) from www.scitechsoft.com. ************************************************* KEM will run with a VESA 1.2 BIOS, but it will run _VERY_ SLOWLY! ************************************************* I removed the 'MODEQ' code (see my orig. emulators, GY, and TP), and replaced all of that code with VESA SVGA code. * 8MB of RAM (16MB under Win95) Well, you could probably get away with less, but what are you doing with a Pentium with less than 16MB of RAM. If you have a sample for Journey to play during the concert scene, you'll need memory for that, too. * 256K CACHE, 512K better, 1M best! Wow, what a difference cache memory makes. This program spends most of it's time piddling around in a 256K chunk of memory for the virtual Z80, and having that code in cache is a "Good Thing" (tm ;-). If you have a Pentium class machine with no cache, spank yourself and then go spend the less-than-fifty-dollars it takes to upgrade your cache. Pentium processors spend most of their time WAITING for DRAM to give them something to chew on. Cache RAM eliminates some of this waiting, for a big speed boost. * Win95 or DOS 6.2 If you can make this code run on OS/2, or WinNT, or DOSEMU under Linux, more power to you! I don't plan on supporting them, though. If someone does make it work under one of these operating systems, send me the config files (.PIF for NT, or DOS config for OS/2), and I'll make them available. Optional are: * Sound Card (not req'd) Well, not required unless you're an arcade freak! And, if you're taking the time to read this, you probably are! I currently use the SBDRV library written by Ron Fries and Neil Bradley. It should work with most sound-blaster compatible sound cards. My sound card is a true Creative Labs Sound Blaster 16. Yeah, it has a signal-to-noise ratio somewhat worse than alt.flame, but it gets the job done, and what with the fans from the three computers in my office, and the "notches" in the frequency response of my EARS from being around computers for 17 years, I can't heard the difference anyways. If all else fails, you can use the '-a 0' option to turn off sound. * Joystick Currently, no normal PC joysticks are supported. I hope to support PC Joysticks as well as Gravis GRiP directly in the future. The Wingman Warrior (logitech SWIFT driver) is supported, too (awesome for TRON: SPIN knob and joystick). There is a small TSR called JOYEMU by Simone Zanella (zanella@prometeo.prometeo.it) that works well with KEM until joysticks are supported natively. The latest version of JOYEMU is available from Simone's page: http://members.tripod.com/~szanella or it's itallian mirror: http://www.dsi.unive.it/~szanella/index.html III. Command Line Arguments --------------------------- There are a number of command line arguments supported by KEM. A quick summary of them can be coaxed from KEM by using '-?' or '-help'. *************************************************************** ** ** ** VERY IMPORTANT: The CASE (UPPER/lower) of the flags is ** ** significant. -A is different from -a ** ** ** *************************************************************** For reference, here they are: -a Audio update rate default is 120; 0 disables audio. -b Force non-autoinit DMA for sound card (may help SB-PRO/CLASSIC/SB compatibles get sound) -c Main cpu timeslice quantum -d Debug mode (redirect stdout!) -f Number of updates per second. -g Specify .GAM file to load -I Add as search directory for files. -i Ignore rom checksums when loading, or, with -l, compute checksums. -K # of frames to skip between updates (default: 0) -l List games supported, check for ROM existance (add -V to list missing roms) -L Load a saved game immediately. NOTE: when a saved game is loaded, HIGHSCORE saving as well as NVRAM saving (for MCR games) is disabled. We wouldn't want you to cheat, now, would we? -s Audio sampling rate. -S Simulate Scanlines (disables h/w double buffering) -q "Quiet Mode" -V Dump parsed contents of .GAM file, or with -l, list missing roms. -v change master volume These options are for graphics mode selection: -A Try to use VBE accelerator functions -D Don't try for double-buffered mode -M List valid SVGA modes (for use with -x flag) -x Select screen mode (use -M to show valid modes) Options can also be set in .INI files. KEM will try to load a file called KEM.INI first; it will then process command line arguments. Next it will search for .INI where is the type of hardware that is being emulated. The current hardware classes (set by the "HardwareType" directive in the .GAM files) are: MCR - all of the MCR/MONOBOARD games POOYAN, GYRUSS, TIMEPILOT, BLUEPRINT - you figure it out. Because the MCR hardware class encompases many games, KEM will also try to load a file called .INI where is the root name of the .GAM file loaded (i.e.: 2tigers.GAM -> 2tigers.INI) The format of the .INI file is = . Each keyword should be on a line of it's own. A little more detail on the switches and keywoards: -a AudioUpdateRate = This flag sets the audio "update rate". This is the number of times per second that the programmable sound generator registers are checked to update the sound. The default rate is 120. Setting a rate of 0 disables audio. Higher rates can result in more accurate sound, but eat up alot of CPU. This flag determines the size of the audio buffers needed; there is 1 audio buffer per PSG (gyruss has 5, most others have 2), the audio buffers are sized according to this formula: ( SAMPLE_RATE / UPDATE_RATE ) * 3 -b NoAutoInitDMA = <1 or 0> This flag is for compatibility with older sound blasters, and some compatibles. If you run KEM, and you don't get any sound, or it locks up, try using this flag. -c CpuTimeSlice = This flag sets the quantum of time that the main CPU is run relative to checking for interrupts, audio updates, etc. This number can be made higher to compensate for slower machines (because there is a certain amount of context-switch time associated with stopping the CPU emulation and checking interrupts, sound, etc). The default CPU time slice is 512. (INI\Gyruss.ini drops gyruss down to 384; seems to improve performance) -d DebugMode = <1 or 0> Debug mode. Outputs lots of debugging information. Probably not useful if your initals are not "MFC", however, if you are having trouble with a game, run it with this flag, an e-mail me the "kem.out" file created. -f Fps = Set the number of video updates per second. Should be left at 60 unless you have a slow machine. The MCR games should be run at 30 (use supplied batch files!) -g The most important, and most often used flag. This selects which .GAM file to load. This is the only required flag. There is no keyword equivalent to this switch because the name of the game is used to determine what .GAM file (and thus, what .INI file) to load. -I IncDir = The program searches a directory list for locations of ROM's and .GAM files. It should use the search path for more files, but it doesn't. The default path contains the current directory (.) and the subdirectory "data/". You can specify more than one '-I ' to add more directories. You can also specify '-I -' to erase all directories from the search path. -i IgnoreChecksums = <1 or 0> A .GAM file can optionally specify a rom checksum. The checksums supplied with KEM are known working good checksums. However, there are often multiple versions of a game, and this option will allow you to override KEM's version checking to play with a different, but still correct version of a game. When combined with the -l flag (list games) this switch causes the rom checksums to actually be computed while the games are being listed -- see the description of -l. -K FrameSkip = This causes the graphics engine to skip updating frames; if you have a slow computer, you can get some more performance out of the emulation by using '-K 1'. Anything more than '1' and you're probably going to hate gameplay, but it's a subjective thing. -l This flag will cause KEM to search it's data directory for .GAM files. Load each one in turn, and check for the existance of the proper rom files. If you combine this flag with the -V flag, any missing roms will be listed (otherwise, KEM will just say something like "2 roms are missing"). This switch also reverses the sense of the -i flag; by default -l ignores the checksums of the roms, it just searches for them. Adding -i causes the listing to not ignore the checksums (i.e.: compute them). -s AudioSampleRate = This sets the sampling rate; the default is 22100. Setting this higher does not significantly improve the quality of the audio, since the chips that are being emulated output crappy ol' square waves anyways. It's mostly here to eat CPU time ;-) If you use a rate other than 22100, then the "DRUMS" in gyuruss will not sound right, as they were sampled at 22100 and the current sound library does not interpolate. -S Scanlines = <1 or 0> This turns on scanline-simulation. Some people like this, and it can speed up the emulation on slower machines, since only 1/2 of the data is copied per frame. The KONAMI games look okay in this mode, but the MCR games generally look bad (because the sprites are high-res) Because of the internal graphics architecture of KEM (and to effect the copying of only 1/2 of the data), This option disables hardware double buffering. Note that this is not a tweaked mode, it's just line-skipping. -V DebugDump = <1 or 0> Useful for debugging. Also causes information about missing roms to be printed when used with -l. -v MasterVolume = <0 .. 15> This changes the master volume setting. In previous versions of KEM, this setting was stored on a per-game basis. It is now stored in the KEM.REG file for all games. -q Quiet = <1 or 0> Quiet mode. Causes KEM to not issue warnings or pause before startup. Useful as a switch for front ends. -M This switch lists all of the SVGA modes that can be used with the emulator. If you do not get any valid modes listed, then try using "Scitech Display Doctor" (the driver formerly known as UNIVBE). -x SVGAMode = This switch is used to select the SVGA mode to use for MCR emulation. Use -M to see valid values. -A UseVBEAccel = <1 or 0> By default (because it doesn't work on _MY_ system), KEM does not try to use the VBE Accelerator functions provided by UNIVBE or your video card. This flag requests VBE/AF support. Since I don't believe that I use any features of VBE/AF, this flag isn't that useful ;-) -D UseDBuffer = <1 or 0> By default, KEM will try to find a video mode that has at least two buffers available for double-buffering. The main reason to use this flag is if you have a slow PCI or VL bus graphics card; since the System-memory back-buffer will be faster than over-the-bus accesses. (and since the back-buffer is dumped to the video card in 32-byte increments, instead of 8 and 16-byte random-accesses in a double-buffered situation). Double buffering is automaticly disabled in any of the scrolling modes because many cards cannot handle the scrolling method that KEM uses. IV. The Games ------------- Currently, this emulation supports the following games: "KONAMI" type games: * GYRUSS * TIME PILOT * POOYAN "MCR/I" type games: * KICKMAN * SOLAR FOX "MCR/II" type games: * TRON * TWO TIGERS * SATAN'S HOLLOW * DOMINO MAN * JOURNEY * WACKO "MCR/III" type games: * TAPPER * TIMBER * DISCS OF TRON * DEMOLITION DERBY Other "MCR" type games: * RAMPAGE (MONOBOARD) Other Games: * BLUE-PRINT Soon, support for the following games will probably be added (in no particular order, and no promises made): "MCR/II" type games: * KOZMIK KROOZ'R (kem actually runs this currently, but since KOZMIK has a plastic spaceship that rotates and interacts with the video game through a sensor, it's a little difficult to emulate) "MCR/III" type games: * SPY HUNTER Others: * BOMBJACK * BERZERK * FRENZY To run these games, you will need to have the appropriate rom images. The .GAM files specify where the emulator will look for rom images. Look for lines like these: TileRom = "..." ARom = "..." CRom = "..." SprRom = "..." NOTE: the space between the keyword and the '=' is mandatory, as is the space between the '=' and the quote delimiting the filename. "TileRom" lines specify the roms for the background images (tiles or character plane) "SprRom" lines specify the roms for the foreground (sprite) images. "ARom" lines are roms dedicated to the Audio CPU "CRom" lines are roms dedicated to the main CPU. ** ** I DO NOT HAVE THE ROMS FOR THESE GAMES, AND I DO NOT KNOW ** WHERE TO GET THEM.. ** ** IF YOU ASK ME FOR INFORMATION ABOUT THE ROMS, I WILL ** SILENTLY IGNORE YOU. ** Control Keys ------------ All games are fully configurable as far as the game keys are concerned. Pressing from the emulation gets you to the main menu, from there, select "Control Menu ..." and then "Game Controls ..." Other selections on the "Control Menu" allow configuration of the various input drivers (keyboard, mouse, GRiP, SWIFT, etc.) To see the default keys for each of the games, look in the control menu. Keys that work in all emulators: Alt-Q - Quit ESC - Access emulator setup menu Shift-F9 - Reset emulator F10 - Halt (pause / unpause) F11 - Save game (you will be prompted for a filename at the bottom of the screen; the .SAV extension will be added automaticly. Shift-F11 - Load game. NOTE: when a game is loaded, Highscores saving and NVRAM saving (for MCR systems) is disabled until the emulation is reset (Shift-F9). F12 - Increase master volume Shift-F12 - Decrease master volume SCRLOCK - Screenshot; screenshots are saved as PCX\KEMnnnn.PCX where "nnnn" is an increasing number. Screenshots will not be overwritten. +/- - (on the keypad or number row) move the screen up and down if it's smaller than the 512 pixels high (640x480 looks GREAT, but most games need to scroll up to see the important bits of the screen!) V. Configuration Menu --------------------- Press to get into and out of the config screen. The following choices will appear: * Control Menu ... * Dipswitch Menu ... * About / Credits ... * Return To Emulation * Exit To Dos Selecting an option with elipsis after it ('...') takes you to another menu. At any time in a menu, the key will take you back to the previous menu, or, if on the main menu already, will take you back to the emulated game in progress. The last two options are self explanitory: one exits KEM, and the other returns you to the action. The "About / Credits ..." display is the same display that popped up the first time you ran KEM, and can be exited by pressing any key. The "Dipswitch Menu" contains the various dip-switch settings offered by the current game. If no dipswitch settings are available, the dipswitch menu will be empty; press to return to the main menu. The "Control Menu" is the most complex set of menus in the emulator, and requires a bit of explanation. The control menu looks like this: * Game Controls ... * Configure ... * Configure ... * Configure ... * Back to Main Menu The "Game Controls" menu is where you configure which keys/buttons/mouse axis/joystick axis will be used by the various emulated controls. This menu will list each control that a given game supports (like "1P Start", "Left", etc.) and the current device button/axis that activates that control. There are two types of controls: "Buttons" and "Axis". Each supported physical device (currently, Keyboard, Mouse, and Wingman Warrior) provides a number of each of these types of controls. For example, a mouse provides two "axis" (Mouse X and Mouse Y) controls, and two or three "button" controls (Mouse Left, Mouse Right, and Mouse Middle). The wingman warrior provides 4 axis (Stick X, Stick Y, Spinner, and Throttle) and twelve (!) buttons. (four fire-buttons, plus four hat directions, plus a "pseudo" button for each direction the main joystick can be moved). The keyboard is a special device; not only does it provide 101 "button" types (one for each key on the keyboard), it also provides two axis controls. These are needed for those people who don't have or don't want to use a mouse or Wingman Warrior. These "virtual Axis" are, by default, mapped to the period (.) and slash (/) keys, for one axis and the "C" and "V" keys for the other. These keys may not be convenient for non-us layout keyboards. they can, however be changed to any four keys on the keyboard: ** THE KEYS THAT ACTIVATE THE KEYBOARD'S VIRTUAL AXIS CAN BE CHANGED ** IN THE "CONFIGURE KEYBOARD" MENU When setting up the device to activate a game control, (like "Player 1 Start", or whatnot), select the control with the arrow keys, and press enter; the control name will then flash blue and KEM will wait for a key to be pressed or an axis to be moved (depending on the type of control). Once you have selected the appropriate control, the menu item will return to it's normal color, and the name of the selected control will appear to the right of the control name. Each device detected will have a "Configure ..." menu built for it on the main menu. In general, you should play with the settings on these menus until you get a set of parameters that you like. A short explanation of each of the fields however follows (note that not all fields will be present on all devices): "Mode" -- This setting generally has values like "Abs" or "Rel" or "Rel/Inv". "Rel" means that the axis reports relative values. "Abs" means that the axis reports absolute values "Inv" means that the axis' values are inverted (up becomes down, down becomes up, etc.) "Scale" -- This value is a modifier to the way the real control reports it's data to the emulation. Positive values cause a multiplication (i.e.: if the controller would respond '5' and the scale is set to '2', the emulation would read the control as '10'), and negative values cause division (if the controller would respond '10' and the scale is set to "-2" then the controller would respond '5' to the emulation. "Max Delta" -- this indicates the maximum amount that the control may change in one animation frame. Some games (most notably kickman) need this value tweaked to match the ballistics of your mouse, etc). All of these values are provided for experimentation. Play with them until you decide on the values that suit your game playing style the best. Hints: * If the arm rotates too slowly in TRON when using the keyboard, increase the "scale" value. If it rotates too fast, decrease the scale. * If you think that the sense of left/right is backwards for an axis, change the "mode" to add "Inv" (like from "Rel" to "Rel/Inv". You can also change the keys assigned to increment/decrement a "virtual axis" from the keyboard * If your wingman warriror is not responding on the joystick port, decrease the threshold value under "configure wingman" VI. Extra Special Thanks ------------------------ I'll start listing folks here, in no particular order; so many people have helped me, that I can't begin to thank them all! Neil Bradley Pete Grounds Ron Fries Marat Fayzullin Villie Hallik JROK Kurt Mahan Jeff "The Riffer" Mercer Al "Gonzo The Great" McCormick Moose Brian Peek THE TANT ARCHIVE Bob "FxPilot" Graham and: The EMULATOR mailing list. (to subscribe to the emulator mailing list, a list for the discussion of all emulators, not just KEM, send mail with "subscribe" in the BODY of the message to : ) Oh, by the way, if you type 'secret' during the "please wait" at the startup credits screen, it will get you past having to wait for the credits. This just proves that you read the instructions ;-). If I've left anyone out, please don't be shy ... let me know! And thank you to all of my beta testers, who put up with broken palettes, crashing machines, funky video modes, difficult controls, and all sorts of badness in the early Beta's APPENDIX A: The Game Configuration Files (*.GAM) ------------------------------------------------ The game-configuration files are a very-inflexible, just-short-of- hard-coding-it way of changing the behavior of the emulated games. The configuration file specifies ROMs to load, and where to load them from, as well as memory maps, and other goodies. Take a look. I'm probably not going to document the current version of the game configuration "language", because it's going to undergo some radical changes between now and the next release (and maybe between now and the final release). APPENDIX B. Reporting Bugs -------------------------- To report bugs, there will eventually be a web-based form on the KEM web page at : http://www.fensende.com/kem/ Once it exists (check first!) Please use it. I will ignore all bug-reports that are sent to me via e-mail once the bug-tracking system is online. If you have submit a bug-report that is answered in the FAQ, in this document or in the KNOWNBUG.TXT file, I'll probably silently ignore you. (Honestly, I've spent _WAY_ too much time answering the same damn question over and over!) APPENDIX C. Known Problems -------------------------- Lots. Too many to detail here. See KNOWNBUG.TXT. APPENDIX D. Files Included In The Distribution ----------------------------------------------- Below is a listing of all of the files included in the archive. Please do not distribute modified versions of this archive. The latest and greatest version of this emulator can always be found at: http://www.fensende.com/kem/ Files: README.TXT This file. FAQ.TXT KEM's Frequently asked questions file; maintained by Jeff "The Riffer" Mercer WHATSNEW.TXT Release notes for the current (and previous) versions of KEM detailing changes from version to version. KNOWNBUG.TXT This is the list of currently known bugs. Please read this file before submitting a bug report! KEM.EXE This is the main executable. It requires that dos4gw.exe be in your path somewhere. Dos4gw.exe is not included with the distribution; it is available from my Gyruss page. http:/www.fensende.com/Users/mcuddy/gyruss/ KEM.RES Graphics and font data. 2T.BAT -- Two Tigers BP.BAT -- Blue Print DD.BAT -- Demolition Derby DM.BAT -- Domino Man DT.BAT -- Discs of Tron GY.BAT -- Gyruss JJ.BAT -- Journey KM.BAT -- Kickman PY.BAT -- Pooyan RA.BAT -- Rampage SF.BAT -- Solar Fox SH.BAT -- Satan's Hollow TA.BAT -- Tapper TI.BAT -- Timber TP.BAT -- Time-Pilot TR.BAT -- Tron WA.BAT -- Wacko These batch files are shortcuts for running the currently supported games. DATA\TRON, DATA\DOTRON, et. al. These are the directories where the ROM images for each game should be placed (I.e.: images for "TRON" should be placed in the "data\tron" directory. SAVEGAME\ This directory is where saved games will be stored (i.e.: if you type "foo" as a savegame name, it will be saved as "savegame\foo.sav" PCX\ This directory is where saved screenshots will be stored. DATA\GYCHAR.PAL, DATA\GYSPR.PAL, DATA\PYCHAR.PAL, DATA\PYSPR.PAL, DATA\TPCHAR.PAL, DATA\TPSPR.PAL, These are best-guess palette files for the Time Pilot, Gyruss, and Pooyan sprite and tile color palettes. The other games have RAM based palettes. DATA\*.GAM, These are the game description files for each of the supported emulated games. You'll have to get the ROMs from elsewhere; don't ask me. DATA\MCR2.GAM, DATA\MCR3.GAM, DATA\MCR1.GAM, DATA\SSIO.GAM These .GAM files are special; they are used for all of the common directives for MCR/II emulation and are used by all of the MCR/II games. RAM\*.KEY RAM\*.HI RAM\*.RAM RAM\*.DIP Various input map files (mapping keys/joy/mouse etc) and high-score files, Dip switch settings and NVRAM save files INI\*.INI Various sample initialization files; these are the ones that I use. If you don't like 'em: change em! APPENDIX E. Contact Information ------------------------------- The best way to get ahold of me is via e-mail. My e-mail address is: mcuddy@FensEnde.com My home page is at: http://www.fensende.com/Users/mcuddy/ And I hang out on EFNet IRC in #EMU as "Pryankstr" KEM IS FREE, however, if you feel compelled to send me a donation, (arcade schematics are most welcome!) You can send it to: Michael Cuddy 166 Warwick Street Redwood City, CA 94062 This address will be valid until at least June 1998; and probably afterward, but check my web page for updates. APPENDIX F. Version History --------------------------- June 7, 1997 -- BETA05 -- Private BETA release June 9, 1997 -- BETA05(A) -- Private BETA release June 12, 1997 -- BETA06(B) -- Private BETA release June 13, 1997 -- V1.0 -- First Public Release June 24, 1997 -- V1.1B -- Private Release June 28, 1997 -- V1.1B2 -- Private Release July 11, 1997 -- V1.1 -- Public Release