- Fixed non-interlaced display modes from not drawing every other frame
- Changed OAM halve to skip every other scanline in 224-height modes
- Updated renderer to properly support games that switch resolutions mid-frame
- Fixed VRAM address remapping modes, fixes DQ3R, FF: MQ
- Fixed a bug in main color window clipping affecting BGs
- Added video color curve option, thanks to Overload for the idea + color table
- Added vblank, FPS counter, and DDraw surface memory options to settings menu
- Added fullscreen modes 640x480 and 1024x768 to video modes
- Added option to toggle the menubar on and off by pressing the escape key
- Mode3 was not rendering sprites
- Priorities were wrong for modes 2-4, thanks to anomie for info
- Fixed a serious bug in IRQ interrupts. May not be perfect, but helps many games
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, I´ll leave it up for a bit.
I have done quite a bit, so I´ll try my best to recap most of the fixes since the last release...
- HDMA was not running during DMA transfers
- Emulator did not recognize any filetype other than .smc
- Added configuration file support and imported my vector/string/config libraries into bsnes
- Added option to use system RAM instead of video RAM for display, this can greatly increase speed on certain video cards
- Increased speed by ~15% by adding 256x224 renderer (still very buggy when the SNES mixes video modes mid-frame)
- mvn/mvp opcodes were not setting the DB register
- Fixed joypad input in many games (Super Mario: All Stars, Dragon Quest III, etc.)
- Major speedup with frakeskip option
- Fixed default aspect ratio when emulator is first started
There´s probably a lot more, but that´s all I remember offhand... this release should be a lot closer to the quality of v0.005a, but still needs a bit more polishing.