Organized for readability but basically the script from the tutorial video.

What is MAME

MAME is a multi arcade machine emulator that emulates arcade machines, computer systems, and more. The user must supply the roms, software, and any other files needed like bios or extra data files such as chd.
You can view the main MAME site at https://mamedev.org or for more documentation and resources from https://docs.mamedev.org. However the main site I recommend for this tutorial is from http://adb.arcadeitalia.net. Arcade Italia has a search for the games and will list the status and the files needed to run them along with other useful information.

What a MAME Arcade Game Zip Contains

MAME arcade zips will contain all the necessary files that completes the romset. Separate files in the form of chd files or bios files may be needed as well.

Difference between merged and unmerged game zips.

Romsets for arcade games come in two main flavors, merged and unmerged. Merged romsets will combine the files together such that files are not duplicated. Non merged zips have all the files duplicated and this is what BizHawk needs. adb.arcadeitalia.net lists out the necessary files needed to create an unmerged zip if you are unable to find a nonmerged zip for your game. Keep in mind that MAME is updated frequently and many romsets change over time. It is important to get a romset from the same version to test. Otherwise the game might not work.

Game Status

In Arcade Italia, Searching the title and looking at the game status is usually enough to determine if a game will run well.
Make sure to always avoid games that have a "bad dumb" status.

Examples Running Some Games

Karnov

Karnov has all Good status as well as being a good dump. Under the required files for MAME It only requires the main romset karnov.zip. Single romset games like this can be run by dragging and dropping the single romset zip into the BizHawk window. Another way to run is to use: File -> Open Advanced -> In Arcade section click Launch Game.

Area 51

Area 51 has all Good status as well as being a good dump. By looking in the required files on the page we can see that Area 51 also requires a CHD file in addition to the romset zip area51.zip.
To run Area 51,
  1. From the menu select Tools -> Multi-disk Bundler. The Multidisk Bundler creates an xml file that alllows Bizhawk to load multiple files at once.
  2. Under the Name section select Browse. Browse the location you want the xml file to be created, name the file something like the same name as the game, and save.
  3. Then Under the System dropdown select "Arcade".
  4. Below that there is the areas to select the files that will be loaded. The Order is Romset, CHD, Bios files.
  5. For the first file load area51.zip, and in the second load area51.chd.
  6. Click Save, or Save and Run.
Once the xml file is created it does not need to be recreated to run the game. The xml file can be dragged and dropped into the Bizhawk window to load the game.
<BizHawk-XMLGame System="Arcade" Name="area51">
  <LoadAssets>
    <Asset FileName=".\area51.zip" />
    <Asset FileName=".\area51.chd" />
  </LoadAssets>
</BizHawk-XMLGame>

Guilty Gear XX

Guilty Gear XX has a preliminary status but it is a good dump. There are screen shots so it should run, but this game might have serious issues. By looking in the required files on the page we can see that Guilty Gear XX requires the romset, a chd file, and various Bios files.
To run Guilty Gear XX
  1. From the menu select Tools -> Multi-disk Bundler. The Multidisk Bundler creates an xml file that alllows Bizhawk to load multiple files at once.
  2. Under the Name section select Browse. Browse the location you want the xml file to be created, name the file something like the same name as the game, and save.
  3. Then Under the System dropdown select "Arcade".
  4. Below that there is the areas to select the files that will be loaded. The Order is Romset, CHD, Bios files.
  5. For the first file load ggxx.zip
  6. In the second load gdl-0011.chd.
  7. Use the "Add" button on the bottom to add additional spots to add more files.
  8. Go through and add the additional Bios files.
  9. Click Save, or Save and Run.
Once the xml file is created it does not need to be recreated to run the game. The xml file can be dragged and dropped into the Bizhawk window to load the game.
XML where all the files are in the same directory:
<BizHawk-XMLGame System="Arcade" Name="ggxx">
  <LoadAssets>
    <Asset FileName=".\ggxx.zip" />
    <Asset FileName=".\gdl-0011.chd" />
    <Asset FileName=".\jvs13551.zip" />
    <Asset FileName=".\mie.zip" />
    <Asset FileName=".\naomigd.zip" />
    <Asset FileName=".\segadimm.zip" />
  </LoadAssets>
</BizHawk-XMLGame>
XML file example if the files are in different directories using relative paths. Relative paths may be phased out. The order is: Game -> CHD -> Bios
This example from Spikestuff.
Guilty Gear XX as a full example of that:
<BizHawk-XMLGame System="Arcade" Name="GGXX">
  <LoadAssets>
    <Asset FileName="..\Arcade\ggxx.zip" />
    <Asset FileName="..\Arcade\ggxx\gdl-0011.chd" />
    <Asset FileName="..\Arcade\Naomi Bios\naomigd.zip" />
    <Asset FileName="..\Arcade\Naomi Bios\jvs13551.zip" />
    <Asset FileName="..\Arcade\Naomi Bios\segadimm.zip" />
    <Asset FileName="..\Arcade\Naomi Bios\mie.zip" />
  </LoadAssets>
</BizHawk-XMLGame>

Where to Access Dipswitches in Bizhawk

Game options for most arcade games are changed through Dipswitches which are manual electric switches. Some games have an in game menu that can change settings however. To change dipswitch settings for a game in Bizhawk,
  1. Load the game
  2. Look at the top Bizhawk Menu Select Arcade -> Settings.
  3. After making changes you should Reboot the core. Reboot the core by selecting Emulation -> Reboot Core.

Arcade Inputs

In BizHawk go to Config-> Controllers. For Arcade games most require Coin inputs, then after inputting the number of coins the game needs to run an additional start button is needed. Coin and Start can be found on the Console tab. To map the other buttons select the relevant player. The number and type of controls can vary depending on the game. Buttons, analog controls, lightguns, and some games have up to 5 players.

Ram Search and Ram Watch

Ram Search (Tools->Ram Search) and Ram Watch (Tools -> Ram Watch) work as well. For the Memory Domains use the RAM domains. The SystemBus can cause de-syncs just by searching and reading the values so avoid this.
Available Memory Domains will depend on the game.

TAStudio

In the input roll "C" is for coin and the "s" is usually the service button which might lead to other options depending on the game. Emulated machines with a lot of different inputs may have "!" for inputs. To find what those are it is necessary to test them. Robotron 2084 is an arcade game example where lots of "!" inputs would need to be tested for functionality.
To hide specific players like Player 2 inputs, in the TAStudio window select "Show Columns" then deselect the "Show Player 2" for example.
Arcade games will not show lag frames with the red coloring in TAStudio. To change the frame's color a LUA script will be needed. Open up LuaConsole by Tools-> LuaConsole. A script will need to be added to list and made active. You can tell if the script is active if the green play icon is displayed next to the script name. The script needs an address that changes based on whether or not the game is accepting input. This is something game dependent.
A ManualSetLag Script can be downloaded from the link below. Just change the address on line 15 in the memory byte read. This script currently only works with Karnov so make sure to input an address that works for your game. https://tasvideos.org/UserFiles/Info/638459887754146781

Arcade Load Error Troubleshooting

If you load a game that is incomplete it is most like a merged file. When you attempt to load the game it fails to load the arcade game.
  1. File-> Open Advanced -> "Launch Game" from the Mame Arcade area.
  2. A "Choose File from Archive" window will pop up with the list of roms in the romset. This means the file has some sort of problem like being incomplete.
  3. Click Cancel
  4. An "Arcade Load Error" popup will appear that will list exactly the issue.
  5. This will usually tell you the roms that are missing. If this is the case find a non merged romset zip for the game. Or you could find the missing files and add them to the romset zip. Make sure you also are getting the zips from the same MAME romset release version. MAME is frequently updated so trying to mix and match roms from different release sets may not work.
  6. Screenshots below show an example of a failed load using a merged romset zip of Karnov. It is missing several roms. Get a nonmerged romset or find the missing roms and add them to the merged romset zip to run in BizHawk.

Missing Dipswitch Options Troubleshooting

If some Dipswitch options are missing from the Arcade -> Settings menu, then make sure that you are using the latest version of Bizhawk. One game that does not give BIOS selections is Fatal Fury 3 for Arcade for some older Bizhawk versions when it should. Upgrading to the latest Bizhawk version fixed that issue and displays the BIOS options in Fatal Fury 3 for example.

"Fatal error InvalidOperationException" OR "A single state must not be larger than buffer" Troubleshooting

Using Bizhawk 2.9.1, This only happens with Naomi titles as far as is known due to their large save states. Eventually as the savestates get larger there comes a point when the default savestate settings are not enough and a fatal exception is thrown. If this happens:
  1. In TAStudio go to Metadata -> Savestate History Settings
  2. Increase the "Gaps Buffer - Size". Double it to test.
  3. Click Ok
  4. When prompted to Keep Old States click Yes. A "System.IO.IOException: A single state must not be larger than the buffer" error will occur if the increased amount was not enough.
  5. Increase Gaps Buffer - Size more if you received the above error.

Bizhawk/MAME/VideoTutorial last edited by CoolHandMike 15 days ago
Page History Latest diff List referrers View Source