 |
Snes9x.COM: News |
|
|
|
 |
 |
|
 |
Windows and i386 Linux Snes9x Ports Released v1.33 |
 |
The highlights include C4 emulation, an important speed hack bug fix and improved colour subtraction code.
The C4 emulation in Snes9x, to make Megaman X2/X3 playable, was only possible due to the many days/weeks of work that zsKnight spent reverse engineering these games and coding up an emulation; thank you zsKnight! Snes9x actually includes ZSNES's asm C4 emulation code; for this reason, C4 emulation is only available on Intel/AMD ports of Snes9x at the moment, until I reverse engineer zsKnight's i386 into C code. There will be no source code release until this work is completed.
Here's the full list of what's new in this release: - Noticed another problem with the CPU_SHUTDOWN code - Chrono Trigger locked up during the intro but only when using the asm code CPU core. Found the algorithm difference between the code and made the CPU match what the C version was doing. Still not sure why it caused a problem in the first place. - Changed colour subtraction code to use Lindsey Dubb's newer version he sent me some time ago but I 'forgot' to include. I say forgot, but I really put off including it because, although it improves most games that use the effect, it does result in one or two slight visual glitches. - Hacked in zsKnight's C4 emulation asm code - now both Megaman X2 and X3 are playable. Still got to complete the reverse engineering of the i386 asm code to C so other, non-Intel ports can have C4 emulation. - Shuffled the keyboard mapping a bit on the Linux port so now Tab key acts as an emulation speed turbo button, `, # and ~ act as superscope turbo and / acts as the superscope pause button. - Some old SA-1 shutdown code was causing the main SNES CPU to shutdown randomly instead. Very noticeable in Mario RPG where the game was running too slowly and music was getting out of sync with in-game action. - Fixed asm CPU_SHUTDOWN code that I accidentally broke while trying to optimise it! Thanks to all the people who noticed Snes9x's frame skipping had changed between releases. Frames rates should be improved again for more than 50% of games. - Re-enabled in-lining of the C SNES memory access routines, improves frame rate by one or two on slower machines. - Optimised the asm 65c816 addressing mode emulation code a little. - Included some code changes making life easier for the Mac porter, John Stiles. - Added memory map support for Sufami Turbo using information supplied by Nose0000. No idea if it works because I don't have the ROM. - Spent a few minutes trying to figure out the Star Ocean memory map so at least the sound effects could be heard. But gave up after 60 minutes or so due to laziness. If anyone knows the memory map details, let me know please!
Have fun.
Gary, 3-11-2000 18:58:00
|
|
 |
|
 |
 |
 |
 |
|
 |
Linux PowerPC port |
 |
If you are using Linux on a PowerPC then your in luck. Within a day of the initial release it has been ported to Linux(PowerPC) by Casey.
Enjoy...
Jerremy, 8-10-2000 15:11:00
|
|
 |
|
 |
 |
 |
 |
|
 |
Updated Snes9x Windows Port Released |
 |
This release is exactly the same as the last 1.32 release but with fixed OpenGL support. Users of the original Windows 95 must download the Microsoft OpenGL upgrade from their web site before this release will work for them.
If you don't use the OpenGL mode and have already downloaded v1.32, don't bother downloading this version.
Gary, 7-10-2000 10:04:00
|
|
 |
|
 |
 |
 |
 |
|
 |
Finally, a New Snes9x Release! |
 |
Sorry for the long wait; lots of reasons that I won't bore you with now.
Here's what is new: - 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. - 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.
Still got to finish porting the netplay code to Linux/UNIX, but once I've done that I'll start work on C4 emulation (Megaman X2 & X3) using the information supplied by zsKnight (thanks!).
Gary, 6-10-2000 17:53:00
|
|
 |
|
 |
 |
 |
 |
|
 |
Snes9x v1.31 for Windows Released |
 |
This release is available as an installable .exe file or a as zip file for more advanced users who prefer more control over the installation process. Unfortunately, you will need to reconfigure Snes9x after installing this new release because the diagonal key support I added makes some of the old registry settings incompatible. Highlights of the new release include OpenGL support, Windows WAVE sound output support, DirectSound support improved and auto-detect for odd Super FX format ROMs. Here's the full list: - Snes9x DirectSound code modified - the mixing block size is now always 10ms for Windows 95/98/2000 and 20ms for NT 4.x, now there should be no need to enable Sync Sound when a large sound buffer is required (helps emulation speed). The maximum sound buffer length values have been updated to reflect the smaller mixing block size. - Changed the DirectSound code back to use an offset from the play position as the place to write new sample data into the sound buffer - on NT 4.x the write position seems to vary randomly rather than being a fixed distance in front of the play position as documented. Now I know why I used the play position originally! - Changed the DirectSound code to fill the sound buffer at the write position supplied by DirectSound, rather than just before the current play position - should help reduce latency. - Added an auto-detect method for interleaved mode 2 Super FX ROM images - well, not really auto-detect: if the game crashes and its a Super FX game, Snes9x assumes its in interleaved mode 2, demangles the ROM image and tries to run the game again. - Had to update the Snes9x Windows registry version number as the additional diagonal settings make old registry settings incompatible. - Added diagonal keyboard controls to the Windows port, as requested by several users. - Changed PPU code to return zero when reading non-existent registers - the game Equinox relies on this due to an original game coding bug. - Included FMOD sound driver support to Windows port - people experiencing broken sound or delayed sound, etc, might want to give it a try. - Tales of Phantasia - un-interleaved format ROM memory map changes to match odd ZSNES format, now the hacked ROM works. - Changed NMI again. Made reading or writing to PPU register 0x4210 clear NMI pending flag again, without this Super Tennis does not work. - Changed NMI timing back to be the same as several versions ago and just special cased Cacoma Knight instead - although kept the code to prevent the re-triggering of an NNI more than once in the same frame.
Gary, 23-8-2000 11:31:00
|
|
 |
|
 |
 |
Go back in time
|
|
|
|