MAME File Manager User Guide
User Manual:
Open the PDF directly: View PDF .
Page Count: 46
Download | |
Open PDF In Browser | View PDF |
MAME File Manager User Guide Author Reviewer phweda coccola 0.9.5 Release Table of Contents Introduction................................................................................................................................................1 Prerequisites...............................................................................................................................................2 Installation..................................................................................................................................................3 First Run.....................................................................................................................................................4 User Interface.............................................................................................................................................6 List Builder................................................................................................................................................ 9 List Editor................................................................................................................................................ 10 Software Lists.......................................................................................................................................... 12 Resources................................................................................................................................................. 14 Command Line Options...........................................................................................................................15 Mouse Actions..........................................................................................................................................16 Hot Keys.................................................................................................................................................. 17 Menus.......................................................................................................................................................19 Popup Menu.............................................................................................................................................22 Software List Popup Menu...................................................................................................................... 23 DATs.........................................................................................................................................................24 Troubleshooting....................................................................................................................................... 25 Help..........................................................................................................................................................27 Caution.....................................................................................................................................................28 Advanced Usage...................................................................................................................................... 29 What's New..............................................................................................................................................30 MAME XML........................................................................................................................................... 32 Appendix A – MFM.zip..........................................................................................................33 Appendix B – Machine Information........................................................................................................34 Appendix C – Editing startup scripts.......................................................................................................35 Appendix D – Resources & Logic...........................................................................................................36 Appendix E – Fatal Errors....................................................................................................................... 38 Appendix F – Add-on Look and Feels.....................................................................................................39 Appendix G – MAME Installation...........................................................................................................40 Appendix H – MAME Data Sets............................................................................................................. 41 Why Two Sets?...............................................................................................................................41 Location..........................................................................................................................................41 Appendix I – Glossary............................................................................................................................. 42 Appendix J – Data Set Torrent................................................................................................................. 43 Appendix K – Source Code..................................................................................................................... 44 Introduction MAME File Manager (MFM) is a desktop application for creating lists of Games and Systems, and extracting sets of MAME ROMs, CHDs, and Extras to another location from complete or larger sets. As of June 2018 the total of MAME resources is 3.0 TB+! MFM helps you create smaller sets. Its primary goals are: • Display all available information for each Machine1 • Filter machines to create lists • Create Playsets2 from lists The primary focus of MFM is machines that are runnable3. However we share both full and runnable only Data Sets. MFM does not audit or manage ROMs/CHDs/Extras in any way except for the intended copying a subset of runnable machines to a different location. It does not validate those files. Use a ROM Manager (such as Clrmamepro, RomVault or JRomManager) to validate/fix your sets. MFM will run MAME for you if you have your MAME properly setup and configured. This is a limited feature providing basics such as running a machine or running and recording a machine. MFM does not seek to be a full MAME frontend. 1 Machine is the current MAME term for a Game or System 2 Playset is a subset of MAME resources; ROMs, CHDs and Extras, for a list of machines 3 Runnable here is defined by Machine being marked Good or Imperfect by the MAME developers MFM 0.9.5 1 06/30/2018 Prerequisites Java 8 or higher installed. Java 10 recommended. In September 2018, Java 11. At least one set of: MAME ROMs, CHDs, Software List ROMs or Software List CHDs. MAME – some features of MFM require the MAME executable or additionally MAME preconfigured to run Machines. (see MAME Installation) Theoretically MFM will run on any OS with Java 8 (or higher) JVM Tested Operating Systems: • Windows 7 & 10 • Linux Ubuntu 16.10 • Mac OS X El Capitan RAM Memory Minimum System RAM for the JVM (Java Virtual Machine) will vary based on many factors. For simple 'out of the box' usage you need at least 1 GB although 2 GB is recommended. Parsing MAME (see Advanced Usage) requires 4+ GB. With Data Sets the most recent MAME versions, 0.190+, the recommended minimum RAM to run the ALL data sets is 2 GB. For 32-bit Java your maximum RAM for the JVM is approximately 1280 to 1536 MB. Screen Size 1280 x 1024 is the smallest screen size that MFM supports. However note that if you use the large or very large fonts some things will not show completely at that resolution. 1600 x 1024 or larger is recommended. MFM 0.9.5 2 06/30/2018 Installation File MFM .zip Unzip all contents into a folder. Recommended is to give MFM its own folder. Get Data Sets Download one or more Data Sets from the site where you obtained MFM. These are placed into /Data folder. MFM automatically searches that folder. If Java system variables are set in your OS (standard Java x64 installation) MFM is ready to run. Exception is if you are on 32-bit Java, you must edit the startup script. Use the MFM.bat or MFM.sh4 file provided. These will run without editing. If you do not have Java system variables set you will need to edit your .bat or .sh to point to the Java executable. See editing startup scripts. From Previous MFM If you have a previous MFM you can copy over your playlists. Copy file MFM_Playlists.xml from your old MFM to your new /Settings folder. 4 Unix users need to execute "chmod +x MFM.sh" first MFM 0.9.5 3 06/30/2018 First Run A settings windows will open. Image contains example entries as if filled out by you. Left-click twice on the edit box to launch the File Chooser. Any path you can traverse in the File Chooser can be used. • Playset directory is where MFM will copy resources to. Simplest setup is to use your MAME directory. • MAME Executable is where the installed binary of MAME is (mame64.exe), NOT the installation binary (e.g. mame0180b_64bit.exe). • MAME ROMs NON-MERGED checkbox to differentiate Split and Merged sets from NonMerged. Check if you have Non-Merged ROM set. If you have a Split or Merged set and check this your set will be missing some or all required ROMs. If unchecked and you have a NonMerged set unneeded resources are copied. MFM 0.9.5 4 06/30/2018 If you have more than one Data Set you will then be prompted to select a Data Set. MFM 0.9.5 5 06/30/2018 User Interface There are two basic modes: Full and List Only. Below is a screenshot of Full mode with MAME XML in the left hand panel. The List Only mode can be activated via switch -list (see Command Line Options). MFM 0.9.5 6 06/30/2018 Below is a screenshot of Full mode with an ALL data set loaded. When you load an All data set or parse MAME for all machines, those marked as preliminary (not runnable), will be highlighted in red. Preliminary machines only appear in the: All, Arcade, BIOS, Devices, Systems(MESS), and Languages lists. MFM 0.9.5 7 06/30/2018 List only mode Below is a screenshot of List only mode with no XML. This setup uses the least memory. It is possible, but not recommended, to run the latest All sets in this configuration with 1,280 MB RAM. MFM 0.9.5 8 06/30/2018 List Builder Set Base List – Select one of your lists to filter. Default is the built-in Runnable (All) list. Categories – if no categories are selected, MFM does not filter categories Controls – if no controls are selected, MFM does not filter controls Any → Machine has at least one of the selected Controls All → Machine has all the selected controls Exact → Machine has exactly the selected controls Make your selections, enter a List Name, and press the Create List button. If the list generated has one or more entries, it will be created and displayed in the main view. Save List to File – Saves selected list to a text file in the /Lists directory. File name is .txt Import List – Imports list from a text file Diff Lists – Removed feature; see List Editor MFM 0.9.5 9 06/30/2018 List Editor List Editor provides manual editing and List combination capabilities. Toggle view to side by side or top to bottom MFM 0.9.5 10 06/30/2018 Left hand or Top List contains all machines. These are the MAME Machine names. If you hover over an entry the tooltip will show the description. Example: 1941j → 1941: Counter Attack (Japan) Multi-select ( Ctrl then click entries with left mouse button) to add or remove machines from the Working List. Drop down selects a list to: U Add this list to the current Working List ∩ Intersection (machines in both) of this list with current Working List entries − Subtract this list from the current Working List MFM 0.9.5 11 06/30/2018 Software Lists With 0.9.5 MFM now supports MAME Software Lists. As the name implies, these are lists of software for MAME: Computers, Game Consoles, and Handhelds. Note MFM 0.9.5 does not support the copying of individual software from lists. That capability will be added in the next release. MFM 0.9.5 12 06/30/2018 MFM 0.9.5 13 06/30/2018 Resources Scanning When MFM scans (Resources → Scan Resources), it catalogs all of the files in the roots of your ROMs, CHDs, and Extras sets. Every time you update or change your sets you must rescan. This data is stored in
/Settings/Resources_cache.ser Copying When you select Resources → Copy Resources, MFM looks up resources in the Resources_cache.ser for each machine in the selected list. It copies them to the corresponding folder in your playset directory. It is important to keep your sets 'clean'. MFM utilizes naming conventions to identify and copy resources. ROMs and CHDs by filename, and Extras by zip or folder name plus filename. If there are naming collisions in your sets, duplicate names, MFM resource copying behavior is not guaranteed. MFM 0.9.5 14 06/30/2018 Command Line Options -all Include non runnable machines in lists (only applies when you parse MAME) Moved to UI see Parse MAME → All or Parse MAME → Runnable -list list only view -d debug logging -m memory usage logging -s system out development logging – writes to command shell – some of these also go to the standard debug log Examples see below MFM 0.9.5 15 06/30/2018 Mouse Actions Double Click • In the List: will run that Machine (if your MAME is configured) • Over an Extras image: will open that image file from your OS Hover • Over the Game(System) Name column: will open a tool tip with the top of the history entry for that machine see above Left Click – ini Folder view only • If machine highlighted in the Folder tree exists in the open list that list will scroll to it Right Click • Over MAME tree: will copy the value displayed at that location • Over the list: will open a popup menu for that machine MFM 0.9.5 16 06/30/2018 Hot Keys Key Function – for selected Machine ENTER Run the selected Machine F1 Show History F2 Show Manual F3 Show Info F4 Record Game to INP F5 Playback to AVI F6 Playback Game F7 Play Game to AVI F8 Play Video F9 Edit AVI F10 unassigned F11 Crop AVI F12 Convert Videos to MP4 CTRL c Copy – copies selected Machine information CTRL o Opens file chooser in the MFM List directory to open selected file CTRL x Show XML for selected Machine CTRL z Zip MFM logs List Functions CTRL Go to next list CTRL Go to previous list ALT Go to next My List ALT Go to previous My List a Switch to the ALL list b Switch to the BIOS list c Switch to the CLONE list d Switch to the DEVICE list h Switch to the HORIZONTAL list n Switch to the NOCLONE list r Switch to the RUNNABLE list s Switch to the SYSTEMS(MESS) list MFM 0.9.5 17 06/30/2018 v Switch to the VERTICAL list ALT c Switch to the CHD list ALT Shift c Switch to the COCKTAIL list CTRL a Switch to the ARCADE list CTRL n Switch to the NOIMPERFECT list CTRL r Switch to the RASTER list CTRL s Switch to the SIMULTANEOUS list CTRL v Switch to the VECTOR list Special Advanced Functions CTRL Shift d Saves DATs for all built-in lists to a zip file in the /Data directory CTRL Shift j Saves selected list data to JSON format in the /Lists directory CTRL Shift k Saves every Machine's data to JSON format in the /Lists directory CTRL Shift s Saves MAME statistics for the current: Appendix H – MAME Data Sets CTRL Shift z Programmer only: generates new Category Lists Map to hard coded location CTRL ALT z Generates new Category Lists Map from entered CSV file to /Category folder – name entered by user MFM 0.9.5 18 06/30/2018 Menus ● MFM ➔ Open File – Opens a file chooser window in the MFM Lists folder. File chosen will be opened from the OS (if a file association exists). ➔ Settings – Opens the MFM settings window ➔ Load Data Set – User selects MAME Data Set by version (if more than one is present) ➔ Show MAME XML – select this to load tree view of MAME XML. MFM stores your selection. ➔ Parse MAME – User-initiated data set creation. Parses the MAME executable in your settings ➢ All – all machines ➢ Runnable – runnable machines ➔ Exit – Closes MFM ● Logs ➔ Log – Opens the MFM log in your OS's default Text editor ➔ MAME_OUTPUT – Opens log of MAME command shell output. (only if you ran MAME from MFM) ➔ Error Log - Opens the MFM error log in your OS's default Text editor If you run with -d or -s debug flags you will also get these three menus ➔ Zip Logs – zips up your MFM logs ➔ Paste errors to Pastie – pastes last 100 lines of the error log to pastie.org ➔ DUMP WAYS Controls – Saves this information to file to support coding filters ➔ Clean Logs – Deletes any MFM logs older than 48 hours ● Video ➔ Vdub – legacy function to support video project; requires VirtualDub ➔ Ffmpeg – legacy function to support video project; requires ffmpeg ➔ Extract GIF Images – little developer add-on for scrolling through GIF frames and saving those images. (saved to /Images) ➔ Extract AVI Images – same as above but disabled by default due to extreme memory usage MFM 0.9.5 19 06/30/2018 ● DAT ➔ Create DAT from List – creates DAT file for selected list ➔ Create List from DAT – creates a List from DAT entries (not validated so MFM may not have information for all these Machines) ➔ Validate DAT – select a DAT file and MFM will validate it. This confirms the file conforms to the DAT DTD. ➔ Filter DAT by List – Loads a DAT file and removes any entires NOT in selected MFM list ➔ Filter DAT by External List – Loads a DAT file and removes any entires NOT in selected file (file must contain flat list of machine names, one per line) ● Resources ➔ Scan Resources – Scans the resource roots in your MFM settings and stores the file information to support copying resources ➔ Copy Resources – Copies all available resources for the Machines in the selected list to the Playset directory ➔ Save Resources to File – Creates a text file with a list of the resources found by MFM for this list ● List ➔ List Builder ➢ Previous – Opens the state of List Builder when last used ➢ New – Opens fresh corresponds to the All list ➢ (MFM built in lists) – Opens List Builder with setting to produce this MFM built in list ➔ My Lists ➢ (Lists you have created or imported) ➔ MFM Lists ➢ Software Lists • Scrollable list of all MAME software lists ➢ Language Lists → All language lists from ProgettoSnaps ➢ (All built in MFM lists) ➔ Import List – creates list from a file ➔ Remove List – deletes this list from MFM ➔ Save List to File – creates text file with this list's machines ➔ Save List Data – creates a CSV file with a subset of Machine data MFM 0.9.5 20 06/30/2018 ● UI ➔ Font Size – changes the display font size ➢ Very Large ➢ Large ➢ Normal ➔ Look & Feel – synonymous with skins; changes the look of the MFM GUI ➢ Various depending on your OS and Java installation. ● Help ➔ MFM User Guide – this guide ➔ About ➔ MFM Copyright ➔ GNU Copyright MFM 0.9.5 21 06/30/2018 Popup Menu ➢ Add to List : Adds this machine to list you select. If you select -NEW- you can enter a new list name which will be created with this machine as its entry. ➢ Remove from List : Remove this machine from list you select If you have MAME configured properly; otherwise these will fail. ➢ Record : Runs machine in MAME and records to .inp file ➢ Play Video : If a video file exists for this machine opens it from your OS ➢ VideoOps Play & Record to AVI : Runs machine in MAME and records to AVI file (configured snaps directory) Playback to AVI : If .inp exists for this machine plays it back in MAME while recording to AVI file Edit Video : If .avi file exists for this machine and you have VirtualDub installed opens that file in VirtualDub Crop AVI : If .avi file exists for this machine and you have ffmpeg installed will crop the avi to even numbers (some systems output unusual AVI frame sizes) ➢ Show History : Shows the full History for this machine ➢ Show Manual : If manual exists for this machine opens it from your OS ➢ Show Info : Shows all the info available for this machine ➢ Show Machine Tree : Opens MAME XML for this machine ➢ Show Controls & Devices : Shows controls and devices for this machine ➢ GOTO cloneof : If parent machine is in this list, scrolls to that parent machine ➢ Open Image : Opens currently displayed image from your OS ➢ Exit : Exits MFM MFM 0.9.5 22 06/30/2018 Software List Popup Menu Same as above but with fewer options. You get this menu for Software (Software List entries). MFM 0.9.5 23 06/30/2018 DATs MFM produces DAT files for lists. The DAT produced is complete per Machine. Each entry contains all the required resources: BIOS, CHD, Devices, and ROMs. In the parlance of MAME it would be a Full Non-merged set. See Non-Merged. MFM 0.9.5 24 06/30/2018 Troubleshooting 1) MFM does not run when I execute the .bat or .sh file. (a) Do you have Java 8 or higher installed? Goto a command shell and enter >java -version You should get output like: java version "1.8.0_112" Java(TM) SE Runtime Environment (build 1.8.0_112-b15) Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode) Solutions If you do have Java installed try editing your .bat or .sh file to point directly (complete path) to the java.exe file Otherwise install Java (b) Check for MFM logs in the /Logs directory. You should find two logs for each attempt. i. Contact us with logs available ii. If logs do not exist try to run the .bat or .sh from the command shell. In that file add the -d and -s flags iii. Save the command line output and contact us 2) First run after inputting Settings you get the following dialog. Did you download Data Sets and place them in /Data folder? MFM 0.9.5 25 06/30/2018 3) MFM regularly hangs, stops responding, for 1 to 5+ seconds. JVM is pausing to free up memory (a) Turn off Show MAME XML (b) Run in List Only mode MFM flag -list : extracting/showing images uses a lot of memory (c) Increase the memory to run MFM 4) You get the following error. Did you delete a Data Set? Did you hand edit your settings file? MFM 0.9.5 26 06/30/2018 Help If you are familiar with the site we are members of you can get on the forum thread for MFM. Or you can join us on IRC. ForeverChat #MFM channel. MFM 0.9.5 27 06/30/2018 Caution • Always close MFM in the application via MFM → Exit or the close X of the window. ◦ MFM utilizes temporary files to display or open zipped resources. It will delete these on proper exit. • Do not run MFM by double clicking the .jar file. If you do MFM may draw too much memory (RAM) and slow your system. • MFM does not monitor your ROMs/CHDs/Extras sets. If you update or change them you must rescan resources before copying. • When copying resources to your Playset directory MFM will, without warning, overwrite any files already there. • NEVER try to edit settings files except the two noted in the next section Advanced Usage. MFM 0.9.5 28 06/30/2018 Advanced Usage The following require some manual steps. In the future some of these will be automated. 1. Controllers name mapping You can change the display names for controllers displayed in the List Builder. Goto /Settings and open file MAME_Controllers.ini. You will see entries such as: dial = Dial doublejoy = 2 Joysticks gambling = Gambling Buttons DO NOT change values on the left. Values on the right after the = can be changed. Save your changes and restart MFM. Open List Builder → New you should see your controller names changed. 2. Adding/changing Extras folders MAME_folders.ini contains the list of folder/zip names MFM uses to search for and copy machine extras. You can add or change this list by editing that file. For example I do NOT want Artwork copied so I remove that line. Maybe you have an older Extras set and want folder cabdevs copied. Add a line cabdevs to the file. Open /Settings/MAME_folders.ini 3. Parsing MAME a) You must have MAME Extras if you want all data. b) If you want updated category, version, language, and players information you need to get most recent versions of these files: i. catver.ini → Found at Progetto Snaps ii. Extras files c) MFM → Parse MAME Runnable or Parse MAME All executable Parses the currently set MAME d) If setup correctly you should see the following progress bar at the bottom of MFM. NOTE: Parsing is NOT bulletproof. • Known bug. All/Runnable lists do not reset properly on a re-parse. Restart MFM between parsings. Contact the author for Help. MFM 0.9.5 29 06/30/2018 What's New 0.9.5 Release • Software Lists import and display ◦ You can view all software lists ◦ You can select into your lists; but not available for copying by individual softwarelist item in this version. • Added default option to not show XML ◦ No XML option – allows for much smaller memory footprint for users with limited RAM • Generation of JSON to file by list • Updated Categories mapping for new categories • Updated for major MAME XML changes ◦ Add all new Elements and Attributes ◦ Added code to better handle unknown XML going forward • Added DAT file checker • Removed -all flag see Command Line Options ◦ Selection of available Data Set determines All or Runnable only displayed ◦ Parsing now by Menu selection All or Runnable • Automation of updating of the Categories Lists (CategoryListsMap.xml) imported from catver.ini ◦ Logic 95%+ complete ◦ Overlapping root categories still requires manual tweak ◦ Added ability to automatically import these from .csv file • Bug fixes ◦ Ensured List Builder is refreshed after Data Set is changed ◦ Trap and added message dialog on failure to Parse XML ◦ Added MFM Icon to dialogs ◦ Changed progressbar background to white for readability (in the bottom status bar) • Classes all consolidated into MFM.jar ◦ swingx classes – eliminates need to include separate jar file in the distribution ◦ FasterXML Jackson classes – used to provide JSON output MFM 0.9.5 30 06/30/2018 0.9 Release • Major addition is the List Editor • Added features to the List Builder: Year Filter, No Machine, select Base List to filter, advanced Controls filter logic • List Builder UI updated • Added DAT menu and new DAT functionality: Create List from DAT, Filter DAT by List, Filter DAT by External List • Fix for List → Save List Data bug which truncated output for some older MAME version Data Sets and Lists 0.85 Release • Major addition is support for switching between data for multiple MAME versions • Parsing and display of -listxml for all MAME versions beginning with 0.70 (first with -listxml) to present5 • Parsing your MAME version triggered from the UI • Added Devices as a built-in list • Fix parsing bug for updated messinfo.dat (183 extras) 5 In older MAME versions not all -listXML Elements/Attributes exist in MFM. We have ported a subset of the XML changes see next section. MFM 0.9.5 31 06/30/2018 MAME XML It is important to understand the context of the MAME -listxml output within the overall project. MAME's purpose is to preserve decades of software history. Outputting machine related data via XML is an add-on data dissemination feature provided to benefit MAME related tools, primarily Front Ends and ROM Managers. And of course MFM. MAME XML Document structure is defined by a DTD. However that definition is not static. It changes over time as the MAME project evolves. Maintaining backward compatibility is NOT a requirement for the MAMEDev team. So any tool utilizing this output must adjust to these changes over time. With the 0.85 release MFM supports the MAME XML for all versions beginning with 0.70 onward. However this does not mean “all the XML”. Where needed to support core MFM functionality, such as lists and DATs, MFM code is provided to port older information to the newer XML Document type. MFM's code base for MAME objects is based on the MAME 0.180 DTD and extended to 0.197 with 0.95 release. This means that for the most recent MAME versions (0.175-0.197) the XML displayed and used by MFM is an almost exact (99.99%+) representation. The further back the MAME version the greater the gaps in the XML displayed by MFM. As of MAME 0.197 there have been 30 different DTDs for MAME XML. 0.70, 0.71, 0.85, 0.96, 0.102, 0.107, 0.115, 0.118, 0.124, 0.127, 0.132, 0.135, 0.136, 0.137, 0.139, 0.140, 0.142, 0.143, 0.144, 0.145, 0.146, 0.150, 0.153, 0.162, 0.173, 0.175, 0.184, 0.186, 0.189, 0.191 & 0.197.6 Where a simple Element rename occurred e.g. Game to Machine the translation by code is simple. But in MFM you will always see “Machine” in the displayed XML even for versions 161 or older where the actual XML has “Game”. 6 A few of these DTD changes are minor such as the 184 & 186 changes which have no effect on MFM MFM 0.9.5 32 06/30/2018 Appendix A – MFM .zip MFM .zip contains: ➢ MFM.jar – the application ➢ MFM.bat – command file for Windows ➢ MFM.sh – shell file for Unix systems ➢ Folders Category ArcadeCategoryRoots.xml removed as of 0.9.5 CategoryListsMap.xml CategoryRoots.xml removed as of 0.9.5 folders catver.ini languages.ini nplayers.ini Jars swingx-all-1.6.4.jar removed as of 0.9.5 all required classes consolidated into the MFM.jar Lists Favs.txt Phweda's favorites – use List → Import List to add to MFM Settings MAME_Controllers.ini Controllers naming mapping MAME_folders.ini MAME extras folders list ➢ MAME File Manager User Guide.pdf MFM 0.9.5 33 06/30/2018 Appendix B – Machine Information MFM utilizes multiple sources for information. The MAME executable is the primary source of information. It is obtained by parsing the -listxml output. As of 0.85 MFM can provide XML output for MAME 0.70 or newer. Progetto-SNAPS by AntoPISA provides the catver.ini and languages.ini files bundled and used by MFM. All Category, Version and Languages data in MFM are from these two files. Additionally a huge number of the MAME Extras resources come from this site. MAME Extras contain information files which MFM parses. They are: history.dat, mameinfo.dat, mess.dat, sysinfo.dat, languages.ini, nplayers.ini MFM 0.9.5 34 06/30/2018 Appendix C – Editing startup scripts Editing your .bat or .sh startup script To reference Java put in the full path to the executable: Windows "C:\Program Files (x86)\Java\jre1.8.0_45\bin\java.exe" -XX:+UseG1GC -Xms2g -Xmx2g -jar ./MFM.jar Linux /usr/lib/jvm/java-8-oracle/jre/bin/java -XX:+UseG1GC -Xms2g -Xmx2g -jar ./MFM.jar 32-bit Java: you can try to increase this up to about maximum of 1536 MB java -XX:+UseG1GC -Xms1280m -Xmx1280m -jar ./MFM.jar Java RAM flags: -Xms2g sets initial memory for the JVM where '2g' means 2 GB -Xms1280m sets initial memory for the JVM where '1280m' means 1280 MB -Xmx4g sets maximum memory for the JVM where '4g' means 4 GB -Xmx1280m sets maximum memory for the JVM where '1280m' means 1280 MB If you parse MAME with MFM: (NOTE: 4+ GB required) java -XX:+UseG1GC -Xms4g -Xmx6g -jar ./MFM.jar To run List Only: java -XX:+UseG1GC -Xms1g -Xmx1g -jar ./MFM.jar -list To run ALL sets of most recent (180+) MAME versions: java -XX:+UseG1GC -Xms4g -Xmx4g -jar ./MFM.jar -list Debugging: java -XX:+UseG1GC -Xms2g -Xmx2g -jar ./MFM.jar -d -s -m MFM 0.9.5 35 06/30/2018 Appendix D – Resources & Logic i. MFM expects resource sets; ROMs, CHDs, and Extras, to conform to the naming conventions in MAME. ii. Resource Logic 1. ROMs are discovered by searching your entered ROM roots for .zip or .7z 2. CHDs are discovered by searching your CHD roots for the CHD(s) by full file name from MAME. Such as area51.chd or golf_fore_2003_v3.00.09.chd 3. Extras are discovered by searching your Extras root for . And searching any zips in your Extras folder that match folder names defined in MAME_folders.ini . When it discovers a match it will copy to the corresponding playset extras folder. For example: C:\MAME EXTRAs\flyers\005.png will copy to C:\MAME Selected\flyers\005.png C:\MAME EXTRAs\flyers.zip(005.png) will copy to C:\MAME Selected\flyers\005.png iii. Extras folders in the Playset 1. MFM utilizes the entries from MAME_folders.ini to search your Playset directory for those folders. If it finds them then it uses those locations to copy resources to. 2. If a MAME_folders.ini entry is found, folder or zip, in your Extras full set, but not in your Playset, MFM will create that folder as needed when copying resources. When MFM creates a Playset folder such as cabdevs it is \ cabdevs MAME Extras Some folders/archives are used by the MAME emulator: •artwork: Progetto-SNAPS → contains: bezels, control panels, marquees, instruction cards, backdrops, overlays, lamps and LEDs •ctrlr: Pierre Kutec's → controller configurations •samples: Progetto-SNAPS → ZIPped WAV files for systems that don't have audio emulated yet •cheat.7z: Pugsy's Cheats → compilation of cheats The dats folder has text files displayed by MAME. Its contents are: •command.dat: Progetto-SNAPS → commands list (e.g. how to do a Hadouken in Street Fighter) •gameinit.dat: Progetto-SNAPS → initialization procedures for games not playable on first run •hiscore.dat: MAMEdev contained in releases → unofficial highest scores achieved •history.dat: Arcade History → history information text file •mameinfo.dat: MASH's MAMEINFO → information text file of arcade games •messinfo.dat: Progetto-SNAPS → information for non-arcade machines •story.dat: MAMESCORE → top scores •sysinfo.dat: Progetto EMMA → systems information; contains details of the machines and basic usage instructions MFM 0.9.5 36 06/30/2018 The folders folder has INI files. Each INI file appears in MAME (or frontends) as one or more folders with systems inside according to specific criteria. Its contents are: •arcade.ini: Progetto-SNAPS → arcade games •arcade_NOBIOS.ini: Progetto-SNAPS → arcade games that don't require a BIOS to run •category.ini: Progetto-SNAPS → systems in about 235 categories •catlist.ini: Progetto-SNAPS → systems in about 224 categories (with slightly different criteria) •genre.ini: Progetto-SNAPS → systems in about 28 categories •languages.ini: Progetto-SNAPS → systems in about 16 languages •mamescore.ini: MAMESCORE → games with MAMESCORE entries •mess.ini: Progetto-SNAPS → non-arcade systems •monochrome.ini: Progetto-SNAPS → games with two colors in three categories: "Black and White Games", "Monochromatic Games" and "Vectorial Black and White" •nplayers.ini: Nplayers → how many players the game supports and if it's simultaneous play •screenless.ini: Progetto-SNAPS → systems without video output •series.ini: Progetto-SNAPS → lists series of games •version.ini: Progetto-SNAPS → lists of games that were added on every MAME version The other archives are used by the MAME emulator or frontends – All from Progetto Snaps: •artpreview → artwork preview screenshots •bosses → boss (final and hardest enemy of a level) screenshots •cabinets → cabinets screenshots •covers_SL → covers of the Software Lists •cpanel → images of control panels •devices → images of the electronic gadgets •ends → screenshot of the end of each game (when the game is completed) •flyers → scanned paper advertisement intended for wide distribution to promote the systems •gameover → screenshot of the game over message of every game •howto → screenshot of the general instructions that the games display •icons → icons of arcade games and the other systems •logo → screenshot of the logo of the company that created every game •manuals → manuals in PDF (usage and operational) •manuals_SL → manuals in PDF (usage and operational) of Software Lists •marquees → photos of the brand of the cab that is on the top of the cabinet, usually back-lit neon sign •pcb → Printed Circuit Board snapshots; photos of the motherboards of the systems •scores → screenshot of the default high score of every game •select → screenshot of one selection menu of every game (character, country, level, gun, tool, language etc) •snap → in-game screenshots •snap_SL → in-game Software Lists screenshots •titles → title screenshots, usually taken when the name of the game is shown during attract mode •titles_SL → title screenshots of Software Lists, usually taken when the name of the game is shown during attract mode •versus → screenshot of the presentation of the characters that will play against each other MFM 0.9.5 37 06/30/2018 Appendix E – Fatal Errors Message Explanation Process finished with exit code 2 User chose to not parse MAME and has no Data Sets (MFMController.java) Process finished with exit code 3 Total failure to load MAME info after Parsing attempt. Check MAME runs. (MAMEInfo.java) Process finished with exit code 4 User canceled MFM Settings – cannot run without them (MFM_SettingsPanel.java) Process finished with exit code 5 Data integrity issue. MFM_cache.ser missing or corrupt. (MFMListBuilder.java) Process finished with exit code 6 Data integrity issue. Data Set MFM is set to load is not found. Did you delete or alter a Data Set file?(MFM_Data.java) Process finished with exit code 7 MFM failed to detect its running directory (MFM.java) Process finished with exit code 8 MFM failed to find/create its required directories (MFM.java) Process finished with exit code 9 MFM failed to load data set or parse MAME (MFMInfo.java) Process finished with exit code 10 MFM failed to find the previous data set Process finished with exit code 11 MFM settings file corrupted? MFM_Data.java MFM 0.9.5 38 06/30/2018 Appendix F – Add-on Look and Feels MFM supports several optional Java Look and Feels. If you want to add them download the JAR files from the sites below and put them into /Jars folder. MFM will pick them up when it runs next. NOTE: you will find certain L&Fs with 'bugs' in the layout and function of the UI. Coding and testing for every L&F is beyond the scope of this project. 1. http://www.jgoodies.com - jgoodies-looks-2.6.0.jar & jgoodies-common-1.7.0.jar 2. http://www.jtattoo.net - JTattoo-1.6.10.jar 3. http://www.easynth.com/freewares/EaSynthLookAndFeel.html – EaSynthLookAndFeel.jar 4. https://sourceforge.net/projects/liquidlnf/ - LiquidLnF.jar : Download liquidlnf-0.2.9-alpha5.zip which contains the jar file. MFM 0.9.5 39 06/30/2018 Appendix G – MAME Installation Create the ini file with the appropriate command: mame64 -createconfig Edit the mame.ini file created on the same folder of the emulator executable and add the corresponding paths. Example: rompath SL CHDs samplepath artpath ctrlrpath cheatpath snapshot_directory roms;C:\MAME ROMs;C:\MAME CHDs;C:\MAME SL ROMs;C:\MAME samples;C:\MAME EXTRAs\samples artwork;C:\MAME EXTRAs\artwork ctrlr;C:\MAME EXTRAs\ctrlr cheat;C:\MAME EXTRAs\cheat snap;C:\MAME EXTRAs Edit the ui.ini file created on the same folder of the emulator executable and add the corresponding paths. Example: historypath extrainipath cabinets_directory cpanels_directory pcbs_directory flyers_directory titles_directory ends_directory marquees_directory artwork_preview_directory bosses_directory logos_directory scores_directory versus_directory gameover_directory howto_directory select_directory icons_directory covers_directory MFM 0.9.5 history;dats;.;C:\MAME EXTRAs\dats folders;C:\MAME EXTRAs\folders cabinets;cabdevs;C:\MAME EXTRAs cpanel;C:\MAME EXTRAs pcb;C:\MAME EXTRAs flyers;C:\MAME EXTRAs titles;C:\MAME EXTRAs ends;C:\MAME EXTRAs marquees;C:\MAME EXTRAs "artwork preview;artpreview";C:\MAME EXTRAs bosses;C:\MAME EXTRAs logo;C:\MAME EXTRAs scores;C:\MAME EXTRAs versus;C:\MAME EXTRAs gameover;C:\MAME EXTRAs howto;C:\MAME EXTRAs select;C:\MAME EXTRAs icons;C:\MAME EXTRAs covers;C:\MAME EXTRAs 40 06/30/2018 Appendix H – MAME Data Sets MFM provides support for switching between MAME version data sets. We share pre-compiled sets. Each set is contained in a single zip file. MFM reads directly from these archives. For example the 0.198 sets are: MFM_MAME_ALL_0.198.zip contains all machines ~63MB MFM_MAME_0.198.zip only contains runnable machines ~37MB The files contained in each archive are: MFM_cache.ser MFM_MAME.xml Category and built-in Lists data MAME XML data Why Two Sets? MAME versions from 0.143 onward will have the two sets as above. 0.70 → 0.142 will just be the complete ALL set. Between 0.142 and 0.147 the total number of MAME machines grew approximately 2.5 times. In older sets the majority of machines were runnable whereas with current MAME versions only ~35% run. So two main reasons: • By Design. Primary purpose of MFM is to create subsets of runnable machines. So MFM users who use it for this reason have no need for the full set. • Resource usage. Absolute minimum RAM required to run 0.198 ALL set in Full mode is 2+ GB. The 0.198 runnable set will run with 1 GB RAM. MFM strives to remain usable for people with older or limited resource systems. Location /Data folder. MFM automatically searches under that folder (can be in sub folders). MFM 0.9.5 41 06/30/2018 Appendix I – Glossary Term/Acronym Represents CHD Compressed Hunks of Data MAME specific format to support large data sets: hard disks, laser disks etc. DTD Document Type Definition JVM Java Virtual Machine GUI Graphical User Interface MAME Multiple Arcade Machine Emulator MFM MAME File Manager RAM Random-Access Memory ROM Read-Only Memory MFM 0.9.5 42 06/30/2018 Appendix J – Data Set Torrent BOLD are folders. ➢ DATA _Readme_.txt MFM_Readme.txt MFM_Data_Versions.xml All Machines MFM_MAME_ALL_185.zip MFM_MAME_ALL_184.zip (various versions) MFM_MAME_all_70.zip JSON Everything_ALL_0.189_data.json Everything_ALL_0.190_data.json List DATs (playable only for 143 or higher) 180_DATs.zip ( contains DATs for all MFM built-in lists) 179_DATs.zip (various versions) 70_DATs.zip Playable Machines MFM_MAME_185.zip MFM_MAME_184.zip (various versions) MFM_MAME_143.zip MFM 0.9.5 43 06/30/2018 Appendix K – Source Code Hosted on GitHub at https://github.com/phweda/MFM MFM 0.9.5 44 06/30/2018
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.4 Linearized : No Page Count : 46 Language : en-US Author : Philip Davis Creator : Writer Producer : OpenOffice 4.1.1 Create Date : 2018:07:01 09:46:46-04:00EXIF Metadata provided by EXIF.tools