Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

FBA vs. MAME



  • @pjft said in FBA vs. MAME:

    @pussyfoot I checked and I didn't find any glaring omission there. I also have the Sega Virtual Cup (?) soccer games there, but other than that you have pretty much the majority of the games I have on AdvMame.

    Alas, I am not that much of an expert in AdvMame - I'm still struggling to configure Dip Switches for OutRunners, for instance.

    I too have noticed that the aspect ratio is a bit different to the one in MAME 2003. @caver01 any thoughts on this?

    I do. My thought is that you need to be mindful of what you mean when describing "the orignal AR of the game". For example, Street Fighter II is programmed to a very wide AR, almost like a 16:9 widescreen. However, anyone who has played the actual game knows it was displayed at 4:3. So. . . this is a game where the original resolution, as designed, is NOT how it should look when played. It should be stretched to 4:3 to make the characters and scenery not look distorted. Preserving the game's AR is not an accurate way to go in some cases.

    Now, the challenge is getting AdvanceMAME to bend to your will in these cases. How do you get it to force a certain AR?? I would need to dive into the docs to find the answer, and even then, we would need to test. Sometimes, the settings in the .rc don't work like expected, although recent updates have improved this somewhat.

    Have you told Advmame that you are using a widescreen with display_aspect 16/9? It might make a difference. Also, I am thinking of configs like display_expand in combination with display_magnifysize on a per-rom basis. This is going to be tricky, and we might need to ask the developer for advice here. The example being something like: "How do I force Street Fighter 2 to display 4:3 on a widescreen TV?" Now, I can't even test this since my system runs on an old LCD, but maybe AdvanceMAME already knows to add a black border if you setup your AR properly with display_aspect 16/9? You tell me?



  • I think I need to start working on my TV-connected project sooner than later, if for no other reason than to help folks in this situation!



  • @caver01 thanks for the thorough reply! I was mostly asking as you might have crossed that in the past. I get what you mean in terms of resolution vs aspect ratio, as truth be told for the most part I'm not one to be excessively picky about that.

    Still I'm always keen on learning from everyone else's experiences, hence the question. Thank you!



  • @pjft Yeah, I have been around and around with AdvanceMAME using earlier versions like 1.2 and 1.3 on the Pi before I started using RetroPie. I spent a lot of time configuring it with custom modelines to get the display resolution right for vector games to look great, but a lot of that is unnecessary now with more recent updates. I still wish we had more direct control over the viewport like we do with RetroArch.



  • Updated MAME and AdvanceMAME rom lists.

    AdvanceMAME: https://pastebin.com/nic0T0Gg

    mame-libretro: https://pastebin.com/PivessuM

    Notable changes: added Demon (vector game) and Toobin to AdvanceMAME. You have to edit the controls for Toobin to get it to work, but it runs great under AdvanceMAME.



  • @pussyfoot said in FBA vs. MAME:

    You have to edit the controls for Toobin to get it to work, but it runs great under AdvanceMAME.

    If you have 8-way joysticks, or using a gamepad, I would recommend setting up a "tankstick" control mapping scheme for Toobin which allows you to control the game with a single stick as follows:

    Here's a mapping for a single 8-way joystick to control two tank sticks:

    Game Control           Mapped to
    Right/Up               Up <not> Right     or    Left <not> Down
    Right/Down             Down <not> Right   or   Right <not> Up <not> Down
    Left/Up                Up <not> Left   or   Right <not> Down
    Left/Down              Down <not> Left   or   Left <not> Up <not> Down
    

    This scheme can be done using <CODE_NOT> mapping, which lets you combine controls and exclude controls for each. So, for the first one, you would open the MAME GUI menu with TAB, then modify controls for THIS GAME, then select Right/Up in the menu, then to map control push your joystick up and let it recenter and immediately right twice, and let it accept that. Then add another for Left and immediately Down twice. Once both of these are accepted, move down to the next control and repeat, double-tapping directions that you want excluded with <not>.

    This gives you control with one joystick for games that normally require two. Battlezone, Vindicators, etc. can be mapped this way.



  • @caver01 That works great for Battlezone and Vindicators! Thanks! I couldn't get it to work well for Toobin. I think that game used 4 buttons, not two joysticks.



  • @pussyfoot It used four buttons with two on the left and two on right which amounts to the same as a set of two 2-directional sticks. UP or Down, for ether the left or right side.

    Still, I agree, some of the control is not as intuitive as you might think for Toobin. I found playing with some of the combos helps, but I also suck at the game anyway, so it hardly matters.



  • One game I just tested that surprisingly performed better in MAME rather than in FBA is "The Cliffhanger - Edward Randy". In FBA it stays at 55fps or so while it runs full speed in MAME. I wonder if the emulation for the game is fine in MAME.



  • @pussyfoot most of those games require samples to be located in \retropie-device\bios\fba



  • @caver01 said in FBA vs. MAME:

    @pussyfoot said in FBA vs. MAME:

    You have to edit the controls for Toobin to get it to work, but it runs great under AdvanceMAME.

    If you have 8-way joysticks, or using a gamepad, I would recommend setting up a "tankstick" control mapping scheme for Toobin which allows you to control the game with a single stick as follows:

    Here's a mapping for a single 8-way joystick to control two tank sticks:

    Game Control           Mapped to
    Right/Up               Up <not> Right     or    Left <not> Down
    Right/Down             Down <not> Right   or   Right <not> Up <not> Down
    Left/Up                Up <not> Left   or   Right <not> Down
    Left/Down              Down <not> Left   or   Left <not> Up <not> Down
    

    Can this work as a replacement for a 4-way restrictor plate in 4-way games, like Pacman and Donkey Kong, in retroarch.cfg, perhaps?
    The accidental up+right or left click can really make a difference in these games, and it's quite a hassle to rotate the plate underneath every time I want to play these games...



  • Toobin was indeed played with 4 buttons on the real cabinet .
    I recommend to use a joypad with 4 shoulder buttons.



  • @andershp No. The problem with 4 way games is that the game program itself doesn't know how to handle diagonals. Let's use Donkey Kong as an example. Mario starts off running to the right. If you're pointing right-up or right-down, Mario should move right. How does the game know that? Well, the ONLY available movement is right, so that's the way it should be interpreted. What happens when we get to the ladder? The assumed horizontal movement of diagonal-up automatically becomes an "up" command. That's how it works on the home versions of Donkey Kong. However, the game was programmed that way to do that. The arcade version has no logic to do that. You'd have to literally hack the rom to add the logic to work with 8-way controllers.

    BTW, there was a hack in very old version of MAME to allow Defender and Stargate work with 4/8way controller rather than use a reverse button. I think it leveraged something that WAS in the rom, but it was taken out. Pugsy's cheats don't have an option for it, so it can't be enabled that way.



  • @andershp said in FBA vs. MAME:

    Can this work as a replacement for a 4-way restrictor plate in 4-way games

    I will add, there is the pitfall of thinking you can create a mapping that would work, if you did it something like this:

    Game Control           Mapped to
    Up                     Up <not> Right  or   Up <not> Left
    Down                   Down <not> Right   or   Down <not> Left
    Right                  Right <not> Down   or   Right <not> Up
    Left                   Left <not> Down   or   Left <not> Up
    

    I would expect this kind of mapping to exclude corner controls, but it won't prevent gameplay mishaps like you would hope. In fact, it will probably play exactly the same way in 4-way games. As @Pussyfoot said, you would be walking up to a ladder, and swipe to up through a corner, The moment you hit the corner with both switches engaged, NOTHING WORKS. Mario is stuck until you release one or the other switches in the corner to point squarely into one of the 4 cardinal directions. Only then will Mario climb the ladder. This is basically how it works already, so having the mapping exclude the combinations does not really buy you anything. The problem is that the game does not know how to interpret the corners. It needs contextual logic:

    Logic that goes something like:
    "If the user is pushing the joystick in a cardinal direction, then pushes into a corner, take that as an input to move in the added direction."

    With this logic, the game would allow you to orbit the joystick through the corners when you want to change direction. However, in order to prevent getting stuck, the game would also need this additional logic:
    "If the user is pushing the joystick in a cardinal direction, then pushes into a corner, take that as a input to move in the added direction--but only if it is legally possible to move in that direction, otherwise, continue in the first cardinal direction."

    With this, you could use the corners to your advantage, continuing on a path until the very moment it is possible to change directions.

    With most 8-way setups, it is pretty easy to accidentally hit a corner. Sometimes you can adjust your actuator to prevent that, or make it easier or harder, depending on the games you like to play. There are no good solutions EXCEPT perhaps using the Xbox driver, which I understand lets you enable logic like this, but it apparently only works with gamepad devices, not keyboard input controllers.



  • I noticed when first playing the Pi last year that TMNT on Mame2003 had graphical glitches vs. FBA. I prefer FBA because it uses later romsets of CPS games which would lead me to believe FBA is the more accurate and up-to-date arcade solution.



  • @greenhawk84 it is up-to date emulation and more accurate. As with any emulator that's more accurate, slowdowns will occur. I also use fba when I can but any game giving me slowdowns I use fba2012, then mame2003 then mame2010.

    So like tmnt, sunset riders, and other konami games I get slowdowns on my oc'd pi2 at 1ghz with fba but they're full speed in fba2012.



  • I discovered how to enable the hack for 8-way controls on Defender and Stargate. I made a post in the General area.



  • @darksavior I use the Pi3 so lr-FBAlpha seems to run full speed.



  • Updates:

    mame-libretro: https://pastebin.com/bdi4aBh9
    mame-advmame: https://pastebin.com/8Z2Y6YNz
    Final Burn Alpha (fba): https://pastebin.com/sdYQ1w4D

    Moved some more from FBA to MAME and AdvanceMAME depending on the performance. Popeye has glitchy text on FBA. Rampage World Tour is slow, so it got moved to MAME. The Strikers 1945 II and III games are too slow in FBA. It can be improved by overclocking the CPU in FBA, but why bother? The games are not emulated 100% in MAME 2003. I couldn't get them to run in MAME 2010. I settled for AdvanceMAME. Punchout is duplicated. Use MAME 2010 if you want to play it single screen. The default is the top screen, which makes the game unplayable. Go into the MAME video settings and choose the other screen. Use AdvanceMAME for both screens. Pole Position 1 and 2 required modifications to the inputs to work. I suspect these were also hacks built into MAME 2003 that are available when cheats are enabled, but I didn't confirm. Go to the TAB menu and choose inputs for the game. You will see settings that are highlighted in white that are mapped to a single keyboard key and nothing else. Select them and hit the delete key twice real fast. That should clear it out to the default, which will now use your gamepad.

    I could not get Tron to work well. I don't have a spinner, so I wouldn't have been able to play it with just a gamepad anyway.

    I was missing some real classics! Don't know how that happened.



  • @pussyfoot

    "The Strikers 1945 II and III games are too slow in FBA."

    You need to enable the Kaneko speed hack option in the options menu for them to run well. I might have completely butchered that option name, though.


Log in to reply
 

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.