Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Mame 108 XML Schema Question  (Read 3139 times)

0 Members and 1 Guest are viewing this topic.

Boz

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 371
  • Last login:March 10, 2021, 09:24:11 am
    • Battle Chasers Upright Cabinet
Mame 108 XML Schema Question
« on: September 10, 2006, 03:32:49 am »
Does anyone know for *certain* what the following XML element would represent in any given game? This is a result of the "mame -listxml" command. It doesn't follow any logic that I can see in about 30 minutes of checking so I'm guessing it's a code of some sort.

(for those just guessing, it does NOT coorespond with the number of players allowed, buttons used, or coins required)

:defender
<input players="1" buttons="5" coins="3" tilt="yes">   (defender has five buttons and 3 coin mechs, but can have 2 players)

:puckman
<input players="2" buttons="1" coins="2"> (puckman has no buttons)

:subhunt
<input players="1" buttons="2" coins="1"> (sub hunter has four buttons)

Silver

  • Wiki Contributor
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1668
  • Last login:February 17, 2024, 10:29:00 am
  • Cunning like the Fox.
    • Mods'n'Mods
Re: Mame 108 XML Schema Question
« Reply #1 on: September 10, 2006, 08:52:49 am »
Nope, you have it right, input players does indicate the number of players. Defender has two ALTERNATING players - not at the same time. i.e. I believe it only says 2 players when it is 2 simultaneous players.

Puckman - This is the type of reason the ControlDat project got started. A lot of the information on games in Mame is incorrect or inaccurate. I believe a lot of it stems from either hacking certain controls or simply using macros or whatever from other games to save time.

e.g. From ControlsDat.XML:

:puckman
 numPlayers="2" alternating="1"
<player number="1" numButtons="0">

which correctly identifies Puckman has having no buttons.

The only catch is the ControlsDat project does not yet have info for all games (everything that goes in is verified off actual cabs or pics of control panels I think).
« Last Edit: September 10, 2006, 08:54:27 am by Silver »

Pi

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 108
  • Last login:March 08, 2007, 03:46:13 am
  • From Jupiter with pride
    • CAESAR
Re: Mame 108 XML Schema Question
« Reply #2 on: September 10, 2006, 11:01:15 am »
I seem to remember that the button in Puckman is actually the double speed "cheat", which can be wired to a button (either by making a new button in the control panel, or using an existing button like 1P). However, this extra button in MAME is listed as an independent input, classified as a button. So, there is a reason for MAME listing Puckman with one button, from the hardware point of view, it has one.

Most of the things which people points as "innacuracies" have their reasons, although from a "gaming" point of view they look quite meaningless or simply wrong. That doesn't mean that MAME doesn't have errors, just that it doesn't have as many as people think...  ;D
Pictures in the dark I see - Morpheus comes to me.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:April 21, 2024, 11:59:54 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Mame 108 XML Schema Question
« Reply #3 on: September 10, 2006, 01:21:56 pm »
I seem to remember that the button in Puckman is actually the double speed "cheat", which can be wired to a button (either by making a new button in the control panel, or using an existing button like 1P). However, this extra button in MAME is listed as an independent input, classified as a button. So, there is a reason for MAME listing Puckman with one button, from the hardware point of view, it has one.

Most of the things which people points as "innacuracies" have their reasons, although from a "gaming" point of view they look quite meaningless or simply wrong. That doesn't mean that MAME doesn't have errors, just that it doesn't have as many as people think...  ;D


Not true.  Puckman doesn't have any buttons.  A speedup cheat in mame uses a button toggle though.  The actual hardware (which is all we care about) didn't have any buttons.  Inaccuracies are just that.  Trust me, sirp and I head controls.dat and a lot of stuff in mame is plain out wrong.  Ask the mame devs for that matter, they'll agree.  Some stuff was added to toggle cheats, some stuff is macro errors, some games have extra inputs hacked in because the original control was "goofy" and the driver author wanted to add support for a normal joystick ect.....  There are a few exceptions, and those are noted in the controls.dat, but generally when mame lists a game with a button and you know that it doesn't have one, mame has added a "fake" button for some reason. 

Don't confuse mame cheats with hardware hacks.  Cheats are the mame equivelent of game genie codes, they don't have anything to do with real hardware. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:April 21, 2024, 11:59:54 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Mame 108 XML Schema Question
« Reply #4 on: September 10, 2006, 01:25:41 pm »
Oh btw..... then number of players thing... that is actually consistant most of the time.  Puckman has cocktail mode and thus has two sets of controls.  Defender doesn't. When mame lists players, it really means the number of independant controls per player.  So 2 player alternating games show up as 1 player games UNLESS they have a cocktail mode. 

Boz

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 371
  • Last login:March 10, 2021, 09:24:11 am
    • Battle Chasers Upright Cabinet
Re: Mame 108 XML Schema Question
« Reply #5 on: September 10, 2006, 03:46:06 pm »
Ok... so the reason I was checking this out was my serious lack of enthusiasm with a very popular front end that people use. In fact, after futzing around with most of them, I've come to the conclusion that while their ideas and vision are well intended, the implementation leaves a LOT to be desired, at least on a Windoze machine. None of them aim to impress IMHO, no offense intended.

So, not that we need YAFFE (Yet Another %!#@$ Front End), I'm considering making one for myself that does just what I want it to do.

What would I use to ensure I have *accurate* data since the game listing coming out of Mame has a number of inconsistencies? Can I assume that ROM name, description, date, MFG are mostly accurate from the Mame XML?

Oh... and the history on defender says that they released a cocktail version of Defender, which, following the logic presented here, would mean that <input players="1"> is inaccurate. Right?

Also, what's up with coins="3"? Is that a reference to coin mechs? What could we possibly use this information for?
« Last Edit: September 10, 2006, 03:47:48 pm by In2ishun »

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19400
  • Last login:April 21, 2024, 11:59:54 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Mame 108 XML Schema Question
« Reply #6 on: September 10, 2006, 04:08:28 pm »
What would I use to ensure I have *accurate* data since the game listing coming out of Mame has a number of inconsistencies? Can I assume that ROM name, description, date, MFG are mostly accurate from the Mame XML?

Oh... and the history on defender says that they released a cocktail version of Defender, which, following the logic presented here, would mean that <input players="1"> is inaccurate. Right?

Also, what's up with coins="3"? Is that a reference to coin mechs? What could we possibly use this information for?

The non-control data in mame is usually 99.99% accurate.  It is actually archived while the control info is generated via a macro that looks at the input port defined for the driver. 

No, defender doesn't have a cocktail dipswitch, so the parent rom only has one set of controls as it doesn't have a cocktail mode.  So defender's entry is accurate. 

Coins is the number of coin slots.  This is useful as multiplayer games often have a dedicated slot for each player, but a few "pool" coins, meaning that everyone playing can take a credit just by pressing start.  It isn't terribly useful but the data is printed out because it's part of the macro mame uses for the bookkeeping files.


The thing about displaying controls data inside a fe is... well it's a dumb idea.  Some very basic info might be ok but there simply isn't enough room to show that much data.  That is why I always reccomend calling johnny 5 from within the fe when you are curious as to controls.  Now the other data doesn't take up as much room and I like to put that in a skin sometimes. 

Minwah

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7662
  • Last login:January 18, 2019, 05:03:20 am
    • MAMEWAH
Re: Mame 108 XML Schema Question
« Reply #7 on: September 11, 2006, 06:26:14 am »
Ok... so the reason I was checking this out was my serious lack of enthusiasm with a very popular front end that people use. In fact, after futzing around with most of them, I've come to the conclusion that while their ideas and vision are well intended, the implementation leaves a LOT to be desired, at least on a Windoze machine. None of them aim to impress IMHO, no offense intended.

I could be wrong but it sounds to me like you are disappointed with fe's based on inaccuracies or flaws in the information given by Mame, since that is the only problem you really mention.

While I know the control types given from Mame are not always exactly 'realistic', they do give a very good starting point for filtering games lists (particularly since v0.107 when this info has become more detailed).  As Howard says, there is no too much point displaying this data, you would be better off using controls.dat.

I personally in the past have used Mame's control info and catver.ini to filter games lists for my various control panels, with very good results.    There are normally a few games which need manually sorting just due to inaccuracies or inconsistent info, but generally it works OK.

u_rebelscum

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3633
  • Last login:April 21, 2010, 03:06:26 pm
  • You rebel scum
    • Mame:Analog+
Re: Mame 108 XML Schema Question
« Reply #8 on: September 11, 2006, 01:38:30 pm »
What would I use to ensure I have *accurate* data since the game listing coming out of Mame has a number of inconsistencies? Can I assume that ROM name, description, date, MFG are mostly accurate from the Mame XML?

The mame XML is as accurate as mame, ignoring the few generalizations done to simplify for human readability.

The control area has the most generalizations.  For example, as mentioned before, "players" is really "the highest player number used in the input stack in the game's driver".  Another example, "buttons" really is "the highest button number used in the input stack in the game's driver".  If a button number is skipped, it's not noted (AFAIK, no driver skips more than one button).  If a button is used as a hack for something it can effect the button number (if it pushes the buttons numbers up, like pacman) or the players number (if a different player is used to keep the button count correct).

The easier stuff (name, description, etc) have a much higher accuracy rate, and are changed if found and agreed to be wrong.  The high accuracy is mostly because they are easy to check, verify, and change.

Oh... and the history on defender says that they released a cocktail version of Defender, which, following the logic presented here, would mean that <input players="1"> is inaccurate. Right?

No, defender doesn't have a cocktail dipswitch, so the parent rom only has one set of controls as it doesn't have a cocktail mode.  So defender's entry is accurate. 

Looks like one of the following: mame doesn't have the cocktail version ROM dumped (if it was a different ROM), that part is not emulated, or the history is wrong.  I'm guessing the first one.

Quote
... Some very basic info might be ok but there simply isn't enough room to show that much data.  That is why I always reccomend calling johnny 5 from within the fe when you are curious as to controls.  Now the other data doesn't take up as much room and I like to put that in a skin sometimes. 

Yes, the controls can be too much sometimes, while the basic info is easy.  Take the 50 or so different input types (from controls.dat), and the hundreds of different combinations they have been used, even after mame's simplification of the inputs to a dozen types, and you've got a tangle to mess with.
Robin
Knowledge is Power