Jump to content
(Open Beta) HyperSpin 2 is now available for everyone ×

MAME 0.249 ROM Mapping (Clones) project


Recommended Posts

Posted

Instructions for MAME setup: Uploads Page

--------------------------------------------------

MAME Project Uploads:

01: MAME Project Upload

02: 0.250 Update

03: Clone Media Update

04: 0.251 Update

05: Mame Project January Media Update

--------------------------------------------------

About a month ago Ryuzarky asked a question about MAME clones that got me started on one of my biggest (single system) projects yet: Rocketlauncher Rom Mapping and MAME clones.

My project goals:

Complete database for MAME (0.249) set of “working” roms

Find all worthy clones (this has been attempted before with Attack of the Clones)

Figure out RocketLauncher Rom Mapping feature for use with MAME clones

Complete all media (at least Video and Wheels)

I really didn't think it would be that much work because most of the work has already been completed. Unfortunately, that was not the case.

Step 1: Database

The best starting point was r0mano's MAME databases at r0man0's website (free.fr)

What I wanted to include:

Only working status roms

No games mapped to keyboard controls (Mahjong, Fruit Machine, Poker, some arcade games)

Only Arcade games (no handheld, computer, plug and play)

I wanted to only work with parent roms (at first) so I got the PD Merged set.

I cropped the Full Working xml using merged set to isolate the parent games.

I removed: Handheld, Hanafuda/Keyboard/Keypad Control Type

I didn't want to completely remove Fruit Machine, Mahjong, Quiz, and Card Battle (Poker) only the games that were mapped to keyboard keys (not joystick).

From there I split the xml into genres and tested every Fruit Machine, Mahjong, Quiz, and Card Battle game individually to find usable games that were mapped to joystick and buttons.

Most games from those categories were eliminated but I was left with a good selection for each genre.

Final amount of working parent roms about 3400

 

Step 2: What the heck is Rom Mapping?

The primary use for Rom Mapping is to redirect Rocketlauncher to a different rom than the one you are selecting in your database.

Information: Rom Mapping - RocketLauncher Wiki (rlauncher.com)

I wanted to use Senario 6

My Plan:

Create a database with working parents and “worthy” clones.

Clones can be hidden from the wheel using HyperHQ (MAME [Wheel Filter: Parent Only])

Clones are accessible from the MAME wheel when selecting the parent rom.

A Rom Mapping menu opens and a list of parent+clones can be selected

 

But first I must figure out every worthy clone to use and create a Rom Mapping INI file with all the clones.

I will include Rom Mapping settings and instructions further down in this post.

 

Step 3: Find all the clones!

Of course, I used the list of clones discussed in the “Attack of the Clones” posts from years ago.

Mame Clones worth playing - a complete (hopefully) list - Page 3 - HyperSpin - HyperSpin Forum (hyperspin-fe.com)

List of MAME clones worth playing - Redux - HyperSpin - HyperSpin Forum (hyperspin-fe.com)

An excellent and helpful resource but a bit out of date now.

 

But I wanted to find every clone rom that has a perceivable difference (altered gameplay, graphics, sound, control style, conversion to “different” game)

First step: Make an xml of only working clones.

To do this I replaced my PD “Merged” set with the “Non-Merged” set. Now I had a set of parents and clones that can be run interdependently.

Using the original “Working” xml and my “Custom(Working)” xml I was able to easily create a “Clones Only” xml

Now with an xml of only working clones, I began my hunt by reading through all 70k lines in Notepad++.

I searched the <description> and <manufacturer> for an clues or mention of alterations to the original games

2-4 player

trackball version/hack

joystick version/hack

hack/bootleg/conversion to different game

alternate ending

no continues

alt graphics or sound hardware

 

I wrote my Rom Mapping Ini and file as I hunted for clones.

Overall, I came up with a list of 305 clones!

 

Step 4: Configure Rom Mapping

Hopefully I can explain how this works.

The first thing that must be done is create an ini file that lists the parent rom with each of its clones. There is no shortcut or tool to create the file, it must typed manually.

The file must be placed in RocketLauncher\Settings\MAME\Rom Mapping

I created a file: MAME_Clones.ini MAME_Clones.ini

Example text for Street Fighter II: Champion Edition clones:

[sf2ce]

Alternate_Rom_Name_1=sf2acca

Street Fighter II - Champion Edition (Accelerator!)

Alternate_Rom_Name_2=sf2accp2

Street Fighter II - Champion Edition (Accelerator Pt.II)

Alternate_Rom_Name_3=sf2amf

Street Fighter II - Champion Edition (Alpha Magic-F)

Alternate_Rom_Name_4=sf2ceub

Street Fighter II - Champion Edition (Punishment)

Alternate_Rom_Name_5=sf2dkot2

Street Fighter II - Champion Edition (Double K.O. Turbo II)

Alternate_Rom_Name_6=sf2koryu

Street Fighter II - Champion Edition (Xiang Long)

Alternate_Rom_Name_7=sf2level

Street Fighter II - Champion Edition (bootleg with level selection)

Alternate_Rom_Name_8=sf2m7

Street Fighter II - Champion Edition (M7, bootleg)

Alternate_Rom_Name_9=sf2mdtb

Street Fighter II - Magic Delta Turbo (set 3)

Alternate_Rom_Name_10=sf2rb3

Street Fighter II - Champion Edition (Rainbow, set 3)

Alternate_Rom_Name_11=sf2reda

Street Fighter II - Champion Edition (Red Wave, bootleg, set 2)

Alternate_Rom_Name_12=sf2redp2

Street Fighter II - Champion Edition (Red Wave PtII)

Alternate_Rom_Name_13=sf2v004

Street Fighter II - Champion Edition (Sheng Long Edition)

First the parent rom is listed: [sf2ce]

Then: Alternate_Rom_Name_(Number)=(clone rom)

The description in-between is not necessary, I just added it for reference.

You can name you ini file whatever you want. You can even have multiple ini files. Rocketlauncher checks the all ini files every time a rom is launched.

 

OK, you have downloaded MAME_Clones.ini and have it in MAME\Rom Mapping folder. Lets configure Rocket Launcher.

 

Global Settings (Rom Mapping):

Rom Mapping:

Enable: False (Only Turn on per System)

First Match Extension: False

Launch Menu:

Enabled: True

Show all Roms: True

Hide Parent: False

Default Menu: FullList

Single Filtered Match Launch: False

1098042799_01-RMGlobal.thumb.png.76e1ccef012689265a3e84721cac0747.png

MAME Settings (Rom Mapping):

Rom Mapping: True

All other settings in Rom Mapping and Launch Menu boxes: use_global

549685535_02-RMMAME.thumb.png.4c0373d536ddf42a2d555692cc28b5ff.png

 

Now with the MAME_Clones.ini and RocketLauncher set Rom Mapping will work.

From HyperSpin, launch 1942 from MAME wheel

Because 1942 is a parent rom with clones listed in MAME_Clones.ini, the Rom Mapping submenu will launch

667676531_03-1942RomMappingwithBackground.thumb.png.4f770cf019e9caedc1a4b32bf2253c1a.png

Now you can select the 1942 or any of its clones

Personally I don't like having a background image for the Rom Mapping menu. Background images are located: RocketLauncher\Media\Background\MAME

Its functions just like bezels with a _Default folder

If you delete or remove the images it looks better

Example:

911867194_04-1942RomMappingnoBackground.thumb.png.dd421cd52a67af63886b6e63ec8bb463.png

I really like it because you can see the parent theme in the background

In the future I hope people upload background media or nice Appearance settings to make an enhanced Rom Mapping menu!

Clones might not have similar names as Parents. Rom mapping menu can group clones together and be a quick shortcut.

 

Removing Clones from MAME wheel (Optional):

The easiest way to do this is with HyperHQ

449015117_05-HyperHQCloneFiltering.thumb.png.16a0fb6eb5522ff2ecca8ef34a3274b7.png

Wheel Settings:MAME

Wheel Filters: Parents Only

This is a much better method than removing the clones from the database because they can be removed (or put back) with just one checkbox.

Filtering out the clones from the MAME menu has a few advantages:

  • Less games/clutter on the wheel

  • More justification for the Rom Mapping menu

  • Clone games don't need media (Wheels/Videos)

 

But that is completely optional, I actually prefer to keep the clones visible on the MAME wheel.

 

Step 5: Media!

With a database now totaling 3831 games I was missing hundreds of wheels and video (Even after gathering everything I could from Hyperspin/Emumovies)

My goals:

3831 clear wheels

All clones must have a unique wheel (alternate parent logo, even if only the slightest difference)

3831 videos

Clones will not use parent videos unless there is no visible difference (using different control type, alternate ending, difficulty level)

*I ended using maybe 15-20 duplicate videos

I was able to find and download at least half of the clear logos (LB arcade database) and videos (Progetto Snaps + re-encoding)

In order to have unique clone logos I did have to cut many of them out from title-screens to make variants. Many of the clone videos I had to capture myself.

3831 wheels and videos complete!

 

Step 6: Cleaning up Database and fixing Genres

 

I figured out Rom Mapping but the database felt like a mess

Database alterations:

Moved “The” from the front of game names.

Example:

Legend of Kage, The

Punisher, The

Simpsons, The

 

Grouped together Mega-Tech, Mega Play, and PlayChoice-10 games

Renamed:

Mega-Tech: Game Name

Mega-Play: Game Name

PlayChoice-10: Game Name

 

The Genre info was horribly inaccurate! Shoot-'Em-Up was used for everything (Platform, shooters, gun games)

In general the genre info was so bad I ended using my complete video collection to view every game individually and corrected (thousands?) of genre entries.

Once I had properly separated Shoot-'Em-Up from Shooters, I was disappointed by how broad the Shooter genre was and decided to make additional genres.

Shoot-'Em-Up genre now sorted into:

Gun (First-person Lightgun games)

Shooter (Run and Gun Games)

Shooting (Third person gun games with crosshairs)

Shoot-'Em-Up

Vehicle Combat (Third or First-person games piloting a land/sea vehicle)

I will make sense once you see it.

 

Poker games removed from Card Battle.xml put in Casino.xml

Fruit Games genre eliminated and merged with Casino.xml

Mature.xml still exists but all games now have individual genre info and merged with other categories

Sega Model 2 games mostly included (poor compatibility) but removed from database and only accessible in genre menu

 

Final (gameplay) genre list:

1970-1979 Games

1980-1989 Games

1990-1999 Games

2000-2022 Games

Action

Adventure

Ball & Paddle

Baseball

Basketball

Beat-'Em-Up

Biking

Board Games

Bowling

Boxing

Card Battle

Casino

Climbing

Compilation

Driving

Fighter

Fishing

Flying

Football

Futuristic

Golf

Gun

Hockey

Horse Racing

Mahjong

Mature

Maze

Mini-Games

Miscellaneous

Motorcycle

Pinball

Platform

Pool and Dart

Puzzle

Quiz

Shooter

Shoot-'Em-Up

Shooting

Skateboarding

Skating

Skiing

Snowboarding

Soccer

Sports

Strategy

Tabletop

Tennis

Track & Field

Vehicle Combat

Volleyball

Water

Wrestling

Lightgun

Trackball

4 Player Games (actually 3-4 player)

But that's not all!

Brudibru provided 150 MAME Manufacturer xmls and created genre backgrounds using their main themes. I can't thank him enough for his hard work! Without his help I would have never had the time to complete manufacturer genres.

With every game examined, re-categorized, and all backgrounds/wheels created for 211 genres, the database work was now complete.

 

Step 7: Themes and media verification

We have all accepted that MAME is too large to ever achieve a complete theme collection but with my filtered list of working games, I wanted to see how close I could get.

Really, I should say “We” because Brudibru was a huge part of this process. Honestly, I was getting burned out on the project and was going to just use the 1900 themes (or however many I matched) from the FTP. I believe I was still missing over 1000 themes.

But Brudibru had close to 4000 themes from FTP and individual uploads.

So Brudibru began matching/hunting for missing themes and finding alternate (and altering) themes to use for clones.

With his themes I went to work investigating the entire MAME wheel again game by game.

All videos verified correct and working.

All themes are for the correct games

Most clone themes have been created using:

Alternate Parent themes

Altering Parent themes to create variation

Some original themes were created (maybe 10-12)

 

Thanks to Brudibru's hard work (and inspiring me to keep going) we were able to bring the missing count from 1000 down to just 328 (under 10%)!

 

Step 8: Final Touches

 

Created Clones.xml genre which contains all the Clones and only their Parent roms.

Created MAME_Update.xml genre which contains only the arcade game additions to the latest version of MAME (0.249)

 

Step 9: Sharing the setup and moving forward

Because of the thousands of alterations to the database and media, the only way I could share this setup is upload everything.

Unfortunately, it's way too large to upload here so I used Archive.org for the videos Download Link

I have uploaded Database, Rom Mapping INI, Wheels, and Themes Uploads Page

Anyone who wants this setup, it's important to replace all of your current media with the upload. That is the only way to properly experience what we have done and avoid duplicate media.

We are hoping to get help completing the last 328 missing themes. Some existing themes were deleted for quality reasons (incomplete or wrong game). Some clone game themes were already available in the uploads section but just renamed parent themes (we need a different theme). The only way to see what is missing is to only have our uploaded themes.

Note on quality: Of course, some media can use improvement, with over 3800 games I couldn't spend too much time correcting each wheel/video/theme

Themes: In many cases a better theme may be available to download but in some cases in needed multiple variations of a theme to cover parent/clones. The themes that I altered are not “new” creations, I just rearranged or removed some artwork already in the theme, so I kept the original creator's work.

Some themes were “fixed” if I saw mistakes that I don't think the creator intended (videos half off screen, images completely blocking video, strange video layers (accidentally?) left in were deleted)

Monthly Updates:

Now that I'm caught up, I will upload an update each month with the new version of MAME. I started this project on version 0.248. When 0.249 came out I tested all the added arcade games and there were only 9 working additions. The new media creation was quite easy!

Setup Tips:

Use PD non-merged rom set

Only these 109 CHDs are needed: Required CHDS.txt

The non-merged set can be filtered to remove unneeded roms

My final file size:

Non-Merged Roms: 14.8GB

CHDs: 135GB

 

Filtering Manufacturer Genres:

Because the Manufacturer Genre XMLs were not cropped to match my MAME database there may be games listed (different rom versions) that are unavailable.

This can be corrected two ways:

1. In HyperHQ:

Wheel Settings:MAME

Wheel Filters: Wheels Only (Since the wheel media is complete only the full list of available games will be displayed)

1552964827_06-HyperHQfilterWheels.thumb.png.a61e17ccc7e69b67c4e8abee47f12094.png

Wheel Settings:MAME

Wheel Filters: Roms Only (ONLY do this if you have filtered your non-merged set to remove unneeded roms)

1202726838_07-HyperHQfilterRoms.thumb.png.d9ddc10458931be928602b63339b1f64.png

For Videos: Do not check “Clones use Parent Videos” in HyperHQ. I have made unique clone videos.

My media has been altered so much that I do not recommend anyone who downloads my MAME setup to use HyperSync (For MAME only)

I had to fix/alter much of the files from the FTP and running Hypersync would definitely undo much of that work! 

Finally:

I'm sure I made many mistakes, so please let me know any corrections to make or clones I should add. I can include corrections or additions in monthly updates.

  • Replies 174
  • Created
  • Last Reply
Posted

A great read and a fascinating project. I have witnessed its advancement and there was never a day without a new idea and a new task to make this setup, arguably, the best ever for Mame.

I know that for me at least, it's like a dream come true. Even a few months ago it was hard to imagine the possiblity of a Mame setup with all working games, the best clones, no worthless gambling stuff, and most of all a complete collection of unique videos and wheels and an almost complete collection of themes (back to that later) ! 

I have modestly contributed to it and It was fascinating to revisit all the work done by the many talented creators who have contributed to Hyperspin for the last two decades. This setup is a tribute to all of them !

It was also a very arduous work. Almost everything was there but Floatingyety wanted to create the most robust and complete setup as possible and I know he spent countless hours in doing so.

I want to emphasize that for newcomers or for the veterans of Hyperspin this setup is a must have ,either if you want to build a mame wheel from scratch or if you want to complete your own. 

It's christmas before time !

Posted
12 hours ago, floatingyeti said:

You're welcome!

Great work, tested and all seems to be working fine ! 👍

I now have over 5,000 themes in my set, so maybe list ones you are missing as people may have them.

Posted

Thank you!

I was able to use most of those themes! I can also use them to explain my method (thought process) when selecting the themes.

 

Billyard (bilyard) – There is a confusion with bilyard, billiard, and hustler all using the same theme

this was actually the Konami Video Huster theme but I ended up making a correction to both hustler and billiard. So bilyard is still missing but it was helpful.

Pro Soccer (cpsoccer)Added

Galaxian Turbo (galturbo) – same theme as Galaxian but I already used it to make three other clone variations (does anyone have an alternate?)

Marble Madness II (marblmd2) - Added

This was the same theme as Marble Madness but I found an alternate theme by J-sinn to use.

Mega-Tech: Parlour Games (mt_parlg )Added

Mega-Tech: Tommy Lasorda Baseball (mt_tlbba )Added

Mystic Marathon (mysticm)Added

Pocket Gals V.I.P. (pgalvip)Added

Puzzle King (Dance & Puzzle) - Added

Same theme as Puzzle King (Pacman 2, Tetris...) (4in1boot) but I made small alteration to make a separate theme.

Qix II (qix2) – same theme as Qix. I would like to wait for a new theme to be made.

Quiz Torimonochou (qtorimon)Added

Rampart (Joystick) (rampart2p) – Same as parent theme (which is good) but too simplistic to alter to make a clone variation. Does anyone have an alternate?

Samurai (samurai) – This is actually the theme for Samurai Aces (samuraia), not the correct game

S.V.G. - Spectral vs Generation (svg) - Added

Tank 8 (tank8)Added

Transformer – A nice theme but this is not a Transformers game. Title is Transformer (no s), different logo and no Takara copyright

Wiley Tower (wilytowr) - Added

 

For Nintendo PlayChoice-10 and VS. I was trying to avoid the themes that had the cabinet and flyer with all the same (default style?) layout

 

Nintendo PlayChoice-10:

Uncle Fester's Quest (pc_ftqst)Added

Rush'n Attack (pc_rnatk) - Added

Pinbot (pc_pinbot) - default cabinet theme

Nintendo VS:

Raid on Bungeling Bay (bnglngby) Added

Stroke & Match Golf – Added

Soccer - Added

Ninja Jajamaru Saisho wa Goo – default cabinet theme

Super Xevious (supxevs) – default cabinet theme

Slalom (vsslalom) – default cabinet theme

Tetris (vstetris) – default cabinet theme

 

Incomplete (WIP?) themes (Themes many of us have but I feel they are not intended to be final themes)

Hammer (hammer)Added

This one had no background or logo but I found a finished theme created by Fizen

Music Ball (musicbal) – Incomplete no background and logo. Should this be “Super Pin-ball Music” in database? I might rename it.

Special Forces (spclforc) – Incomplete no background and logo.

Special forces II (spcfrcii) – Incomplete no background and logo.

Super Slam (sslam) – WIP? I don't think this is the final theme

Superbike (superbik) – WIP? I don't think this is the final theme

 

I hope that makes sense.

Thank you very much Creezz67!

 

17 themes added

2 Themes corrected

 

I am attaching the 19 updated themes

I will also include them (and any other additions) when I upload an update for MAME 0.250

9 hours ago, Creezz67 said:

maybe list ones you are missing as people may have them.

Absolutely, Brudibru is planning to do that, we were thinking it might take days before people downloaded the whole setup.

Added Themes.zip

Posted
38 minutes ago, Dunkler2Engel said:

An incredible job as you always do, it would be good to put the Themes in Archive.org so as not to overload the Hyperspin.com servers and have a backup just in case

I thought it would be better to keep it only "accessible" here.

  • 2 weeks later...
Posted
On 11/20/2022 at 8:05 PM, floatingyeti said:

Setup Tips:

 

Use PD non-merged rom set

Only these 109 CHDs are needed:  Required CHDS.txt 1001 B · 4 downloads

The non-merged set can be filtered to remove unneeded roms

My final file size:

Non-Merged Roms: 14.8GB

CHDs: 135GB

Hi,

There are only 108 CHDs listed in the file "required chds.txt" and not 109?

Posted
11 minutes ago, lesurfeur said:

There are only 108 CHDs listed in the file "required chds.txt" and not 109?

Sorry, I think that's a typo.  I checked and I am currently using the same 108 CHDs listed in that file.

Posted
11 minutes ago, r0man0 said:

Hello , i've generated a mame clones ini file for mame v0.250 working games only

THANKYOU!!!

I have been manually typing the ini file and it has been a slow, frustrating process.

If you were able to automate the process, would it be possible to generate an ini with all working/nonworking clones? It would future-proof the ini for any compatibility/status changes.

You have no idea how relieved I am to not continue working on the ini!

I'm very grateful!

Posted
21 minutes ago, r0man0 said:

Working/non working clone list for ini or XML ?

For the ini file if possible. If it is a list of all working/non-working clones, it can be ready for any future database revisions.

It would be "complete" and not have to be edited in the future. Except for the occasional new clones added in MAME updates.

But at that point it would be quick to just manually add 2-3 clones per month.

Posted

So i've gave you the ini for working games , do you need the ini for all games (working & non working)or just non working games ? Sorry for my poor english...😉

Posted
2 hours ago, r0man0 said:

tell me if it's ok for you

I can confirm it works and I have launched clones through the Rom Mapping menu.

I'm getting a strange error when I try launching additional games.

Error.thumb.png.7b027e70e459d70a5eeed8f8156f3177.png

I could only get MAME games to launch after rebooting and turning off Rom Mapping

When I turned RM back on and I can launch a few games before the error message resumes.

I have about 100 clones left to manually enter into my ini files so I'm close.

Hopefully, I can figure out the error.

Posted
1 minute ago, r0man0 said:

do you need the ini for all games

Yes, please!

I would like to see what happens when I try to use it.

No one has attempted to use an ini rom mapping file this large, I wonder if the size is causing an issue?

Posted
57 minutes ago, r0man0 said:

here is the link for all games..

Thank you!

The file is correct, but the problem is RL Rom Mapping limitations.

You have helped me learn some important details:

1. There is a limit to how large the ini file can be.  MAME standalone or RA MAME core will timeout before RL can "scan" the whole ini file.

2. The ini file can only contain clones found in your rom folder. (see above RLDLL error) (This can be overcome by having the entire split or non-merged rom set)

3. The only way I can guarantee Rom Mapping is stable, is to only list what's in the database.  Also, whoever uses the Rom Mapping file MUST have no missing roms.

So, presently, Rom Mapping is not a good RL feature. (For MAME Clones)

I've come this far, so I will still enter the remaining 80 clones on my ini file.  Hopefully, I will not exceed the unknown file/list size limitation.

If Rom Mapping functionality is updated or improved in RL, we may be able to use your larger ini files.

 

 

Posted
On 12/10/2022 at 10:09 PM, floatingyeti said:

Thank you!

The file is correct, but the problem is RL Rom Mapping limitations.

You have helped me learn some important details:

1. There is a limit to how large the ini file can be.  MAME standalone or RA MAME core will timeout before RL can "scan" the whole ini file.

2. The ini file can only contain clones found in your rom folder. (see above RLDLL error) (This can be overcome by having the entire split or non-merged rom set)

3. The only way I can guarantee Rom Mapping is stable, is to only list what's in the database.  Also, whoever uses the Rom Mapping file MUST have no missing roms.

So, presently, Rom Mapping is not a good RL feature. (For MAME Clones)

I've come this far, so I will still enter the remaining 80 clones on my ini file.  Hopefully, I will not exceed the unknown file/list size limitation.

If Rom Mapping functionality is updated or improved in RL, we may be able to use your larger ini files.

 

 

What a bummer about the limitations. I never knew there were so many clones within each zip file.

Tried this myself and as you say it won't detect the clones, even with a full MAME xml and a full MAME 0.250 split romset (+CHD's)

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...