-
Changed the Windows port to delay load the two
OpenGL DLLs, so now they're only loaded if you switch to OpenGL
mode. The original version of Windows 95 didn't include the OpenGL
DDLs, so Snes9x wouldn't even start on that platform; now it should.
- Added yet another sound buffer option to the Windows port - this
time the block size of sound data to mix. Some DirectSound sound card
drivers only report the play position moving in steps rather than
continuous amounts and Snes9x's default mix block size turned out
to be smaller than this step value on several cards. Snes9x couldn't
work out out where the true play position was accurately enough resulting
in broken, noisy sound output.
- Added yet another sound buffer option to the Windows port - this
time the block size of sound data to mix. Some DirectSound sound card
drivers only report the play position moving in steps rather than
continuous amounts and Snes9x's default mix block size turned out
to be smaller than this step value on several cards. Snes9x couldn't
work out out where the true play position was accurately enough resulting
in broken, noisy sound output.
- Modified the Windows frame timer code to use semaphores rather
than events - they should make Snes9x more reliable at not missing
frame sync pulses when Windows is busy doing background tasks.
- Added SA-1 shutdown code - basically, Snes9x now stops emulating
SA-1 CPU instructions when the SA-1 enters an idle loop waiting for
the main SNES CPU to give it something to do. All SA-1 run much faster
and smoother now.
- Added multi-axis joystick/game controller support to the Windows
port and tweaked the dead-zone threshold position a little.
- It looks like the SNES PPU was designed to support 128K of V-RAM
but only 64K was fitted; Snes9x wasn't wrapping all V-RAM address
to stay within the 64K limit causing a corrupt title screen on ReX
Ronan - there will be others.
-
Added amend functionality to the Windows Cheat
Entry dialog and added extra text boxes for direct address and cheat
value input rather than only being able to type in a Game Genie
or Pro-Action Reply code.
-
BS Suttehakkun2 was crashing just before start
of play - the ROM was performing a junk DMA that was corrupting
RAM, crashing the game when it went searching for a particular value.
-
F-1 Grand Prix requires IRQ triggering when IRQ
scan-line register set to current scan line, but Chuck Rock objects.
Hmm. Chuck Rock seems to indicate the CPU emulation is running too
fast, but I can't see where the mistake is. Special-cased Chuck
Rock for now.
-
Optimised SNES DMA handling slightly - copying
data to SNES V-RAM is now significantly faster.
-
Windows Cheat search dialog was ignoring data
type parameter in various places which was causing problems when
larger numbers were being searched for.
-
Forced unknown PPU register reads to always return
0 - a coding bug in Equinox shows that this is required. An earlier
fix didn't work.
-
Puya Puya 2 & remix were objecting to an NMI being
triggered when enabling NMIs after scan-line 226, but Ys 5 seems
to require this. Hmm. Added a hack to support both games.