RetroArch Shader Fun



Last night I was back to messing about with RetroArch and already I am way happier with the results than I was underneath GameEx Evolution.  I am certain that GameEx is a really cool option but it didn’t feel stable enough for me to really keep messing with.  RetroArch on the other hand feels nice and solid for the most part, and offers a slew of really nice options that for me at least improve the experience.  I have most of the emulators up and running…  in spite of somehow screwing up Nintendo 64 last night…  and still needing to sort out what is going on with MAME.  I tend to think of MAME as its official release versions and Libretro Cores are not named in any semblance of version order but instead named after the years a specific version of MAME was released in?  Ultimately I might just drop trying to use MAME entirely and start going down the Final Burn path given that I only really care about a very limited set of arcade ROMs and I think Final Burn likely supports all of them?  What I spent most of the night doing was fiddling with shaders in order to attempt to improve the experience.  The first target was Castlevania Aria of Sorrow…  a game I am damned determined to actually beat given it plays almost exactly like probably my favorite game ever… Symphony of the Night.


This first image is an example of the output that I was getting the other night while using MGBA Libretro core without any special processing applied.  It looks and feels like a blurry mess in part because the resolution of the Gameboy Advanced is relatively limited, and as such it is trying to do some pixel smoothing but just ends up degrading the image quality entirely.  It was playable but not necessarily enjoyable to play.


After a good deal of fiddling I landed on using the gba-color.glslp preset that attempts to mimic what it would actually feel to play the game on Gameboy Advance hardware and the end result is perfect as far as I am concerned.  It feels to me like playing the game in the manner that I would expect to be playing it.  I noticed no real performance hit and spent a good chunk of the night playing my way through the game.  The only problem with playing with a controller is that I am generally bad about taking screenshots while doing so… as a result you only have this one and the title sequence above before I go too engaged in the action to care about snapping a screenshot to use as an example.


For Castlevania Symphony of the Night I opted to go down the path of trying to mimic an SVGA display that I would have been using around the time the game released.  After trying a handful I landed on using ntsc-320px-svideo-gauss-scanline.glslp which to me gives me the feel of playing on a 4:3 era television with composite cables.


Here is another example from the intro sequence to SOTN where Death decides to strip you of your powers before entering the castle.  While it may not be exact it certainly feels like I remember playing this game felt.  In truth this is likely the filter I am going to use on most of these titles, and then stick to the custom handheld specific filters for any games that originally appeared on handheld hardware.  I am not necessarily going for the crispest picture…  I am going for something that feels like the game felt back then.  It might look like a total mess to you, but it feels like home to me.


I spent a good deal of time configuring RetroArch in general, turning off the PS3 era animated ribbon appearance and going for a nice static gradient instead.  The only menu that is really as I want it to be is the Gameboy Advance one, in part because I have a very limited set of games configured.  What I need to do now is spend some time sifting through the giant “romset” folders that I acquired and culling anything that I am not absolutely certain I want to play to cut down on the “spam”.  Quite frankly nobody cares about playing 3 Ninjas Kick Back…  but they probably do care about Super Metroid and would probably want it easy to get to without scrolling for 20 minutes.  Once I have a paired down set of games I will likely spend the time downloading the artwork that goes with them like I have done with the Gameboy Advance menu.  Thankfully the playlists themselves are just text files and if you want to wipe one out completely you can go into the \playlists directory and delete the specific one you are going to rescan.


In all I am super happy with how this is starting to turn out… enough so that I legitimately spent a lot of time playing Aria of Sorrow last night.  I’m further in than I have gotten before, which isn’t exactly saying much but I did stumble across a really nice weapon… the Bastard Sword last night.  I’ve taken down I think 3 bosses so far but still am looking for where I acquire double jump from.  I am assuming it is going to be something I have to equip sorta like the winged knight “falling slowly” thing…  but I am not entirely certain.  The whole “monsters allow you to collect their abilities” mechanic is really cool and it ends up making me want to kill a specific mob over and over and over until it finally drops whatever ability it might give me.  I am missing several like my beloved Axe Knight axes…  and as a result right now I am using the skeletal arrows which are a bit fiddly but I like that you can rapid fire several at a time.  That is useful given that if you know exactly how many arrows it will take to kill a target you can fire that many off in  row…  which I guess is important as the ability itself sorta freezes your character while you are using it.



Arcade Nostalgia



This weekend was one of extended frustration, in part because I went down a rabbit hole that I still have yet to surface from.  One of these days I will go into my sordid past as it regards to console piracy, because there is a story in that worth telling.  However prior to that I was hooked on the concept of emulating all of these machines that I loved playing in the arcade on my PC and was involved with a good number of the early sites giving access to both emulators and roms.  It was a heady time where we had to play SNES titles with a significant frame skip to get them playable…  but it didn’t matter because we were playing Nintendo games on a PC.  I nearly lost my shit when I first encountered MAME, or the Multi Arcade Machine Emulator…  a project designed to emulate the specific chipsets of various arcade machines and make them similarly playable on the PC.


The problem with MAME however is that there is a lot of development churn on the project and in its constant seeking for perfect emulation…  the game “ROMs” themselves are often changing formats as folks re-dump the EPROMs trying to get a slightly better copy than the one that existed before.  When I started messing with this back in the 90s the dumps we had access to were pretty much set in stone, and what changed from release to release as adding new supported titles.  Now however the packages fundamentally change functionally obsoleting the games you had previously “acquired”.  This sets up the reality that now the 0.209 ROM set is made up of 36,713 files taking up 555 gb of disk space…  and as such taking forever to download that is if you can even find a place to download.


This madness I speak of…  I did this thing this weekend.  I found a location to grab the entire 0.209 ROM and CHD set…  and over the course of a night the roms trickled down as they account for only 66 gb of the total size.  The bulk of the space requirement are the CHD images or actual copies of the hard drives that were installed in the machines and used to pull audio and video from as the game played.  These were widely used in pretty much any cabinet newer than say Killer Instinct.  All of this was to be played with GameEx Evolution which is a slick looking front end for a bunch of different emulators.  The goal being able to create an experience that I could navigate with my fight stick and maybe eventually an in home custom arcade cabinet as that has been a long time dream of mine.  However like may technology projects… I spent the bulk of the weekend tracing down issues and didn’t actually spend much time playing anything.

The first major issue I encountered was the fact that after going through the hassle of acquiring the latest ROMs for MAME…  I find out that GameEx only seems to support an older version…   0.197 to be specific.  Which lead to a whole lot of scrambling to find another place that I could acquire that ROM set from.  While dealing with that I began setting up various other emulators and managed to get Nintendo, Super Nintendo, Nintendo 64, Gameboy, Color Gameboy, Gameboy Advance and with some fiddling Turbografx-16 all working.  For whatever reason nothing that I did seemed to get Sega Genesis to the point of actually launching a game in spite of using RetroArch just like I was using with the other working titles.  There was some discussion on the GameEx forums of having to configure a second version of RetroArch to make it work…  but I didn’t dive into that abyss.  Saturn I could not get running at all, and I have not gotten around to trying to configure Sony Playstation 1 or 2.


To add insult to injury…  when I finally got the correct rom set…  for whatever reason I still could not get MAME working through GameEx.  This lead me down a completely different rabbit hole last night of trying to just say screw it to GameEx Evolution entirely and use RetroArch as a front end given most of the sub emulators I am using are just libretro cores.  This is the point where I decided to let it scan my harddrive looking for roms…  and it legitimately took all night as it scanned some 260,000 files. I am guessing there is a bug in its recursion loop because there are no way that many files in my ROMs directory?  For at least one game I noticed it added some 30 copies of it, so I have no clue what is going on.  The other method would be setting up custom playlists which is way more time consuming…  but I feel like that might be the best option.  If I went down that route I would narrow things down to only the games I am actually interested in playing…  because of the 35,000 roms in the MAME library there are probably only a hundred that I am actually interested in.

This was my weekend… and I feel like I have very little to show for it.  I went down the rabbit hole of emulation and now also remember what ultimately gets me to stop messing with it.  It is exhausting trying to keep up with the latest advances in all of the emulators and the latest copies of the games that are designed to work with them.  The fact that this is of negligible legality ends up making the entire experience way more complicated than it probably could be.  I remember once upon a time that there was a German site that kept a running archive of every game in the MAME library, and back in those days I would just grab the single title that I wanted to emulate because it was so much easier to do so.  Now I feel like the only viable option is to grab entire sets, just in case there is a title that I forgot that I might want to use later.  The result ends up being a situation where I have so much file bloat that I am effectively moving everything off of my G drive so that it ends up being a dedicated emulation repository.


Now any time emulation is mentioned…  I feel like I have to place a disclaimer.  This is only legal if you own a copy of the game in question…  and even then it is a grey area depending upon the laws in your specific region.  With arcade games…  that whole thing is a legal quagmire as few people actually have JAMMA boards laying around their house to be able to claim they own the original that they are now emulating.  I also cannot help you on this journey apart from saying that I got to where I ended up this weekend with a lot of careful googling and with the assistance of a french site that I won’t link here.  In the case of the MAME 0.197 the Internet Archive seems to have a copy of those and it is a 61 gb download so that is at least a starting point.  I will say that a MEGA account comes in really handy when it comes to downloading this sort of thing, because inevitably the link you are looking for is encrypted and stored somewhere out there.


So this was my weekend.  I feel like a failure for not getting it all sorted out.  How was your weekend?