Welcome to your new Wikidot site

Welcome to WebMAME's homepage.

WebMAME is a java based application server which will control multiple emulators (ok, will run multiple emulators, but will currently only do 'mame' based ones)

This will be a web based replacement for MultiMAME [http://multimame.wikidot.com] with a slight change. MultiMAME allows you to pull multiple emulators into one command line… and configure the games quickly (all games with 8way controls and 6 buttons or more go into one version… All trackball games go into another). This was designed for my multiple control panels so I could have one EXE for each control panel, and configure different front ends easily.

WebMAME goes in a different direction. It is used because I didn't want 8000 games under one list… I want to 10, 50 or 1000 games that I really like in one control panel. And I wanted to be able to configure them remotely, and also try them remotely. (try them remotely… what does that mean?)

WebMAME, you configure your emulators / emulator. Then you can create categories on the fly from any web browser or command line. Then you can add or remove games from any emulator into any category from any web browser or command line.

The nice part. Your frontend will ALSO launch games through the same application. So if you for instance, type in a browser (IE for instance). "http://localhost/config/fighter add SF2 emul mame" it will add the SF2 game in mame to the "fighter" category. Then, the next time your frontend calls for a -listxml, it will have SF2 in the list.

You can also launch games directly, even if they aren't in any category yet. "So, does tron work well with this frontend?" just type "http://localhost/launch/mame tron" (this will launch tron in the emulator configured under mame).

Also, have a game already started, but want to launch another? Can do… It will break the current game and start another from any web browser.

Now, this is just a start.

Currently I can only control the configuration and launch. The long term plan is to add some web pages to be able to see all the games for each emulator, to see the screen shots and marquees… and to be able to launch the game, or add them to the categories from a nice easy web page. I will also be easily configurable with .css files (I haven't decided if I will make the jsp's accessable or I might just embed the html in a very minimul form in the servlets and require css for all formatting… But this is up in the air (since I have to do some work to get jsp's working in the appserver… And i'm not sure how useful it will be).


  • remote configuration from simple web pages
  • control and configure arcade from ANY computer
  • direct support to tie hyperspin genres to you categories
  • copy or move themes to new categories
  • 24/7 game support.
  • -listxml or -lx support
  • -listfull or -ll support
  • dynamically adding categories
  • dynamically adding / removing games to a category
  • beyond simple xml for emulators
  • simple easy to read xml for category lists or configure them from web page
  • launch game for category
  • launch any game for an emulator

NEW FEATURES: You can now specify that you are using hyperspin and have WebMAME handle the game configuration for you. When any changes are made to the game list (adding category, adding game) it will automatically your mame databases, and seperate them by category (or hyperspins genre)! Also, have a game that you don't have a theme for? But you have a theme which really will match it? No problem, select the theme in a drop down list and your golden!


24/7 Game support. This is when you have a game running on your cabinet ALL the time. Then you control the games 100% from another. You can now modify the category.bat (before copying it for each category) to point to your arcade machine. (set str=http://arcades_ip_address/emu/cat___%0) and you can run your frontend on another computer! Or you can control the games 100% from the webpages. When you select a second game, it stop the first game, then launch the next. NOTE: This doesn't work 100% with autosave, sorry.

NOTE: All examples below. I allow spaces… I'm expecting in a web browser will add the %20 for each space to make them legal. CURL doesn't do this, and in the batch file, I do this by hand. But this allows the url string to be the same as the mame command line. This helps frontends output -> batch file mapping.


Launch the server and goto (by default)
NOTE: These are all linked together

For a list of all emulators:
http://localhost/emul/pages emul


For a list of all games for an emulator: (if over 50 games exist, it will filter by alpha)
http://localhost/emul/pages emul mame


For a list of all categories:
http://localhost/emul/pages cat


For a list of all games for a category:
http://localhost/emul/pages cat fighter


For a detailed game page
http://localhost/emul/pages emul mame sf2


Command Line

These are examples of single commands you can run from CURL or from a web browser. The webpages above will link to most of these features, so they aren't as needed as they used to be.


launch sf2 in category fighter
http://localhost/emul/cat fighter sf2
c:\fighter sf2

listxml for category fighter
http://localhost/emul/cat fighter -listxml
c:\fighter -listxml

listfull for category fighter
fighter%20-listfull http://localhost/emul/cat fighter -listfull
c:\fighter -listfull

add sf2 (in emulator 'mame') to category fighter
http://localhost/emul/config fighter add sf2 emul mame

remove sf2 (in emulator 'mame') from category fighter
http://localhost/emul/config fighter remove sf2

add category trackball
http://localhost/emul/config/trackball create

also, included is batch file examples to allow frontends to access server directly.

Applications to site as a HUGE help… And items I'm leveraging HEAVILY from.

MAME - without it, I wouldn't have done anything
Jetty - embedded application server in java. Allows for a single application to control it all…
CURL - command line url application. Allowed me to have one application to have command line option and webpage options

Setup instructions: Setup



- Added HyperSpin 1.2 support
- Added Categories to top level HyperSpin menus
- Added Genre.xml and Category Games.xml creation
- Added initial HyperSpin 2.0 Genre support (not tested)
- Copy or Move Themes (and Wheel Images) to new Categories
- Lots of little bug fixes


- Added Hyperspin support!
- Add your hyperspin database directories, and WebMAME will create you MAME.xml and each category into its own genre.xml.
- Queries all themes available
- Allows you to specify a theme you want for a game (which doesn't have a theme), even if its not a clone.
- Added autosave (will save all changed files) when any change is made
- Added save buttons to pages which can change, when you have autosave turned off
- Added preload which will load all the details of each game when WebMAME loads. (not needed for launching a game, but it is if you want to view many webpages.
- Added 24/7 Game support! Have your frontend on another computer.
- Added relauchDelay stalls between running games when your using 24/7 game switching


- Added WEB PAGES!
- Now all configuration other then emulators can be done through simple webpages!
- Added CSS support. Make the pages look like you want without change.
- Added multiple level of images (snap, marquees, yourown)
- Launch for webpage - to test
- Added some basic config (ports, root url)
- NOTE: Changes URL format… Updated batch file, shouldn't matter


- Added arguments to emulator
- Fixed some loading of large mame.xml files.
- Caching listxml files.

WebMAME version .5
WebMAME required libraries
WebMAME source version .5

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License