choosing advmame v1.4 vs v3
-
@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
-
@riverstorm think of it in terms of the arcade control panel on the orginial system. Controlling a tank, you have two levers. They usually have triggers too, but that’s not important.
So, if you were going to push the left lever forward, what exactly would that do? Well, either it is turning you to the right while moving forward, or it is rotating you right in place, or it is driving the tank forward (all depending on what is happening with the right lever). How does that translate to a single joystick? It translates to moving the joystick UP but not UP and LEFT, or it could translate to moving a single stick RIGHT but not RIGHT and DOWN.
It’s not a complete picture when you look at just one line because the “or” in the middle means you need to be considering the what the other stick is doing.
The whole point is that someone figured out all of the combinations and then algebraically boiled it down to these mapping configurations so that two two-way sticks can be driven with a single 8-way joystick. It’s brilliant. For folks building arcade panels it also frees up your second hand for fire buttons.
-
@riverstorm said in choosing advmame v1.4 vs v3:
Another AdvMAME 3.x question if I may. . . 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? :)
I think I get to take an easy answer here and say I didn’t worry about it because I am using a keyboard controller (IPAC) and the standard assignment of switches to keys is the MAME default.
-
@caver01 said in choosing advmame v1.4 vs v3:
The whole point is that someone figured out all of the combinations and then algebraically boiled it down to these mapping configurations so that two two-way sticks can be driven with a single 8-way joystick. It’s brilliant. For folks building arcade panels it also frees up your second hand for fire buttons.
Ok, I thought that someone was you! I was like dang he really put some thought into this. I did start looking at 2 lines then 3, then 4 to make sense. I was thinking I would need a grid and lay it all out to fully understand it. It's an incredibly creative way to do it.
-
@caver01 said in choosing advmame v1.4 vs v3:
@riverstorm said in choosing advmame v1.4 vs v3:
Another AdvMAME 3.x question if I may. . . 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? :)
I think I get to take an easy answer here and say I didn’t worry about it because I am using a keyboard controller (IPAC) and the standard assignment of switches to keys is the MAME default.
Sounds good. I usually setup both keyboard and joystick so it can go either way. In 1.4 they are properly mapped to j:a, j:b, j:c, etc. but in 3.x there's a lot of "happy" buttons j:happy(index), 10 total. It's like they are partially implemented or some work in progress in 3.x with the default the D-pad firing, moving, etc. but not the traditional button a, b, c, etc.
I also noticed in the .rc file the joystick "translation" inputs are very different and much more complex then 1.4. I reloaded 1.4 and dumped my default config so I could screenshot the inputs and will duplicate them in 3.5 as the defaults are completely unplayable via joystick.
-
@caver01 said in choosing advmame v1.4 vs v3:
@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.
Nah, since 3.0 AM has some serious RPi support. My quotes were from the dedicated RPi section, same as this:
To use the programmable modelines with the Raspberry DPI port you need a GPIO add-on board like the Gert's VGA 666.
The Raspberry Pi has strong limitations on the lower range of pixel clocks when using the DPI/GPIO interface, that will affect your ability to control low frequency monitors, like Arcade screens. [...] To overcome this problematic, AdvanceMAME transparently increase the modeline horizontal size, until it reaches the 31.25 MHz pixel clock. Don't be surprised if a modeline that works in AdvanceMAME, doesn't work when setting manually the timings in other ways.Anyway, I'll try the AM forums as a last resort and then probably abandon this wild goose chase altogether. I was always planning to build a separate Groovy MAME PC box anyway.
-
@arkive Ahhh! That explains a lot. Thanks for quoting that. It also confirms why early on, BuZz was saying that the Pi is going to ignore the modelines. That’s still true for most users, but your hardware config is definitely unique. Perhaps @amadvance can offer a suggestion?
-
@caver01 - Thanks Caver 3.5 works really well. I would swear it seems to fun faster or maybe a better word is smoother. One game I like to play occasionally is Skull & Crossbones and the screen ratio is correct out of the box now without tweaks (one of those odd one-offs that gets lumped into AdvMAME because it works correctly there). I'm still taken back when starting a vector game they just look so much better in AdvMAME. This new version works quite well on the Pi.
Just a quick note is in your tutorial you have an incorrect folder in your config file path
mame-advancemame
where it should bemame-advmame
. -
@riverstorm said in choosing advmame v1.4 vs v3:
Just a quick note is in your tutorial you have an incorrect folder in your config file path
mame-advancemame
where it should bemame-advmame
.Oh, crap. I will fix it now. Nice catch.
I will have to look at Skull and Crossbones. I don’t think I know that one.
-
@caver01 said in choosing advmame v1.4 vs v3:
Perhaps @amadvance can offer a suggestion?
The man himself...that'd be nice. He's probably knee-deep in code, but maybe...paging @amadvance, @amadvance do you read me?
Battlezone was the first videogame that truly blew my mind. Proper 3D in a 2D era. I was about 6 or 7 y.o. when I first saw it, and had to take train trips to another city to actually play it (even though I could barely reach that periscope/visor). Also remember "steering" myself using imaginary twin-joysticks when walking to school. Heady days :)
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.