- 0 replies
- 1,358 views
- Add Reply
- 0 replies
- 1,838 views
- Add Reply
- 0 replies
- 1,904 views
- Add Reply
bSNES WIP Update!


bSNES is a Super Nintendo Emulator for Windows.
Most importantly, I received my copy of Visual Studio 2005 Pro, so now I can use profile guided optimizations on bsnes. This will give the emulator a 10-20% speed increase, depending on the game. I'll only be using this feature on final builds, and not WIP versions, as it takes significantly longer to compile this way.
Next, to speed things up some more, I added #ifdefs around all of the debugging functions inside the core. That means a Windows port can now be compiled with no debugging extensions, which gives a nominal ~10% speed increase as well.
Finally, I improved the BG and OAM rendering a bit. First, I fixed a possible buffer overflow in the tile cache lookup for BGs, and second, I corrected two bugs in the OAM renderer, and generally rewrote a lot of the code in an attempt to clean things up. The first bug was due to incorrect tile wrapping. An example: if you specify a 16x16 sprite indexed at character=15, then the SNES will loads tiles 15 (top left), 0 (top right), 31 (bottom left), and 16 (bottom right), and not 15, 16, 31, 32. So (character + x) becomes (character & ~15) + ((character + x) & 15). I don't know of any games it fixes, and in fact, most emulators don't emulate this correctly anyway. The second bug was due to me handling hires OAM sprites differently. Before, I was casting the sprite X position by two for hires, and performing screen wrapping based on that value. This is incorrect. The OAM data is actually still rendered using only the 256-width X position, so I adjusted the OAM renderer to just double up each final OAM pixel during the final stage of OAM rendering. This fixes an RTO bug in Madara 2, and the scrolling background image in the first screen for Tokimeki Memorial. Please note the below two screenshots are from hires (512x224) mode games, but the screen was scaled down to 256x224. The screens look better when at the proper scale ratio.
[01-Nov-05] QEMU WIP

Updates for the Cocoa build of Qemu
>> Visit the Homepage20051101CVS update.
Q Control
* new Features - click on a running guest to bring the window to front
* fixed Bugs - .qvm files can be started by doubleclicking them
QEMU
* fixed Bugs - improved Audio performance
Win994a v3.005 Release 4
CottAGE 1.6
»» HomepageErik released a new version of CottAGE (1.6) based on his JEmu work.It represents all his work since the latest CottAGE 0.11 version.
N.B. The CottAGE versioning will now be in sync with JEmu2 from now on.
This version is extracted from JEmu2 version 1.6.1 (http://www.gagaplay.com), which is an
enhanced version of CottAGE: Much better rendering, better timing, better sound, online high-
scores and more Smile
Some components from JEmu2 were left out (The JEmu2 code itself, the 68k emulator and the CPS1
driver).
As of this version, java 1.1 (i.e. The MS VM) will no longer be supported.
[JEF CHANGES & FIXES]
* Added emulation of the YM2203 sound chip [Erik Duijs]
* Added a sample player [Erik Duijs]
* Fixed R register emulation of the Z80 cpu (this fixed arkanoid) [Erik Duijs]
* Changed the sound implementation. It´s now javax.sound only, which means that JEF is now
not compatible with java 1.1 anymore, but it´s only 1.3 and up. The new sound implementation
moved the sound thread to the main thread and updates once a frame. This solved the
infamous timing errors. [Erik Duijs]
* Abstracted the memory mapping, and added a few alternative implementations. [Erik Duijs]
* Added support for online high scores [Erik Duijs]
* Many changes and fixes from the last few years I forgot to document Smile [Erik Duijs]
[COTTAGE DRIVER CHANGES AND FIXES]
* Fixed the arkanoid driver [Erik Duijs]
* Fixed the gng driver [Erik Duijs]
* Added sound to Commando, 1942, 1943, Gun Smoke, Bomb Jack, Arkanoid, and Ghosts ´n Goblins
[Erik Duijs]
* Fixed the M62 Driver [Erik Duijs]
* Many changes and fixes from the last few years I forgot to document Smile [Erik Duijs]
[KNOWN ISSUES & TODO LIST]
* The new sound implementation depends on precise timing, which is very difficult (if not
impossible) to do with a pre 1.5 version of java. Sometimes this leads to audible pops and
clicks, due to buffer underruns.
* TODO:Add support for high precision timers of 1.5 and the unofficial 1.4 high precision timer.
* For some reason, zoomed display modes have become extremely slow.
Thanks to AEP-Emu for the news.