aboutsummaryrefslogtreecommitdiff
path: root/emulators/fceux
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/fceux')
-rw-r--r--emulators/fceux/Makefile94
-rw-r--r--emulators/fceux/distinfo1
-rw-r--r--emulators/fceux/files/patch-Makefile.base8
-rw-r--r--emulators/fceux/files/patch-Makefile.unixsdl18
-rw-r--r--emulators/fceux/pkg-descr12
-rw-r--r--emulators/fceux/pkg-message10
-rw-r--r--emulators/fceux/pkg-plist29
7 files changed, 172 insertions, 0 deletions
diff --git a/emulators/fceux/Makefile b/emulators/fceux/Makefile
new file mode 100644
index 000000000000..1acdc9372555
--- /dev/null
+++ b/emulators/fceux/Makefile
@@ -0,0 +1,94 @@
+# New ports collection makefile for: fceu
+# Date Created: 10 Mov 2002
+# Whom: HIYAMA Takeshi <gibbon@cocoa.freemail.ne.jp>
+#
+# $FreeBSD$
+#
+
+PORTNAME= fceu
+PORTVERSION= 0.96
+CATEGORIES= emulators
+MASTER_SITES= http://fceultra.sourceforge.net/files/
+DISTNAME= fceu${PORTVERSION:S/.//}src
+#DISTFILES= ${DISTNAME}${PORTVERSION:S/.//}src${EXTRACT_SUFX}
+
+MAINTAINER= gibbon@cocoa.freemail.ne.jp
+COMMENT= A portable NES/Famicom emulator based on Bero's original FCE
+
+LIB_DEPENDS= SDL-1.1:${PORTSDIR}/devel/sdl12
+
+WRKSRC= ${WRKDIR}/fceu
+USE_X_PREFIX= yes
+USE_GMAKE= yes
+MAKEFILE= Makefile.unixsdl
+USE_REINPLACE= yes
+
+DOCS= AUTHORS COPYING ChangeLog FAQ README \
+ TODO cheat.txt fcs.txt porting.txt rel/readme-linux.txt
+TECHDOCS= README.now README.sound UNIF_current.txt nsfspec.txt
+TECHCPUDOC= 4017.txt 6502_cpu.txt NESSOUND.txt dmc.txt
+TECHEXPDOCS= mmc5-e.txt mmc5_bank_switch.txt
+TECHPPUDOCS= loopy1.txt loopy2.txt timing.txt
+
+.if defined(WITH_OPTIMIZED_FLAGS)
+CFLAGS+= -O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations -malign-double
+.if (${MACHINE_ARCH} == "i386")
+CFLAGS+= -mcpu=i686 -march=i686 -mfancy-math-387
+.endif # i386
+.endif
+.if !defined(WITH_OPTIMIZED_FLAGS)
+ @${ECHO} "You can optimize by setting WITH_OPTIMIZED_FLAGS=yes."
+.endif
+
+pre-everything::
+.if !defined(NOPORTDOCS) && !defined(TECH_DOC_INSTALL)
+ @${ECHO_MSG} "You can install technical documents"
+ @${ECHO_MSG} "by defining TECH_DOC_INSTALL"
+.endif
+
+.if defined(TECH_DOC_INSTALL)
+PLIST_SUB= TECHDOCS=""
+.else
+PLIST_SUB= TECHDOCS="@comment "
+.endif
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+ @${REINPLACE_CMD} -e 's+%%LOCALBASE%%+${LOCALBASE}+g;' ${WRKSRC}/Makefile.unixsdl
+ @${REINPLACE_CMD} -e 's+%%CFLAGS%%+${CFLAGS}+g;' ${WRKSRC}/Makefile.unixsdl
+.if (${ARCH} == "alpha")
+ @${REINPLACE_CMD} -e 's|-DC80x86||g' ${WRKSRC}/Makefile.unixsdl
+.endif
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/fceu ${PREFIX}/bin
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${DOCSDIR}
+.for docs in ${DOCS}
+ ${INSTALL_DATA} ${WRKSRC}/Documentation/${docs} ${DOCSDIR}
+.endfor
+.if defined(TECH_DOC_INSTALL)
+ @${MKDIR} ${DOCSDIR}/tech
+.for docs in ${TECHDOCS}
+ ${INSTALL_DATA} ${WRKSRC}/Documentation/tech/${docs} ${DOCSDIR}/tech
+.endfor
+ @${MKDIR} ${DOCSDIR}/tech/cpu
+.for docs in ${TECHCPUDOC}
+ ${INSTALL_DATA} ${WRKSRC}/Documentation/tech/cpu/${docs} \
+ ${DOCSDIR}/tech/cpu
+.endfor
+ @${MKDIR} ${DOCSDIR}/tech/exp
+.for docs in ${TECHEXPDOCS}
+ ${INSTALL_DATA} ${WRKSRC}/Documentation/tech/exp/${docs} \
+ ${DOCSDIR}/tech/exp
+.endfor
+ @${MKDIR} ${DOCSDIR}/tech/ppu
+.for docs in ${TECHPPUDOCS}
+ ${INSTALL_DATA} ${WRKSRC}/Documentation/tech/ppu/${docs} \
+ ${DOCSDIR}/tech/ppu
+.endfor
+.endif
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/emulators/fceux/distinfo b/emulators/fceux/distinfo
new file mode 100644
index 000000000000..18b73106c617
--- /dev/null
+++ b/emulators/fceux/distinfo
@@ -0,0 +1 @@
+MD5 (fceu096src.tar.gz) = 26934713c1f64f20a3f4f8a2dba0f9fb
diff --git a/emulators/fceux/files/patch-Makefile.base b/emulators/fceux/files/patch-Makefile.base
new file mode 100644
index 000000000000..1a83dee26f69
--- /dev/null
+++ b/emulators/fceux/files/patch-Makefile.base
@@ -0,0 +1,8 @@
+--- Makefile.base.orig Sun Nov 10 02:13:55 2002
++++ Makefile.base Sun Nov 10 02:14:00 2002
+@@ -1,4 +1,4 @@
+-CFLAGS = -Wall -Winline ${TFLAGS}
++CFLAGS += -Wall -Winline ${TFLAGS}
+ OBJECTS = fce.o x6502.o video.o general.o endian.o svga.o sound.o nsf.o fds.o netplay.o ines.o state.o unif.o input.o file.o cart.o crc32.o memory.o cheat.o debug.o
+
+ fceu: fceu2
diff --git a/emulators/fceux/files/patch-Makefile.unixsdl b/emulators/fceux/files/patch-Makefile.unixsdl
new file mode 100644
index 000000000000..3667c18b3be4
--- /dev/null
+++ b/emulators/fceux/files/patch-Makefile.unixsdl
@@ -0,0 +1,18 @@
+--- Makefile.unixsdl.orig Fri Jun 20 12:50:03 2003
++++ Makefile.unixsdl Sun Jul 20 20:43:22 2003
+@@ -1,5 +1,5 @@
+ CC = gcc
+-TFLAGS = -DFRAMESKIP -DSTDIOIFACE -DUNIXDSP -DNETWORK -DFPS `sdl-config --cflags` -mcpu=i686 -O2 -Izlib -fomit-frame-pointer -DC80x86 -DLSB_FIRST -DSDL -DUNIX -DPSS_STYLE=1 -DZLIB
++TFLAGS = -DFRAMESKIP -DSTDIOIFACE -DUNIXDSP -DNETWORK -DFPS `%%LOCALBASE%%/bin/sdl11-config --cflags` -Izlib -DC80x86 -DLSB_FIRST -DSDL -DUNIX -DPSS_STYLE=1 -DZLIB %%CFLAGS%%
+
+ RM = rm -f
+ B = drivers/cli/
+@@ -9,7 +9,7 @@
+ include zlib/Makefile
+
+ OBJDRIVER = ${B}sdl.o ${B}interface.o ${B}main.o ${B}sdl-throttle.o ${B}unix-netplay.o ${B}sdl-sound.o ${B}sdl-video.o ${B}sdl-joystick.o drivers/common/cheat.o drivers/common/config.o drivers/common/args.o drivers/common/vidblit.o drivers/common/unixdsp.o ${UNZIPOBJS}
+-LDRIVER = -lm `sdl-config --libs` -lz
++LDRIVER = -lm `%%LOCALBASE%%/bin/sdl11-config --libs` -lz
+
+ include Makefile.base
+
diff --git a/emulators/fceux/pkg-descr b/emulators/fceux/pkg-descr
new file mode 100644
index 000000000000..e83ddac8d7f5
--- /dev/null
+++ b/emulators/fceux/pkg-descr
@@ -0,0 +1,12 @@
+FCE Ultra is an NTSC and PAL Famicom/NES emulator for various
+platforms. It is based upon Bero's original FCE source code. Current
+features include good PPU, CPU, pAPU, expansion chip, and joystick
+emulation. Also a feature unique to this emulator(at the current
+time) is authentic Game Genie emulation. Save states and snapshot
+features also have been implemented. The VS Unisystem is emulated
+as well. FCE Ultra supports iNES format ROM images, UNIF format ROM
+images, headerless and FWNES style FDS disk images, and NSF files.
+
+FCE Ultra currently supports the following iNES mappers(many partially):
+
+WWW: http://fceultra.sourceforge.net/
diff --git a/emulators/fceux/pkg-message b/emulators/fceux/pkg-message
new file mode 100644
index 000000000000..b51dca12b132
--- /dev/null
+++ b/emulators/fceux/pkg-message
@@ -0,0 +1,10 @@
+ To enable start/stop seti@home client,
+ please run "setiathome" as your login name.
+ If you installed "setiathome" by ports or package,
+ change the line 9 of %%LOCALBASE%%/etc/rc.d/setiathome.sh
+ seti_user=nobody
+ ^^^^^^
+ to your login name before setting up working directory.
+ If you already done this as nobody, do
+ %%LOCALBASE%%/etc/rc.d/setiathome.sh stop
+ chown -R "YOUR LOGIN NAME" /var/db/setiathome
diff --git a/emulators/fceux/pkg-plist b/emulators/fceux/pkg-plist
new file mode 100644
index 000000000000..cc6e8dd354aa
--- /dev/null
+++ b/emulators/fceux/pkg-plist
@@ -0,0 +1,29 @@
+bin/fceu
+%%PORTDOCS%%share/doc/fceu/AUTHORS
+%%PORTDOCS%%share/doc/fceu/COPYING
+%%PORTDOCS%%share/doc/fceu/ChangeLog
+%%PORTDOCS%%share/doc/fceu/FAQ
+%%PORTDOCS%%share/doc/fceu/README
+%%PORTDOCS%%share/doc/fceu/TODO
+%%PORTDOCS%%share/doc/fceu/cheat.txt
+%%PORTDOCS%%share/doc/fceu/fcs.txt
+%%PORTDOCS%%share/doc/fceu/porting.txt
+%%PORTDOCS%%share/doc/fceu/readme-linux.txt
+%%PORTDOCS%%%%TECHDOCS%%share/doc/fceu/tech/README.now
+%%PORTDOCS%%%%TECHDOCS%%share/doc/fceu/tech/README.sound
+%%PORTDOCS%%%%TECHDOCS%%share/doc/fceu/tech/UNIF_current.txt
+%%PORTDOCS%%%%TECHDOCS%%share/doc/fceu/tech/nsfspec.txt
+%%PORTDOCS%%%%TECHDOCS%%share/doc/fceu/tech/cpu/4017.txt
+%%PORTDOCS%%%%TECHDOCS%%share/doc/fceu/tech/cpu/6502_cpu.txt
+%%PORTDOCS%%%%TECHDOCS%%share/doc/fceu/tech/cpu/NESSOUND.txt
+%%PORTDOCS%%%%TECHDOCS%%share/doc/fceu/tech/cpu/dmc.txt
+%%PORTDOCS%%%%TECHDOCS%%share/doc/fceu/tech/exp/mmc5-e.txt
+%%PORTDOCS%%%%TECHDOCS%%share/doc/fceu/tech/exp/mmc5_bank_switch.txt
+%%PORTDOCS%%%%TECHDOCS%%share/doc/fceu/tech/ppu/loopy1.txt
+%%PORTDOCS%%%%TECHDOCS%%share/doc/fceu/tech/ppu/loopy2.txt
+%%PORTDOCS%%%%TECHDOCS%%share/doc/fceu/tech/ppu/timing.txt
+%%PORTDOCS%%%%TECHDOCS%%@dirrm share/doc/fceu/tech/ppu
+%%PORTDOCS%%%%TECHDOCS%%@dirrm share/doc/fceu/tech/exp
+%%PORTDOCS%%%%TECHDOCS%%@dirrm share/doc/fceu/tech/cpu
+%%PORTDOCS%%%%TECHDOCS%%@dirrm share/doc/fceu/tech
+%%PORTDOCS%%@dirrm share/doc/fceu