

Updated HDMA to not update indirect addresses until after transfers are completed. Increased the speed of SA1 emulation to match hardware more closely. Allow disabling scanlines in NTSC filter. Don't mix garbage into the last line with NTSC filter.
#Snes9x 1.56 install#
If you encounter errors about d3dx9_42.dll when trying to launch Snes9x, install the DirectX End-User Runtime.
#Snes9x 1.56 full#
Release thread here (1.56.2 changes here), with full changelog and builds for Linux, 64-bit Windows and libretro.

Newest version of Snes9x, released June 21, 2018. For other versions, check the version history. I made sure to reconfigure all the performance related options back to what I was using before.This file is obsolete. You can view my RetroPie-Setup changes here: ĭo note I'm constantly rewriting the git history to modify commits or rebase on top of upstream and I usually don't test my changes until the following day.Įdit: I did delete my all/retroarch.cfg and regenerate it with a newer build of RetroArch. I'm using the same lr-snes9x binary provided in this thread and the same RetroArch settings. Honestly, none of the above should really matter but I'm somehow getting full speed in that room now. Did not appear to be explicitly set before/reported 60 Firmware/kernel may have been updated, although I believe I'm running the same as previous tests.Updated to a slightly more recent RetroArch.(ARM mode should have been the default anyway) Switched to using -O3 and -marm and rebuilt RetroArch/Emulationstation.Commonly went to ~57.5Īs for why I'm getting higher frames than I remember, these are my best guesses: I did re-test and make sure I was getting full speed. Note: This is odd since I remember getting ~56 last I tested. Got around to testing lr-snes9x without PGO (but with -O3 -marm -funroll-loops -funswitch-loops and the linker flags) I believe the lowest fps I saw in my tested games was ~53 in Yoshi's Island during the 'Goal' screen at the end of a level.

You still can't achieve 60 fps on demanding games without threaded rendering (3 B+ stock).Patches change snes9x git repository to upstream snes9x instead of libretro.If you want to generate your own lr-snes9x using the provided patches, expect ~20 minute build time and ~75% performance hit while profiling (3 B+).It's possible the binary could be slower than one generated using the default source script due to poor profiling.I'd appreciate feedback on how the performance compares to lr-snes9x built from source. To install, extract the contents to /opt/retropie/libretrocores/ as-needed is the most likely to cause linker issues.įor what it's worth, -O3 was not used because the performance benefit is usually negligible and there's known issues in GCC 6.3.0 with some of the optimizations it enables. Unlikely to have a performance impact, may reduce binary size and increases linkage time. Linker optimizations taken from ArchLinux.I've seen recommended for ARM devices from multiple sources.Note that you need to comment out CXXFLAGS, LDFLAGS and uncomment the other CXXFLAGS variable when generating the optimized binary.Įxplanation for some of the options passed to the compiler and linker: You can find the RetroPie-Setup patches I used to build lr-snes9x here. Outside of games, I also ran state loading/saving. Super Mario World 2: Yoshi's Island (Super FX 2).List of games used to generate profile information: You can also view GCC's instrumentation documentation here. If you're wondering what PGO (profile-guided optimization) is, Wikipedia has a brief entry on it. I only tested against the available (RPi 2 optimized) binary download, but I was seeing ~12-25% improvements in some games. Recently bought a RPi 3 B+ to use as a RetroPie system in my living room and this was the first thing I did.
