How to make vector arcade games look their best
-
@Riverstorm Glad you got it working!
About the only thing we are missing with this setup is a glowing "bloom" effect. There is an old emulator called AAE that used GPU-accelerated rendering to add a wonderful glow to vector games. Some folks argued that it was a bit over-the-top and wasn't exactly authentic, but I always thought AAE glow/bloom looked amazing. AAE wasn't perfect for other reasons, and it's not something we can run, but the programmer apparently assisted MAME devs in recent years by improving shader parameters for vector games. It makes me wonder if anyone has played with vector shaders on experimental current MAME. Once you see an example from AAE, you might agree that it could be worth investigating.
-
@caver01 I agree, I think they look great! I am looking at screenshots of AAE (Another Arcade Emulator) and I like it. It's like that saying for me...memory shoots with a soft focus lens and complimentary lighting but that's the best part!
I've been putting more time in to checking out the scanlines in different emulators and tweaking the vector settings lately that I think it's a must moving forward and definitely worth investigating! :)
-
@caver01 Quick question for you. I have a few games that are not vector based in AdvMAME and for some reason they seem to look extra smooth like they are melting almost. Is there a setting I changed or something? I like them smoothed (or not) but it just looks extremely smoothed to the point of distraction if that makes sense.
-
@Riverstorm For starters, the version of AdvanceMAME we have in RetroPie skips a bunch of the modeline requirements that typically plague anyone trying to configure AdvanceMAME on other systems. Initially, that meant it was hard-coded for 640x480, but recent builds by BuzZ made it a little more flexible, but some of the documented magnification and resize adjustments don't really make much sense. However, you should start by checking your RUNCOMMAND to see what resolution you are running when you launch the emulator.
That said, you do have some control over game resolution and the resize effects. Open the in-game MAME menu and go to VIDEO settings. There are several items to play with, but you are probably dealing with
display_resizeeffect
which can also be specified in the .rc file. I like to usefilter
ormedian
in conjunction withrdisplay_rgbeffect triad3dot
to simulate CRT pixels, but to each their own. Take a look at your settings in-game and see if there is an effect set. If you don't like that, go into the .rc file and find the line and set it tonone
. You can also set it per-game. AdvanceMAME has a lot of configuration possibilities. I dare you to get lost for a couple weeks in the documentation! -
@caver01 said in How to make vector arcade games look their best:
However, you should start by checking your RUNCOMMAND to see what resolution you are running when you launch the emulator.
Your assessment is spot on Caver! ;)
display_resizeeffect
definitely has some drastic changes. I am having a bit of trouble finding/changing my resolution. I see this in the es_systems.cfg: <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 SYS mame-advmame %ROM%</command>I see these lines in the runcommand.sh file:
# mode_req==0: run command # mode_req==1: set video mode to 640x480 (4:3) or 720x480 (16:9) @60hz, and run command # mode_req==4: set video mode to 1024x768 (4:3) or 1280x720 (16:9) @60hz, and run command # mode_req=="CEA-#": set video mode to CEA mode # # mode_req=="DMT-#": set video mode to DMT mode # # mode_req=="PAL/NTSC-RATIO": set mode to SD output with RATIO of 4:3 / 16:10 or 16:9
Also do you run any scanlines with AdvMAME vector or "regular" games? I find I don't like the vector scanlines and I'm a bit on the fence about regular games. I've been trying it with 2 horizontal.
I don't know if it's my resolution but for some reason when using
rdisplay_rgbeffect triad3dot
I get like a zigzag pattern with vertical color banding. -
@Riverstorm said in How to make vector arcade games look their best:
Also do you run any scanlines with AdvMAME vector or "regular" games?
There two answers, both described in the original post in this thread. 1. For typical MONOCHROME vector games, I don't run any rgbeffect. Original vector CRTs don't have shadow masks--it's just a flat phosphorous screen like an oscilloscope. 2. Color vector games are an exception. They DO have a shadow mask because the vector beams need to hit the correct RGB spots on the screen. So, as described above, I do enable an RGB effect on a per-game basis. These effects are not supposed to work on vector games (you can't enable them using the GUI menus) but will work per-game if you specify the rom in the .rc file (details above). It's a happy conincidence that lets color vector games have the shadow mask look.
Outside of vector games, I really try to use a libretro emulator to take advantage of the CRT shaders. Exceptions are games that require trackball/spinner input (that's about to change now that @dankcushions added mouse support to lr-mame2003) and anything I can't get working in lr-mame2003). For those games, I usually do enable some kind of rgbeffect, but it's never the scanlines. I prefer the triad3dot or triad6dot, depending on the game resolution.
I don't know if it's my resolution but for some reason when using
display_rgbeffect triad3dot
I get like a zigzag pattern with vertical color banding.It's a combination of your resolution and the game's resolution. Try the triad6dot, or if you don't like it, try scanlines, or try using the mame GUI to specify a different magnification. This is where some of the AdvanceMAME settings start to break down. I suspect it has to do with the way the RetroPie version is handling video as opposed to the way AdvanceMAME was designed to use modelines. We don't have as much direct control over the rendering as one does on other hardware using this emulator, and frankly, the rewards are dwindling as the libretro cores gain more functionality.
We can get into more stuff about AdvanceMAME display configs for non-vector games, but it's probably better to do so on another thread.
-
@caver01 said in How to make vector arcade games look their best:
Outside of vector games, I really try to use a libretro emulator to take advantage of the CRT shaders.
Thanks for the great explanation! :) There are a few that I am still using AdvMAME for but there's one that is a must for me and it's Xenophobe. AdvMAME is the only emulator that it works with right now? We spent a small fortune at the arcade playing that one alone.
AdvMAME is a must for vector games and if I can run a Libretro core I definitely do as I love DaveJ's shader. :)
-
@Riverstorm I think the following games are causing me problems in lr-mame2003 too: Arch Rivals, Xenophobe is one, Rampage and Sarge. None of these are vector titles. Maybe worth a new thread?
-
@caver01 said in How to make vector arcade games look their best:
Maybe worth a new thread?
Definitely, they are all classics and worthy. I was just playing Rampage with my Nephew 2 weeks ago. I would love to see them working with lr-mame2003 at some point. I don't see AdvMAME going away for a while due to the reasons you state above as those vector games are just so sharp looking.
Just to clarify is this a pretty good list of the vector classics in AdvMAME?
asteroid esb gravitar mhavoc solarq spacduel spacfury starcas startrek starwars tempest
-
@Riverstorm These are the ones I have loaded:
asteroid astdelux bzone bwidow gravitar llander mhavoc omegrace ripoff solarq spacduel spacfury starcas startrek starwars tailg tempest esb
-
@caver01 said in How to make vector arcade games look their best:
@Riverstorm These are the ones I have loaded:
Thanks Caver I am missing a few that I need to load. Have a great weekend!
-
Set them to your display's maximum resolution. Mine is 1280 and 1024. These settings only affect vector games. This alone will tell AdvanceMAME to render the vector game at the highest resolution that will fit inside your display's width and height.
display_width 640 display_height 480
If you remove these lines does it try to negotiate the highest possible resolution?
If I remember right it seems the default sets the width but no the height in the rc file. Which kind of makes sense as you'll usually fill the height before width if it's negotiating or upscaling?
What I was trying to figure out was the best way to go about using both a 720p and 1080p TV as I switch back and forth.
However, you should start by checking your RUNCOMMAND to see what resolution you are running when you launch the emulator.
Is this set by a RUNCOMMAND or just the settings in the rc file?
-
Removing those lines will default to 640x480 afair
-
@BuZz said in How to make vector arcade games look their best:
Removing those lines will default to 640x480 afair
Thanks Buzz, so if I set it to 1920x1080 (1080p) in the .rc file but start it on a TV at 1280x720 (720p) will it default back to 640x480 as the set resolution isn't possible?
-
It will render to 1280x720 scaled to the tv res I should think. which may end up not looking very nice.
-
@BuZz said in How to make vector arcade games look their best:
It will render to 1280x720 scaled to the tv res I should think. which may end up not looking very nice.
@Riverstorm And yet, it may be acceptable, and probably better than if it would have been at 640x480. Having this resolution capability in the .rc file is still a fantastic enhancement for vector games. It may still be a fixed resolution, but at least it is controllable. You'd be in the same situation on other hardware using AdvanceMAME's modelines. This is much easier.
-
@caver01 said in How to make vector arcade games look their best:
@BuZz said in How to make vector arcade games look their best:
It will render to 1280x720 scaled to the tv res I should think. which may end up not looking very nice.
@Riverstorm And yet, it may be acceptable, and probably better than if it would have been at 640x480. Having this resolution capability in the .rc file is still a fantastic enhancement for vector games. It may still be a fixed resolution, but at least it is controllable. You'd be in the same situation on other hardware using AdvanceMAME's modelines. This is much easier.
Ok, so to throw out a silly question or probably more accurate I don't quite understand. :) Would the correct aspect ratio for vector games be 4:3? Do you gain anything trying to shoot for a particular resolution that fits an aspect ratio say like 1280x960 or is that where the resizeeffect comes into play? In the documentation they refer to it as expansion and reduction in the different modes.
If possible I would just set it to 1080p and leave it if it will produce decent results or lower if that's a better option. I have a smaller box setup that I tote around to friends and family and I just never know what I'll run into or what brand. I finally just set the
config_hdmi_force_hotplug=1
as some older TV's aren't receiving the signal or broadcasting or something the Pi couldn't pickup.I know I am shooting for that blanket config which can be difficult.
@caver01
I know I am duplicating some settings but that's ok since it's only about a dozen games. I tyring to reserve the globals for non vector unless most of the settings are vector. This is what I set for Monochrome and color vector games from the tutorial. Is that about correct?astdelux/display_resizeeffect auto astdelux/display_rgbeffect none astdelux/display_scanlines no astdelux/display_antialias yes astdelux/display_translucency yes astdelux/display_beam 1.2 astdelux/display_intensity 1.5 astdelux/display_flicker 15
and for color:
gravitar/display_resizeeffect filter gravitar/display_rgbeffect triad3dot gravitar/display_scanlines no gravitar/display_antialias yes gravitar/display_translucency yes gravitar/display_beam 1.2 gravitar/display_intensity 2.5 gravitar/display_flicker 10
-
@Riverstorm Not sure about
astdelux/display_resizeeffect auto
I think I would just specify filter here too. Also, I would set all of the vector settings withvector/display_resizeeffect fitler
and so on, instead of referencing every single monochrome title. At least that way you have defaults for all vector games, only need to specify the changes to intensity, flicker and rgbeffect per color game as overrides. -
@caver01 said in How to make vector arcade games look their best:
only need to specify the changes to intensity, flicker and rgbeffect per color game as overrides.
Genius! This will cut down configuration lines considerably. So I could set the vector globals with the color settings and override the two monochrome games (Asteroids and Deluxe Asteroids) with the two settings that are different flicker and intensity?
astdelux/display_flicker 15
astdelux/display_intensity 1.5
asteroids/display_flicker 15
asteroids/display_intensity 1.5I'll shoot for the 1080p resolution and see how it looks as I try it out on different TV's.
8.7 Display Vector Configuration Options 8.7.1 display_antialias 8.7.2 display_beam 8.7.3 display_flicker 8.7.4 display_translucency 8.7.5 display_intensity
-
@Riverstorm You should remove the rgb triad effect from monochrome too. The shadow mask is not present on mono vector.
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.