choosing advmame v1.4 vs v3
-
@Riverstorm Hmm. I am almost certain I have Xenophobe running in 3.x but I will double-check in the next day or so. I am away from my system at the moment. I didn't realize 3.5 was out. I will have to check the change log to see what got updated. I suspect/hope it is still using .106 ROMs.
I think we are pretty much aligned on the use of MAME versions. For me, I love the PI-CRT shader, so I try to leverage libretro cores whenever possible. Where the ROM fails (Sarge, xenophobe, Rampage and some others) I end up in AdvMAME just like you. Of course ALL vector games are better in AdvMAME. About the only other exceptions are those titles that I shifted over to FBA. It feels like FBA has better performance for the games it supports. For me, I use FBA for NEO GEO and most fighter games, but I think it deserves a closer look for other titles, so long as I can get the controls mapped.
-
@caver01 said in choosing advmame v1.4 vs v3:
I am almost certain I have Xenophobe running in 3.x but I will double-check in the next day or so.
Thanks Caver I am pretty sure it crashed for me with 3.4 but I was flying through it and I am a bit rusty as I was sidetracked for about 10 months on another project that took way to long. I don't think RetroPie is on 3.5 unless it's been in the past 2 weeks when I installed 3.4. I just did the default install from RetroPie setup and dumped the ROMS for a test run with no changes and it crashed. I also tried adding default display_width and vector settings to the .rc file which crashed MAME altogether (I think that was display_width and display_height that was doing that though and not the vector settings).
Yes definitely I use AdvMAME as default for vector games, that's a given ;) (I used a Wiki vector game list to verify I had all the vector games that work moved over) and also to pick up the slack of Libretro core non-working games. I do I have the Metal Slug (I think they are NEO GEO--is FBA the best option for Metal Slug games? I think FBA had the most complete working list of the series games?) Ok, so I am down to 3 MAME emulators! ;)
-
RetroPie has advancemame 3.5 since Jun 14th.
-
@buzz said in choosing advmame v1.4 vs v3:
RetroPie has advancemame 3.5 since Jun 14th.
Hey Buzz, thanks, it was probably 3.5 when I was testing a few weeks ago. :)
-
@Riverstorm The display_width and display_height entries are no longer necessary, as the 3.x renders vector at the current resolution now by default. I edited my big vector post from a while back with those details.
As for xenophobe, I am definitely using advmame (3.x) to run it. Perhaps you have a ROM-specific config for that game in your .rc file? I didn't get a chance to check my config to see if there is anything in mine, but I can tell you for sure that I have ROM-specific video settings to play it at the resolution I want with an RGB effect to look like scanlines. But skipping those should not prevent it from loading. Maybe it is your ROM? It's not likely to be compatible with the ROM you were trying on lr-mame2003.
-
@Riverstorm @caver01 Bit off topic, but maybe you could help me. I'm currently trying to get Advance MAME to work with my CRT TV, and failing. Got a question: which advmame.rc config is the "valid" one? I found two in my install and when I adjust stuff with advcfg, nothing seems to register.
-
@caver01 said in choosing advmame v1.4 vs v3:
The display_width and display_height entries are no longer necessary, as the 3.x renders vector at the current resolution now by default. I edited my big vector post from a while back with those details.
Ok, when I removed them (width & height) it didn't crash so that makes sense. Advmame is very finicky with settings one little thing wrong anywhere in any section in the .rc and the whole thing crashes.
@caver01 said in choosing advmame v1.4 vs v3:
As for xenophobe, I am definitely using advmame (3.x) to run it.
This is great news! Let me go back and reload 3.5 and try again before anything else. It's the same ROM set as 1.4 (0.106) that I've been using so it should be good but I had been modifying the .rc here and there and wonder if that was the root cause and not the ROM itself. That's what I get for hasty work.
Ok, I see the changes in "How to make vector arcade games look their best". Is there any other changes with the display_flicker, display_antialias, display_resizeeffect, display_rgbeffect, etc. or all other settings still in tact? Thanks Caver for all the help I was trying to keep one eye on changes while doing another project over the past several months but I've missed plenty for sure. It's good to be futzing around with RetroPie again.
-
@arkive said in choosing advmame v1.4 vs v3:
Got a question: which advmame.rc config is the "valid" one?
I think it depends on the version of AdvMAME you are using:
- AdvMAME 0.94 = advmame-0.94.rc
- AdvMAME 1.4 = advmame-1.4.rc
- AdvMAME 3.5 = advmame.rc
I am not 100% sure on the path but I believe it's:
/opt/retropie/configs/mame-advance/advmame.rc
(if using the current 3.5) -
@arkive All of the AdvanceMAME configs are in the same folder just as @Riverstorm described above. You can usually find these details in the Docs (wiki) if you know where to look. For MAME, it is here:
https://retropie.org.uk/docs/MAME/
This has details for all of the different MAME emulators, and AdvanceMAME is at the bottom.Regarding the use of advcfg, you probably know that one of the initial intentions behind AdvanceMAME was to give users the flexibility to explore many different display options through the use of video modelines. The advcfg utility (and advv) helped to setup those modelines for your hardware. I don't think you are going to get very far with advcfg. A couple years back I was able to make difficult progress with these utilities to get early, locally-compiled versions of AdvanceMAME (1.2?) to render vector games better, but this was before the developer was coding and compiling features specifically for the Pi, and even then, it was questionable whether I was actually affecting the timing of the video. The modelines in the .rc file let you get very specific about display clock frequencies and such--often way beyond technical know-how of most folks, but sometimes necessary for someone trying to connect an old Arcade monitor.
That said, the Pi isn't really going to leverage modelines because of the way that it generates video. I think the version we are using now on the Pi likely ignores modelines, so whatever you build using advcfg or manually using advv will just be a waste of time. Assuming you are using a Pi, I would search other threads for posts about configuring it for an actual CRT and how folks are doing it. From what I can tell, you would need to have the Pi running with success on your CRT first, and then try running advancemame with the default configuration and troubleshoot from there.
-
@riverstorm Nothing else has changed with respect to the vector video settings. But the video menu choices in the GUI are better than the used to be, meaning that settings like magnification etc. seem to respond as expected on the Pi, whereas earlier versions were sometimes hit or miss. Too bad the GUI doesn't give you control over vector effects so you can adjust and see the results in real-time.
-
@caver01 said in choosing advmame v1.4 vs v3:
Too bad the GUI doesn't give you control over vector effects so you can adjust and see the results in real-time.
That would be great as it's painful to quit, change, restart when I was messing with background artwork translucency and deciding which rgbeffect I liked best, etc. Real time...maybe...someday...oh yeah! ;)
I do have the correct path above? If so you're tutorial needs a quick path tweak:
/opt/retropie/configs/mame-advancemame/advmame-1.4.rc
One quick question I know you explained in quite a bit more detail and answered a bunch of questions on how/why you were configuring your tank stick but I can't seem to find that thread. Do you know which one I am referring to by any chance?
-
@caver01 @Riverstorm thanks for replying, I realize my question looks a bit out of context here, but I just wanted to clear that detail regarding advmame.rc, since my file search yesterday yielded two of them - one in the usual opt/retropie/conf... path and another I think in home/Pi - which I now realize is some sort of shortcut? (when I clicked on it, it took me to the opt/retropie dir)
The bigger picture is my ongoing struggle to get vertical MAME games scaling properly (verbose:
https://retropie.org.uk/forum/post/87077, https://retropie.org.uk/forum/post/91530)In a nutshell, I'm using Rpi3B + Retropie 4.2 + Pi2SCART and all the consoles/micros/hori MAME games display fine in glorious 1:1 pixel parity. But not the vertical MAME games. I failed to find a way to do this on this setup , so I turned to Advance MAME in hope it could be a solution. As mentioned in the linked thread, it's nearly there but not quite. Which brings me to the advmame.rc and advcfg, which I ran, tweaked some stuff but it didn't seem to register when trying games later.
The manual says to " run the advcfg utility for AdvanceMAME and advcfg -advmenuc for AdvanceMENU". I also tried the latter, thinking maybe that's the proper config tool for my setup, but am unable to run it from the command line (to include that -advmenuc parameter.) I'm a total Linux noob and failed to do this in the Pie's File Manager. In fact, I'm unable to run any program from that command line, only from the FM's window.
I also tried the advv thingy, but can not see the resolutions that govern the verti games there for some reason. all in all, I'm a bit out of my depth here (fairly easy to see ;)
-
@riverstorm Sure. The "tankstick" configuration is described here when I posted questions about trying to setup <CODE_NOT> mapping in lr-mame2003. This led to the retroarch "nul" workaround so I could get MAME to only see the raw inputs while using the GUI to map the stick.
The idea works in AdvanceMAME GUI as well (for Battlezone, for instance) but the idea is basically this:
If you have seen these games in the arcade, you know that tanks have two separate sticks. One is the LEFT stick, one is the RIGHT. They each can be pushed UP and DOWN. So. . . if you combine the inputs you can control the tank. But what if you are running an emulator with only one joystick? Is it possible to map the left and right game joysticks to one actual joystick such that all of the movements are covered (i.e. a tankstick)?
In short, YES. It is possible if you can negate certain combinations using some complicated <CODE_NOT> and <CODE_AND> input maps. MAME GUI lets you do this by picking a control and pressing multiple inputs for the <AND> and using rapid double-taps for <NOT> before the input timer runs out (a second or two). For example, if you were going to map "UP" <NOT> "LEFT" you would select the control to remap, then press UP on your joystick and immediately double-tap left, wait a moment, and MAME would register that as UP <NOT> LEFT. This would effectively map the control to watch for UP input and stops working if you push the stick into the upper-left corner. You could add to this input with <OR> by waiting for the timeout and adding another input before moving onto the next control.
You can see in the post linked above how you need to configure tank controls to work on a single joystick.
-
@arkive I think you won't get anywhere with advancemame video utilities. These are used to generate modelines for the .rc file but on the Pi, modelines are ignored, so this is a dead-end.
It's probably worthy of a different thread. Start a new one and title it appropriately, something like your NUTSHELL sentence + Arcade games
and make sure you add all of the relevant system details from here.Is there a specific reason that you want to use AdvanceMAME? You can be very explicit about rotation and aspect ratio using a retroarch emulator (lr-mame2003). It will also help us to understand what ROM you are using to test this, how you want it oriented on your display and so on.
-
@caver I think the new version of AM do have support for PI+CRTs - got this impression from following the install.txt:
With a Raspberry Pi you have the same support you have in Linux, plus some specific Raspberry functionality, like the accelerated Framebuffer. With a Raspberry, it's recommended run the Advance program directly from Linux Console because using the Linux Framebuffer you also get hardware acceleration that is missing when run from the X Window system using the SDL library. [...]
If instead you want to use an old CRT Arcade or TV screen, you can configure the Advance programs to generate modelines customized for your video hardware, following the 'Video Setup' chapter. "Hence why I was trying to mess with advcfg/advv. And, the aim is to try and get vertical games to fit my 4:3 screen, but without use of rotation (not very handy to flip this 50 kg behemoth every time you want to play hori/vert game ;)
I tried mostly with 194x shooters, but it can be any vertical game really - anything that goes over 240p with vertical res. On my current setup they either get squashed and artifacted or are 1:1, but losing chunks at top and bottom...which is understandable, because timings are for 240p.
This is what the guy from my other thread achieved with AM, https://picload.org/image/rpacdpgr/dsc_1248.jpg, however he is running the standard composite cable which does not require special hdmi_timings.
I can't really start another thread here, this question was already in two, and I don't think "Running Advance MAME with Pi2SCART" was that bad a title. Think I'll try the AdvanceMAME forum next or maybe email the Arcade Forge people (they don't have a forum, only fb group).
-
@caver01 said in choosing advmame v1.4 vs v3:
If you have seen these games in the arcade, you know that tanks have two separate sticks. One is the LEFT stick, one is the RIGHT. They each can be pushed UP and DOWN.
Ok, wow, a bit confusing! I have the logistics but still not quite sure what you're doing. I mean I understand the mapping parts and how to do it being built upon disabling Retroarch inputs and using raw inputs only but the actual movement I am totally confused if that makes sense.
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
Eight directions total. I still have it wrong:
- Joystick Up = both tracks forward
- Joystick Down = both tracks backward
- Joystick Upper Left = Right track forward only
- Joystick Upper Right = Left track forward only
- Joystick Left = Right track forward & left track backward
- Joystick Right = Left track forward & right track backward
- Joystick Lower Left = Right track backward only
- Joystick Lower Right = Left track backward only
-
@riverstorm you have it correct, but you are writing it backwards. You have to map to the controls in the game which is how I have it in the black quoted section above.
-
@arkive Ok. But I think that line about using the utilities is not intended for pi users. Remember, AdvanceMAME has been around for a long time and was not originally developed for the Pi. Multiple platforms use it, but the Pi won’t have the frequency flexibility so the utilities are not really very helpful.
-
@caver01 said in choosing advmame v1.4 vs v3:
@riverstorm you have it correct, but you are writing it backwards. You have to map to the controls in the game which is how I have it in the black quoted section above.
Thanks Caver, yeah I know I could just replicate and it would work but I was actually trying to wrap my head around the actual config and how it's working with the <CODE> and <CODE NOT> corresponding to the actual joystick movements. I find it somewhat confusing but I think I have the gist of which direction is doing what which is good enough. Thank you good sir! :)
-
Another AdvMAME 3.x question if I may. In 3.5 I see some of the buttons and even the 'UI Select' are mapped to j:happy1, 2, etc. It took me a few minutes to figure out they are the D-Pad directional which doesn't work well at it's defaults. Is there some logic to that? Looking at some of the code I don't see what they are trying to do. Did you just remap you Button 1, 2, etc to get things working. I am using an XBOX 360 controller and I wonder if they are "virutal-sprawling" buttons? :)
/* note that the happy name has no meaning */ /* if not to make "happy" joysticks with many buttons */ #ifdef BTN_TRIGGER_HAPPY1 { BTN_TRIGGER_HAPPY1, "happy1" }, /* joystick */ #endif #ifdef BTN_TRIGGER_HAPPY2 { BTN_TRIGGER_HAPPY2, "happy2" }, /* joystick */ #endif
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.