mirror of https://github.com/bsnes-emu/bsnes.git
9000bb4084
byuu says: I wrote a new CPU core from scratch. It has range-based IRQs, and is good enough even to run F-1 Grand Prix and Sink or Swim. It also uses a binary min-heap array for the timing priority queue. This resulted in a ~40% speedup. I also added in blargg's snes_spc library, which is an S-SMP + S-DSP emulator. I am still using his accurate DSP core, and not the fast one. This gives an additional ~10% speedup. THIS IS NOT PERFECT, THERE WILL BE BUGS! I already know that Tales of Phantasia and Star Ocean are hitting some edge cases. Now that it's fast enough, hopefully blargg can take a look at it. Something he couldn't test before because you can't rip SPCs of these games, so it's probably something simple. My CPU core also doesn't nail every last possible edge case. So things like Wild Guns and the two or three games that rely on NMI/IRQ hold aren't going to work ... yet. Be patient. The SuperFX and SA-1 cores are still cycle-accurate. It wouldn't hurt compatibility to reduce their precision a bit. End result is that you can now get well over 60fps in normal games even n a first-generation Intel Atom. |
||
---|---|---|
.. | ||
application | ||
base | ||
cartridge | ||
data | ||
debugger | ||
input | ||
link | ||
movie | ||
platform | ||
resource | ||
settings | ||
state | ||
tools | ||
utility | ||
Makefile | ||
config.cpp | ||
config.hpp | ||
interface.cpp | ||
interface.hpp | ||
main.cpp | ||
ui-base.hpp |