====== Welcome to the MESS Wiki! ====== Welcome to the official wiki for MESS (**M**ulti **E**mulator **S**uper **S**ystem), part of the [[http://mamedev.org/|MAME]]((MAME is a registered trademark of Nicola Salmoria.)) project. MAME is a source-available project which documents the hardware for a wide variety of (mostly vintage) arcade machines, computers, video game consoles, and calculators through software emulation. As a nice side effect to this documentation, MAME allows software and games for these hardware platforms to be run on modern PCs. Prior to version 0.162 (May 2015), MAME only supported arcade machines, and MESS was a separate emulator for all other types of systems, built on the same code base, although there has been increasingly close cooperation between the teams for many years. **AS OF VERSION 0.162, MAME AND MESS HAVE BEEN COMBINED INTO A SINGLE EMULATOR!** It is still possible (for now) to compile a separate MESS executable, but only the combined version is available as an official download (this combined build is just called "MAME", and supports all of the same features MESS used to). Please note that much of the documentation on this wiki and elsewhere has not yet been updated to take these changes into account. The goal of this wiki is to document how to use MESS, the technical architecture of MESS, and the systems emulated by MESS. If you want to help, register a user name and look at the pages already in the Wiki to get an idea how things are currently laid out here. As of version [[http://www.mamedev.org/release.html|0.163]], MESS supports 1,081 unique systems with 2,199 total system variations and is growing all the time (you can find a complete list of the supported systems [[http://www.progettoemma.net/mess/sysset.php|here]]). However, not all of the systems in MESS are fully functional. If you have any questions or would like to contribute to MESS or the wiki, feel free to join us in the IRC channel ''#mame'' on [[http://freenode.net/|Freenode]] or at the [[http://forums.bannister.org/ubbthreads.php?ubb=postlist&Board=1&page=1|MESS forum]]. ===== Downloads ===== ==== Emulator ====== MESS is now incorporated into MAME. Current source code and binaries for MAME can be found on the [[http://www.mamedev.org/release.html|MAME release page]]. [[http://www.mamedev.org/oldrel.html|Previous versions]] are available as well. ==== Extra Files ==== Artwork files for use with MESS can be downloaded at the [[artwork|MESS Artwork Project]]. Collections of cheat files for use with some systems emulated by MESS can be downloaded at [[http://cheat.retrogames.com/mess_downloads.htm|Pugsy's Cheats]]. SysInfo, which contains details of the original machines and basic usage instructions, can be downloaded at [[http://www.progettoemma.net/mess/extra.html|ProjectMESS]]. For completeness of information, you can also use [[http://www.progettosnaps.net/messinfo|MESSInfo.dat]], which lists, for all systems and drivers, any changes present in “whatsnew” and SVN. [[Previous MESS Versions]] is an interesting historical section that takes the whatsnew.txt files from previous MESS releases and creates new wiki-fied and hyperlinked versions of them for easier browsing and identification of contributors. ==== External Frontends ==== For information on external frontends to provide an optional alternative GUI to the MESS emulator, you can consult the [[mess:howto#frontends|MESS User's Manual]]. ==== Freely Available Systems ==== The [[freely_available_systems|following systems]] supported by MESS have had permission granted by their respective copyright owners for free distribution of the system ROMs (and sometimes other software as well). Note that such permission generally does not extend to third-party software or add-ons, and usually still prohibits commercial use (which is also prohibited by the [[license|MESS license]]). ===== Random Screenshots ===== {{gallery>mess:drivers:?*&200x150&direct&3&=9&random&nocache&lightbox}} ===== Documentation ===== Below, you can find some documents about MESS and its usage. ==== Usage Docs ==== * [[mess:howto|MESS User's Manual]] * [[faq|MESS FAQ]] * [[sysinfo|SysInfo.dat]] - miscellaneous info about systems emulated by MESS and usage instructions (//generated by script//) * [[http://git.redump.net/mess/plain/sysinfo.dat|SysInfo.dat]] - miscellaneous info about systems emulated by MESS and usage instructions * [[compiling_mess|Compile MESS]] * [[mess:usage|Usage (output of -showusage command)]] * [[mess:mess.ini|mess.ini Contents]] with Comments and Descriptions * [[debugger]] -help Output (Debugger Commands and Their Usage) * [[mess:swlist_format|Software List Format]], i.e. a brief guide to the XML format of MESS - "new" feature * How To's * [[howto:sdlmame_sdlmess_framebuffer|Run SDLMAME/SDLMESS on a Framebuffer Device]] * [[http://members.iinet.net.au/~lantra9jp1/gurudumps/tutorials/dumping_cds_&_hdds/index.html#cd|Create a CHD from a CD for Use in MESS Drivers]] (courtesy of The Guru) * Macintosh Driver Setup * [[howto:install_mac_system_6|Install Macintosh System 6]] * [[howto:install_mac_os_7|Install Mac OS 7.5.3]] * [[howto:create_large_mac_hds|Create Large (4GB > x > 20 MB) Mac CHDs]] * [[howto:convert_chd_basilisk|Convert Mac CHDs Back and Forth into Other Formats]] * [[howto:apollo|Use the Apollo Emulation]] * [[http://www.ninerpedia.org/index.php/MESS|Unofficial MESS TI-99 Emulation Pages]] at ninerpedia ==== Programming Docs ==== * How To's * [[howto:setup eclipse for mess|Setup Eclipse for MESS]] * [[howto:add_a_mess_skeleton_driver|Add a Skeleton Driver to MESS]] * [[howto:mess_driver_lifecycle|The MESS Driver Lifecycle]] * [[howto:artwork|Artwork Explained]] * [[reference:MAME and MESS source layout|Description of MAME and MESS Source Layout]] * MAME Reference {{topic>reference +mame&list&nodate&nouser¬ags}} * [[reference:cpunum_set_input_line|cpunum_set_input_line()]] * [[reference:cpunum_set_input_line_and_vector|cpunum_set_input_line_and_vector()]] * [[reference:cpunum_set_input_line_vector|cpunum_set_input_line_vector()]] * [[reference:cpunum_set_irq_callback|cpunum_set_irq_callback()]] * [[reference:logerror|logerror()]] * [[reference:mame_rand|mame_rand()]] * [[reference:popmessage|popmessage()]] * MESS Reference {{topic>reference +mess -tools -imgtool&list&nodate&nouser¬ags}} * [[reference:system_config|SYSTEM_CONFIG]] * [[reference:device_getinfo|device_getinfo]] * [[http://mamedev.org/devwiki/index.php/How_MAME_Works|How MAME Works]] at the MAME DevWiki ==== Wiki Docs ==== * [[wiki:syntax|Formatting Syntax]] * How To's * [[howto:upload screenshots|Upload Screenshots to the Wiki]] ===== Driver Infos ===== * [[mess:driver_info:easc|Enhanced Apple Sound Chip (EASC)]] notes and information * [[mess:driver_info:m50753-based_pmu|M50753 PMUs]] notes and information * [[mess:driver_info:mac_technical_notes|Mac Technical Notes]] and information * [[sysinfo:gba:bugs|Game Boy Advance Bugs in Current MESS]] - a list of discovered bugs in the Nintendo Game Boy Advance drivers in MESS (historical, placeholder) * [[sysinfo:pce:bugs|PC Engine / TurboGrafx 16 Bugs in Current MESS]] - a list of discovered bugs in the NEC PC Engine / TurboGrafx 16 drivers in MESS (historical, placeholder) * [[sysinfo:saturn:bugs|Saturn Bugs in Current MESS]] - a list of discovered bugs in the Sega Saturn drivers in MESS (historical) * [[sysinfo:snes:bugs|SNES Bugs in Current MESS]] - a list of discovered bugs in the Nintendo SNES / Super Famicom drivers in MESS (historical) * [[sysinfo|SysInfo.dat]] - miscellaneous info about systems emulated by MESS and usage instructions (//generated by script//) * [[http://www.progettoemma.net/mess/extra.html|SysInfo.dat]] - miscellaneous info about systems emulated by MESS and usage instructions * [[Datasheets|Datasheets]] - collection of datasheets for components used by systems emulated by MESS * [[http://www.progettoemma.net/mess/|ProjectMESS]] - website displaying info and images about systems and games supported by MESS ===== Development ===== MESS is now part of the [[https://github.com/mamedev/mame|MAME repository on GitHub]], where you can follow the development (or take a look at the [[sidebar|wiki sidebar]]!). If you want to contribute and help with coding, there is a general [[mess:todo|ToDo list]] on the Wiki. There are also unofficial mirrors of the project commit histories: * [[http://git.redump.net/mame/|Redump.net's MAME/MESS GIT Repository Browser]] (2012-) * [[http://mess.dorando.at/svn/|Dorando's MESS SVN History]] (2007-2012) * [[http://mess.dorando.at/cvs/|Dorando's MESS CVS History]] (pre-2007) The tools needed to [[compiling_mess|compile MESS]] can be downloaded from the [[build tools]] page. Bugs should be submitted to [[http://mametesters.org/|MAME Testers]]. ===== Tools ===== ==== MESS Tools ==== * [[tools:chdman]] * [[tools:castool]] * [[reference:imgtool|imgtool]] ==== Related Tools ==== * [[tools:mame_regtest|mame_regtest]] * [[tools:mame_regtest:testing|testing]] * [[tools:mame_regtest:config|config]] * [[tools:mame_regtest:results|results]] ==== Driver-Specific Tools ==== * ti99_4x, geneve * [[http://www.mizapf.de/ti99/tiimagetool.zip|TIImageTool]], Java-based tool for working with TI disk images, also containing the serial bridge connector (requires RXTX library) ===== Dumping Project ===== The goal of this project is to identify, acquire and dump the systems needed for emulation. The project strives to preserve all game consoles, handheld and computers (basically anything not found in an arcade). The MESS Dumping project parallels the work of the MAME Dumping Project. The project has a couple of different sub-pages: * [[dumping:info|Dumping Project Overview]] * [[dumping:wanted|Systems]] that need to be acquired and dumped (by major manufacturer) * [[dumping:have|Systems and games]] need to be dumped that have been acquired * [[mess:drivers_needed|Systems]] that need drivers in MESS, for which ROMs are known to be available * [[dumping:badmissing|Systems]] that are in MESS that have no, bad or partial dumps (//generated by script//) * [[dumping:games_needed|Games]] that need to be acquired and dumped * How To: * [[dumping:2364_mask_roms|Dump 2364 Mask ROMs]] * [[dumping:dump_bios_using_debug|Dump a BIOS using DEBUG.COM]] * [[dumping:dumping_cdi_bios|Dump the CD-i's BIOS Using a Null-Modem Cable]] ===== Personal Pages ===== Some MESS contributors have set up personal user pages on this Wiki, where you can find info about their activities, their collections, WIPs and other stuff. * [[people:curt_coder|Curt Coder]] * [[people:duke|Duke]] * [[people:incog|incog]] * [[people:lord_nightmare|Lord Nightmare]] * [[people:mahlemiut|mahlemiut]] * [[people:mizapf|Michael Zapf]] * [[people:wilbert_pol|Wilbert Pol]] * [[people:fsanches|Felipe Sanches]] ===== Project Blogs ===== * [[http://mamedev.emulab.it/etabeta/|etabeta's playground]] * [[http://incog-inblog.blogspot.com/|inblog (incog's blog)]] * [[http://micko-wip.blogspot.com/|Micko's WIP]] * [[http://web.archive.org/web/20111222075831/http://moogle-tech.com/blog/?tag=mess|MooglyGuy's N64 Blog (archive)]] * [[http://messui.polygonal-moogle.com/|The MESSUI Place (Robbbert's site)]] ===== MESS License ===== * [[:license|MESS License]] ===== Contact the Authors ===== * [[:contacts.php|Contact the Authors]] ===== Links ===== * [[:links.php|Links]]