From 82da72074c81245ec00b4ab4210d47185248b5d7 Mon Sep 17 00:00:00 2001 From: dillo Date: Sat, 5 Jun 2004 11:56:31 +0000 Subject: update to 1.3, prepare for forthcoming stella-sdl, take maintanership Changes since 1.1: * Improved TIA sound system so that games with digitized audio work * Added saving and loading of game state to the core; X11, SDL, and DOS versions current support saving and loading game state * Added support for F4 bankswitching method * Pitfall II DPC sound emulation completed * Support added for the Commavid (CV) bankswitching method. * Support added for the Megaboy cartridge. * Improved Supercharger emulation including a new BIOS that shows the vertical blue progress bars like the real thing. * Added snapshot support to the X11 and SDL versions. Pressing F12 saves the current screen in PNG format. Requires PNG library. * Added pause functionality to the core. Implemented in DOS, X11, and SDL versions for now. --- emulators/stella/Makefile | 36 ++------ emulators/stella/Makefile.common | 46 ++++++++++ emulators/stella/PLIST | 28 +++---- emulators/stella/distinfo | 12 +-- emulators/stella/patches/patch-aa | 27 ++---- emulators/stella/patches/patch-ab | 171 ++++++++++++++++++++++++++++++++++---- emulators/stella/patches/patch-ac | 56 +++---------- 7 files changed, 247 insertions(+), 129 deletions(-) create mode 100644 emulators/stella/Makefile.common (limited to 'emulators/stella') diff --git a/emulators/stella/Makefile b/emulators/stella/Makefile index 0d000763104..55aa6cb7b47 100644 --- a/emulators/stella/Makefile +++ b/emulators/stella/Makefile @@ -1,36 +1,14 @@ -# $NetBSD: Makefile,v 1.16 2004/02/01 01:43:29 jlam Exp $ +# $NetBSD: Makefile,v 1.17 2004/06/05 11:56:31 dillo Exp $ -DISTNAME= stella-1.1-src -PKGNAME= stella-1.1 -CATEGORIES= emulators -MASTER_SITES= ftp://ftp.eos.ncsu.edu/pub/bsvc/stella/1.1/ +PKGNAME= stella-${STELLA_VERSION} +CONFLICTS= stella-sdl-[0-9]* -MAINTAINER= tech-pkg@NetBSD.org -HOMEPAGE= http://stella.atari.org/ -COMMENT= Multi-platform Atari 2600 VCS emulator +.include "Makefile.common" -WRKSRC= ${WRKDIR}/${PKGNAME_NOREV}/src/build USE_X11= yes - -MAKEFILE= makefile +MAKE_ENV+= SOUND_OSS=1 ALL_TARGET= unix-x +STELLA= stella.x11 -.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "arm32" -GCC_REQD+= 3.0 -.endif - -MAKE_ENV= CXXFLAGS="${CXXFLAGS} -fno-rtti" - -post-build: - @cd ${WRKSRC}/../ui/sound && ${MAKE} oss - -do-install: - ${INSTALL_DATA_DIR} ${PREFIX}/share/stella - ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/stella - ${INSTALL_PROGRAM} ${WRKSRC}/xstella ${PREFIX}/bin - ${INSTALL_PROGRAM} ${WRKSRC}/../ui/sound/stella-sound ${PREFIX}/bin - ${INSTALL_DATA} ${WRKSRC}/../../games/ROMS/* ${PREFIX}/share/stella - ${INSTALL_DATA} ${WRKSRC}/../../games/docs/* ${PREFIX}/share/doc/stella - ${INSTALL_DATA} ${WRKSRC}/../../docs/Stella.pdf ${PREFIX}/share/doc/stella/stella.pdf - +.include "../../mk/ossaudio.buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/emulators/stella/Makefile.common b/emulators/stella/Makefile.common new file mode 100644 index 00000000000..6d6017beb3e --- /dev/null +++ b/emulators/stella/Makefile.common @@ -0,0 +1,46 @@ +# $NetBSD: Makefile.common,v 1.1 2004/06/05 11:56:31 dillo Exp $ + +STELLA_VERSION= 1.3 +DISTNAME= stella-${STELLA_VERSION}-src +CATEGORIES= emulators +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=stella/} + +MAINTAINER= dillo@NetBSD.org +HOMEPAGE= http://stella.sourceforge.org/ +COMMENT= Multi-platform Atari 2600 VCS emulator + +PATCHDIR= ${.CURDIR}/../stella/patches +DISTINFO_FILE= ${.CURDIR}/../stella/distinfo + +WRKSRC= ${WRKDIR}/stella-${STELLA_VERSION}/src/build +USE_LANGUAGES= c c++ +USE_GNU_TOOLS+= make +USE_BUILDLINK3= YES +USE_INSTALL= YES + +MAKEFILE= makefile + +.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "arm32" +GCC_REQD+= 3.0 +.endif + +MAKE_ENV= CXXFLAGS="${CXXFLAGS} -fno-rtti" + +DOCDIR=${PREFIX}/share/doc/html/stella +EGDIR=${PREFIX}/share/examples/stella +DATADIR=${PREFIX}/share/stella + +CONF_FILES= ${EGDIR}/stellarc.default ${PKG_SYSCONFDIR}/stellarc + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/${STELLA} ${PREFIX}/bin/stella + ${INSTALL_DATA_DIR} ${DOCDIR} + ${INSTALL_DATA_DIR} ${DOCDIR}/graphics + ${INSTALL_DATA} ${WRKSRC}/../../docs/stella.html ${DOCDIR} + ${INSTALL_DATA} ${WRKSRC}/../../docs/graphics/* ${DOCDIR}/graphics + ${INSTALL_DATA_DIR} ${DATADIR} + ${INSTALL_DATA} ${WRKSRC}/../emucore/stella.pro ${DATADIR} + ${INSTALL_DATA_DIR} ${EGDIR} + ${INSTALL_DATA} ${WRKSRC}/../stellarc ${EGDIR}/stellarc.default + +.include "../../graphics/png/buildlink3.mk" diff --git a/emulators/stella/PLIST b/emulators/stella/PLIST index ae236898788..a4692a967b1 100644 --- a/emulators/stella/PLIST +++ b/emulators/stella/PLIST @@ -1,15 +1,15 @@ -@comment $NetBSD: PLIST,v 1.1 2001/10/31 23:53:28 zuntum Exp $ -bin/xstella -bin/stella-sound -share/doc/stella/elk.doc -share/doc/stella/okiedoke.doc -share/doc/stella/oystron.doc -share/doc/stella/stella.pdf -share/doc/stella/tps.doc -share/stella/ELK.BIN -share/stella/OKIEDOKE.BIN -share/stella/OYSTR29.BIN -share/stella/TEST.BIN -share/stella/TPS.BIN -@dirrm share/doc/stella +@comment $NetBSD: PLIST,v 1.2 2004/06/05 11:56:31 dillo Exp $ +bin/stella +share/doc/html/stella/graphics/chucky_cheese.png +share/doc/html/stella/graphics/circuit.png +share/doc/html/stella/graphics/console.png +share/doc/html/stella/graphics/jr_pacman.png +share/doc/html/stella/graphics/pacman.png +share/doc/html/stella/graphics/secret_quest.png +share/doc/html/stella/graphics/space_invaders.png +share/doc/html/stella/stella.html +share/examples/stella/stellarc.default +share/stella/stella.pro +@dirrm share/doc/html/stella/graphics +@dirrm share/doc/html/stella @dirrm share/stella diff --git a/emulators/stella/distinfo b/emulators/stella/distinfo index cf3de3dfd49..475ea938348 100644 --- a/emulators/stella/distinfo +++ b/emulators/stella/distinfo @@ -1,7 +1,7 @@ -$NetBSD: distinfo,v 1.2 2001/04/20 10:49:57 agc Exp $ +$NetBSD: distinfo,v 1.3 2004/06/05 11:56:31 dillo Exp $ -SHA1 (stella-1.1-src.tar.gz) = 390b030f6dd16a1190384a9ca3d5dda8d93625a8 -Size (stella-1.1-src.tar.gz) = 587688 bytes -SHA1 (patch-aa) = aa0f107df517d3742788914f911623e5d63cf7f3 -SHA1 (patch-ab) = fe07dc20efc96931f77df84c4ce66ad7e81d3805 -SHA1 (patch-ac) = 49894b9e667f0d82bf33c74907db27e1301de8db +SHA1 (stella-1.3-src.tar.gz) = ed4d12890f734eaa23b6ebbb17a4f14640c65d35 +Size (stella-1.3-src.tar.gz) = 433201 bytes +SHA1 (patch-aa) = 3c194bb611192330cfcd7f48e3ce75d350e8daf6 +SHA1 (patch-ab) = 10d3430cb5ac29be284f84bc50d1b5aeffe7ef26 +SHA1 (patch-ac) = 74d58b272d82d83567cd1883040445927720c615 diff --git a/emulators/stella/patches/patch-aa b/emulators/stella/patches/patch-aa index f194954f20f..c9b1c23a317 100644 --- a/emulators/stella/patches/patch-aa +++ b/emulators/stella/patches/patch-aa @@ -1,10 +1,10 @@ -$NetBSD: patch-aa,v 1.2 2000/01/22 23:44:31 tron Exp $ +$NetBSD: patch-aa,v 1.3 2004/06/05 11:56:31 dillo Exp $ ---- ../ui/sound/OSS.c.orig Tue May 18 10:19:45 1999 -+++ ../ui/sound/OSS.c Tue May 18 10:24:03 1999 -@@ -32,11 +32,7 @@ +--- ../ui/sound/SoundOSS.cxx.orig 2003-02-18 02:19:44.000000000 +0100 ++++ ../ui/sound/SoundOSS.cxx +@@ -22,13 +22,9 @@ + #include #include - #include -#ifdef __FreeBSD__ - #include @@ -13,17 +13,8 @@ $NetBSD: patch-aa,v 1.2 2000/01/22 23:44:31 tron Exp $ -#endif +#include - #include "TIASound.h" - -@@ -61,9 +57,9 @@ - int mute = 0; - - /* Open the sound device for writing */ -- if((fd = open("/dev/dsp", O_WRONLY, 0)) == -1) -+ if((fd = open("/dev/sound", O_WRONLY, 0)) == -1) - { -- printf("stella-sound: Unable to open /dev/dsp device!\n"); -+ printf("stella-sound: Unable to open /dev/sound device!\n"); - return 1; - } +-#define DSP_DEVICE "/dev/dsp" ++/* #define DSP_DEVICE "/dev/dsp" */ + #define MIXER_DEVICE "/dev/mixer" + #include "SoundOSS.hxx" diff --git a/emulators/stella/patches/patch-ab b/emulators/stella/patches/patch-ab index 0d9a9a7ecb7..d2f465620f1 100644 --- a/emulators/stella/patches/patch-ab +++ b/emulators/stella/patches/patch-ab @@ -1,24 +1,159 @@ -$NetBSD: patch-ab,v 1.1.1.1 1999/05/18 23:14:16 tv Exp $ +$NetBSD: patch-ab,v 1.2 2004/06/05 11:56:31 dillo Exp $ ---- ../ui/sound/makefile.orig Tue May 18 10:25:27 1999 -+++ ../ui/sound/makefile Tue May 18 10:26:05 1999 -@@ -1,9 +1,8 @@ - ############################################################################### - ## C compiler to use - ############################################################################### --CC = gcc +--- makefile.orig 2003-02-18 02:19:44.000000000 +0100 ++++ makefile +@@ -43,7 +43,7 @@ OPTIMIZATIONS = -O2 -Wall -Wno-unused + ### comment out all lines to completely disable sound + ### + #SOUND_ALSA = 1 +-SOUND_OSS = 1 ++#SOUND_OSS = 1 + #SOUND_SDL = 1 --CFLAGS = -DWIN32 -O -ansi -Wall -+CPPFLAGS = -DWIN32 + ### if your C++ compiler doesn't support the bool type +@@ -61,7 +61,7 @@ SOUND_OSS = 1 + ### to include support for saving snapshots in png format + ### (requires PNG library) + ### Only X11 and SDL ports supported for now +-# SNAPSHOT_SUPPORT = 1 ++SNAPSHOT_SUPPORT = 1 - OBJS = TIASound.o + ### comment this out if your system doesn't + ### have the gettimeofday function +@@ -72,23 +72,26 @@ HAVE_GETTIMEOFDAY = 1 + ### enables some extra commandline options that allow the user + ### to override some emulation defaults + ### Only X11 and SDL ports supported for now +-# DEVELOPER_SUPPORT = 1 ++DEVELOPER_SUPPORT = 1 -@@ -29,7 +28,7 @@ - uss: oss + ##============================================================================ + ## All done, type make to get a list of frontends + ## No configurable options below this line ... + ##============================================================================ - oss: $(OBJS) OSS.o -- $(CC) -o stella-sound OSS.o $(OBJS) -+ $(CC) -o stella-sound OSS.o $(OBJS) -lossaudio +-CXX = g++ +-LD = g++ ++#CXX = g++ ++#LD = g++ - clean: - rm -f *.o stella-sound +-LDFLAGS = ++#LDFLAGS = + LDLIBS = + ++CFLAGS+= -DPKG_SYSCONFDIR=\"${PKG_SYSCONFDIR}\" \ ++ -DDATADIR=\"${PREFIX}/share/stella\" ++ + OBJS.X11 = + OPTS.X11 = +-LIBS.X11 = +-CFLAGS.X11 = ++LIBS.X11 = ++CFLAGS.X11 = + + OBJS.SDL = + OPTS.SDL = +@@ -152,8 +155,11 @@ endif + ifeq ($(SOUND_OSS), 1) + OPTS.X11 += -DSOUND_OSS=1 + OBJS.X11 += SoundOSS.o ++ LIBS.X11 += ${LIBOSSAUDIO} + OPTS.SDL += -DSOUND_OSS=1 + OBJS.SDL += SoundOSS.o ++ LIBS.SDL += ${LIBOSSAUDIO} ++ CFLAGS += -DDSP_DEVICE=\"${DEVOSSSOUND}\" + endif + + ifeq ($(SOUND_SDL), 1) +@@ -207,11 +213,10 @@ unix-x: + SYS_INCLUDES="" \ + OPTIONS="-DBSPF_UNIX=1" \ + OPTIONS+="$(OPTS.X11)" \ +- LDFLAGS="-L/usr/X11R6/lib" \ +- LDFLAGS+="$(CFLAGS.X11)" \ ++ CFLAGS+="$(CFLAGS.X11)" \ + LDLIBS="-lX11 -lXext" \ + LDLIBS+="$(LIBS.X11)" \ +- OBJS="mainX11.o" ++ OBJS="mainX11.o" \ + OBJS+="$(OBJS.X11)" + + linux-x: +@@ -233,9 +238,7 @@ linux-sdl: + SYS_INCLUDES="" \ + OPTIONS="-DBSPF_UNIX=1" \ + OPTIONS+="$(OPTS.SDL)" \ +- LDFLAGS="-L/usr/X11R6/lib" \ +- LDFLAGS+="$(CFLAGS.SDL)" \ +- LDLIBS="-lX11 -lXext" \ ++ CFLAGS+="$(CFLAGS.SDL)" \ + LDLIBS+="$(LIBS.SDL)" \ + OBJS="mainSDL.o RectList.o" \ + OBJS+="$(OBJS.SDL)" +@@ -290,10 +293,10 @@ stella.exe: $(CORE_OBJS) $(OBJS) + del a.exe + + stella.x11: $(CORE_OBJS) $(OBJS) +- $(LD) -o stella.x11 $(CORE_OBJS) $(OBJS) $(LDFLAGS) $(LDLIBS) ++ $(CXX) -o stella.x11 $(CORE_OBJS) $(OBJS) $(LDFLAGS) $(LDLIBS) + + stella.sdl: $(CORE_OBJS) $(OBJS) +- $(LD) -o stella.sdl $(CORE_OBJS) $(OBJS) $(LDFLAGS) $(LDLIBS) ++ $(CXX) -o stella.sdl $(CORE_OBJS) $(OBJS) $(LDFLAGS) $(LDLIBS) + + M6502Low.ins: $(CORE)/m6502/src/M6502Low.m4 $(CORE)/m6502/src/M6502.m4 + m4 $(CORE)/m6502/src/M6502Low.m4 $(CORE)/m6502/src/M6502.m4 > M6502Low.ins +@@ -422,7 +425,7 @@ Random.o: $(CORE)/Random.cxx + $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CORE)/Random.cxx + + Sound.o: $(CORE)/Sound.cxx $(CORE)/Sound.hxx +- $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(LDFLAGS) $(CORE)/Sound.cxx ++ $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CFLAGS) $(CORE)/Sound.cxx + + Switches.o: $(CORE)/Switches.cxx + $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CORE)/Switches.cxx +@@ -434,7 +437,7 @@ Deserializer.o: $(CORE)/Deserializer.cxx + $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CORE)/Deserializer.cxx + + Settings.o: $(UI)/common/Settings.cxx $(UI)/common/Settings.hxx +- $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/common/Settings.cxx ++ $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CFLAGS) $(UI)/common/Settings.cxx + + Terminal.o: $(UI)/x11/Terminal.cxx + $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(UI)/x11/Terminal.cxx +@@ -455,28 +458,28 @@ vga.o: $(UI)/dos/vga.cxx + $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(UI)/dos/vga.cxx + + SoundALSA.o: $(UI)/sound/SoundALSA.cxx $(UI)/sound/SoundALSA.hxx +- $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sound/SoundALSA.cxx ++ $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CFLAGS) $(UI)/sound/SoundALSA.cxx + + SoundOSS.o: $(UI)/sound/SoundOSS.cxx $(UI)/sound/SoundOSS.hxx +- $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sound/SoundOSS.cxx ++ $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CFLAGS) $(UI)/sound/SoundOSS.cxx + + SoundSDL.o: $(UI)/sound/SoundSDL.cxx $(UI)/sound/SoundSDL.hxx +- $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sound/SoundSDL.cxx ++ $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CFLAGS) $(UI)/sound/SoundSDL.cxx + + TermX11.o: $(UI)/x11/TermX11.cxx + $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(UI)/x11/TermX11.cxx + + mainX11.o: $(UI)/x11/mainX11.cxx +- $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/x11/mainX11.cxx ++ $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CFLAGS) $(UI)/x11/mainX11.cxx + + mainSDL.o: $(UI)/sdl/mainSDL.cxx +- $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sdl/mainSDL.cxx ++ $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CFLAGS) $(UI)/sdl/mainSDL.cxx + + RectList.o: $(UI)/sdl/RectList.cxx $(UI)/sdl/RectList.hxx +- $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/sdl/RectList.cxx ++ $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CFLAGS) $(UI)/sdl/RectList.cxx + + Snapshot.o: $(UI)/common/Snapshot.cxx $(UI)/common/Snapshot.hxx +- $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(LDFLAGS) $(UI)/common/Snapshot.cxx ++ $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CFLAGS) $(UI)/common/Snapshot.cxx + + D6502.o: $(CORE)/m6502/src/D6502.cxx + $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CORE)/m6502/src/D6502.cxx diff --git a/emulators/stella/patches/patch-ac b/emulators/stella/patches/patch-ac index ead091870e7..c6fcafaf156 100644 --- a/emulators/stella/patches/patch-ac +++ b/emulators/stella/patches/patch-ac @@ -1,45 +1,13 @@ -$NetBSD: patch-ac,v 1.4 2000/12/27 14:08:39 dmcmahill Exp $ +$NetBSD: patch-ac,v 1.5 2004/06/05 11:56:31 dillo Exp $ ---- makefile.orig Sat Feb 27 09:29:46 1999 -+++ makefile Tue May 30 21:16:47 2000 -@@ -35,8 +35,6 @@ - ##============================================================================ - --CXX = g++ --LD = g++ -+LD = ${CXX} - --LDFLAGS = - LDLIBS = - -@@ -47,5 +45,5 @@ - INCLUDES = -I. -I$(CORE) -I$(CORE)/m6502/src -I$(CORE)/m6502/src/bspf/src - --CXXFLAGS = -O -Wall $(INCLUDES) $(SYS_INCLUDES) -+CXXFLAGS += $(INCLUDES) $(SYS_INCLUDES) - - default: -@@ -79,8 +77,7 @@ - make xstella \ - INCLUDES="$(INCLUDES) -I$(UI)/x11 -I$(UI)/sound" \ -- SYS_INCLUDES="" \ -+ SYS_INCLUDES="-I$(X11BASE)/include" \ - OPTIONS="-DBSPF_UNIX" \ -- LDFLAGS="-L/usr/X11R6/lib" \ -- LDLIBS="-lX11 -lXext" \ -+ LDLIBS="-L$(X11BASE)/lib -Wl,-R$(X11BASE)/lib -lX11 -lXext" \ - OBJS="mainX11.o SndUnix.o" - -@@ -325,6 +322,12 @@ - $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CORE)/m6502/src/M6502Low.cxx - -+.if (${MACHINE_ARCH} == "alpha") || (${MACHINE_ARCH} == "mipsel") || (${MACHINE_ARCH} == "sparc") -+# avoide compiler bug on some systems -+M6502Hi.o: $(CORE)/m6502/src/M6502Hi.cxx -+ $(CXX) -c -fno-rtti -fno-rtti $(INCLUDES) $(SYS_INCLUDES) $(OPTIONS) $(CORE)/m6502/src/M6502Hi.cxx -+.else - M6502Hi.o: $(CORE)/m6502/src/M6502Hi.cxx - $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CORE)/m6502/src/M6502Hi.cxx -+.endif - - NullDev.o: $(CORE)/m6502/src/NullDev.cxx +--- ../ui/x11/mainX11.cxx.orig 2003-02-18 02:19:45.000000000 +0100 ++++ ../ui/x11/mainX11.cxx +@@ -1536,7 +1536,7 @@ bool setupDirs() + homePropertiesFile = homeDir + "/.stella/stella.pro"; + systemPropertiesFile = "/etc/stella.pro"; + homeRCFile = homeDir + "/.stella/stellarc"; +- systemRCFile = "/etc/stellarc"; ++ systemRCFile = PKG_SYSCONFDIR "/stellarc"; + + return true; + } -- cgit v1.2.3