summaryrefslogtreecommitdiff
path: root/emulators/xmess
diff options
context:
space:
mode:
authorChris D. Faulhaber <jedgar@FreeBSD.org>1999-12-24 14:01:14 +0000
committerChris D. Faulhaber <jedgar@FreeBSD.org>1999-12-24 14:01:14 +0000
commit9489c320c55b70faa0aa6e5699b323b1d528a4e2 (patch)
tree7689af641d3e46756f48c177ec76f8c213c9f568 /emulators/xmess
parentUpdate to 0.9.14 (diff)
Xmess is a game console emulator which currently supports the
Nintendo Entertainment System (NES), Sega Genesis/Megadrive, TRS-80 models 1 and 3, Colour Genie, Colecovision, Vectrex, Apple ][ series, Atari 800, Atari 5200, Sega Master System/Game Gear, Bally Astrocade, Kaypro 2x and PDP-1. PR: 13201 Submitted by: Juergen Lock <nox@jelal.kn-bremen.de>
Notes
Notes: svn path=/head/; revision=23992
Diffstat (limited to 'emulators/xmess')
-rw-r--r--emulators/xmess/Makefile56
-rw-r--r--emulators/xmess/distinfo3
-rw-r--r--emulators/xmess/files/patch-aa99
-rw-r--r--emulators/xmess/files/patch-ab12
-rw-r--r--emulators/xmess/files/patch-ae13
-rw-r--r--emulators/xmess/files/patch-af31
-rw-r--r--emulators/xmess/files/patch-ag14
-rw-r--r--emulators/xmess/files/patch-ba26
-rw-r--r--emulators/xmess/files/patch-be21
-rw-r--r--emulators/xmess/pkg-comment1
-rw-r--r--emulators/xmess/pkg-descr15
-rw-r--r--emulators/xmess/pkg-plist6
12 files changed, 297 insertions, 0 deletions
diff --git a/emulators/xmess/Makefile b/emulators/xmess/Makefile
new file mode 100644
index 000000000000..ed47be52127c
--- /dev/null
+++ b/emulators/xmess/Makefile
@@ -0,0 +1,56 @@
+# New ports collection makefile for: xmess
+# Version required: 0.2b4.1
+# Date created: Tue Aug 17 00:21:10 MET DST 1999
+# Whom: nox@jelal.kn-bremen.de
+#
+# $FreeBSD$
+#
+
+DISTNAME= unix02s4
+PKGNAME= xmess-0.2b4.1
+CATEGORIES= emulators
+MASTER_SITES= http://mess.emuverse.com/files/ \
+ http://www.vintagegaming.com/hosted/vectrex/
+DISTFILES= ${DISTNAME}.tgz pdp1.zip
+
+#MAINTAINER= mycroft@NetBSD.ORG # NetBSD
+MAINTAINER= nox@jelal.kn-bremen.de
+
+LIB_DEPENDS= Xpm.4:${PORTSDIR}/graphics/xpm
+
+EXTRACT_ONLY= ${DISTNAME}.tgz
+
+USE_X_PREFIX= yes
+USE_GMAKE= yes
+MAKE_ENV+= OPSYS=${OPSYS} ARCH=${ARCH} MACHINE_ARCH=${ARCH} \
+ DESTDIR=${DESTDIR} \
+ INSTALL_MAN="${INSTALL_MAN}" \
+ INSTALL_PROGRAM="${INSTALL_PROGRAM}" \
+ NETBSD_JOYSTICK="${NETBSD_JOYSTICK}" \
+ DISPLAY_METHOD="${DISPLAY_METHOD}"
+MAKEFILE= makefile.unix
+DISPLAY_METHOD= x11
+ALL_TARGET= xmess.${DISPLAY_METHOD}
+
+WRKSRC= ${WRKDIR}/xmess-0.2b4.1
+
+MESSDIR= ${PREFIX}/share/xmess
+MESSLIB= ${PREFIX}/lib/xmess
+.if exists(/usr/include/machine/joystick.h)
+NETBSD_JOYSTICK=yes
+.else
+NETBSD_JOYSTICK=no
+.endif
+
+post-patch:
+ (cd ${WRKSRC}/doc && ${SED} 's|@MESSDIR@|${MESSDIR}|;s|@MESSLIB@|${MESSLIB}|' xmessrc.dist >xmessrc)
+
+do-install:
+ (cd ${WRKSRC} && ${INSTALL_PROGRAM} ${ALL_TARGET} ${PREFIX}/bin/xmess)
+ ${MKDIR} ${MESSDIR}
+ (cd ${WRKSRC}/doc && ${INSTALL_DATA} xmessrc ${MESSDIR}/xmessrc)
+ ${MKDIR} ${MESSLIB}
+ ${INSTALL_DATA} ${_DISTDIR}/pdp1.zip ${MESSLIB}/spacewar.zip
+ @${ECHO} try \`xmess pdp1 spacewar\' for the original 1961 Space Wars
+
+.include <bsd.port.mk>
diff --git a/emulators/xmess/distinfo b/emulators/xmess/distinfo
new file mode 100644
index 000000000000..4bf3ec21cde9
--- /dev/null
+++ b/emulators/xmess/distinfo
@@ -0,0 +1,3 @@
+$NetBSD: md5,v 1.5 1999/05/22 19:41:31 tv Exp $
+
+MD5 (unix02s4.tgz) = 2036d994aba7315d3204a9310c66f37c
diff --git a/emulators/xmess/files/patch-aa b/emulators/xmess/files/patch-aa
new file mode 100644
index 000000000000..c198b74b2d85
--- /dev/null
+++ b/emulators/xmess/files/patch-aa
@@ -0,0 +1,99 @@
+$NetBSD: patch-aa,v 1.11 1999/07/27 03:20:38 mycroft Exp $
+
+--- makefile.unix.orig Wed Aug 26 18:40:21 1998
++++ makefile.unix Mon Aug 31 04:06:42 1998
+@@ -39,7 +39,7 @@
+ # GNU MAKE is MANDATORY !!!
+ # so please give me the path...
+ # if GNU make is "native" use this
+-MAKE = make
++MAKE = gmake
+ # else ...
+ # MAKE=/usr/people/jantonio/bin/gmake
+
+@@ -99,18 +99,18 @@
+ # *** Select destination directory for your compiled program , manual page
+ # and binary distribution ( if you want to... )
+ # ( only needed to install, not to compile... )
+-DESTDIR = /usr/games
+-MANDIR = /usr/local/man/man6
++DESTDIR = ${PREFIX}/bin
++MANDIR = ${PREFIX}/man/man6
+ DISTDIR = /home/ftp/pub/emulators/$(NAME)
+
+ # *** Where the ROM source tree ?
+-ROMPATH = \"/usr/games/lib/$(NAME)\"
++ROMPATH = \"${PREFIX}/share/$(NAME)\"
+
+ # *** Where to store high scores ?
+-SDIR = \"/usr/games/lib/$(NAME)\"
++SDIR = \"${PREFIX}/share/$(NAME)\"
+
+ # *** Where resides global configuration file ?
+-MRC = \"/usr/games/lib/$(NAME)/$(NAME)rc\"
++MRC = \"${PREFIX}/share/$(NAME)/$(NAME)rc\"
+
+
+ ##############################################################################
+@@ -118,7 +118,9 @@
+ ##############################################################################
+
+ # *** To disable joystick support comment next line
+-# JOY = -DUSE_JOYSTICK
++ifeq (${NETBSD_JOYSTICK},yes)
++JOY = -DUSE_JOYSTICK
++endif
+
+ # *** To disable mouse support comment next line
+ MOUSE = -DUSE_MOUSE
+@@ -137,7 +139,9 @@
+ # JSLIB = -lXi
+
+ # On iX86 based OS's, if supported, you can use standard joystick driver
+-# JS = -DI386_JOYSTICK
++ifeq (${NETBSD_JOYSTICK},yes)
++JS = -DI386_JOYSTICK
++endif
+
+ # Linux FM-TOWNS game PAD joystick emulation support
+ # Thanks to Osamu Kurati for provided patch
+@@ -158,8 +162,8 @@
+ # you might decide to use these feature. Otherwise, you should use a
+ # timer based audio code and ajust in src/unix/sound.h AUDIO_TIMER_FREQ item
+ #
+-S_TIM = -DDONTUSE_TIMER
+-# S_TIM = -DUSE_TIMER
++# S_TIM = -DDONTUSE_TIMER
++S_TIM = -DUSE_TIMER
+
+ # *** When using timer, you should provide the frequency to generate audio sample
+ # frames in your system. See readme.unix notes about these item
+@@ -192,7 +196,7 @@
+ # note: x11 is the only one supported on all platforms
+
+ ### normal X11
+-DISPLAY_METHOD = x11
++#DISPLAY_METHOD = x11
+ ### XFree86's DGA extension, only tested under linux
+ #DISPLAY_METHOD = xf86_dga
+ ### svgalib, only supported under linux
+@@ -215,14 +219,16 @@
+ # *** If you haven't the MIT-Shared Memory X Extensions, comment the following:
+ # ( Test if available by mean of xdpyinfo command )
+ # Comment it if not compiling for normal x11
+-# MSHM = -DUSE_MITSHM
++ifeq (${DISPLAY_METHOD},x11)
++MSHM = -DUSE_MITSHM
++endif
+
+ # standard location for X11
+ # X11INC = -I/usr/include/X11
+ # X11LIB = -L/usr/lib/X11
+ # standard location for XFree86
+-X11INC = -I/usr/X11R6/include
+-X11LIB = -L/usr/X11R6/lib
++X11INC = -I${PREFIX}/include
++X11LIB = -L${PREFIX}/lib -Wl,-R${PREFIX}/lib
+ # for Sun systems
+ # X11INC = -I/usr/openwin/include
+ # X11LIB = -L/usr/openwin/lib
diff --git a/emulators/xmess/files/patch-ab b/emulators/xmess/files/patch-ab
new file mode 100644
index 000000000000..47373f020c95
--- /dev/null
+++ b/emulators/xmess/files/patch-ab
@@ -0,0 +1,12 @@
+$NetBSD: patch-ab,v 1.4 1998/08/29 19:42:00 frueauf Exp $
+
+--- src/unix/Makefile.orig Tue Aug 25 07:39:20 1998
++++ src/unix/Makefile Fri Aug 28 23:08:49 1998
+@@ -16,6 +16,7 @@
+
+ $(TARGET): $(OBJS)
+ ar -rcv $@ $(OBJS)
++ ranlib $@
+
+ $(OBJDIR)/%.o: %.c xmame.h sound.h
+ $(CC) -I../../src/ $(CFLAGS) -o $@ -c $<
diff --git a/emulators/xmess/files/patch-ae b/emulators/xmess/files/patch-ae
new file mode 100644
index 000000000000..97cce4da7316
--- /dev/null
+++ b/emulators/xmess/files/patch-ae
@@ -0,0 +1,13 @@
+$NetBSD: patch-ae,v 1.2 1998/08/07 10:40:37 agc Exp $
+
+--- doc/xmessrc.dist.orig Tue Jun 9 08:14:22 1998
++++ doc/xmessrc.dist Thu Jul 9 08:11:39 1998
+@@ -21,7 +21,7 @@
+ ############################ General options ##########################
+ #
+ # Mess needs a public-writable directory to store high scores
+-spooldir /var/games/mess
++spooldir @MESSDIR@
+
+ # Type here the name of the display where play xmame
+ # overriden by DISPLAY environment variable. Not usefull in config file but...
diff --git a/emulators/xmess/files/patch-af b/emulators/xmess/files/patch-af
new file mode 100644
index 000000000000..101fe7cf39ff
--- /dev/null
+++ b/emulators/xmess/files/patch-af
@@ -0,0 +1,31 @@
+$NetBSD: patch-af,v 1.2 1998/08/07 10:40:38 agc Exp $
+
+--- src/unix/devices.c.orig Wed Jun 17 05:48:00 1998
++++ src/unix/devices.c Sat Jul 4 07:42:07 1998
+@@ -60,7 +60,7 @@
+ #elif I386_JOYSTICK
+ void i386_poll_joystick (void);
+ /* specific joystick for PC clones */
+-#ifdef netbsd_i386
++#ifdef __FreeBSD__
+ #include <machine/joystick.h>
+ extern struct joystick joy_data,joy_orig;
+ #else
+@@ -658,7 +658,7 @@
+ {
+ #if ( defined USE_JOYSTICK ) && ( defined I386_JOYSTICK )
+ int res;
+-#ifdef netbsd_i386
++#ifdef __FreeBSD__
+ res = read(joy_fd,&joy_data,sizeof(struct joystick) );
+ if (res == sizeof(struct joystick )) {
+ #else
+@@ -666,7 +666,7 @@
+ if (res == sizeof(struct JS_DATA_TYPE )) {
+ #endif
+ /* get value of buttons */
+-#ifdef netbsd_i386
++#ifdef __FreeBSD__
+ joy_b1 = joy_data.b1;
+ joy_b2 = joy_data.b2;
+ #else
diff --git a/emulators/xmess/files/patch-ag b/emulators/xmess/files/patch-ag
new file mode 100644
index 000000000000..795340d28302
--- /dev/null
+++ b/emulators/xmess/files/patch-ag
@@ -0,0 +1,14 @@
+Index: src/unix/FREEBSD.c
+@@ -10,7 +10,12 @@
+ #include "sound.h"
+
+ #ifdef USE_JOYSTICK
++#ifdef __FreeBSD__
++#include <machine/joystick.h>
++#define JS_DATA_TYPE joystick
++#else
+ #include <linux/joystick.h>
++#endif
+ struct JS_DATA_TYPE joy_data,joy_orig;
+ int joy_fd; /* joystick file descriptor */
+ #endif
diff --git a/emulators/xmess/files/patch-ba b/emulators/xmess/files/patch-ba
new file mode 100644
index 000000000000..498ae2d71890
--- /dev/null
+++ b/emulators/xmess/files/patch-ba
@@ -0,0 +1,26 @@
+Index: makefile.unix
+@@ -249,9 +249,9 @@
+ ######## Alpha/Linux
+ # ARCH = linux_alpha
+ ######## ix86/Linux
+-ARCH = linux_i386
++# ARCH = linux_i386
+ ######## ix86/FreeBSD and ix86/BSDi
+-# ARCH = FREEBSD
++ARCH = FREEBSD
+ ######## ix86/NetBSD
+ # ARCH = netbsd_i386
+ ######## Sparc/SunOS ( no sound )
+@@ -287,7 +287,12 @@
+ DEFS.linux_powerpc = -Dlinux -DACORN
+ DEFS.linux_alpha = -Dlinux -DLSB_FIRST -DAXP_ASM -DACORN
+ DEFS.linux_i386 = -Dlinux -DLSB_FIRST -DX86_ASM
++ifeq (${MACHINE_ARCH},i386)
+ DEFS.FREEBSD = -DLSB_FIRST -DX86_ASM -Dlinux -DFREEBSD_SOUND_WORKAROUND
++else
++# someone with an alpha pls check this
++DEFS.FREEBSD = -DLSB_FIRST -DACORN -Dlinux -DFREEBSD_SOUND_WORKAROUND
++endif
+ DEFS.netbsd_i386 = -DLSB_FIRST -DX86_ASM -DNETBSD -DUSE_AUDIO
+ DEFS.sunos = -Dsun -DCLOCKS_PER_SEC=1000000 -DACORN
+ DEFS.solaris = -Dsun -DACORN
diff --git a/emulators/xmess/files/patch-be b/emulators/xmess/files/patch-be
new file mode 100644
index 000000000000..295c4d5b480f
--- /dev/null
+++ b/emulators/xmess/files/patch-be
@@ -0,0 +1,21 @@
+Index: doc/xmessrc.dist
+@@ -21,7 +21,7 @@
+ ############################ General options ##########################
+ #
+ # Tell mess where to find it's rom/diskimages, : seperated path
+-rompath /usr/lib/mess:/usr/local/lib/mess:/opt/mess
++rompath @MESSLIB@
+
+ # Mess needs a public-writable directory to store high scores
+ spooldir @MESSDIR@
+@@ -77,8 +77,8 @@
+ #
+
+ # Define X and Y axis scale related to original bitmap. Default is 1
+-widthscale 2
+-heightscale 2
++widthscale 1
++heightscale 1
+
+ # If your screen refresh is to slow, you can skip frames with frameskip option
+ frameskip 3
diff --git a/emulators/xmess/pkg-comment b/emulators/xmess/pkg-comment
new file mode 100644
index 000000000000..f9579d155dbe
--- /dev/null
+++ b/emulators/xmess/pkg-comment
@@ -0,0 +1 @@
+X11 emulator for game consoles
diff --git a/emulators/xmess/pkg-descr b/emulators/xmess/pkg-descr
new file mode 100644
index 000000000000..dbc941911b97
--- /dev/null
+++ b/emulators/xmess/pkg-descr
@@ -0,0 +1,15 @@
+X-MESS is the X11 port of the MESS game console emulator.
+
+MESS is virtual machine emulator; it includes emulators for the CPUs,
+sound and video chips used in game consoles, as well as special purpose
+PALs and detailed information about the memory layout of each machine.
+
+MESS currently emulates the Nintendo Entertainment System (NES), Sega
+Genesis/Megadrive, TRS-80 models 1 and 3, Colour Genie, Colecovision,
+Vectrex, Apple ][ series, Atari 800, Atari 5200, Sega Master System/Game
+Gear, Bally Astrocade, Kaypro 2x and PDP-1.
+
+To play games in X-MESS you must have a copy of the original game,
+extracted from a cartridge, floppy or tape image.
+
+WWW: http://mess.emuverse.com/
diff --git a/emulators/xmess/pkg-plist b/emulators/xmess/pkg-plist
new file mode 100644
index 000000000000..f4843d462838
--- /dev/null
+++ b/emulators/xmess/pkg-plist
@@ -0,0 +1,6 @@
+@comment $NetBSD: PLIST,v 1.2 1998/08/29 04:24:29 mycroft Exp $
+bin/xmess
+lib/xmess/spacewar.zip
+share/xmess/xmessrc
+@dirrm lib/xmess
+@dirrm share/xmess