summaryrefslogtreecommitdiff
path: root/emulators/snes9x
diff options
context:
space:
mode:
authorkristerw <kristerw@pkgsrc.org>2002-07-08 01:04:09 +0000
committerkristerw <kristerw@pkgsrc.org>2002-07-08 01:04:09 +0000
commit0dd1d6e48aa84d5388b3a3d77c6598f1fd6fd43f (patch)
treea4fe288f2ac506bc81975a78690769ad6245e890 /emulators/snes9x
parent163c1b4dc78a240d97f7abd8a17de9a2dc4d1bc7 (diff)
downloadpkgsrc-0dd1d6e48aa84d5388b3a3d77c6598f1fd6fd43f.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/snes9x')
-rw-r--r--emulators/snes9x/Makefile6
-rw-r--r--emulators/snes9x/distinfo12
-rw-r--r--emulators/snes9x/patches/patch-aa69
-rw-r--r--emulators/snes9x/patches/patch-ac21
-rw-r--r--emulators/snes9x/patches/patch-ag97
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 &&