CHANGES.TXT

(101 KB) Pobierz
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
  means I have no no idea what value the DMA in progress register should
  represent. I've hacked it and made it toggle between 0 and $ff on each read
  which gets both games working, for now...
- The ROM de-interleaving code always assumed the blocks were rearranged based
  on a power of two, but Francois found a copy of Soldiers of Fortune where
  this was not the case. Corrected the code.
1.36
- Finally worked out why the menu items weren't being highlighted in several
  ROMs, including Battletoads, U.N. Squadron and All Japan Pro Wrestling.
  Two problems: its seems the SNES does halve the colour value result when
  blending colours when only the fixed colour addition/subtraction is enabled,
  but doesn't halve the result when sub-screen is being blended and its a clear
  part of the sub-screen. The second problem was that I had an optimisation
  that prevented the time consuming colour blending c...
Zgłoś jeśli naruszono regulamin