Subject: CVS commit: pkgsrc/emulators/snes9x
To: None <pkgsrc-changes@netbsd.org>
From: Ben Collver <ben@netbsd.org>
List: pkgsrc-changes
Date: 03/18/2006 15:56:00
Module Name:	pkgsrc
Committed By:	ben
Date:		Sat Mar 18 15:56:00 UTC 2006

Modified Files:
	pkgsrc/emulators/snes9x: Makefile PLIST distinfo
	pkgsrc/emulators/snes9x/patches: patch-aa patch-ab patch-ac patch-ad
	    patch-ae patch-af patch-ag patch-ah patch-ai patch-aj patch-ak
	    patch-al patch-am patch-an patch-ao
Added Files:
	pkgsrc/emulators/snes9x/patches: patch-ap patch-aq

Log Message:
Upgrade snes9x to version 1.43.  May affect PR#33084.

Builds but does not run correctly on amd64 and sparc64.

Unix-specific changes include:
* Removed bundled zlib in favour of detecting the system zlib.
* Fixed mouse offset in resized X11 window.
* Fixed compilation on AMD64.
* Rewrote keyboard setup code
* Unmap all joystick buttons before applying -joymapX
* Loading a zip file on binaries without zip support will give
an appropriate error message
* Added install target with proper --prefix handling.
* Added VPATH handling.
* Added fallback to C-core if configure can't find nasm.
* Changed the default controller setting to use just the plain
SNES controller pad. Mouse, Superscope and multiplayer adapters
are now turned off by default. This reflects how the Windows
port has been doing it for some time.
* Added a new command line option: -sdd1-pack
* Fixed the x86 SuperFx assembler core.
* Added possibility to enable the debugger via configure.
* Moved full screen button from 'Print Screen' to 'Alt'+'Return'.
* Added screenshot capability. Available by pressing 'Print Screen'.
* Fixed OpenGL target.
* Fixed sound on some big endian Linux systems.

General changes include:
- Rewrote Unfreeze, renamed it S9xUnfreezeFromStream,
  failing to load a freeze file no longer resets emulation  (blip)
- Fixed Unfreeze to restore IPPU.HDMA properly              (blip)
- Rewrote OBC1 code to match the real chip                  (Overload)
- More updates the to DSP-1 code, fixes to projection       (Overload, Andreas Naive)
- Added movie recording+rerecording support                 (blip, Bisqwit)
- Added -hidemenu CLI switch                                (funkyass)
- Added internal support for emulating the new-style SNES   (MKendora)
- Cleaned up many quirks of the cheat search engine         (MKendora, Don Vincenzo)
- Fix mosaic in hires SNES modes (Tokimeki Memorial)        (MKendora, zones)
- Rewrote Legend's hack, added another game to it           (MKendora)
- Optimized the Open ROM dialog                             (MKendora)
- Rewrote the Seta DSP map                                  (The Dumper, MKendora)
- Began string isolation for the UI, eases translation      (funkyass)
- added -nopatch -nocheat, and -cheat CLI items             (MKendora)
- fixed a UI typo                                           (funkyass)
- fixed several C core stack ops in emulation mode          (MKendora)
- split emulation mode ops from native mode ops             (MKendora)
- Seta special chip emulation enhancements                  (Feather, The Dumper, Overload, MKendora)
- code tweaks to the ST010                                  (Nach, pagefault)
- fix some C/asm quirks and HDMA quirks (all my fault)      (MKendora)
- several timing hacks to fix games                         (lantus)
- improved checksumming for odd mirrorings                  (MKendora)
- Snes9x uses a standard zlib instead of a packaged one     (PBortas)
- Exhaust Heat 2 and regional ports are playable            (Feather, The Dumper, Overload, MKendora)
- Game Doctor dumps that are 24 Mbit are now supported by
  a force option                                            (MKendora, Nach)
- SuperFx interleave format is now considered deprecated.
  Support will be removed in future versions                (Team decision)
- made SuperFx interleave detection a compile option        (MKendora)
- added memory maps for slotted games                       (MKendora)
- fixed a typo in the usage messages                        (MKendora)
- fixed the bug that had nuked optimizations                (The Dumper)
- restored full speed optimizations in release builds       (funkyass)
- Added non-speed-hack version of color subtraction.        (zones)
- OpenGL info message font fix                              (zones)
- APU timer fix                                             (zones, Nach)
- Fixed mouse offset in resized X11 window.                 (PhaethonH)
- Fixed a (presumably) long-standing bug: Mode 6's BG is
  depth 4, not depth 8!                                     (anomie)
- Dreamcast: Added SH4 assembler                            (PBortas, Marcus Comstedt, Per Hedbor)
- C90 and aclocal 1.8 warning fixes (thanks Ville Skytt�   (PBortas)
- Added support for NSRT Team's JMA format                  (Nach, NSRT Team, funkyass)
- Added 8-bit rendering filters                             (funkyass)
- Added Sanity Checks for the Display Dialog                (funkyass)
- New Layout for the Joypad Dialog,                         (funkyass)
- Fixed that anoying Joypad dialog bug. Now check to see
  if the axis exists before asking for the info form it     (funkyass)
- Added full POV support.                                   (funkyass)
- Fixed sram sizes for SuperFx games                        (Nach, MKendora)
- Stopped saving sram for games with no battery             (Nach, Mkendora)
- stack wrapping fix in C core                              (MKendora)
- removed some dead hacks (Oda Nobunaga and Dezaemon)       (MKendora)
- fixed some DMA and HDMA modes                             (anomie, MKendora)
- improved HDMA timing                                      (anomie)
- cleaned up load and deinterleave code                     (MKendora)
- removed old UI DLL                                        (MKendora)
- new cheat dialogs                                         (MKendora)
- Implement odd sprite sizes, sprite priority rotation.     (anomie)
- RTO code that hopefully works. MK's #define is
  "MK_DEBUG_RTO" to try to debug the RTO code.              (anomie)
- SDD1 decompression support for Linux. Also added a new
  command line option -sdd1-pack.                           (anomie)
- Added correct VRAM read logic. #define CORRECT_VRAM_READS
  if you want it.                                           (anomie)
- removed the non-VAR_CYCLES path                           (MKendora)
- changed access timing map to be address-based.            (MKendora, anomie)
- DSP-1 updates                                             (Overload, Andreas Naive)
- S-DD1 decompression support                               (Andreas Naive)
- optimized S-DD1 code                                      (anomie)
- S-DD1 can use packs or decompression                      (MKendora)
- More work on Exhaust Heat 2                               (MKendora, Overload, The Dumper)
- separated ROM detection from file reading                 (lantus)
- fixed a mirroring bug in LoROMs                           (MKendora)
- cleaned up some mapping issues                            (MKendora)
- ST018 games now boot before locking up                    (Mkendora, Overload)
- SA-1 state was not completely reset, crashed Marvelous    (zones)
- Removed sample caching. It caused problems, and was not
  noticably faster.                                         (MKendora)
- Fixed interlace without breaking the displays for MK      (anomie)
- Fixed a PPU OpenBus hack                                  (anomie)
- Moved SPC7110 and S-DD1 regs to speed up the general case
  of reading the $4xxx registers                            (MKendora)
- altered Hi/Lo ROM detection to fix a few misdetects.      (MKendora)
- Implemented RTO flags. With MK's implementation of $213F's
  interlace bit, we now pass the SNES Test Cart's
  Electronics Test                                          (anomie)
- Fix sprite windowing bug                                  (anomie)
- cleaned up the hacks section somewhat                     (MKendora)
- removed some interleave hacks                             (MKendora)
- fixed a bug in KartContents                               (MKendora)
- transparency fix for Jurassic Park                        (lantus)
- Kludged Mark Davis until I get stable APU timing          (MKendora)
- Fixed an FMOD bug                                         (MKendora)
- cosmetic tweaks                                           (Everyone)
- Fixed 2 special chip bugs in the C core                   (zones)
- Added some sanity fixes to the C core, fixes MLBPA
  Baseball for C core users                                 (zones)
- updated zlib source (includes 1.1.4-1 patch)              (MKendora)
- compiler warning fixes                                    (PBortas)
- Updated the SuperFx asm core                              (pagefault)
- Hacked Robocop vs. Terminator using Daffy Duck hack. Stops
  flashing.                                                 (MKendora)
- Added some defines to the asm core                        (MKendora)
- Initialize the C SuperFx core better                      (PBortas)
- Kludge a Japanese golf game until the APU timing is fixed (MKendora)
- Oops, in the asm CPU core i was stomping on %eax too
  early, so register $4210 wasn't getting set properly.     (anomie)
- Generic accuracy fix in main SUperscope emulation         (MKendora)
- sprite bug fixed (gah! How'd we miss that)                (anomie)
- SPC saving compatibility fix                              (Caz and zones)
- Window clipping update                                    (anomie)
- Mode 7 clipping fix                                       (TRAC)
- latching fix                                              (anomie)
- BS BIOS checksum and mapping fix                          (MKendora)
- Working Uniracers hack (dma.cpp)                          (anomie)
- HDMA Indirect Address fix for Romancing Saga 2            (anomie)
- Better savestate hack, does it break anything?            (anomie)
- C4 C core fixes. Mostly Trapezoid (thanks Nach),
  some s/short/int16/, some indentation.                    (anomie)
- Damn, but the indentation in ppu.cpp was screwed up.
  Killed some dead code too (twas commented forevermore).   (anomie)
- fixed a potential crash in S-DD1 logging                  (MKendora)
- Improved accuracy of Hi/LoROM detection (~500 ROM test)   (MKendora)
- Hack for Moryou Senki Madara 2, don't call
  SelectTileRenderer from DrawOBJS if BGMode is 5 or 6. A
  real fix requires at least rewriting SelectTileRenderer,
  or inlining a special version in DrawOBJS.                (anomie)
- DMA traces: add additional address info to reads too.     (anomie)
- Killed the old Borland Joypad dialog                      (funkyass)
- Fixed issues with Dezaemon and CT, maybe others           (anomie, MKendora)
- Changed the internal snapshot key from \ to VK_F12        (funkyass)
  Fixes issues with non-US keyboard layouts.
- Fixed OAM reset to not occur during forced blank.         (anomie)
- Killed some dead OAM reset code that doesn't need saving. (anomie)
- Fixed OAM reset timing (beginning of V-Blank rather than
  end) for R-TYPE 3 (J).                                    (anomie)
- Tweaked the About Dialog so its read-only and no scroll   (funkyass)
- cleaned up a sound skipping code issue. Same as the
  RTC issue                                                 (lantus)
- re-fixed the invalid BRR header behavior twice            (Lord Nightmare, FatlXception, Mkendora)
- More BS mapping fixes.                                    (The Dumper, MKendora)
- Fixed Ranma Bun no 1 - Chonai Gekitou Hen (J) and
  Street Combat (U). Interlace is not supported in the
  non-Hi-res modes, as far as I can tell.                   (MKendora)
- Also fixes Maka Maka (J). Frank Yang's report, and
  anomie's code both provided clues to this one.
- Removed special casing on setting 5c77 version to one.
  This seems to be true for U and J units always. I need
  it checked out on PAL...                                  (neviksti)
- Using SNEeSe's values for 5c78 and 5A22. Note we know
  that the 5c78 version can also be 1 or 2, instead of 3.   (TRAC, neviksti)
- Added turbo buttons. Credit/blame for the design goes
  to slack, Nave, Gogo, and myself.                         (MKendora)
- fixed a bug in turbo                                      (slack, MKendora)
- Tried merging the behavior of Old $4200 with new $4200    (MKendora)
- Made $4200's return value match what VSMC Explorer
  showed on Fancia's SNES                                   (MKendora)
- Fixed a matrix multiplcation bug in ZSNES state loads     (MKendora)
- Fixed Dezaemon and Ys3 mode 7                             (lantus)
- Fixed H-DMA modes 5-7. Thanks to The Dumper for the
  extra motivation needed. GunForce and Genocide 2 work.    (The Dumper, MKendora)
- Fixed BG3 Priority. I'm stupid. anomie had fixed it,
  but lantus fixed it again, because I didn't use it.       (anomie, lantus)
- Added a Star Fox 2 hack, and an interleave skip           (The Dumper, lantus, MKendora)
- Cleared BS setting on load                                (lantus)
- Fix for Mode 7 priorities. fixes F-1 Grand Prix (all 3)   (anomie)
- JANJYU GAKUEN 2 needs Multi-tap 5 off.                    (Frank Yang, MKendora)
- HONKAKUHA IGO GOSEI: No multi-tap 5, allow mouse          (lantus, MKendora)
- Added a few missed conditional compiles                   (Nach)
- disabled multitap 5 by default, added menu to enable      (MKendora)
- special thanks to anomie and lantus. One of them is
  responsible for a bug fix I forgot already.               (anomie, lantus)
- Removed several Multitap5 disable hacks.                  (MKendora)
- Added an SPC dumping upgrade from kode54                  (kode54)
- cleaned up some resource leaks                            (MKendora)
- I forgot this since 1.39mk, but SPC700 flag fixes         (anomie)
- Mode 7 interpolation screen flip fix                      (anomie)
- Updated SPC7110 code a bit, for compatibility             (Daniel, anomie)
- Changed RTC saving. (Byte exact to old format on Win32)
  The submitted patch for "safety" doubled the file size,
  so I had to write it in explicitly little-endian.         (MKendora)
- Removed the old hidden cursor                             (MKendora)
- Applied a WAI correction from anomie.                     (anomie)
- Added a patch for Pseudo hi-res                           (anomie)
- Hacked around Word writes to $7F:FFFF. Thanks to lantus
  and The Dumper for verification.                          (MKendora)
- PPC compile fix? and debugger reversion                   (anomie)
- Set defaults differently to improve sound quality.        (MKendora)
- Clear Force load settings after Init                      (lantus)
- Made menu reset a soft reset. Fixed BL Sound Test & more  (CaitSith2)
- Fixed word writes to block bounds in asm core.            (MKendora)
- redone version of my bounds fix, only this one WORKS!     (TRAC)
- Thanks to TRAC for the AT&T syntax refresher!             (TRAC)
- Fixed screen saver disable                                (kode54)
- Fixed OAM and sprite priority in the asm core             (anomie)
- Proper Interlace fix for mid-frame changes                (anomie)
- Fixed OpenGL to accomodate previous patch                 (MKendora)
- Fixed ROM Info bugs                                       (_pentium_five, MKendora)
- Fixed non-stretched interlacing, but it's s.l.o.w.        (anomie)
- Superscope and Mouse need to be enabled by the menu.      (MKendora)
- Fixed HiROM sram reads in asm and C cores                 (anomie, MKendora)
- Added Company 48 to the list. Thanks to _pentium_five_    (StatMat)
- Set Super Drift Out's S-ram correctly.                    (Snes9xppSE Team)
- Fixed NTSC timing. Helps ToP Intro greatly                (kode54)
- Added several entries to the company list, from uCON64    (Nach)
- Lots more companies                                       (StatMat, Nach)
- Added ZSNES OBC1 code ported from asm to C                (sanmaiwashi)
- Implemented Justifier emulation                           (neviksti, MKendora)
- Fixed Rudora no Hihou's clip window bug                   (anomie)
- Fixed Flintstones sprite issue                            (lantus)
- Fixed sram mappings for Big Sky Troopers and
  Taikyoku - IGO Goliath. Both map in bank F0               (MKendora)
- Fixed a possible crash when switching audio settings      (MKendora)
- Added per-pack gfx pack configuration                     (MKendora)
- Fixed glitches in DSP-1 games (Flintstones fix)           (lantus)
- Added delay to Superscope latching. Fixes X-Zone.         (neviksti, MKendora, zones)
- Added DSP-2 support                                       (Overload, The Dumper, Lord Nightmare,
                                                             MKendora, neviksti)
- Fixed Super Bases Loaded 2 (and J/K ports) DSP-1 seems
  to ignore the A15 line in LoROM maps                      (MKendora)
- Corrected $4200 again                                     (The Dumper)
- Corrected $2100, $2102, and $2102 read behavior           (anomie)
- Fixed Cancel on the Sound Options dialog.                 (MKendora)
- Fixed the sound options dialog (Thanks, Quattro)          (MKendora)
- updated DSP-1 support to match chip better                (Overload, neviksti, The Dumper)
- added a few Ops to the DSP-4 routine (Nothing plays yet)  (neviksti, The Dumper, Overload, MKendora)
- added screenshot support                                  (anomie, sanmaiwashi)
- stubbed the ST010 chip in Exhaust Heat 2                  (Overload, MKendora)
- hacked around War 2410's lockup                           (pagefault, _Demo_, MKendora)
- updated tests for type 1 ROMs (based on reset vector)     (MKendora)
- Emulation mode CPU fix                                    (The Dumper)
- Open Bus fixes                                            (anomie)
- Better Expansion port emulation                           (anomie)
- More Open Bus fixes                                       (Overload, anomie)
- HDMA fixes (fix colors only in Full Throttle Racing)      (anomie)
- Migrated DKJM2 onto the Tales map                         (MKendora)
- Tried to remove Dragon Knight 4 hack (LoROM sram fix)     (MKendora)
- Fixed ROM Mirroring for LoROMs (<= 32 Mbit)               (MKendora, TRAC)
- blocked wram to wram DMAs                                 (neviksti)
- fixed HiROM mirroring, too. Thanks TRAC!                  (MKendora, TRAC)
- fixed C core RMW and Push ops to write in the correct
  order, fixes Michael Jordan gfx.                          (anomie, Overload, MKendora)
- set RDIO to start as 0xFF, fixes SuperFx games.           (anomie, Overload)
- New connect dialog                                        (funkyass)
- better conditional compile of FMOD                        (funkyass)
- fixed screenshot code when libpng is not used             (funkyass)
- added portability fixes                                   (zones)
- fixed asm Pushes                                          (anomie)
- fixed asm LoROM s-ram decode                              (MKendora)
- migrated DEZAEMON to standard LoROM map                   (MKendora)
- fixed the Madara 2 OpenGL bug (key found in Rudra)        (MKendora)
- fixed asm RMW instructions                                (MKendora)
- fixed ADC opcode                                          (The Dumper)
- added DSP-2 Op09                                          (The Dumper)
- updated C4 C code                                         (anomie)
- updated C4 asm code                                       (Nach)
- Keep OpenGL in ratio                                      (kode54)
- Replaced many more Borland dialogs                        (funkyass, MKendora, Nach)
- Added CRC32 to displayed ROM Info                         (Nach, MKendora)
- Fix cheat support                                         (The Dumper)
- improved DMA timing                                       (MKendora, Overload, The Dumper)
- Fixed Mode 7 math, removed Dezaemon, Gaia, Ys 3 hacks     (TRAC, MKendora)
- Mode 7 flip fix                                           (TRAC)
- Multiple safety and initialization fixes                  (zones)
- Platform safety fixes                                     (PBortas)
- Memmap cleanups                                           (MKendora)
- More preliminary work on special chips                    (The Dumper, Overload, MKendora)
- Added color coding                                        (MKendora)
- Another HDMA fix                                          (anomie)
- added another known hack to the hacked games list         (Nach)
- ToP memmap changes                                        (MKendora)
- Checksum calculation changes                              (MKendora)
- Special cased a few games for OAM issues                  (MKendora)
- Reverted OAM reset to 1.39 timing                         (MKendora)
- Reworked vram wrapping                                    (zones, Mkendora)
- Fixed $4210 and Super Professional Baseball 2             (Overload, MKendora)
- Fixed APU RAM init                                        (Overload, MKendora)
- More support for Exhaust Heat 2 (not playable)            (The Dumper, Overload, neviksti)
- removed some debris from save states                      (MKendora)
- fixed? Doom's save state bug                              (MKendora)
- simple overdump detection warning                         (MKendora)


To generate a diff of this commit:
cvs rdiff -r1.34 -r1.35 pkgsrc/emulators/snes9x/Makefile
cvs rdiff -r1.1 -r1.2 pkgsrc/emulators/snes9x/PLIST
cvs rdiff -r1.11 -r1.12 pkgsrc/emulators/snes9x/distinfo
cvs rdiff -r1.11 -r1.12 pkgsrc/emulators/snes9x/patches/patch-aa
cvs rdiff -r1.2 -r1.3 pkgsrc/emulators/snes9x/patches/patch-ab \
    pkgsrc/emulators/snes9x/patches/patch-ad \
    pkgsrc/emulators/snes9x/patches/patch-ae \
    pkgsrc/emulators/snes9x/patches/patch-ah \
    pkgsrc/emulators/snes9x/patches/patch-ai \
    pkgsrc/emulators/snes9x/patches/patch-aj
cvs rdiff -r1.3 -r1.4 pkgsrc/emulators/snes9x/patches/patch-ac \
    pkgsrc/emulators/snes9x/patches/patch-af
cvs rdiff -r1.6 -r1.7 pkgsrc/emulators/snes9x/patches/patch-ag
cvs rdiff -r1.1 -r1.2 pkgsrc/emulators/snes9x/patches/patch-ak \
    pkgsrc/emulators/snes9x/patches/patch-al \
    pkgsrc/emulators/snes9x/patches/patch-am \
    pkgsrc/emulators/snes9x/patches/patch-an \
    pkgsrc/emulators/snes9x/patches/patch-ao
cvs rdiff -r0 -r1.1 pkgsrc/emulators/snes9x/patches/patch-ap \
    pkgsrc/emulators/snes9x/patches/patch-aq

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.