📄 changes.txt
字号:
- hacked in Shien's Revenge (anomie)- fixed Orge Battle's green lines. (CPU source for DMA) (anomie) - Looks interesting, and might apply to other DMA cases?- maybe "fixed" DKC's barrels? by treating $2001 as unmapped. The game worked before with a hack. (MKendora)- optimized SPC7110 slightly by removing extra setup work (MKendora)- Fixed DBZ 3 (Korean). S. Korea is, in fact, NTSC. (MKendora)- Fixed a hard-coded value in the SPC7110 (MKendora)- Added a Win port ROM Info dialog (MKendora) - some companies aren't in the table I used. If you encounter an Unimplemented company, report it the the Snes9x development forum, with the correct company and the number.1.39mk- SPC7110 support based on Dark Force's docs. (Dark Force, zsKnight, The Dumper, MKendora) Trust me when I say those guys deserve the credit more than me. From what I'm told, Dark Force is the man behind most of the reverse engineering, but they all did a much harder bunch of work than I did following their specs. It's plain and simple that these three are the masterminds behind all SPC7110 support. Dark Force for reverse engineering the chip (Extremely tough work!) zsKnight for the original core, and probably other things The Dumper for dumping the packs and doing hardware tests. Also thanks to CaitSith2 for numerous bug reports and a lot of bug fixes.- Theme Park hack removed, fixed via PPU latching (anomie, MKendora, TRAC)- WWF Wrestlemania hack removed (anomie, TRAC)- Strike Gunner hack fixed (anomie, MKendora, TRAC)- FF:MQ text fixed. May help other sprite issues. (TRAC)- Umi Hara Kawa Se timing corrected. (anomie)- S-DD1 packs load by the same rules as ZSNES (MKendora)- SPC7110 code builds in linux (Lord Nightmare, zinx)- Added The Dumper's DSP-1 updates (The Dumper)- SPC7110 is correctly displayed on load, RTC also noted. (MKendora)- Fixed a potential graphics problem (TRAC) no known games fixed, but who knows?- Fixed Ballz3D (pagefault) - Re-fixed Ballz3D, via DSP op 0F (The Dumper)- included some of anomie's fixes. Many caused me grief, so only Marko's Magic Football is intentionally fixed. (anomie)- finished zsnes save support, though I don't know how well it will work with SPC7110 games (MKendora)- Added a new soundux.cpp again to fix some noise. (Fixes the GW "fart track") (Lord Nightmare, info from Anti-Res)- Added 3 cache modes for SPC7110 games (MKendora)- Added new BRR decoder. Requires sample caching and the Anti-Res decoder be disabled. (FatlXception, port by Lord Nightmare)- Added CaitSith2's RTC debugger. define RTC_DEBUGGER in project settings to enable it. (CaitSith2)- SPC7110 per-game cumulative logging (MKendora)- other fixes that I've forgotten (sanma iwashi, TRAC, anomie, ????)- "I'm not worthy" thanks to the original SPC7110 crew (DF, zsKnight, and the Dumper)- Thanks again to the same people, because they deserve it!- thanks to The Dumper, Dejap, TRAC, and all the ZSNES crew for technical assistance- Thanks to most of the Snes9x mods for testing (no thanks to you, Raptor ;)- and thanks to TRAC and #mkendora for letting me vent at you.1.39- Added SDD-1 unknown graphics data logging at the dumper's request. A bit late but might help with Street Fighter 2 Alpha's data dumping. Creates a romname.dat file in the freeze file folder.- Implemented 16-bit texture support for OpenGL modes in Windows and Linux. Had to support a new pixel format type to do it - RGB5551 (one bit of alpha) which caused me some major problems - black was no longer always pixel value zero! - Removed the Bump map OpenGL mode from the Windows port (didn't look so good anyway and was slow).- Added a hidden novelty OpenGL mode (clue: a keyboard shortcut activates it)- Reverted back to FMod version 3.20 after reports that version 3.33 broke AD3 support.- Implemented a better work-around for the broken select system call in the Linux kernel - the original work-around was long-winded and stopped working when I implemented OpenGL support under Linux.- Added the same speed-up hack to the OpenGL code that the Glide code already supported. Basically, if your OpenGL implementation supports 16-bit textures then OpenGL mode should be as fast, or faster than the 3dfx Glide mode.- Hopefully fixed Glide support.- Reverted back to the original colour blending code. The newer code, although more accurate in most cases, had too many glitches and was slower.- Included multiple Japanese games fixes from Iswashi San.- Fixed a timing problem caused by a speed up hack that was affecting Top Gear 300. No the game still isn't playable yet, but I noticed the problem while investigating the DSP-4 chip used by the game.1.38- Added support for Star Ocean and Street Fighter 2 Alpha decompressed graphics packs from dejap. Used a binary chop search rather than a linear search to locate correct decompressed graphics more quickly - should help emulation speed during later stages of the game.- Included OpenGL support into the Linux port and speeded up the Windows OpenGL implementation slightly. The real speed up would occur if I could figure out how/if 16-bit textures are supported in OpenGL because at the moment the 16-bit software rendered SNES image must be converted to 24-bit before being uploaded as a texture...- Included the latest ZSNES DSP-1 code. Now Pilotwings, SD Racer and Suzuka 8 Hours are playable. Aim For The Ace, Super Air Diver 1 & 2 and Syutoko Battle 94 are also playable, but with bugs. Thanks to zsKnight, _demo_, et al for all their hard work.- Another Daffy Duck: Marvin Missions screen flicker problem worked around - writing to the IRQ enable register shouldn't clear any pending IRQs, but Sieken 3 seems to require this or else the game hangs. Special-cased Daffy Duck for now.- An NMI emulation bug was triggering a Panic Bomberman World game bug, crashing it. Basically, if a game enables NMIs after the normal trigger point, the NMI should not trigger if the game has already read the NMI clear register.- Panic Bomberman World requires SPC700 memory to be initialised to zero on reset otherwise the game hangs when a tune finishes and another one should start.- Added mouse pointer auto-hide to the Windows port. Much better than the turn the mouse pointer into a black dot method I was using before.- Included the latest ZSNES Super FX code. Not sure if it fixes actually fixes any games.- Added an offset hack for Strike Gunner to get the scrolling ground layer to line up correctly - another offset-per-tile bug hacked around for now.- Arrr! Left in some debugging code in the last release that prevented all games that need the slower SPC700 timing from working. Removed it.- Hmm. The broken cut-scenes in Deep Space 9 seem to indicate that I haven't got the emulated clock speed of the 65c816 CPU correct yet. And not by a little bit - a 9% too slow error. Hacked special timing for the game for now.- Added triple-buffering to Windows port - enabling double-buffering actually enables triple-buffering if you have enough free video RAM, defaulting to double-buffering if you don't.- Fixed another crash bug in the interpolated mode 7 code - if no scaling was being used (either up or down) and screen repeat was enabled and the screen was flipped horizontally, the routine would crash Snes9x. Was causing Snes9x to crash during rock monster boss stage of Castlevania 4.- Oops. Got the initialisation of the default SNES screen width and height round the wrong way - could cause a X Windows System error message on the UNIX port after loading a ZSNES freeze file.- Included the unofficial Windows port emulation fixes for several games including Kentouou World championship and TKO Super Championship.- Included Iwashi San's improved Anti Res. sound sample decoding routine and updated the C version to match.- Included Anti Res. improved sample decompression code he sent me ages ago, but for some reason I didn't include. Sorry. This version seems good enough to leave enabled all the time.1.37- Added fix for Captain America's corrupt graphics - a ROM bug causes it to read from what I thought should be an unmapped memory area, but it expects the value returned to be zero.- Added code to support games that switch to the hi-res. SNES screen mode part way down the screen while using the 3dfx bi-linear filter mode. The code basically has to back out of the speed up hack it was using when the game switches resolutions.- Fixed support for games that have mixed lo-res. (256x224), medium res. (512x224) and hi-res. (512x448) all on the same screen - corrects the display of Majin Tensei 2.- Added support for games that use sub-screen addition to the back-drop layer while displaying hi-res. graphics - something I thought the SNES couldn't do but the game Marvelous uses this.- Reworked the UNIX/Linux output image handling code: the image doesn't always have to be scaled when hi-res. support is enabled, the PutImage operation only updates the area of the screen it has to, the SNES image is now always centred in the window/full-screen area and if the SNES image changes size between frames, the old screen areas are now correctly cleared.- Fixed the corrupt graphics problem during the battle scene of Last Bible 3 - it requires that previously unknown DMA mode 5 should just act the same as DMA mode 1.- Fixed a nasty bug when H-IRQs were being reused on the same scanline - a logic bug could cause H-DMA processing for that line to be skipped. Was causing the bridge and the start banners to be the wrong colours in Top Gear 2.- Added Kreed's display processing modes to the Linux port, including his new asm version of the Super2xSaI mode and the new software bi-linear filtering mode.- Think I might have figured out the odd Mode 7 glitch problems the games Illusion and Gaia and Chase HQ were having. My original fix was to mod the centre X & Y values with 1024, but looks like the true fix is to mod X + horizontal offset and Y + vertical offset with 1024 when screen wrapping is enabled.- Disabled H-DMA'ing into V-RAM via registers 2118/2119. The game Hook deliberately does this causing graphic corruption while dialog boxes are displayed. Maybe the real SNES disallowed this and it was left in the game by mistake? Not sure what effect the game was trying to produce because disabling the emulation of this feature doesn't seem to affect the game at all, other than stopping the corruption. + Also fixes graphics junk problem on first screen of Bugs Bunny.- Added a 'region-free' timing hack for Power Rangers Fight - without it the NTSC version was displaying badly glitching graphics; I'd already fixed the PAL version.- Added true priority-per-pixel mode 7 support (the previous support was just a hack to get the colours correct) - level 2 of Contra 3 used this feature.- The Japanese, German, French and Spanish version of Illusion of Gaia needs the slow SPC700 timing.- Deleted the Breath of Fire 2 S-RAM hack for the hacker intro version - according to reports it was causing problems for the non-hacked version.- Legend, the PAL version, never sets the sound master volume control - Snes9x was defaulting this to off, I guess the real SNES must default it to full volume; changed Snes9x. The NTSC version of Legend does set the master volume level, but sets it to off just after the title screen. Hmm. The -nmv command-line switch allows you to hear sound in this version.- Panic Bomber World was tripping an SA-1 emulation bug - the WAI instruction emulation code was setting the 'waiting for interrupt' flag on the wrong CPU causing the main SNES to skip an instruction when the next interrupt occurred.- Panic Bomber World, Bomberman 4 and UFO Kamen Yakisoban all need the slower SPC700 timing.- Oops! The Super Formation Soccer 95 fix was causing Aero 2 to lock up. This
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -