summaryrefslogtreecommitdiff
path: root/emulators/xmame
diff options
context:
space:
mode:
authortron <tron>1998-02-14 22:06:04 +0000
committertron <tron>1998-02-14 22:06:04 +0000
commit845fb4b61c37841539e96d09bcae12ac599b2daa (patch)
tree3dfbb553fbea9a2158f08510ce7532ba8fa32451 /emulators/xmame
parent9954b2ab253c211e718f63540811315e60f6e4be (diff)
downloadpkgsrc-845fb4b61c37841539e96d09bcae12ac599b2daa.tar.gz
Initial import of "xmame-0.30.1" package based on work by Tim Rightnour.
Diffstat (limited to 'emulators/xmame')
-rw-r--r--emulators/xmame/Makefile38
-rw-r--r--emulators/xmame/files/md51
-rw-r--r--emulators/xmame/patches/patch-aa256
-rw-r--r--emulators/xmame/patches/patch-ab20
-rw-r--r--emulators/xmame/patches/patch-ac7
-rw-r--r--emulators/xmame/patches/patch-ad10
-rw-r--r--emulators/xmame/patches/patch-ae16
-rw-r--r--emulators/xmame/pkg/COMMENT1
-rw-r--r--emulators/xmame/pkg/DESCR16
-rw-r--r--emulators/xmame/pkg/PLIST5
10 files changed, 370 insertions, 0 deletions
diff --git a/emulators/xmame/Makefile b/emulators/xmame/Makefile
new file mode 100644
index 00000000000..9a5f16309e5
--- /dev/null
+++ b/emulators/xmame/Makefile
@@ -0,0 +1,38 @@
+#
+# New ports collection makefile for: xmame
+# Version required: 0.30.1
+# Date Created: 30 January 1998
+# Whom: root@garbled.futureone.com
+#
+# $NetBSD: Makefile,v 1.1 1998/02/14 22:06:04 tron Exp $
+
+DISTNAME= xmame-0.30.1_src
+PKGNAME= xmame-0.30.1
+CATEGORIES= emulators games x11
+MASTER_SITES= ftp://drake.dit.upm.es/pub/emulators/mame/
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= root@garbled.futureone.com
+
+RUN_DEPENDS= unzip:${PORTSDIR}/archivers/unzip
+
+WRKSRC= ${WRKDIR}/xmame-0.30.1
+USE_X11= yes
+USE_GMAKE= yes
+MAKE_ENV+= OPSYS=${OPSYS} ARCH=${ARCH} DESTDIR=${DESTDIR} \
+ INSTALL_MAN="${INSTALL_MAN}" \
+ INSTALL_PROGRAM="${INSTALL_PROGRAM}"
+
+MAN6= xmame.6
+
+post-patch:
+ ${CP} ${WRKSRC}/makefile.unix ${WRKSRC}/Makefile
+ ${SED} 's/XXX/${PREFIX:S/\//\\\//g}\/lib\/mame/' ${WRKSRC}/doc/xmamerc.dist >${WRKSRC}/doc/xmamerc
+ ${MV} ${WRKSRC}/src/unix/netbsd_i386.c ${WRKSRC}/src/unix/NetBSD.c
+
+post-install:
+ ${MKDIR} ${PREFIX}/lib/mame
+ ${CP} ${WRKSRC}/doc/xmamerc ${PREFIX}/lib/mame/xmamerc
+ @echo Remember to set MAMEDIR to ${PREFIX}/lib/mame.
+
+.include <bsd.port.mk>
diff --git a/emulators/xmame/files/md5 b/emulators/xmame/files/md5
new file mode 100644
index 00000000000..749d861b1cc
--- /dev/null
+++ b/emulators/xmame/files/md5
@@ -0,0 +1 @@
+MD5 (xmame-0.30.1_src.tgz) = 3cfea645f0edceffb3fa4ef7cffa39c1
diff --git a/emulators/xmame/patches/patch-aa b/emulators/xmame/patches/patch-aa
new file mode 100644
index 00000000000..0d747a51e14
--- /dev/null
+++ b/emulators/xmame/patches/patch-aa
@@ -0,0 +1,256 @@
+--- makefile.unix.orig Thu Jan 29 13:21:09 1998
++++ makefile.unix Sat Feb 14 21:37:06 1998
+@@ -36,18 +36,18 @@
+ # 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
+
+ # *** Choose your compiler
+ # Where posible, please enforce ansi usage
+-CC = gcc -ansi -pedantic -D_XOPEN_SOURCE -DM_PI=3.141592 -DPEDANTIC
++#CC = gcc -ansi -pedantic -D_XOPEN_SOURCE -DM_PI=3.141592 -DPEDANTIC
+ #
+ # Some OS either libs are not ANSI-Compliant. If previous line fails, please
+ # use next and report me item, to add to README.UNIX file
+ #
+-# CC = gcc
++CC = gcc
+ # for IRIX systems seems that DCC gets better code than GNU. so use it:
+ # CC = DCC
+ #
+@@ -73,8 +73,11 @@
+ ### normal optimization flags
+ # OPTFLAGS = -O2
+ # OPTFLAGS = -O2 -m486 -Wall
++ifeq ($(ARCH),i386)
++ARCHOPS= -m486
++endif
+ ### to get full optimization under gcc/x Intel based OS's.. ( !!else comment!! )
+-OPTFLAGS = -O3 -m486 -Wall -Wno-parentheses -funroll-loops \
++OPTFLAGS = -O2 $(ARCHOPS) -Wall -Wno-parentheses -funroll-loops \
+ -fstrength-reduce -fomit-frame-pointer -ffast-math -malign-functions=2 \
+ -malign-jumps=2 -malign-loops=2
+ ### for Linux/X11/PowerPC use following opts
+@@ -92,7 +95,7 @@
+ ##############################################################################
+
+ # *** To disable joystick support comment next line
+-JOY = -DUSE_JOYSTICK
++#JOY = -DUSE_JOYSTICK
+
+ # *** To disable mouse support comment next line
+ MOUSE = -DUSE_MOUSE
+@@ -109,12 +112,12 @@
+ # use provided program "xlistdev" to now available ones
+ # and dont forget to include library in linker definition !!
+ #JS = -DX11_JOYSTICK
+-JSNAME = \"Joystick\"
++#JSNAME = \"Joystick\"
+ # JSPOLL = -DUSE_X11_JOYEVENTS
+ # JSLIB = -lXi
+
+ # On iX86 based OS's, if supported, you can use standard joystick driver
+-JS = -DI386_JOYSTICK
++#JS = -DI386_JOYSTICK
+
+ # Linux FM-TOWNS game PAD joystick emulation support
+ # Thanks to Osamu Kurati for provided patch
+@@ -156,8 +159,8 @@
+ # *** where does your X11 source tree resides ?? use aproppiate switch
+
+ # standard location for X11
+-X11INC = -I/usr/include/X11
+-X11LIB = -L/usr/lib/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
+@@ -175,18 +178,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
+-DISTDIR = /home/ftp/pub/emulators/mame
++#DESTDIR = /usr/games
++#MANDIR = /usr/local/man/man6
++#DISTDIR = /home/ftp/pub/emulators/mame
+
+ # *** Where the ROM source tree ?
+-MDIR = \"/usr/games/lib/mame\"
++MDIR = \"$(PREFIX)/lib/mame\"
+
+ # *** Where to store high scores ?
+-SDIR = \"/usr/games/lib/mame\"
++SDIR = \"$(PREFIX)/lib/mame\"
+
+ # *** Where resides global configuration file ?
+-MRC = \"/usr/games/lib/mame/xmamerc\"
++MRC = \"$(PREFIX)/lib/mame/xmamerc\"
+
+ # *** Use this definition as default X Display
+ DP = \":0.0\"
+@@ -209,8 +212,8 @@
+ # timer based audio code and ajust in src/unix/sound.h AUDIO_TIMER_FREQ item
+ #
+ # DONTUSE_TIMER is mandatory for SVGALIB -else you'll get a compile error-
+-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
+@@ -232,7 +235,7 @@
+ ######## Alpha/Linux/X11
+ # ARCH = linux_alpha
+ ######## ix86/Linux/X11
+-ARCH = linux
++# ARCH = linux
+ ######## ix86/Linux/SVGALIB
+ # ARCH = svgalib
+ ######## ix86/Linux/GGI *New* *New* *New* Please test - no mouse or joy yet
+@@ -321,12 +324,12 @@
+ #If you want sound add to DEFS.netbsd_i386 "-DUSE_AUDIO" and
+ #set STIM=-DUSE_TIMER above
+ #
+-DEFS.netbsd_i386 = -DX86_ASM -DLSB_FIRST -DUNIX -Dnetbsd_i386 -DNETBSD \
++DEFS.NetBSD = -DX86_ASM -DLSB_FIRST -DUNIX -Dnetbsd_i386 -DNETBSD \
+ -DHAVE_GETTIMEOFDAY -DUSE_AUDIO
+-LIBS.netbsd_i386 = $(X11LIB) -lX11 -lXext -lm
+-CFLAGS.netbsd_i386 = $(X11INC) -m486 -fstrength-reduce -funroll-loops \
++LIBS.NetBSD = $(X11LIB) -lX11 -lXext -lXi -lm
++CFLAGS.NetBSD = $(X11INC) -O2 $(ARCHOPS) -fstrength-reduce -funroll-loops \
+ -fomit-frame-pointer -Wall
+-INST.netbsd_i386 = doinstall
++INST.NetBSD = doinstall
+
+ # SunOS
+ #####################
+@@ -414,7 +417,7 @@
+ # Perhaps one day original mame sources will use POSIX strcasecmp and M_PI
+ # instead MS-DOS counterparts... ( a long and sad history ...)
+ CFLAGS = $(CAPABILITIES) $(SOUND_OPTS) $(DBGFLAGS) $(OPTFLAGS) \
+- $(XPM) $(IL) $(INCDIRS) $(CFLAGS.$(ARCH)) -Dstricmp=strcasecmp -DPI=M_PI
++ $(XPM) $(IL) $(INCDIRS) $(CFLAGS.$(OPSYS)) -Dstricmp=strcasecmp -DPI=M_PI
+
+ OBJOSDEP = obj/unix/osdepend.a
+
+@@ -585,13 +588,13 @@
+ # not sure why, but was in original xmame makefile long time ago...
+ VPATH = src src/Z80 src/M6502 src/I86 src/M6809 src/M68000 src/unix src/zipfiles
+
+-all: objdirs osdepend zipfiles xmame.$(ARCH)
++all: objdirs osdepend zipfiles xmame.$(OPSYS)
+
+-OBJDIRS= obj.$(ARCH) obj.$(ARCH)/msdos obj.$(ARCH)/unix obj.$(ARCH)/zipfiles \
+- obj.$(ARCH)/I86 obj.$(ARCH)/I8039 obj.$(ARCH)/Z80 obj.$(ARCH)/M6502 \
+- obj.$(ARCH)/M6808 obj.$(ARCH)/M6809 obj.$(ARCH)/M68000 \
+- obj.$(ARCH)/drivers obj.$(ARCH)/machine \
+- obj.$(ARCH)/vidhrdw obj.$(ARCH)/sndhrdw
++OBJDIRS= obj.$(OPSYS) obj.$(OPSYS)/msdos obj.$(OPSYS)/unix obj.$(OPSYS)/zipfiles \
++ obj.$(OPSYS)/I86 obj.$(OPSYS)/I8039 obj.$(OPSYS)/Z80 obj.$(OPSYS)/M6502 \
++ obj.$(OPSYS)/M6808 obj.$(OPSYS)/M6809 obj.$(OPSYS)/M68000 \
++ obj.$(OPSYS)/drivers obj.$(OPSYS)/machine \
++ obj.$(OPSYS)/vidhrdw obj.$(OPSYS)/sndhrdw
+
+ $(OBJDIRS):
+ -mkdir $@
+@@ -600,36 +603,36 @@
+
+ objlnk:
+ -rm -fR obj
+- ln -s obj.$(ARCH) obj
++ ln -s obj.$(OPSYS) obj
+
+-xmame.$(ARCH): $(OBJS)
+- $(LD) -g3 -o xmame.$(ARCH) $(OBJS) $(ZLIB) $(JSLIB) $(XPMLIB) $(LIBS.$(ARCH))
++xmame.$(OPSYS): $(OBJS)
++ $(LD) -g3 -o xmame.$(OPSYS) $(OBJS) $(ZLIB) $(JSLIB) $(XPMLIB) $(LIBS.$(OPSYS))
+
+ xlistdev: xlistdev.c
+- $(CC) $(X11INC) xlistdev.c -o xlistdev $(JSLIB) $(LIBS.$(ARCH))
++ $(CC) $(X11INC) xlistdev.c -o xlistdev $(JSLIB) $(LIBS.$(OPSYS))
+
+ # obj/unix/osdepend.a:
+
+ osdepend:
+ ( \
+ cd src/unix; \
+- $(MAKE) CC="$(CC)" ARCH="$(ARCH)" DEFS="$(CONF) $(DEFS.$(ARCH))" CFLAGS="$(CFLAGS)" \
++ $(MAKE) CC="$(CC)" OPSYS="$(OPSYS)" DEFS="$(CONF) $(DEFS.$(OPSYS))" CFLAGS="$(CFLAGS)" \
+ )
+
+ zipfiles: FRC
+ ( \
+ cd src/zipfiles; \
+- $(MAKE) CC="$(CC)" ARCH="$(ARCH)" DEFS="$(CONF) $(DEFS.$(ARCH))" CFLAGS="$(CFLAGS)" \
++ $(MAKE) CC="$(CC)" OPSYS="$(OPSYS)" ZLIB="$(ZLIB)" DEFS="$(CONF) $(DEFS.$(OPSYS))" CFLAGS="$(CFLAGS)" \
+ )
+
+ FRC:
+
+
+-sndserver.$(ARCH): obj/unix/sndserver.o obj/unix/osdepend.a
+- $(LD) -g3 -o sndserver.$(ARCH) obj/unix/sndserver.o $(LIBS.$(ARCH))
++sndserver.$(OPSYS): obj/unix/sndserver.o obj/unix/osdepend.a
++ $(LD) -g3 -o sndserver.$(OPSYS) obj/unix/sndserver.o $(LIBS.$(OPSYS))
+
+ obj/%.o: src/%.c
+- $(CC) $(DEFS.$(ARCH)) $(CFLAGS) -o $@ -c $<
++ $(CC) $(DEFS.$(OPSYS)) $(CFLAGS) -o $@ -c $<
+
+ sndtest: sndtest.c
+ gcc -o sndtest sndtest.c
+@@ -647,33 +650,33 @@
+ src/I86/instr.h
+
+ install: install-bin install-man
+- @echo X-Mame $(VERSION) for $(ARCH) installation completed
++ @echo X-Mame $(VERSION) for $(OPSYS) installation completed
+
+-install-bin: $(INST.$(ARCH)) xmame.$(ARCH)
++install-bin: $(INST.$(OPSYS)) xmame.$(OPSYS)
+
+ install-man:
+- @echo installing manual pages under $(MANDIR) ...
+- $(INSTALL) doc/xmame.man $(MANDIR)/xmame.6
++ @echo installing manual pages under $(PREFIX)/man/man6 ...
++ $(INSTALL_MAN) doc/xmame.man $(PREFIX)/man/man6/xmame.6
+
+ doinstall:
+- @echo installing binaries under $(DESTDIR)...
+- $(INSTALL) xmame.$(ARCH) $(DESTDIR)/xmame
++ @echo installing binaries under $(PREFIX)/bin...
++ $(INSTALL_PROGRAM) xmame.$(OPSYS) $(PREFIX)/bin/xmame
+
+ # Every SVGALIB-based software must be run setuid. Beware security !!!
+ doinstallsvgalib:
+- @echo installing binaries under $(DESTDIR)...
+- $(INSTALL) xmame.$(ARCH) $(DESTDIR)/mame
+- chmod 4755 $(DESTDIR)/mame
++ @echo installing binaries under $(PREFIX)...
++ $(INSTALL) xmame.$(OPSYS) $(PREFIX)/mame
++ chmod 4755 $(PREFIX)/mame
+
+ #clean now depends on objdirs, cause otherwise it just might rm the wrong ARCH
+ clean: objdirs
+- rm -f $(OBJS) xmame.$(ARCH) xlistdev sndserver.*
+- ( cd src/unix; $(MAKE) ARCH="$(ARCH)" clean; )
+- ( cd src/zipfiles; $(MAKE) ARCH="$(ARCH)" clean; )
++ rm -f $(OBJS) xmame.$(OPSYS) xlistdev sndserver.*
++ ( cd src/unix; $(MAKE) OPSYS="$(OPSYS)" clean; )
++ ( cd src/zipfiles; $(MAKE) OPSYS="$(OPSYS)" clean; )
+ rm -f sndtest
+
+ bindist:
+- tar zcvf $(DISTDIR)/xmame.$(ARCH)_bin.tgz xmame.$(ARCH) doc
++ tar zcvf $(DISTDIR)/xmame.$(OPSYS)_bin.tgz xmame.$(OPSYS) doc
+
+ srcdist: pristine
+ ( cd ..; tar zcvf $(DISTDIR)/xmame-$(VERSION)_src.tgz xmame-$(VERSION) )
diff --git a/emulators/xmame/patches/patch-ab b/emulators/xmame/patches/patch-ab
new file mode 100644
index 00000000000..3ef3f105630
--- /dev/null
+++ b/emulators/xmame/patches/patch-ab
@@ -0,0 +1,20 @@
+--- src/unix/Makefile.orig Thu Jan 1 18:31:14 1998
++++ src/unix/Makefile Fri Feb 13 08:12:11 1998
+@@ -1,2 +1,2 @@
+-OBJDIR = ../../obj.$(ARCH)/unix
++OBJDIR = ../../obj.$(OPSYS)/unix
+
+@@ -8,3 +8,3 @@
+ UOBJS = $(OBJDIR)/main.o $(OBJDIR)/sound.o $(OBJDIR)/xdep.o \
+- $(OBJDIR)/update_dsp.o $(OBJDIR)/$(ARCH).o $(OBJDIR)/lin2ulaw.o \
++ $(OBJDIR)/update_dsp.o $(OBJDIR)/$(OPSYS).o $(OBJDIR)/lin2ulaw.o \
+ $(OBJDIR)/keyboard.o $(OBJDIR)/devices.o
+@@ -24,2 +24,3 @@
+ ar -rcv $@ $(UOBJS)
++ ranlib $@
+
+@@ -41,3 +42,3 @@
+ $(OBJDIR)/aix.o: aix.c xmame.h sound.h
+-$(OBJDIR)/netbsd_i386.o: netbsd_i386.c xmame.h sound.h
++$(OBJDIR)/$(OPSYS).o: $(OPSYS).c xmame.h sound.h
+ $(OBJDIR)/sndserver.o: sndserver.c xmame.h
diff --git a/emulators/xmame/patches/patch-ac b/emulators/xmame/patches/patch-ac
new file mode 100644
index 00000000000..f6157eb506d
--- /dev/null
+++ b/emulators/xmame/patches/patch-ac
@@ -0,0 +1,7 @@
+--- src/unix/netbsd_i386.c.orig Fri Feb 13 05:40:16 1998
++++ src/unix/netbsd_i386.c Fri Feb 13 05:46:49 1998
+@@ -96,3 +90,3 @@
+ a_info.blocksize = AUDIO_SAMPLE_FREQ / AUDIO_TIMER_FREQ;
+- a_info.buffersize = AUDIO_BUFF_SIZE;
++ a_info.play.buffer_size = AUDIO_BUFF_SIZE;
+ a_info.mode = AUMODE_PLAY;
diff --git a/emulators/xmame/patches/patch-ad b/emulators/xmame/patches/patch-ad
new file mode 100644
index 00000000000..2f1d646d4b9
--- /dev/null
+++ b/emulators/xmame/patches/patch-ad
@@ -0,0 +1,10 @@
+--- src/zipfiles/Makefile.orig Thu Jan 1 18:37:06 1998
++++ src/zipfiles/Makefile Fri Feb 13 08:10:45 1998
+@@ -1,2 +1,2 @@
+-OBJDIR = ../../obj.$(ARCH)/zipfiles
++OBJDIR = ../../obj.$(OPSYS)/zipfiles
+
+@@ -32,2 +32,3 @@
+ ar -rcv $@ $(ZOBJS)
++ ranlib $@
+
diff --git a/emulators/xmame/patches/patch-ae b/emulators/xmame/patches/patch-ae
new file mode 100644
index 00000000000..36bf4697b77
--- /dev/null
+++ b/emulators/xmame/patches/patch-ae
@@ -0,0 +1,16 @@
+--- doc/xmamerc.dist.orig Sat Feb 14 05:42:01 1998
++++ doc/xmamerc.dist Sat Feb 14 05:43:14 1998
+@@ -25,6 +25,6 @@
+ # This option can be overriden by MAMEDIR environment variable
+-mamedir /usr/games/lib/mame
++mamedir XXX
+
+ # Also Mame needs a public-writable directory to store high scores
+-spooldir /var/games/mame
++spooldir XXX
+
+@@ -77,3 +77,3 @@
+ # Do you want use trackball emulation via mouse?
+-use_trakball 0
++#use_trakball 0
+
diff --git a/emulators/xmame/pkg/COMMENT b/emulators/xmame/pkg/COMMENT
new file mode 100644
index 00000000000..58601624209
--- /dev/null
+++ b/emulators/xmame/pkg/COMMENT
@@ -0,0 +1 @@
+X11 emulator for old arcade machine ROMs
diff --git a/emulators/xmame/pkg/DESCR b/emulators/xmame/pkg/DESCR
new file mode 100644
index 00000000000..fc09bb46b2a
--- /dev/null
+++ b/emulators/xmame/pkg/DESCR
@@ -0,0 +1,16 @@
+X-Mame the UNIX/X11 port of Mame project. It makes Mame arcade emulator
+available on *ix machines using the X11R6 X-Window system ( and Linux ones
+using SVGAlib too )
+
+Mame is a virtual machine emulator: it includes a Z80, 6502 and lastly I86
+uP emulators, joined to several arcade machine hardware emulators. Each
+arcade emulator contains a full description about hardware, mem maps,
+video, sounds and so, making possible that if you have original ROM images
+of a supported arcade game, you can play the game.
+
+You NEED the rom images to play a game: this is not a game emulator, just
+an arcade machine one.
+
+About ROM images: They are under copyrights of their authors, and CANNOT
+be distributed in the same package as Mame. Download them at your
+responsability
diff --git a/emulators/xmame/pkg/PLIST b/emulators/xmame/pkg/PLIST
new file mode 100644
index 00000000000..72c4a454d55
--- /dev/null
+++ b/emulators/xmame/pkg/PLIST
@@ -0,0 +1,5 @@
+@comment $NetBSD: PLIST,v 1.1 1998/02/14 22:06:18 tron Exp $
+bin/xmame
+lib/mame/xmamerc
+@dirrm lib/mame
+man/man6/xmame.6