home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / programs / emulaton / mess / readme_txt < prev    next >
Text File  |  1998-08-12  |  20KB  |  464 lines

  1.                     M.E.S.S.  -  Multi-Emulator Super System
  2.                       Copyright (C) 1998  by the MESS team
  3.  
  4. Please note that many people helped with this project, either directly or by
  5. releasing source code which was used to write the drivers. We are not trying to
  6. appropriate merit which isn't ours. See the acknowledgemnts section for a list
  7. of contributors, however please note that the list is largely incomplete. See
  8. also the CREDITS section in the emulator to see the people who contributed to a
  9. specific driver. Again, that list might be incomplete. We apologize in advance
  10. for any omission.
  11.  
  12. All trademarks cited in this document are property of their respective owners.
  13.  
  14.  
  15. Usage and Distribution Licence
  16. ------------------------------
  17.  
  18. I. Purpose
  19. ----------
  20.    MESS is strictly a no profit project. Its main purpose is to be a reference
  21.    to the inner workings of the many existing console and computer systems.
  22.    This is done for educational purposes and to preserve them from the oblivion
  23.    they would sink into when the hardware they run on will stop working.
  24.    Of course to preserve the systems you must also be able to actually use them;
  25.    you can see that as a nice side effect.
  26.    It is not our intention to infringe any copyrights or patents (pending or active)
  27.    on the original games. All of the source code is either our own or freely
  28.    available. To work, the emulator often requires ROMs, cartridges, disk images,
  29.    and/or tape images for the original systems. No portion of the code of the
  30.    original systems is included in the executable.
  31.  
  32. II. Cost
  33. --------
  34.    MESS is free. The source code is free. Selling it is not allowed. Charging
  35.    for the use of MESS is not allowed.
  36.  
  37. III. Images
  38. -----------
  39.    You are not allowed to distribute MESS and copyrighted images (including but
  40.    not limited to ROMs, cartridge images, disk images, and cassette images) on 
  41.    the same physical medium. You are allowed to make them available for download
  42.    on the same web site, but only if you warn users about the copyright status of
  43.    the images and the legal issues involved. You are NOT allowed to make MESS
  44.    available for download together with one giant big file containing any or all
  45.    of the supported images, or any files containing multiple non-associated images.
  46.    You are not allowed to distribute MESS in any form if you sell, advertise or
  47.    publicize illegal CD-ROMs or other media containing illegal images. Note that
  48.    the restriction applies even if you don't directly make money out of that.
  49.    The restriction of course does not apply if the CD-ROMs are published by the
  50.    copyright owners.
  51.  
  52. IV. Distribution Integrity
  53. --------------------------
  54.    MESS must be distributed only in the original archives. You are not allowed
  55.    to distribute a modified version, nor to remove and/or add files to the
  56.    archive. Adding one text file to advertise your web site is tolerated only
  57.    if your site contributes original material to the emulation scene.
  58.  
  59. V. Source Code Distribution
  60. ---------------------------
  61.    If you distribute the binary, you should also distribute the source code. If
  62.    you can't do that, you must provide a pointer to a place where the source
  63.    can be obtained.
  64.  
  65. VI. Reuse of Source Code
  66. -------------------------
  67.    This chapter might not apply to specific portions of MESS (e.g. CPU
  68.    emulators) which bear different copyright notices.
  69.    The source code cannot be used in a commercial product without a written
  70.    authorization of the authors. Use in non commercial products is allowed and
  71.    indeed encouraged; however if you use portions of the MESS source code in
  72.    your program, you must make the full source code freely available as well.
  73.    Derivative works are allowed (provided source code is available), but
  74.    discouraged: MESS is a project continuously evolving, and you should, in
  75.    your best interest, submit your contributions to the development team, so
  76.    that they are integrated in the main distribution. Usage of the
  77.    _information_ contained in the source code is free for any use. However,
  78.    given the amount of time and energy it took to collect this information, we
  79.    would appreciate if you made the additional information you might have
  80.    freely available as well.
  81.  
  82.  
  83.  
  84. How to Contact Us
  85. -----------------
  86.  
  87. Here are some of the people contributing to MESS. If you have comments,
  88. suggestions or bug reports about an existing driver, check the driver's Credits
  89. section to find who has worked on it, and send comments to that person. If you
  90. are not sure who to contact, write to Brad (bradman@primenet.com) - he is the
  91. current coordinator of the MESS project. If you have comments specific to a
  92. given operating system, they should be sent to the respective port maintainer.
  93. You will find their e-mail address in the "readme.1st" file that comes with MESS.
  94.  
  95. Brad Oliver           bradman@primenet.com (current coordinator)
  96.  
  97. Mike Balfour          mab22@po.cwru.edu
  98. Richard Bannister     titan@indigo.ie
  99. Juergen Buchmueller   pullmoll@t-online.de
  100. Gareth Long           gatch@elecslns.demon.co.uk
  101. Jeff Mitchell         skeezix@skeleton.org
  102. Frank Palazzolo       palazzol@home.com
  103. Mathis Rosenhauer     rosenhau@mailserv.sm.go.dlr.de
  104. Chris Salomon         chrissalo@aol.com
  105.  
  106. DON'T SEND BINARY ATTACHMENTS WITHOUT ASKING FIRST, *ESPECIALLY* ROM IMAGES.
  107.  
  108. THESE ARE NOT SUPPORT ADDRESSES. Support questions sent to these addresses
  109. *will* be ignored. Please understand that this is a *free* project, mostly
  110. targeted at experienced users. We don't have the resources to provide end user
  111. support. Basically, if you can't get the emulator to work, you are on your own.
  112. First of all, read the docs carefully. If you still can't find an answer to
  113. your question, try checking the beginner's sections that many emulation pages
  114. have, or ask on the appropriate Usenet newsgroups (e.g. comp.emulators.misc)
  115. or on the emulation message boards (e.g. http://www.escape.com/~ego/dave/console/).
  116.  
  117. Also, DO NOT SEND REQUESTS FOR NEW SYSTEMS TO ADD, unless you have some original
  118. info on the hardware or, even better, have the technical expertise needed to
  119. help us. Please don't send us information widely available on the Internet -
  120. we are perfectly capable of finding it ourselves, thank you.
  121.  
  122. Usage
  123. -----
  124. Please see the "readme.1st" file that comes with the binary - it explains the
  125. options that are specific to each platform.
  126.  
  127.  
  128. Supported Systems
  129. -----------------
  130.  
  131. Apple II Family:
  132. ----------------
  133. Usage:
  134.     See the "Keyboard Setup" menu, accessible by hitting TAB, for key mappings.
  135.  
  136. Compatibility:
  137.     It boots up some disk images if you pick the Apple IIc driver. Others haven't
  138.     been tested very extensively and probably won't work. This driver is still
  139.     preliminary.
  140.     
  141.     
  142. Astrocade:
  143. ----------
  144.     
  145.     
  146. Atari 800:
  147. ----------
  148. Usage:
  149.     See the "Keyboard Setup" menu, accessible by hitting TAB, for key mappings.
  150.  
  151. Compatibility:
  152.     It runs just about anything you throw at it.
  153.     
  154.     
  155. Atari 5200:
  156. -----------
  157. Usage:
  158.     See the "Keyboard Setup" menu, accessible by hitting TAB, for key mappings.
  159.  
  160. Compatibility:
  161.     This driver is preliminary and won't run past the demo screen. Help is needed.
  162.     
  163.     
  164. ColecoVision:
  165. -------------
  166. Usage:
  167.     arrow keys - 1p move
  168.     ctrl, alt - 1p fire
  169.     1-0 - number keys on the Colecovision controller
  170.     minus - '#' key on the Colecovision controller
  171.     equals - '.' key on the Colecovision controller
  172.     See the "Keyboard Setup" menu, accessible by hitting TAB, for more key mappings.
  173.  
  174. Compatibility:
  175.     To the best of my knowledge, this emulation should run any cartridge
  176.     accurately.
  177.  
  178. Notes:
  179.     The Colecovision driver requires the presence of "COLECO.ROM".  The driver
  180.     will not function without this ROM.  A real Colecovision also will not
  181.     function without this ROM.
  182.  
  183. Thanks:
  184.     Special thanks to Marat Fayzullin for providing loads of Colecovision
  185.     information through the ColEm source.
  186.  
  187.  
  188. Colour Genie:
  189. -------------
  190. Usage:
  191.     keyboard - relatively close to the original layout.
  192.         Take a look into the "Options" menu, accessible by hitting
  193.         TAB, and choose "Keyboard Setup" to find out more about
  194.         the key mapping - changing is not yet supported.
  195.     joystick - emulation of dual Colour Genie joysticks with keypads.
  196.     cassette - emulation of virtual tapes supported.
  197.         Use SYSTEM or CLOAD commands to read images.
  198.         SYSTEM supports 6 character filenames, CLOAD loads
  199.         a file named BASIC[N].CAS, where [N] is the character
  200.         you supplied (e.g. CLOAD"M" loads BASICM.CAS)
  201.     floppies - emulation of virtual floppy discs supported.
  202.         Use CMD"I0" to "CMDI3" to get an inventory of drive 0 to 3,
  203.         use CMD"S FILENAME/CMD" to start a binary executable or use
  204.         LOAD"FILENAME/BAS" to load a basic program.
  205.  
  206. Options:
  207. Under the "Options" menu, accessible by hitting TAB, there are three settings.
  208.     "Floppy Disc Drives"  - enable or disable floppy disc controller.
  209.     "DOS ROM C000-DFFF"   - enable 8K DOS ROM or make it RAM.
  210.     "EXT ROM E000-EFFF"   - enable 4K Extension ROM or make it RAM.
  211.  
  212. Compatibility:
  213.     The Colour Genie driver should run most of the known programs out there.
  214.     It supports the Motorola 6845 CRT controller with text and graphics
  215.     modes (LGR and FGR), the AY-3-8910 sound chip with three audio channels
  216.     and noise and the WD 179x floppy disc controller with up to four
  217.     virtual floppy disc drives contained in image files.
  218.  
  219. Known issues:
  220.     Startup with CAS or CMD images does not always work. Use the BASIC
  221.     SYSTEM or CLOAD commands to read cassette image files, or use
  222.     the Colour Genie DOS ROM with floppy disc images to run programs.
  223.     The driver does not yet emulate the printer port mode for AY-3-8910.
  224.     Right now it always uses the AY-3-8910 ports for joystick emulation.
  225.  
  226. Notes:
  227. The Colour Genie driver requires the presence of the following images:
  228.     CGENIE.ROM      16K Basic and BIOS.
  229.     CGENIE1.FNT     8x8 default character set with graphics.
  230. To access the virtual floppy disc capabilities you need:
  231.     CGDOS.ROM       8K Disk Operation System.
  232. And as an add-on "DOS Interface" you can use:
  233.     NEWE000.ROM     4K Extension
  234.  
  235.  
  236. Genesis (MegaDrive in Japan/Europe):
  237. ------------------------------------
  238. Usage:
  239.     arrow keys - 1p move
  240.     control, alt - 1p fire
  241.     1,2 - 1, 2 player select
  242.     return - 1p start
  243.     See the "Keyboard Setup" menu, accessible by hitting TAB, for more key mappings.
  244.  
  245. Options:
  246.     Under the "Options" menu, accessible by hitting TAB, you will find the
  247.     following option:
  248.  
  249.     "Country" - this allows you to alter the 'flavour' of Genesis, to either European,
  250.                 Japanese or American. Many cartridges compare their country codes with
  251.                 that of the Genesis itself and may behave differently, or lock up if the
  252.                 two types do not match.
  253.                 'Auto' attempts to auto-set the Genesis country code to the value the
  254.                 cartridge will appear to be checking for. This may not be 100% accurate,
  255.                 however.
  256.  
  257. Compatibility:
  258.     Most games tend to run fairly well. some with slight graphic glitches, incorrect
  259.     colours part way down the screen or other b'zarre effects.
  260.  
  261.     Cartridges up to 32MBit (4MByte) are supported.
  262.  
  263.     The controller may not work well with some games. This will be resolved when I
  264.     obtain more information. Similarly, 6-button joypads aren't emulated yet.
  265.  
  266.     Split screen effects and interlacing are not yet supported.
  267.  
  268.     Sprite/layer priority should be perfect.
  269.  
  270.     Sound is emulated at Z80 and PSG76489 level. There is preliminary YM2612 support.
  271.  
  272. Notes:
  273.     I still consider the Genesis driver extremely preliminary. I have a lot of further
  274.     work to do before I consider it anywhere near complete. My initial goal is to make
  275.     it as compatible as possible. Currently there is scope within the driver to handle
  276.     split screen colour changes/any VDP effect, interlacing, without rewriting. The
  277.     graphics renderer emulates VDP at scanline level, and does not use tile-based
  278.     methods.
  279.     
  280. Wanted:
  281.     Any Sega Megadrive information! Information is extremely sparse; typically the same
  282.     three-four documents, with parts incomplete, conflicting, and corrupted. Specifically,
  283.     some of the finer points of DMA transfer, and access of the 68K memory map by the Z80.
  284.     Generally, points which conflict with themselves in the documentation available on
  285.     the net...
  286.  
  287. Thanks:
  288.     ...which I'm thankful for, as there certainly isn't any source available to look at!
  289.     Thanks to the rest of the MESS team, Terence & Philip and the MAME team, Kevin Lingley
  290.     for support and ex(p|t)ensive games testing in this driver's ARM code & early forms,
  291.     and, of course, Stan, Kyle, Eric, Kenny...
  292.     
  293.     Please note that no goats were sacrificed during the development of this driver. 
  294.  
  295.  
  296. Kaypro CP/M:
  297. ------------
  298.  
  299.  
  300. NES:
  301. ----
  302. Usage:
  303.     arrow keys - 1p move
  304.     control, alt - 1p fire
  305.     1,2 - 1, 2 player select
  306.     return - 1p start
  307.     See the "Keyboard Setup" menu, accessible by hitting TAB, for more key mappings.
  308.     
  309. Options:
  310.     Under the "Options" menu, accessible by hitting TAB, are two settings.
  311.     "Renderer" - can be set to Scanline or Experimental. The Scanline renderer gives
  312.                  the most accurate display, but can be slow. The Experimental
  313.                  option is much faster, but still needs quite a bit of work before it
  314.                  displays properly in all cases. It's best used for games with no
  315.                  scrolling playfields, like Donkey Kong, etc.
  316.     "Split-Screen fix" - defaults to off. Turn it on to see proper split screens in
  317.                  games like Kirby's Adventure and Airwolf. This will most likely go
  318.                  away in the future as we figure out how these split screens really work.
  319.  
  320. Compatibility:
  321.     The NES driver should run 99% of the ROMs currently out there with very little problem.
  322.     It doesn't yet support a lot of the obscure mappers used in fwNES, but this is on deck
  323.     for the next release. For the record, it supports mappers 1, 2, 3, 4, 5 (incomplete),
  324.     7, 8, 9 & 10 (incomplete), 11, 15, 16, 18 (vrom probs), 25 (vrom probs), 33, 34,
  325.     64, 65, 66, 68 (incomplete), 69 (incomplete), 71, 78, 79.
  326.     Some of the mappers > 63 haven't been fully tested yet.
  327.     
  328. Notes:
  329.     The main focus up until this point has been in getting the NES driver as accurate
  330.     as possible. Unfortunately, the scanline rendering method is quite slow, so future
  331.     efforts will be focusing on bringing up the speed. Also, the sound code is still a
  332.     bit shaky. However, the NES driver does have quite accurate sample playback. For example,
  333.     you can hear speech samples in Bayou Billy, Gauntlet, Dirty Harry, and Skate or Die
  334.     that are not present in a few other NES emulators.
  335.     
  336. Wanted:
  337.     I'd appreciate any info on some of the more obscure mappers. If you have
  338.     any of this, please drop me a line at bradman@primenet.com.
  339.     
  340. Thanks:
  341.     Special thanks to Nicolas Hamel for xNES. Also, thanks to Marat Fayzullin, D,
  342.     Icer Addis, Matt Conte, Arthur Langereis, and John Stiles for tips and moral support during
  343.     the development of the NES driver. And last but not least, thanks to Jeremy Chadwick
  344.     and Firebug for their respective NES docs, without which this driver would have taken
  345.     considerably longer. I'll be sending you guys updates for both files soon. ;)
  346.  
  347.  
  348. PDP/1:
  349. ------
  350.  
  351.  
  352. Sega MasterSystem/GameGear:
  353. ---------------------------
  354. Usage:
  355.     arrow keys - 1p move
  356.     control, alt - 1p fire
  357.     1,2 - 1, 2 player select
  358.     return - 1p start
  359.     See the "Keyboard Setup" menu, accessible by hitting TAB, for more key mappings.
  360.     
  361. Compatibility:
  362.     It's not very compatible right now. The code is still quite preliminary. It should run
  363.     most of the ROMs, but quite a few exhibit graphics glitches. The MasterSystem has
  364.     totally incorrect color also. Sound emulation appears to be near perfect though.
  365.     
  366. Wanted:
  367.     We'd like some spare time to work on this. Care to donate any? :)
  368.     
  369. Thanks:
  370.     Thanks to Marat Fayzullin for his MasterGear emulation.
  371.  
  372.  
  373. TRS-80:
  374. -------
  375. Usage:
  376.     keyboard - relatively close to the original layout.
  377.         Take a look into the "Options" menu, accessible by hitting
  378.         TAB, and choose "Keyboard Setup" to find out more about
  379.         the key mapping - changing is not yet supported.
  380.     cassette - emulation of virtual tapes supported.
  381.         Use SYSTEM or CLOAD commands to read images.
  382.         SYSTEM supports 6 character filenames and loads the
  383.         corresponding FILENM.CAS image, CLOAD loads a file named
  384.         BASIC[N].CAS, where [N] is the character you supplied
  385.         (e.g. CLOAD"M" loads BASICM.CAS)
  386.     floppies - emulation of virtual floppy discs supported.
  387.         Use a NEWDOS/80 boot disk for drive 0 and set up correct
  388.         PDRIVE parameters for the other drives.
  389.         If only drives 0 to 2 are used they can be double sided
  390.         by interpreting drive select 3 as head select bit.
  391.  
  392. Options:
  393. Under the "Options" menu, accessible by hitting TAB, there are three settings.
  394.     "Floppy Disc Drives"  - enable or disable floppy disc controller.
  395.     "Video RAM"           - enable upper case only or upper/lower font.
  396.     "Virtual E000-EFFF"   - enable 4K Extension ROM or make it RAM.
  397.  
  398. Compatibility:
  399.     The TRS-80 driver should run most of the known programs out there.
  400.     It supports a WD 179x floppy disc controller with up to four
  401.     virtual floppy disc drives contained in image files.
  402.  
  403. Notes:
  404. The TRS-80 driver requires the presence of the following images:
  405.     TRS80.ROM         12K Level II Basic.
  406.     TRS80M1.CHR       6x15 default character set with block graphics.
  407.  
  408.  
  409. Vectrex:
  410. --------
  411. Usage:
  412.     See the "Keyboard Setup" menu, accessible by hitting TAB, for key mappings.
  413.  
  414. Compatibility:
  415.     To the best of our knowledge, this emulation should run most cartridges
  416.     accurately.
  417.  
  418. Notes:
  419.     The Vectrex driver requires the presence of "SYSTEM.IMG".  The driver
  420.     will not function without this ROM.  A real Vectrex also will not
  421.     function without this ROM. Also, overlay support isn't present but is
  422.     being worked on for a future release.
  423.  
  424. Thanks:
  425.     Special thanks to Keith Wilkins and Chris Salomon for their work on DVE
  426.     and their help,    without which this driver would have taken much longer.
  427.  
  428.  
  429.  
  430. Acknowledgments
  431. ---------------
  432.  
  433. First off, we'd like to thank Nicola Salmoria and the MAME team for letting us
  434. play with their code. Without it, MESS would be substantially less than what
  435. it is right now.
  436.  
  437. Z80Em Portable Zilog Z80 Emulator Copyright (C) Marcel de Kogel 1996,1997
  438.    Note: the version used in MESS is slightly modified. You can find the
  439.    original version at http://www.komkon.org/~dekogel/misc.html.
  440. M6502 Emulator Copyright (C) Marat Fayzullin, Alex Krasivsky 1996
  441.    Note: the version used in MESS is slightly modified. You can find the
  442.    original version at http://freeflight.com/fms/.
  443. I86 emulator by David Hedley, modified by Fabrice Frances (frances@ensica.fr)
  444. M6809 emulator by John Butler, based on L.C. Benschop's 6809 Simulator V09.
  445. M68000 emulator taken from the System 16 Arcade Emulator by Thierry Lescot.
  446. 8039 emulator by Mirko Buffoni, based on 8048 emulator by Dan Boris.
  447. TMS5220 emulator by Frank Palazzolo.
  448. AY-3-8910 emulation based on various code snippets by Ville Hallik,
  449.   Michael Cuddy, Tatsuyuki Satoh, Fabrice Frances, Nicola Salmoria.
  450. YM-2203, YM-2151, YM-2608 and YM-2612 emulation by Tatsuyuki Satoh.
  451. OPL based YM-2203 emulation by Ishmair (ishmair@vnet.es).
  452. POKEY emulator by Ron Fries (rfries@aol.com).
  453. Many thanks to Eric Smith, Hedley Rainne and Sean Trowbridge for information
  454.    on the Pokey random number generator.
  455. NES sound hardware info by Jeremy Chadwick and Hedley Rainne.
  456.  
  457. Allegro library by Shawn Hargreaves, 1994/97
  458. SEAL Synthetic Audio Library API Interface Copyright (C) 1995, 1996
  459.    Carlos Hasan. All Rights Reserved.
  460. Video modes created using Tweak 1.6b by Robert Schmidt, who also wrote
  461.    TwkUser.c.
  462. "inflate" code for zip file support by Mark Adler.
  463.  
  464.