Robert Posted June 22, 2005 Share Posted June 22, 2005 The SNES emulator BSNES has been upgraded to v0.008 06/21/2005 - bsnes v0.008 released By moving the window + main color window clipping into the bg/oam/mode7 rendering routines themselves, I was able to greatly simplify the most complicated part of rendering: the final pass where color add/sub effects are applied. As a result, the new PPU core is not only ~35% faster (on graphics intensive screens, even faster on simpler screens), but more accurate as well. Awesome. In celebration, I'm releasing bsnes v0.008. I can actually run all games I have at >60fps on my Athlon 1.67ghz PC. Probably not something to brag about, though... Oh, and I also updated the keyboard polling code to only capture keypresses if the main window has focus. I've been meaning to do this for the better part of a year now, but never got around to it. If, for some reason, you still want to use the old renderer, you can uncomment the first line in src/ppu/bppu/bppu.h and recompile the emulator yourself. Or you can use v0.007a. »» Official Site»» Download it Now! [1Emulation Server] Credits: Official Site Link to comment Share on other sites More sharing options...
Robert Posted June 24, 2005 Author Share Posted June 24, 2005 06/23/2005 - Damn, damn, damn Missed something major in the release, again... sigh. I was always offseting the output buffer with the interlace field, even when interlace was disabled. This basically means that every other frame in v0.008 in 256x224 and 512x224 mode isn't displayed. Or, in other words... the emulator runs as if it were in frameskip one mode. This explains a lot of peculiar behaviour, like sprites not blinking, the Zelda 3 title screen add/sub effects only blinking in one or two colors instead of all three, frameskip causing the video to seemingly stop updating... I guess it was a good thing I left 0.007a up after all. v0.008 is actually slower as a result of this, despite getting higher frame rates. But I've already started on v0.008 wip1. I fixed this bug, and you now get the full frame rate, plus the speedup of v0.008, plus additional speedups from the rewritten color add/sub code (although it now consumes 4mb more memory...), and from inling more of the CPU core (which bumps the executable size up to 304kb). I also did some other work today as well. I changed the way OAM halve works. It now doesn't interlace the sprites if hires+interlace mode isn't enabled, it instead "crushes" the sprite in half, by skipping every other line. I mainly changed it to avoid really complicated problems that could come up due to the new variable-sized video renderer I wrote. I've been told this is how it's supposed to work anyway. I also updated the DirectDraw renderer to support mixed-screen modes (e.g. half the screen being 256x224 and half being 512x224). I believe there's still some bugs in the PPU itself or something, though, as most games that use split-screen stuff like this don't render properly (GOD, Metroid 3, Madara 2, etc). I'm holding off on releasing a new version for a while, despite the last error being rather serious. I want to get the problems with invisible sprites in the new renderer fixed (ref: FF5 title screen, RTK: Eiketsuden, etc) first. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now