diff options
author | kristerw <kristerw> | 2002-07-08 01:04:09 +0000 |
---|---|---|
committer | kristerw <kristerw> | 2002-07-08 01:04:09 +0000 |
commit | a3e87fc16852b306d258d162acb687ca1bad1a54 (patch) | |
tree | a4fe288f2ac506bc81975a78690769ad6245e890 /emulators | |
parent | 2364995fdaa0ab3429e6494b867103996721aea7 (diff) | |
download | pkgsrc-a3e87fc16852b306d258d162acb687ca1bad1a54.tar.gz |
Update snes9x to version 1.39.
Changes since snes9x-1.37.3 include:
- Fixed a timing problem caused by a speed up hack that was affecting Top Gear
3000. No the game still isn't playable, but I noticed the problem while
investigating the DSP-4 chip used by the game.
- 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 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 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.
- 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.
- 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.
The package has been changed to use the oss sound instead of the sun
sound driver. This improves the sound quality.
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/snes9x/Makefile | 6 | ||||
-rw-r--r-- | emulators/snes9x/distinfo | 12 | ||||
-rw-r--r-- | emulators/snes9x/patches/patch-aa | 69 | ||||
-rw-r--r-- | emulators/snes9x/patches/patch-ac | 21 | ||||
-rw-r--r-- | emulators/snes9x/patches/patch-ag | 97 |
5 files changed, 108 insertions, 97 deletions
diff --git a/emulators/snes9x/Makefile b/emulators/snes9x/Makefile index 87e54c1fc40..ee92a34f89f 100644 --- a/emulators/snes9x/Makefile +++ b/emulators/snes9x/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.8 2002/06/15 21:09:38 wiz Exp $ +# $NetBSD: Makefile,v 1.9 2002/07/08 01:04:09 kristerw Exp $ -DISTNAME= s9xs137c -PKGNAME= snes9x-1.37.3 +DISTNAME= s9xs139 +PKGNAME= snes9x-1.39 WRKSRC= ${WRKDIR}/release CATEGORIES= emulators MASTER_SITES= http://www.snes9x.com/zips/ diff --git a/emulators/snes9x/distinfo b/emulators/snes9x/distinfo index 92f1c9ad07f..745efcbcb9a 100644 --- a/emulators/snes9x/distinfo +++ b/emulators/snes9x/distinfo @@ -1,13 +1,13 @@ -$NetBSD: distinfo,v 1.4 2002/02/19 05:30:39 jmc Exp $ +$NetBSD: distinfo,v 1.5 2002/07/08 01:04:09 kristerw Exp $ -SHA1 (s9xs137c.zip) = c0adc6ca41572a6dfd31ab98ea6c6c448777d56f -Size (s9xs137c.zip) = 653410 bytes -SHA1 (patch-aa) = 79122a382681b6b1282b5a03fc176ac33aa17c0e +SHA1 (s9xs139.zip) = 15acf6d8a31dc51b26a42abf747cec1b72c2aa29 +Size (s9xs139.zip) = 666463 bytes +SHA1 (patch-aa) = 5edce58bf67f994d4f4f03519f1f2da3bf060ffe SHA1 (patch-ab) = b99893934074d8693a9609d49e49953ade2b2062 -SHA1 (patch-ac) = 25a054c55774421f1ba133906de9134a0ba233f5 +SHA1 (patch-ac) = e54f4fff397dd4ca3be28711fd23c4fbef57ed54 SHA1 (patch-ad) = 72cc9904c74e0668cce450fcada24453aec344e4 SHA1 (patch-ae) = cb2ed8dc3ad409ffb88cb9851b04c6c42c3b2b0e SHA1 (patch-af) = 302967c91a1e0b384c4990687fb11bf236202783 -SHA1 (patch-ag) = cd708790ad2f3628263b78154cebdac52d90e0d2 +SHA1 (patch-ag) = 559464862e883b9d8b65a4c0c68d238e1dcdf5af SHA1 (patch-ah) = 60bd35e51faca36fbd8d8d6354487554af17fe7a SHA1 (patch-ai) = 2f522a560577aff89af9efa7a6b129faa99670fd diff --git a/emulators/snes9x/patches/patch-aa b/emulators/snes9x/patches/patch-aa index 2f573338f8d..711c20d7119 100644 --- a/emulators/snes9x/patches/patch-aa +++ b/emulators/snes9x/patches/patch-aa @@ -1,8 +1,7 @@ -$NetBSD: patch-aa,v 1.5 2002/02/19 05:30:39 jmc Exp $ - ---- Makefile.orig Wed Feb 28 20:29:58 2001 -+++ Makefile Tue Feb 19 05:18:10 2002 -@@ -1,13 +1,13 @@ +$NetBSD: patch-aa,v 1.6 2002/07/08 01:04:09 kristerw Exp $ +--- Makefile.orig Tue Sep 18 08:03:58 2001 ++++ Makefile Mon Jul 8 02:32:48 2002 +@@ -1,14 +1,14 @@ -ZSNESFX=1 -ZSNESC4=1 -ASMCPU=1 @@ -12,8 +11,8 @@ $NetBSD: patch-aa,v 1.5 2002/02/19 05:30:39 jmc Exp $ #SPC700ASM=1 NETPLAY=1 UNZIP=1 --GLIDE=1 -+#GLIDE=1 + #GLIDE=1 + #OPENGL=1 #GUI=1 -THREAD_SOUND=1 -ASMKREED=1 @@ -22,7 +21,7 @@ $NetBSD: patch-aa,v 1.5 2002/02/19 05:30:39 jmc Exp $ ifdef ZSNESFX FXOBJ=i386/fxemu2b.o i386/fxemu2.o i386/fxemu2c.o i386/fxtable.o i386/sfxproc.o i386/zsnes.o -@@ -33,13 +33,19 @@ +@@ -34,7 +34,10 @@ C4NO_DEPENDS=zsnes_c4 endif @@ -33,19 +32,11 @@ $NetBSD: patch-aa,v 1.5 2002/02/19 05:30:39 jmc Exp $ ifdef SPC700ASM SOUNDOBJ=spctool/spc700.o spctool/dsp.o spctool.o spctool/soundmod.o spc.o - SOUNDDEFINES=-DSPCTOOL - else --SOUNDOBJ=spc700.o soundux.o apu.o i386/spc.o -+SOUNDOBJ=spc700.o soundux.o apu.o -+ifdef USING_I386 -+SOUNDOBJ+=i386/spc.o -+endif - SOUNDDEFINES=-DSPC700_C - endif - -@@ -82,8 +88,8 @@ +@@ -81,9 +84,10 @@ + UNZIPDEFINES=-DUNZIP_SUPPORT endif ++EXTRALIBS += -lossaudio ifdef THREAD_SOUND -CPUDEFINES += -DUSE_THREADS -EXTRALIBS += -lpthread @@ -54,35 +45,45 @@ $NetBSD: patch-aa,v 1.5 2002/02/19 05:30:39 jmc Exp $ endif ifdef GLIDE -@@ -102,9 +108,13 @@ +@@ -113,9 +117,13 @@ CC = gcc NASM = nasm -INCLUDES=-I/usr/X11R6/include -I/usr/local/include +INCLUDES=-I${X11BASE}/include --OPTIMISE= -O6 -mpentium -fomit-frame-pointer -fno-exceptions -Wall -W -pedantic -pipe +ifdef USING_I386 -+OPTIMISE=-O6 -mpentium -fomit-frame-pointer -fno-exceptions -Wall -W -pedantic -pipe + OPTIMISE= -O6 -mpentium -fomit-frame-pointer -fno-exceptions -Wall -W -pedantic -pipe +else -+OPTIMISE=-fno-exceptions -Wall -W -pedantic -pipe -fomit-frame-pointer ++OPTIMISE=-fno-exceptions -Wall -W -pedantic -fomit-frame-pointer +endif #OPTIMISE=-g -fno-exceptions #-DMITSHM -@@ -113,7 +123,6 @@ +@@ -124,10 +132,8 @@ -Ii386 \ -I. \ -Iunzip \ --DJOYSTICK_SUPPORT \ -DZLIB \ -DVAR_CYCLES \ - -DDEBUGGER \ -@@ -141,9 +150,9 @@ +--DDEBUGGER \ + -DCPU_SHUTDOWN \ + -DSPC700_SHUTDOWN \ + -DOLD_COLOUR_BLENDING \ +@@ -142,7 +148,6 @@ + $(OPENGLDEFINES) \ + $(GUIDEFINES) \ + $(KREEDDEFINES) \ +--DNO_INLINE_SET_GET + + #-DSOUND + #-DDEBUGGER +@@ -154,9 +159,9 @@ CFLAGS=$(CCFLAGS) .SUFFIXES: .o .cpp .c .cc .h .m .i .S .asm .obj --LDLIBS = -L/usr/X11R6/lib frame.o +-LDLIBS = -L/usr/X11R6/lib +LDLIBS = -Wl,-R${X11BASE}/lib -L${X11BASE}/lib -all: offsets snes9x ssnes9x @@ -90,21 +91,21 @@ $NetBSD: patch-aa,v 1.5 2002/02/19 05:30:39 jmc Exp $ #ggisnes9x #xf86snes9x -@@ -165,7 +174,7 @@ +@@ -182,7 +187,7 @@ ./offsets >i386/offsets.h - snes9x: $(OBJECTS) unix/x11.o $(GLIDEOBJS) $(GUIOBJS) -- $(CCC) $(INCLUDES) -o $@ $(OBJECTS) $(GLIDEOBJS) unix/x11.o $(GUIOBJS) $(LDLIBS) $(GLIDELIBS) $(GUILIBS) -lXxf86dga -lXxf86vm -lXext -lX11 $(EXTRALIBS) -lz -lm -+ $(CCC) $(INCLUDES) -o $@ $(OBJECTS) $(GLIDEOBJS) unix/x11.o $(GUIOBJS) $(LDLIBS) $(GLIDELIBS) $(GUILIBS) $(DGALIBS) -lXext -lX11 $(EXTRALIBS) -lz -lm + snes9x: $(OBJECTS) unix/x11.o $(GLIDEOBJS) $(OPENGLOBJS) $(GUIOBJS) $(KREEDOBJ) +- $(CCC) $(INCLUDES) -o $@ $(OBJECTS) $(GLIDEOBJS) $(OPENGLOBJS) $(KREEDOBJ) unix/x11.o $(GUIOBJS) $(LDLIBS) $(GLIDELIBS) $(OPENGLLIBS) $(GUILIBS) -lXxf86dga -lXxf86vm -lXext -lX11 $(EXTRALIBS) -lz -lm ++ $(CCC) $(INCLUDES) -o $@ $(OBJECTS) $(GLIDEOBJS) $(OPENGLOBJS) $(KREEDOBJ) unix/x11.o $(GUIOBJS) $(LDLIBS) $(GLIDELIBS) $(OPENGLLIBS) $(GUILIBS) $(DGALIBS) -lXext -lX11 $(EXTRALIBS) -lz -lm ssnes9x: $(OBJECTS) unix/svga.o $(GLIDEOBJS) $(CCC) $(INCLUDES) -o $@ $(OBJECTS) $(GLIDEOBJS) unix/svga.o $(LDLIBS) $(GLIDELIBS) -lvga -lvgagl -lz $(EXTRALIBS) -lm -@@ -195,7 +204,7 @@ +@@ -212,7 +217,7 @@ $(CCC) $(INCLUDES) -c -E $(CCFLAGS) $*.S -o $@ .asm.o: -- $(NASM) -f elf -i. -ii386 -o $@ $*.asm -+ $(NASM) -f ${FILEFORMAT} -i. -ii386 -o $@ $*.asm +- $(NASM) -f elf $(FXDEFINES) -i. -ii386 -o $@ $*.asm ++ $(NASM) -f ${FILEFORMAT} $(FXDEFINES) -i. -ii386 -o $@ $*.asm .obj.o: cp $*.obj $*.o diff --git a/emulators/snes9x/patches/patch-ac b/emulators/snes9x/patches/patch-ac index 02c1ef48b15..9855a985614 100644 --- a/emulators/snes9x/patches/patch-ac +++ b/emulators/snes9x/patches/patch-ac @@ -1,9 +1,14 @@ -$NetBSD: patch-ac,v 1.2 2001/07/17 15:31:25 wiz Exp $ - ---- i386/fxemu2.asm.orig Fri Sep 10 21:18:39 1999 -+++ i386/fxemu2.asm -@@ -2683,4 +2683,3 @@ - SECTION .data - NEWSYM fxtrace, db 0; times 65536 db 0 +$NetBSD: patch-ac,v 1.3 2002/07/08 01:04:10 kristerw Exp $ +--- 2xsai.cpp.orig Mon Jul 8 01:58:01 2002 ++++ 2xsai.cpp Mon Jul 8 01:58:55 2002 +@@ -46,10 +46,6 @@ + #include "port.h" + #include "gfx.h" --SECTION .TEXT +-#if (defined (__i386__) || defined (__i486__) ||\ +- defined (__i586__) || defined (__WIN32__) || defined (__DJGPP)) +-#define MMX +-#endif + + extern "C" + { diff --git a/emulators/snes9x/patches/patch-ag b/emulators/snes9x/patches/patch-ag index 88744018e4b..e784b2b6f71 100644 --- a/emulators/snes9x/patches/patch-ag +++ b/emulators/snes9x/patches/patch-ag @@ -1,10 +1,9 @@ -$NetBSD: patch-ag,v 1.2 2001/07/17 15:31:25 wiz Exp $ - ---- unix/unix.cpp.orig Wed Feb 28 22:12:23 2001 -+++ unix/unix.cpp +$NetBSD: patch-ag,v 1.3 2002/07/08 01:04:10 kristerw Exp $ +--- unix/unix.cpp.orig Mon Jul 8 00:54:28 2002 ++++ unix/unix.cpp Mon Jul 8 02:45:13 2002 @@ -51,7 +51,7 @@ #include <ctype.h> - + #include <dirent.h> -#if defined(__linux) || defined(__sun) +#if defined(__linux) || defined(__sun) || defined(__NetBSD__) @@ -23,23 +22,27 @@ $NetBSD: patch-ag,v 1.2 2001/07/17 15:31:25 wiz Exp $ pthread_t thread; pthread_mutex_t mutex; -@@ -81,7 +85,14 @@ - #endif +@@ -72,6 +76,9 @@ + #include <sys/soundcard.h> + #include <sys/mman.h> #endif - --#if defined(__sun) && defined(__GNUC__) +#ifdef __NetBSD__ -+#include <sys/ioctl.h> -+#include <sys/audioio.h> ++#include <soundcard.h> +#endif -+ -+#if defined(__NetBSD__) -+typedef void (*SIG_PF)(int); -+#elif defined(__sun) && defined(__GNUC__) + + #ifdef __sun + #ifdef __SVR4 +@@ -84,6 +91,9 @@ + #if defined(__sun) && defined(__GNUC__) typedef void (*SIG_PF)(); #endif ++#if defined(__NetBSD__) ++typedef void (*SIG_PF)(int); ++#endif -@@ -168,7 +179,7 @@ + #include "snes9x.h" + #include "memmap.h" +@@ -168,7 +178,7 @@ char *rom_filename = NULL; char *snapshot_filename = NULL; @@ -48,16 +51,36 @@ $NetBSD: patch-ag,v 1.2 2001/07/17 15:31:25 wiz Exp $ static void sigbrkhandler(int) { #ifdef DEBUGGER -@@ -1368,7 +1379,7 @@ +@@ -1422,7 +1432,7 @@ } #endif --#ifdef __sun -+#if defined(__sun) || defined(__NetBSD__) +-#if defined(__linux) ++#if defined(__linux) || defined(__NetBSD__) static int Rates[8] = { - 0, 8000, 11025, 16000, 22050, 32000, 37800, 44100 -@@ -1541,7 +1552,7 @@ + 0, 8192, 11025, 16500, 22050, 29300, 36600, 44000 +@@ -1437,11 +1447,19 @@ + { + int J, K; + ++#if defined(__NetBSD__) ++ if ((so.sound_fd = open ("/dev/audio", O_WRONLY)) < 0) ++ { ++ perror ("/dev/audio"); ++ return (FALSE); ++ } ++#else + if ((so.sound_fd = open ("/dev/dsp", O_WRONLY)) < 0) + { + perror ("/dev/dsp"); + return (FALSE); + } ++#endif + + #ifdef MMAP_SOUND + if (ioctl (so.sound_fd, SNDCTL_DSP_GETCAPS, &J) < 0) +@@ -1541,7 +1559,7 @@ } #endif @@ -66,30 +89,12 @@ $NetBSD: patch-ag,v 1.2 2001/07/17 15:31:25 wiz Exp $ void S9xUnixProcessSound (void) { } -@@ -1664,7 +1675,7 @@ - #endif - - #endif --#ifdef __sun -+#if defined(__sun) || defined(__NetBSD__) - audio_info_t audio; - if (!Settings.ThreadSound) - { -@@ -1766,7 +1777,7 @@ - } while (Settings.ThreadSound); - #endif - --#ifdef __sun -+#if defined(__sun) || defined(__NetBSD__) - if (!Settings.ThreadSound) - write (so.sound_fd, NULL, 0); - #endif -@@ -1786,7 +1797,7 @@ - return (0); - } +@@ -1640,7 +1658,7 @@ --#ifdef __sun -+#if defined(__sun) || defined(__NetBSD__) - uint8 int2ulaw(int ch) + void *S9xProcessSound (void *) { - int mask; +-#ifdef __linux ++#if defined(__linux) || defined(__NetBSD__) + audio_buf_info info; + + if (!Settings.ThreadSound && |