bsnes is a Super Nintendo (SNES) emulator focused on performance, features, and ease of use.
Go to file
Tim Allen 3c2ca5a383 Updated to v067r25 release.
byuu says:

Removed snes_spc, and the fast/smp + fast/dsp wrappers around it.
Cloned dsp to fast/dsp, and re-added the state machine, affects
Compatibility and Performance cores.
Added debugger support to fast/cpu, with full properties list and Qt
debugger functionality.
Rewrote all debugger property functions to return data directly:
- this avoids some annoying conflicts where ChipDebugger::foo()
  overshadows Chip::foo()
- this removes the need for an extra 20-200 functions per debugger
  core
- this makes the overall code size a good bit smaller
- this currently makes PPU::oam_basesize() inaccessible, so the OAM
  viewer will show wrong sprite sizes
Used an evil trick to simplify MMIO read/write address decoding:
- MMIO *mmio[0x8000], where only 0x2000-5fff are used, allows direct
  indexing without -0x2000 adjust

So end result: both save states and debugger support work on all three
cores now. Dual Orb II sound is fixed. The speed hit was worse than
I thought, -7% for compatibility, and -10% for performance. At this
point, the compatibility core is the exact same code and speed as v067
official, and the performance core is now only ~36-40% faster than the
compatibility core. Sigh, so much for my dream of using this on my
netbook. At 53fps average now, compared to 39fps before.  Profiling will
only get that to ~58fps, and that's way too low for the more intensive
scenes (Zelda 3 rain, CT black omen, etc.)

It would probably be a good idea to find out why my DSP is so much
slower than blargg's, given that it's based upon the same code. The
simple ring buffer stuff can't possibly slow things down that much.

More precisely, it would probably be best to leave blargg's DSP in the
performance core since it's a pretty minor issue, but then I'd have to
have three DSPs: accuracy=threaded, compatibility=state-machine,
performance=blargg. Too much hassle.

Only code in the core emulator now that wasn't at the very least
rewritten for bsnes would be the DSP-3 and DSP-4 modules, which are
really, really lazily done #define hacks around the original C code.
2010-10-20 22:30:33 +11:00
launcher Updated to v067r23 release. 2010-10-20 22:30:33 +11:00
libco First version split into asnes and bsnes. 2010-08-09 23:28:56 +10:00
nall Updated to v067r23 release. 2010-10-20 22:30:33 +11:00
obj obj/ and out/ must both exist, but we don't care whats in them. 2010-08-22 10:48:32 +10:00
out obj/ and out/ must both exist, but we don't care whats in them. 2010-08-22 10:48:32 +10:00
qt Updated to v067r25 release. 2010-10-20 22:30:33 +11:00
ruby Updated to v067r23 release. 2010-10-20 22:30:33 +11:00
snes Updated to v067r25 release. 2010-10-20 22:30:33 +11:00
cc.bat Updated to v067r23 release. 2010-10-20 22:30:33 +11:00
clean.bat Updated to v067r23 release. 2010-10-20 22:30:33 +11:00
Makefile Updated to v067r23 release. 2010-10-20 22:30:33 +11:00
sync.sh Updated to v067r23 release. 2010-10-20 22:30:33 +11:00