Scanlines in Libretro AdvMAME and FBA
-
@Floob said in Scanlines in Libretro AdvMAME and FBA:
@Riverstorm You can tell what it runs by checking the runcommand menu on boot
https://github.com/RetroPie/RetroPie-Setup/wiki/RuncommandThanks Floob, by the way love your video's I have learned so much from them. I wasn't sure about the length at first but when I am done I have a through understanding of how to do something.
I had to watch the video about Retroarch remaps a few times but I finally caught on how A is more of a position or constant on the joystick and you're remapping that position to another variable that was defined on the controller setup screen.
-
@caver01 said in Scanlines in Libretro AdvMAME and FBA:
@Riverstorm The shader I am using is the crt-pi. I loaded and ran Floob's utility before I started, so I don't know if there was already a shader by that name in the directory before I ran the update config using Floob's script. As I scroll through them, I think I am using what ended up being #10 (my system was built from retropie 3.6 image).
I haven't had time to do it yet, but in lieu of something official from DaveJ in that linked thread, I will probably make a copy of crt-pi and edit the parameters as described in the linked thread such that vertical games on a landscape display will have improved scanlines. Then, yes, I will update the config file per ROM for just those few ROMs that require this on my cabinet (1941, maybe Mercs, and any other side-by-side simultaneous play vertical games) by adding the shader to ROM.zip.cfg.
Ok, Caver you got me all strung out on scanlines now. I really like the effect. I keep an eye out here if you do a public release of your shader! :)
Do you use the same shader for NES, SNES, etc?
-
@dankcushions said in Scanlines in Libretro AdvMAME and FBA:
I did. yes - I just use per rom configs. ie, romname.zip.cfg - put these in the relevant rom folder. mine just have a line pointing to the right shader.
Ok this is the correct file: "crt-pi-vertical.glsl.zip" from the Libretro thread.
Then you add these two lines to say for example kong.zip.cfg:
video_shader = /opt/retropie/emulators/retroarch/shader/crt-pi-vertical.glsl
video_shader_enable = true -
@Riverstorm said in Scanlines in Libretro AdvMAME and FBA:
@dankcushions said in Scanlines in Libretro AdvMAME and FBA:
I did. yes - I just use per rom configs. ie, romname.zip.cfg - put these in the relevant rom folder. mine just have a line pointing to the right shader.
Ok this is the correct file: "crt-pi-vertical.glsl.zip" from the Libretro thread.
Then you add these two lines to say for example kong.zip.cfg:
video_shader = /opt/retropie/emulators/retroarch/shader/crt-pi-vertical.glsl
video_shader_enable = trueyou got it :)
-
@dankcushions said in Scanlines in Libretro AdvMAME and FBA:
I just use the one packaged with retropie 3.7. it's the most up to date one as far as I'm aware.
Ok, so it's pre-packaged that solves it. :) I'm overloaded with changes. I am going to put these tweaks in place over the weekend. I create a "notes" document just to track all these tweaks and changes when a new RetroPie version is released so it's easier to start all over again.
-
@Riverstorm said in Scanlines in Libretro AdvMAME and FBA:
Do you use the same shader for NES, SNES, etc?
Yeah. We played all of the home consoles on a TV anyway, and they were in landscape mode--slam dunk.
I'd probably use the gameboy shader for those games if I load them, but I probably won't bother. My next exploit is going to be apple II games, and for those, I'll probably turn on the CRT-PI shader too.
-
@caver01 said in Scanlines in Libretro AdvMAME and FBA:
@Riverstorm said in Scanlines in Libretro AdvMAME and FBA:
Do you use the same shader for NES, SNES, etc?
Yeah. We played all of the home consoles on a TV anyway, and they were in landscape mode--slam dunk.
I'd probably use the gameboy shader for those games if I load them, but I probably won't bother. My next exploit is going to be apple II games, and for those, I'll probably turn on the CRT-PI shader too.
Thanks Caver, I was going to ask with the option
video_scale_integer = true
it definitely seems to make the screen a bit smaller (I would guess to adjust for the "unused" pixels you explained about above) but it seems ever so slightly blurry. When it is off it does fill the screen and seems clearer but I think the dimensions are off, does that make sense to you at all? I could get the full screen but don't quite get the clearer part on why.Also I tried it with the Atari 2600 it seems to blurry to use so I shut it off unless you know of another shader that might be useful.
Cool the Apple II now that would be great. I am really fond of the C64 too. I remember the PET but the 64 was mind blowing for me back in the day. :)
-
On second thought, it's hard to tell if it's actually blurrier or not. It definitely changed some game dimensions with
video_scale_integer = true
but I prefer the proper(?) dimensions and some extra black as opposed to stretching it just for the sake of filling the screen. Like '88 games has black on all 4 sides now but I think it's the right dimensions. The scanlines are great though just making a little closer to the real deal. DaveJ did a nice job with that shader. -
@Riverstorm said in Scanlines in Libretro AdvMAME and FBA:
It definitely changed some game dimensions with
video_scale_integer = true
Yeah, the image typically shrinks because perfect integer scale won't always land at the exact dimensions of your display.
I might be more excited about integer scaling if I ran without the curvature (I would want consistent scanlines). But, with the curve effect, the lines aren't straight anyway, so minor imperfections tend to get lost in the curves.
-
@caver01 said in Scanlines in Libretro AdvMAME and FBA:
I might be more excited about integer scaling if I ran without the curvature
Yeah as I thought about it overnight and it made sense. Is it curvature that cause issues with vertical games or do most run ok?
I did try NES & SNES which look superb but for the Atari it's just off. I was messing with River Raid for a short last night and it kind of makes my eyes buggy. I would like to see a decent scanline or at least workable for that one too hopefully someday. :)
-
@Riverstorm said in Scanlines in Libretro AdvMAME and FBA:
Yeah as I thought about it overnight and it made sense. Is it curvature that cause issues with vertical games or do most run ok?
My setup might be different than most since I play most vertical games in cocktail mode with players standing on the sides of my cabinet. That allows me to run them fullscreen (which looks like it is rotated sideways from the horizontal side). I remap players 1 and 2 controls to the side positions normally setup as players 3 and 4. So, games like PacMan, Donkey Kong, and similar era vertical games all play from the sides and the player sees the game fill the display. If two credits are triggered and you start a 2-player game, it rotates 180 for player 2 (cocktail mode DIP switch set in MAME menu).
That said, there are a few vertical titles that I cannot run this way. Games like 1941 have two players side-by-side. This won't work in cocktail mode on my cabinet because players stand on opposite sides of the screen. The actual arcade has two sets of controls next to each other, so I need to rotate that game back to the horizontal view. Centipede is another example. My trackball is on the horizontal, so that one needs to to be rotated too. There aren't many, but they need some special treatment. Right now, I have been changing the shader to eliminate curvature because I get too much moire patterns (with the pillar-box black borders the resolution just isn't high enough). I suppose I have scanline issues on these too because I am not using integer scaling. I am hoping a few tweaks to the shader mentioned above will make this better.
Speaking of which, that vertical version--I don't know if I have it. My setup was built from 3.6 image. Does anyone know if updating the retropie script also downloads updated shaders? Maybe another retropie menu choice does that?
As for atari, I have been playing Yar's Revenge and I think it looks great, curvature and all. The nice thing about these options is that they are so flexible to suit your own taste.
-
@caver01 said in Scanlines in Libretro AdvMAME and FBA:
Speaking of which, that vertical version--I don't know if I have it. My setup was built from 3.6 image. Does anyone know if updating the retropie script also downloads updated shaders? Maybe another retropie menu choice does that?
As for atari, I have been playing Yar's Revenge and I think it looks great, curvature and all. The nice thing about these options is that they are so flexible to suit your own taste.
I think the vertical version is an "unofficial" one that Dank created. It's at the link he posted above but you need a Libretro account to download it.
If you get a chance, no hurry at all, could you take a pic of Yar's Revenge just to see what it looks like. I am using the default emulator for 2600 but maybe it's how it's rendering. I haven't looked into tweaking the shader at all at this point.
-
@Riverstorm I will try to get a couple screen snaps. I am using lr-stella. What is your display's resolution?
-
@caver01 said in Scanlines in Libretro AdvMAME and FBA:
@Riverstorm I will try to get a couple screen snaps. I am using lr-stella. What is your display's resolution?
It's a 1920 x 1200 monitor and sometimes a small TV I do believe it's 21 or 23" (not sure resolution but would guess 720p). I usually don't change any options like resolution or screen buffer, etc. I think my Atari is defaulted to lr-fceum (or something like that) and not Stella. I will flip over and give that a shot too.
By the way I do read everything you do and I have a lot of questions but I figure I'll take notes and small steps asking as I add tweaks to my RetroPie setup because you pretty much covered everything I would want to do but I still need to get up to lr-2003 as you and Dank sold me on upgrading at some point. :)
-
@Riverstorm I was totally immersed in AdvanceMAME for a long time, having tried RetroPie a long time back and a few other distributions. My previous SD Card was running something else and was working great, but it didn't survive the upgrade to Jessie (Pi3). That's when I decided to put my efforts back into setting up RetroPie, as the community here is great.
So, my adventure here started with AdvanceMAME since I had a very good, working config for that (single config covers all ROM adjustments). However, when I spotted the slick shaders that had little or no effect on performance I was hooked. Assembling different ROM sets was a challenge at first, but as it turns out, almost all of my .106 ROMs work just fine. I used to have an entire set loaded, but it was such a burden to scroll past titles I would never play that I decided to take my current approach--load only those arcade ROMs I want to play. I have also moved them all into ARCADE which I really appreciate! It's so much easier for guests to select titles from that list than to teach them about MAME, FBA, and so on, not to mention that I still need AdvanceMAME for some games.
Landing on 2003 seems to be the best intersection of features: lr shaders, flexible viewport/aspect adjustments, MAME menu access to DIP switches, key mapping, and disabled "OK" at start, NVRAM saves, High Scores. It's nearly perfect for me (exceptions are analog controls, vector, and "not" key mapping) . That said, I also appreciate the performance I get out of lr-fba-next, so I am using that for Street Fighter variants and the Metal Slug series (with blood enabled!).
It has required a lot of custom tweaks, often per ROM, but I only run about 156 arcade ROMs, and many have similar setups. I like reading the games other folks are playing because it reminds me of a ROM I might be forgetting. I also sometimes scroll through my large folder of snaps to see if something looks interesting. There are so many games worth trying that I have never seen before!
-
@caver01 Nice Caver, I think high scores are nice and the group of guys I hang with get very competitive for bragging rights. I don't remember what version of MAME they pulled high scores. It sounds like 2003 is a nice balance but I sure wish they had spinner support. It seems like that should almost be a staple input as some real classics use it and it's great for driving games too. Ultimarc has that wheel that seats nicely over the top.
I don't know if you know or not but does Xenophobe work in 2003? I know it does it AdvMAME but not mame4all. It's a classic 3 player game we grew up on in the arcades. Also 2 others that don't run in mame4all but do AdvMAME is Star Castle and Solar Quest.
I have never really heard of or done anything with Arcade, is it a MAME emulator? At some point I was hoping you'll explain how you made tank sticks out of the joystick. I suppose that's pretty advanced mapping vs. the standard pick a key for this action. :)
-
@caver01 The other thing is I think the scanlines are "ok" on the Atari 2600. Space Invaders was another that was like a benchmark test game. I think I got so used to the crisp and smooth look on HD Tele's that I forgot what the real deal looked like back in the day. It's like Standard Definition (SD) 80's videos. I watch them and think to myself was the picture quality really that awful back then. It's like night and day between SD and HD.
The other thing is you don't use
video_scale_integer = true
then as an option so as to not waste screen real estate? -
@Riverstorm Solar Quest and Star Castle are both vector games, so I use AdvanceMAME (can specify full resolution for nice, crisp vector lines). Xenophobe I have running AdvanceMAME too. I was running into issues with it in lr emulators.
As for ARCADE, think of it as a conglomerate space to hold and launch "Arcade" games, regardless of what emulator you use. Basically, if you can keep it straight (I use a spreadsheet) you put all of your arcade ROMs into the arcade folder, then use the runcommand at launch to specify the default emulator (2003 for me) and when applicable, use runcommand to specify an alternate. The beauty here is that you can choose any of the arcade ROM emulators. All versions of MAME and FBA are available in the runcommand menu! So, in Emulation Station, you have ONE "emulator" choice generically called Arcade, and from that list of ROMs you are actually launching lr-mame2003, advmame, lr-fba-next and so on. For me, this is key with guest players who don't need to know or care that you need to use a different MAME to play Centipede because your default doesn't have trackball support. One oddball is that Daphne, which technically plays Arcade games, isn't in the list. Perhaps it should be.
-
@Riverstorm said in Scanlines in Libretro AdvMAME and FBA:
The other thing is you don't use
video_scale_integer = true
then as an option so as to not waste screen real estate?I don't use it because I value the whole screen more than the artifacts I might get from scanline inconsistency, which don't really bother me since curvature is already pushing the lines around. I would think at your resolution it would not matter either. The exception is vertical games rotated on a horizontal display. These don't fill the screen, and in fact, end up with a low enough resolution that the scanline issues become distracting. Integer scaling might help, but I suspect DaveJ's shader tweak will make me happy at fractional scaling. I haven't tried it yet. I need to download it. I see he posted something today about it. Curvature is also an issue for these downsized vertical games. I get more pronounced moire patterns.
-
@caver01 said in Scanlines in Libretro AdvMAME and FBA:
@Riverstorm Solar Quest and Star Castle are both vector games, so I use AdvanceMAME (can specify full resolution for nice, crisp vector lines). Xenophobe I have running AdvanceMAME too. I was running into issues with it in lr emulators.
That's funny I have just a few games in AdvMAME and those where the main ones that crash in mame4all that are on the must have list of classics. :)
As for ARCADE, think of it as a conglomerate space to hold and launch "Arcade" games, regardless of what emulator you use.
That sounds pretty cool. I need to take a closer look at that. The wife has no interest in how it works. She just wants to sit down and play a few arcade games she remembers and also Super Mario on NES and some SNES games. That sounds perfect!
One oddball is that Daphne, which technically plays Arcade games, isn't in the list. Perhaps it should be.
Yes I hope Daphne continues development and support. I also tried adding scanlines to Daphne (created a retroarch.cfg) but it was a no go.
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.