mirror of https://github.com/bsnes-emu/bsnes.git
Update to bsnes v059r03 release.
For the emulator, I added some missing S-CPU variables to the properties viewer: all eight DMA channel registers, and $420b/DMA enable + $420c/HDMA enable. Should probably add the S-SMP timers in the future. Updated nall/Makefile-qt to take $(qtlibs) as input, eg qtlibs = "QtCore QtGui QtOpenGL" and it does the rest to generate $(qtlib) and $(qtinc) for you. Killed nall/Makefile::ifhas, as it was rather stupid. I tried to bind the CPU/SMP/PPU/DSP modules inside of SNES::System, but it turned out to be a major pain in the ass. I'll have to plan that a lot more before trying to do that. The ultimate goal would be having the entire emulator inside class SNES, so that you can instantiate multiple copies or whatever. I also updated snesfilter with a nice treat. Inspired by DOLLS' phosphor code, I added OpenMP support to the HQ2x filter. I have a dual core E8400 @ 3GHz. With no filtering, I get 177fps. With HQ2x, I get 123fps. With HQ2x+OpenMP, I get 143fps. Pegs both CPUs to 100%, heh. And other open applications will interfere with speed, eg Audacious drops it to 138fps. Not bad overall though. It should scale even higher on quad cores. And before anyone asks, no I can't add it to the NTSC filter. I'd have to talk to blargg about that, and it's already faster than HQ2x anyway. This is really more a test for things like HQ3x/HQ4x/Phosphor3x/Phosphor5x in the future. Also, it only works on Linux at the moment. Need libgomp and libpthread, which I don't have on Windows. ZSNES took the approach of putting the filter in another thread while the next frame is emulated; whereas bsnes forks off new threads when rendering is hit. I believe the latter is a better approach: it avoids a 16-20ms latency penalty, it's much simpler, and it can scale up to 240 cores (instead of being limited to two.) So yeah, I easily have the fastest, smallest, most definitive version of HQ2x possible right now; so long as you have a quad core :) [No archive available]
This commit is contained in:
parent
1d5e09ef07
commit
d3d98f9f54