mame2003-plus: hundreds of new games, improved input, features, new bugs - now with runahead support
-
@udb23 said in mame2003-plus: 250 new games, new input system, new features, new bugs:
@markwkidd Will check for more docs on this topic and then open the issue. In this way you'll have more info already available.
That is what I love to hear! Thank you
Edit: New Backport! Lethal Enforcers
arcadez has just filled a backport request that I think many people will find interesting. The DAT on github isn't updated yet but in the meantime you can generate your own DAT or just try the mame 0.139 romset for this game, which is what I'll be doing soon!
-
@robertvb83 I spoke too soon yesterday about when I would finish an implementation of the "fancy" button naming system that would be viable long-term and at full scale.
I found that I could not seem to make headway on my other input project without the naming system squared away. Sooo I went ahead and refactored everything for the third time. Now I think it's ready for mass production.
Would you -- or anyone else -- be interested in taking a role in testing this and helping submit a few more sets of button names to make sure everything is indeed working?
Right now the button names still only appear in Neo Geo and Street Fighter 2 & clones.
Adding new button names
In anticipation of eventually opening this up to users to submit button names I have written a doc outlining what information is necessary to add button names. It's not too onerous: https://github.com/libretro/mame2003-plus-libretro/wiki/Submitting-Button-Names
For people who know how to submit PRs on github or are willing to learn, it's also not very difficult IMO to add code for button names yourself now.
-
@markwkidd what do you mean in the wiki
Naming standard
The standard we use for determining the proper text to use for the name is to refer to current MAME. That is considered the canonical reference.For example the button names for Street Fighter 2 would be submitted as:
BUTTON1: "Jab Punch"
BUTTON2: "Strong Punch"
BUTTON3: "Fierce Punch"
BUTTON4: "Short Kick"
BUTTON5: "Forward Kick"
BUTTON6: "Roundhouse Kick"Where do i get this information about the naming standard?
i just made a PR with an example for stonebal. is this like you indended this to be submitted? or is there a better way. i never did this before so it might look strange to you :-)
i have only very limited time right now. we are preparing for a 2month europe road trip this summer... i do my best for testing and contributing but mainly will continue in September again
-
@markwkidd said in mame2003-plus: 250 new games, new input system, new features, new bugs:
Lethal Enforcers
WOAW LETHAL ENFORCERS !!! so excellent <3
Really wish we will have more shooter like it on our PI, i love them :p
I don't remember if Mad Dog McCree is working too or not ?
Not working on Daphne for now ... -
@robertvb83 said in mame2003-plus: 250 new games, new input system, new features, new bugs:
i just made a PR with an example for stonebal. is this like you indended this to be submitted? or is there a better way. i never did this before so it might look strange to you :-)
What you submitted looks viable to me, it should be straightforward to convert to a code patch.
Thank you for also testing out the docs, and providing feedback. I will add some language about how to find MAME's button names.
I'm glad I asked for your help before your trip -- that sounds awesome! I'll try to code your
stonebal
button names ASAP in hopes you can see that in effect before you go :) -
@markwkidd said in mame2003-plus: 250 new games, new input system, new features, new bugs:
Thank you for also testing out the docs, and providing feedback. I will add some language about how to find MAME's button names.
also how do we know the button order, e.g. why is it 1,2,3 for punch and 4,5,6 for kicks in sf? could also be vice versa, is there a general rule for that?
I'm glad I asked for your help before your trip -- that sounds awesome! I'll try to code your
stonebal
button names ASAP in hopes you can see that in effect before you go :)hey cool thanks. i will test this today. i'll be leaving around second week in june so there still is some time...
i have one additional thought about this. please tell me your opinion. i have the feeling that the way of implementing all button schemes is s lot of work and can almost never be finished plus you always have to deal with it again for new games added to mame2003-plus. i thought more of a more generic approach like coding the module for button naming only once (for up to 8 buttons) and for each game apply this generic module filled with the button naming metadata of a general or per game cfg (i would prefer a general cfg)
sf_button1="Jab Punch" sf_button2="Strong Punch" sf_button3="Fierce Punch" sf_button4="Short Kick" sf_button5="Forward Kick" sf_button6="Roundhouse Kick" stonebal_button1="Shoot/Fight" stonebal_button2="Push" stonebal_button3="Pass/Tackle" stonebal2_button=stonebal_button
this way you can finish this whole coding approach applied for all games and if there is an entry in the cfg it will show the respective values in the menu. This database can than be filled from various people and reviewed/released by you.
does this make sense?
-
it seems like such button naming DB is already existent! there is a controls.ini / controls.dat / controls.xml file. I cannot find one that is later than 0.141.1
there is someone who made a github project to convert controls.xml into controls.json here. which is discussed here
it looks like something that could be used here?
-
@robertvb83 said in mame2003-plus: 250 new games, new input system, new features, new bugs:
it seems like such button naming DB is already existent! there is a controls.ini / controls.dat / controls.xml file. I cannot find one that is later than 0.140
there is someone who made a github project to convert controls.xml into controls.json here. which is discussed here
it looks like something that could be used here?
I think you are really onto something here! It might be possible to write a script that parses the controls.dat/ini/xml and turns it into something that can be automatically added to mame2003-plus. BTW MAME 0.140 is probably a good starting point anyway.
I have some ideas based on your post on how this could be implemented at a large scale and it's killing me not to be trying the ideas out right now! hehe
-
@markwkidd ok i guess then the old approach is not so relevant anymore, however i testet street fighter and it works perfectly
also ingame the functions are represented correctly!
-
@robertvb83 said in mame2003-plus: 250 new games, new input system, new features, new bugs:
@markwkidd ok i guess then the old approach is not so relevant anymore, however i testet street fighter and it works perfectly
also ingame the functions are represented correctly!
Yay, thanks! That is definitely relevant. Starting with a solid baseline is something I have started to appreciate as a philosophy when it comes to input code.
-
you should be able to grab all this info from the latest mame with xml or any other list function it provides and parse it with python. just be careful with the usual rom zip name changes ect because different revisions of roms sometimes user different inputport settings
-
Looks like the system32 games have a lower pitched audio. Not sure when it started. The bug is only in Plus. Original 2003 is fine.
-
@darksavior said in mame2003-plus: 250 new games, new input system, new features, new bugs:
Looks like the system32 games have a lower pitched audio. Not sure when it started. The bug is only in Plus. Original 2003 is fine.
yea does seem off but so does the driver I compared the cpu speeds and ym speeds in lastest mame and they dont match up with the speeds our driver has. mame2003+ aims to run the at the speed the hardware intended. I could be a glitch in timing system as well cant rule that out.
You can see mame2003+ when playing data east games. mame2003 just plays these games too fast the pitch is completely in them. I dont know how fba handles robocop if its running 60fps the pitch will be wrong like mame2003.
-
Is this one of those issues which can be resolved by turning off/down the RetroArch 'audio stretch' function?
-
@darksavior said in mame2003-plus: 250 new games, new input system, new features, new bugs:
Looks like the system32 games have a lower pitched audio. Not sure when it started. The bug is only in Plus. Original 2003 is fine.
I tested in mame078 mame2003 mame 2003 plus none of them are correct to current mame in pitch its more pronounced in mame2003+ because the timing of the driver wrong
-
@markwkidd said in mame2003-plus: 250 new games, new input system, new features, new bugs:
Is this one of those issues which can be resolved by turning off/down the RetroArch 'audio stretch' function?
its just not right none even in mame 078 mark
the ym soundchips are different speeds and the other soundchip i cant remeber the name of is off speedwise as well in the driver. It would need updated to work properly on all versions of mame2003 if fba is the same as mame2003 something is wrong there too
-
@markwkidd here is the difference between mame2003 and mame2003+ its easier to tell on this game start ddragon2 its 57.44 fps youll clearly hear mame2003 is playing the audio to fast and the game as well
-
@grant2258 turn down/off audio skew and mame2003 plays them at the right speed. there's no bug.
-
I am curious about how it sounds with Audio Skew turned off.
Regardless of the results of that specific test, I am reminded of a thought I had in the past.
Are there downsides to recommending that people in general disable Audio Skew for the mame2003-plus core or turn it down to some amount below its audible threshold?
The minimum audible Audio Skew number was determined somewhat informed manner in a libretro forum thread that I can find now that I have the right term.
-
@markwkidd said in mame2003-plus: 250 new games, new input system, new features, new bugs:
Are there downsides to recommending that people in general disable Audio Skew for the mame2003-plus core or turn it down to some amount below its audible threshold?
yes - the point of the default skew setting is to skew (speed up/slow down the audio/video) games that are close to 60FPS to 60FPS (or, whatever your screen hz is). otherwise, you get judder with vsync. the use case for this was NTSC games with strange 60.X timings, i believe.
now, i personally think the default setting is a little too large (you can easily notice the effects skewing a 57.4fps game), but that's a retroarch problem. i think they would be open to lowering the default. i think that's a much better solution than getting the users to mess with the settings, or fooling the API until it thinks you're running a 60fps game.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.