home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 6 / AACD06.ISO / AACD / Emulation / WarpNeoMAME / readme.txt < prev    next >
Text File  |  1999-12-07  |  24KB  |  462 lines

  1.  
  2.               M.A.M.E.  -  Multiple Arcade Machine Emulator
  3.      Copyright (C) 1997, 1998, 1999  by Nicola Salmoria and the MAME team
  4.  
  5. Please note that many people helped with this project, either directly or by
  6. releasing source code that was used to write the drivers. We are not trying to
  7. appropriate merit that isn't ours. See the acknowledgments section for a list
  8. of contributors, however please note that the list is largely incomplete. See
  9. also the CREDITS section in the emulator to see the people who contributed to a
  10. specific driver. Again, that list might be incomplete. We apologize in advance
  11. for any omission.
  12.  
  13. All trademarks cited in this document are property of their respective owners.
  14.  
  15.  
  16. Usage and Distribution License
  17. ------------------------------
  18.  
  19. I. Purpose
  20. ----------
  21.    MAME is strictly a no profit project. Its main purpose is to be a reference
  22.    to the inner workings of the emulated arcade machines. This is done for
  23.    educational purposes and to preserve many historical games from the oblivion
  24.    they would sink into when the hardware they run on will stop working.
  25.    Of course to preserve the games you must also be able to actually play them;
  26.    you can see that as a nice side effect.
  27.    It is not our intention to infringe any copyrights or patents pending on the
  28.    original games. All of the source code is either our own or freely
  29.    available. To work, the emulator requires ROMs of the original arcade
  30.    machines, which must be provided by the user. No portion of the code of the
  31.    original ROMs is included in the executable.
  32.  
  33. II. Cost
  34. --------
  35.    MAME is free. The source code is free. Selling it is not allowed.
  36.  
  37. III. ROM Images
  38. ---------------
  39.    ROM images are copyrighted material, and most of them cannot be distributed
  40.    freely. Distribution of MAME on the same physical medium as illegal copies
  41.    of ROM images is strictly forbidden.
  42.    You are not allowed to distribute MAME in any form if you sell, advertise or
  43.    publicize illegal CD-ROMs or other media containing ROM images. Note that
  44.    the restriction applies even if you don't directly make money out of that.
  45.    You are allowed to make ROMs and MAME available for download on the same web
  46.    site, but only if you warn users about the copyright status of the ROMs and
  47.    make it clear that they must not download the ROMs unless they are entitled
  48.    to do so.
  49.  
  50. IV. Source Code Distribution
  51. ----------------------------
  52.    If you distribute the binary, you should also distribute the source code. If
  53.    you can't do that, you must provide a pointer to a place where the source
  54.    can be obtained.
  55.  
  56. V. Distribution Integrity
  57. -------------------------
  58.    This chapter applies to the official MAME distribution. See below for
  59.    limitations on the distribution of derivative works.
  60.    MAME must be distributed only in the original archives. You are not allowed
  61.    to distribute a modified version, nor to remove and/or add files to the
  62.    archive.
  63.  
  64. VI. Reuse of Source Code
  65. --------------------------
  66.    This chapter might not apply to specific portions of MAME (e.g. CPU
  67.    emulators) which bear different copyright notices.
  68.    The source code cannot be used in a commercial product without a written
  69.    authorization of the authors. Use in non commercial products is allowed and
  70.    indeed encouraged; however if you use portions of the MAME source code in
  71.    your program, you must make the full source code freely available as well.
  72.    Usage of the _information_ contained in the source code is free for any use.
  73.    However, given the amount of time and energy it took to collect this
  74.    information, we would appreciate if you made the additional information you
  75.    might have freely available as well.
  76.  
  77. VII. Derivative Works
  78. ---------------------
  79.    Derivative works are allowed (provided source code is available), but
  80.    discouraged: MAME is a project continuously evolving, and you should, in
  81.    your best interest, submit your contributions to the development team, so
  82.    that they are integrated in the main distribution.
  83.    There are some trivial modifications to the source code that anybody could
  84.    do, but go against the spirit of the project. They are NOT considered a
  85.    derivative work, and distribution of executables with them applied is
  86.    strictly forbidden. Such changes include, but are not limited to:
  87.    - enabling games that are disabled
  88.    - changing the ROM verification commands so that they report missing games
  89.    - removing the startup information screens
  90.    If you make a derivative work, you are not allowed to call it MAME. You must
  91.    use a different name to make clear that it is a MAME derivative, but it isn't
  92.    an official distribution from the MAME team. Simply calling it MAME followed
  93.    or preceded by a punctuation (e.g. MAME+) will not be enough. The name must
  94.    be clearly distinct, e.g. REMAME. The version number must also match the one
  95.    of the official MAME you derived your version from.
  96.  
  97.  
  98. How to Contact Us
  99. -----------------
  100.  
  101. The official MAME home page is http://www.mame.net/. You can always find the
  102. latest release there, including beta versions and information on things being
  103. worked on. Also, a totally legal and free ROM set of Robby Roto is available
  104. on the same page.
  105.  
  106. If you have bugs to report, check the MAME Testing Project at
  107. http://mameworld.retrogames.com/mametesters
  108.  
  109. Here are some of the people contributing to MAME. If you have comments,
  110. suggestions or bug reports about an existing driver, check the driver's Credits
  111. section to find who has worked on it, and send comments to that person. If you
  112. are not sure who to contact, write to Nicola. If you have comments specific to
  113. a system other than DOS (e.g. Mac, Win32, Unix), they should be sent to the
  114. respective port maintainer (check the documentation to know who he is). DON'T
  115. SEND THEM TO NICOLA - they will be ignored.
  116.  
  117. Nicola Salmoria    MC6489@mclink.it
  118.  
  119. Mike Balfour       mab22@po.cwru.edu
  120. Aaron Giles        agiles@sirius.com
  121. Chris Moore        chris.moore@writeme.com
  122. Brad Oliver        bradman@pobox.com
  123. Andrew Scott       ascott@utkux.utcc.utk.edu
  124. Zsolt Vasvari      vaszs01@banet.net
  125.  
  126. DON'T SEND BINARY ATTACHMENTS WITHOUT ASKING FIRST, *ESPECIALLY* ROM IMAGES.
  127.  
  128. THESE ARE NOT SUPPORT ADDRESSES. Support questions sent to these addresses
  129. *will* be ignored. Please understand that this is a *free* project, mostly
  130. targeted at experienced users. We don't have the resources to provide end user
  131. support. Basically, if you can't get the emulator to work, you are on your own.
  132. First of all, read the docs carefully. If you still can't find an answer to
  133. your question, try checking the beginner's sections that many emulation pages
  134. have, or ask on the appropriate Usenet newsgroups (e.g. comp.emulators.misc) or
  135. on the official MAME message board, http://mame.retrogames.com/msgboard.htm.
  136.  
  137. For help in compiling MAME, check this page:
  138. http://mameworld.retrogames.com
  139.  
  140. Also, DO NOT SEND REQUESTS FOR NEW GAMES TO ADD, unless you have some original
  141. info on the game hardware or, even better, own the board and have the technical
  142. expertise needed to help us.
  143. Please don't send us information widely available on the Internet - we are
  144. perfectly capable of finding it ourselves, thank you.
  145.  
  146.  
  147.  
  148. Acknowledgments
  149. ---------------
  150.  
  151. First of all, thanks to Allard van der Bas (avdbas@wi.leidenuniv.nl) for
  152. starting the Arcade Emulation Programming Repository at
  153. http://valhalla.ph.tn.tudelft.nl/emul8
  154. Without the Repository, I would never have even tried to write an emulator.
  155. Unfortunately, the original Repository is now closed, but its spirit lives
  156. on in MAME.
  157.  
  158. Z80 emulator Copyright (c) 1998 Juergen Buchmueller, all rights reserved.
  159. M6502 emulator Copyright (c) 1998 Juergen Buchmueller, all rights reserved.
  160. Hu6280 Copyright (c) 1999 Bryan McPhail, mish@tendril.force9.net
  161. I86 emulator by David Hedley, modified by Fabrice Frances (frances@ensica.fr)
  162. M6809 emulator by John Butler, based on L.C. Benschop's 6809 Simulator V09.
  163. M6808 based on L.C. Benschop's 6809 Simulator V09.
  164. M68000 emulator Copyright 1999 Karl Stenerud.  All rights reserved.
  165. 80x86 M68000 emulator Copyright 1998, Mike Coates, Darren Olafson.
  166. 8039 emulator by Mirko Buffoni, based on 8048 emulator by Dan Boris.
  167. T-11 emulator Copyright (C) Aaron Giles 1998
  168. TMS34010 emulator by Alex Pasadyn and Zsolt Vasvari.
  169. TMS9900 emulator by Andy Jones, based on original code by Ton Brouwer.
  170. Cinematronics CPU emulator by Jeff Mitchell, Zonn Moore, Neil Bradley.
  171. Atari AVG/DVG emulation based on VECSIM by Hedley Rainnie, Eric Smith and
  172. Al Kossow.
  173.  
  174. TMS5220 emulator by Frank Palazzolo.
  175. AY-3-8910 emulation based on various code snippets by Ville Hallik,
  176.   Michael Cuddy, Tatsuyuki Satoh, Fabrice Frances, Nicola Salmoria.
  177. YM-2203 and YM-2151 emulation by Tatsuyuki Satoh.
  178. POKEY emulator by Ron Fries (rfries@aol.com).
  179. Many thanks to Eric Smith, Hedley Rainnie and Sean Trowbridge for information
  180.    on the Pokey random number generator.
  181. NES sound hardware info by Jeremy Chadwick and Hedley Rainne.
  182. YM3812 and YM3526 emulation by Carl-Henrik Skårstedt.
  183. YM2610 emulation by Hiromitsu Shioya.
  184.  
  185. Background art by Peter Hirschberg (PeterH@cronuscom.com).
  186.  
  187. Allegro library by Shawn Hargreaves, 1994/97
  188. SEAL Synthetic Audio Library API Interface Copyright (C) 1995, 1996
  189.    Carlos Hasan. All Rights Reserved.
  190. Video modes created using Tweak 1.6b by Robert Schmidt, who also wrote
  191.    TwkUser.c.
  192. "inflate" code for zip file support by Mark Adler.
  193.  
  194. Big thanks to Gary Walton (garyw@excels-w.demon.co.uk) for too many things
  195.    to mention them all.
  196.  
  197. Thanks to Brian Deuel, Neil Bradley and the Retrocade dev team for allowing us
  198. to use Retrocade's game history database. [John Butler]
  199.  
  200.  
  201. Usage
  202. -----
  203.  
  204. MAME [name of the game to run] [options]
  205.  
  206. for example
  207.  
  208. MAME mspacman -soundcard 0    will run Ms Pac Man without sound
  209.  
  210.  
  211. options:
  212. -tweak/-notweak (default: notweak)
  213.               MAME supports a large number of tweaked VGA modes, with
  214.               resolutions matching the ones of the emulated games. Those modes
  215.               look MUCH better than VESA modes (and usually faster), but may
  216.               have compatibility problems with some video cards and monitors,
  217.               so they are not enabled by default. You should by all means use
  218.               -tweak if your hardware supports it. Note that some modes might
  219.               work and other might not, e.g. your card could support 256x256
  220.               but not 384x224. In that case you'll have to turn -tweak on or
  221.               off depending on the game you run. -noscanlines can also solve
  222.               many compatibility problems.
  223. -ntsc         a 288x224 mode with standard NTSC frequencies. You need some
  224.               additional hardware (VGA2TV converter) to make use of this.
  225. -vesamode vesa1/vesa2b/vesa2l/vesa3
  226.               Forces the VESA mode to use. By default the best available one
  227.               is used, but some video cards might crash during autodetection,
  228.               so you should force a lower standard (start with vesa1 and go
  229.               upwards until it stops working).
  230. -resolution XxY
  231.               where X and Y are width and height (ex: '-resolution 800x600')
  232.               MAME goes some lengths to autoselect a good resolution. You can
  233.               override MAME's choice with this option.
  234.               You can use -XxY (e.g. -800x600) as a shortcut. Frontend
  235.               authors are advised to use -resolution XxY, however.
  236. -skiplines N / -skipcolumns N
  237.               if you run a game on a video mode smaller than the visible area,
  238.               you can adjust its position using the PGUP and PGDN keys (alone
  239.               for vertical panning, shifted for horizontal panning).
  240.               You can also use these two parameters to set the initial
  241.               position: 0 is the default, menaing that the screen is centered.
  242.               You can specify both positive and negative offsets.
  243. -scanlines/-noscanlines (default: -scanlines)
  244.               turns on or off visible scanlines, which give an image more
  245.               similar to that of a real arcade monitor.
  246. -stretch/-nostretch (default: stretch)
  247.               use nostretch to disable pixel doubling in VESA modes (faster,
  248.               but smaller picture).
  249. -depth n      (default: auto)
  250.               Some games need 16-bit color modes to get accurate graphics. To
  251.               improve speed, you can turn that off using -depth 8, which limits
  252.               to the standard 256 color modes. You can also use -depth 16 to
  253.               force games to use a 16-bit diplay even if they fit in 256 colors,
  254.               but this isn't suggested.
  255. -gamma n      (default: 1.0)
  256.               Set the initial gamma correction value.
  257. -vgafreq n    where n can be 0 (default) 1, 2 or 3.
  258.               use different frequencies for the custom video modes. This
  259.               could reduce flicker, especially in the 224x288noscanlines
  260.               mode. WARNING: THE FREQUENCIES USED MIGHT BE WAY OUTSIDE OF
  261.               YOUR MONITOR RANGE, AND COULD EVEN DAMAGE IT. USE THESE OPTIONS
  262.               AT YOUR OWN RISK.
  263. -vsync/-novsync (default: -novsync)
  264.               synchronize video display with the video beam instead of using
  265.               the timer. This option can only be used if the selected video
  266.               mode has an appropriate refresh rate; MAME will otherwise refuse
  267.               to start, telling you the actual refresh rate of the video mode,
  268.               and the rate it should have.
  269.               If you are using a tweaked mode, MAME will try to automatically
  270.               pick the correct setting for -vgafreq; you can still override it
  271.               using the -vgafreq option. Note: the 224x288 noscanlines mode
  272.               doesn't work on most cards. This mode is used by many games,
  273.               e.g. Pac Man and Galaga. If it doesn't work on your card, either
  274.               use the scanlines version, or don't use -vsync.
  275.               If you are using a VESA mode you should use the program which
  276.               came with your video card to set the appropriate refresh rate.
  277.               Note that when this option is turned on, speed will NOT
  278.               downgrade nicely if your system is not fast enough (i.e.:
  279.               jerkier gameplay).
  280. -alwayssynced/-noalwayssynced (default: -noalwayssynced)
  281.               for many tweaked VGA modes, MAME has two definitions: one which
  282.               is more compatible, and one which is less compatible but uses
  283.               frequencies compatible with -vsync. By default, the less
  284.               compatible definition is used only when -vsync is requested;
  285.               using this option, you can force it to be used always.
  286. -triplebuffer/-notriplebuffer (default: -notriplebuffer)
  287.               Enables triple buffering with VESA modes. This is faster than
  288.               -vsync, but doesn't work on all cards and, even it does remove
  289.               tearing during scrolling, it might not be as smooth as vsync.
  290. -monitor NNNN (default: standard)
  291.               selects the monitor type:
  292.               standard: standard PC monitor
  293.               ntsc:     NTSC monitor
  294.               pal:      PAL monitor
  295.               arcade:   arcade monitor
  296. -centerx N and -centery N
  297.               each take a signed value (-8 to 8 for centerx, -16 to 16 for
  298.               centery) and let you shift the low scanrate modes (monitor=ntsc,
  299.                 pal,arcade) around.
  300. -waitinterlace
  301.               forces update of both odd and even fields of an interlaced low
  302.               scanrate display (monitor=ntsc,pal,arcade) for each game loop.
  303. -ror          rotate the display clockwise by 90 degrees.
  304. -rol          rotate display anticlockwise
  305. -flipx        flip display horizontally
  306. -flipy        flip display vertically
  307.               -ror and -rol provide authentic *vertical* scanlines, given you
  308.               turn your monitor to its side.
  309.               CAUTION:
  310.               A monitor is a complicated, high voltage electronic device.
  311.               There are some monitors that were designed to be rotated.
  312.               If yours is _not_ one of those, but you absolutely must
  313.               turn it to its side, you do so at your own risk.
  314.  
  315.               ******************************************************
  316.               PLEASE DO NOT LET YOUR MONITOR WITHOUT ATTENTION IF IT
  317.               IS PLUGGED IN AND TURNED TO ITS SIDE
  318.               ******************************************************
  319.  
  320. -norotate     This is supposed to disable all internal rotations of the image,
  321.               therefore displaying the video output as it is supposed to be
  322.               (so you need a vertical monitor to see vertical games). In some
  323.               cases, the image will be upside down. To correct that, use
  324.               -norotate -flipx -flipy.
  325. -frameskip n (default: auto)
  326.               skip frames to speed up the emulation. The argument is the number
  327.               of frames to skip out of 12. For example, if the game normally
  328.               runs at 60 fps, "-frameskip 2" will make it run at 50 fps, and
  329.               "-frameskip 6" at 30 fps. Use F11 to check the speed your
  330.               computer is actually reaching. If it is below 100%, increase the
  331.               frameskip value. You can press F9 to change frameskip while
  332.               running the game.
  333.               When set to auto (the default), the frameskip setting is
  334.               dynamically adjusted at run time to display the maximum possible
  335.               frames without dropping below 100% speed.
  336. -antialias/-noantialias (default: -antialias)
  337.               antialiasing for the vector games.
  338. -beam n       sets the width in pixels of the vectors. n is a float in the
  339.               range of 1.00 through 16.00.
  340. -flicker n    make the vectors flicker. n is an optional argument, a float in
  341.               the range 0.00 - 100.00 (0=none 100=maximum).
  342. -translucency/-notranslucency (default: -translucency)
  343.               enables or disables vector translucency.
  344.  
  345. -soundcard n  select sound card (if this is not specified, you will be asked
  346.               interactively)
  347. -sr n         set the audio sample rate. The default is 22050. Smaller values
  348.               (e.g. 11025) will cause lower audio quality but faster emulation
  349.               speed. Higher values (e.g. 44100) will cause higher audio quality
  350.               but slower emulation speed.
  351. -sb n         set the audio sample bits, either 8 or 16. The default is 8.
  352.               16 will increase quality with certain games, but decrease speed.
  353.               This is a software setting, not hardware. The sound card will
  354.               always be used in 16 bit mode, if possible.
  355. -stereo/-nostereo (default: -stereo)
  356.               enables stereo output for games supporting it.
  357. -volume n     (default: 0) set the startup volume. It can later be changed
  358.               using the On Screen Display. The volume is an attenuation in dB,
  359.               e.g. "-volume -12" will start with a -12dB attenuation.
  360. -ym3812opl/-noym3812opl (default: -noym3812opl) use the SoundBlaster OPL chip for
  361.               music emulation of the YM3812 chip. This is faster, and is
  362.               reasonably accurate since the chips are 100% compatible. However,
  363.               there is no control on the volume, and you need a real OPL chip
  364.               for it to work (if you are using a SB compatible card that
  365.               emulates the OPL in software, the built in digirtal emulation
  366.               will probably sound better).
  367.  
  368. -joy name (default: none) allows joystick input, name can be:
  369.               none         - no joystick
  370.               auto         - attempts auto detection
  371.               standard     - normal 2 button joystick
  372.               dual         - dual joysticks
  373.               4button      - Stick/Pad with 4 buttons
  374.               6button      - Stick/Pad with 6 buttons
  375.               8button      - Stick/Pad with 8 buttons
  376.               fspro        - CH Flightstick Pro
  377.               wingex       - Wingman Extreme
  378.               wingwarrior  - Wingman Warrior
  379.               sidewinder   - Microsoft Sidewinder (up to 4)
  380.               gamepadpro   - Gravis GamePad Pro
  381.               grip         - Gravis GrIP
  382.               grip4        - Gravis GrIP constrained to only move along the
  383.                              four main axis
  384.               sneslpt1     - SNES pad on LPT1 (needs special hardware)
  385.               sneslpt2     - SNES pad on LPT2 (needs special hardware)
  386.               sneslpt3     - SNES pad on LPT3 (needs special hardware)
  387.               psxlpt1      - PSX pad on LPT1 (needs special hardware)
  388.               psxlpt2      - PSX pad on LPT2 (needs special hardware)
  389.               psxlpt3      - PSX pad on LPT3 (needs special hardware)
  390.               n64lpt1      - N64 pad on LPT1 (needs special hardware)
  391.               n64lpt2      - N64 pad on LPT2 (needs special hardware)
  392.               n64lpt3      - N64 pad on LPT3 (needs special hardware)
  393.  
  394.               Notes:
  395.               1) Use the TAB menu to calibrate analog joysticks. Calibration
  396.               data will be saved in mame.cfg. If you're using different
  397.               joytypes for different games, you may need to recalibrate your
  398.               joystick every time.
  399.               2) Extra buttons of noname joysticks may not work.
  400.               3) the "official" Snespad-Support site is
  401.               http://snespad.emulationworld.com
  402.               4) http://www.debaser.force9.co.uk/ccmame has info on how to
  403.               connect PSX and N64 pads.
  404.  
  405. -hotrod       sets a default keyboard configuration suitable for the HotRod
  406.               joystick by HanaHo Games.
  407.  
  408. -log          create a log of illegal memory accesses in ERROR.LOG
  409. -help, -?     display current MAME version and copyright notice
  410. -list         display a list of currently supported games
  411. -listfull     display a list of game directory names + description
  412. -listroms     display selected game required roms
  413. -listsamples  display selected game required samples
  414. -listdetails  display a detailed list of drivers and the hardware they use
  415. -listgames    list the supported games, year, manufacturer
  416. -listinfo     list comprehensive details for all of the supported games
  417. -listclones   list all clones of the specified game
  418. -noclones     used together with the list commands, doesn't list alternate
  419.               versions of the same game
  420. -verifyroms   check selected game(s) for missing and invalid ROMs. * checks all
  421.               available games.
  422. -verifysets   check selected game(s) and report their status. * checks all
  423.               available games.
  424. -verifysamples check selected game for missing samples.
  425. -romdir       specify an alternate directory/zip name where to load the ROMs
  426.               for the specified game. E.g. "mame pacman -romdir pachack" will
  427.               run the Pac Man driver but load the roms from the "pachack" dir
  428.               or "pachack.zip" archive.
  429. -mouse/-nomouse (default: -mouse) enable/disable mouse support
  430. -cheat        Cheats like the speedup in Pac Man or the level skip in many
  431.               other games are disabled by default. Use this switch to turn
  432.               them on.
  433. -debug        Activate the integrated debugger. During the emulation, press
  434.               tilde to enter the debugger. This is only available if the
  435.               program is compiled with MAME_DEBUG defined.
  436. -record name   Record joystick input on file INP/name.inp.
  437. -playback name Playback joystick input from file INP/name.inp.
  438. -savecfg      no longer supported at the moment
  439. -ignorecfg    ignore mame.cfg and start with the default settings
  440.  
  441.  
  442. Keys
  443. ----
  444. Tab          Toggles the configuration menu
  445. Tilde        Toggles the On Screen Display
  446.              Use the up and down arrow keys to select the parameter (global
  447.              volume, mixing level, gamma correction etc.), left and right to
  448.              arrow keys to modify it.
  449. P            Pause
  450. Shift+P      While paused, advance to next frame
  451. F3           Reset
  452. F4           Show the game graphics. Use cursor keys to change set/color,
  453.              F4 or Esc to return to the emulation.
  454. F9           Change frame skip on the fly
  455. F10          Toggle speed throttling
  456. F11          Toggle speed display
  457. Shift+F11    Toggle profiler display
  458. F12          Save a screen snapshot. The default target directory is SNAP, you
  459.              have to create it yourself, it will not be created by the program
  460.              if it isn't there.
  461. ESC          Exit emulator
  462.