diff options
author | martin <martin@pkgsrc.org> | 2000-07-28 15:54:26 +0000 |
---|---|---|
committer | martin <martin@pkgsrc.org> | 2000-07-28 15:54:26 +0000 |
commit | 8a261ca44096ddcd721598131f647b24ecc535f2 (patch) | |
tree | 0aca88cca293e33e0d86d541bf65e2341dfd2f64 | |
parent | 75693b8098deef9fe4cfcd81b2c40655e0d8b566 (diff) | |
download | pkgsrc-8a261ca44096ddcd721598131f647b24ecc535f2.tar.gz |
fMSX is a portable emulator of MSX home computers written in C.
This pkg was submitted by SUNAGAWA Keiki in PR pkg/6731, modified
slightly by me.
-rw-r--r-- | emulators/fmsx/Makefile | 60 | ||||
-rw-r--r-- | emulators/fmsx/files/md5 | 3 | ||||
-rw-r--r-- | emulators/fmsx/files/patch-sum | 6 | ||||
-rw-r--r-- | emulators/fmsx/patches/patch-aa | 24 | ||||
-rw-r--r-- | emulators/fmsx/patches/patch-ab | 14 | ||||
-rw-r--r-- | emulators/fmsx/patches/patch-ac | 20 | ||||
-rw-r--r-- | emulators/fmsx/patches/patch-ad | 105 | ||||
-rw-r--r-- | emulators/fmsx/pkg/COMMENT | 1 | ||||
-rw-r--r-- | emulators/fmsx/pkg/DESCR | 13 | ||||
-rw-r--r-- | emulators/fmsx/pkg/PLIST | 17 |
10 files changed, 263 insertions, 0 deletions
diff --git a/emulators/fmsx/Makefile b/emulators/fmsx/Makefile new file mode 100644 index 00000000000..963387ecd86 --- /dev/null +++ b/emulators/fmsx/Makefile @@ -0,0 +1,60 @@ +# $NetBSD: Makefile,v 1.1.1.1 2000/07/28 15:54:26 martin Exp $ + +DISTNAME= fMSX21.tar +PKGNAME= fmsx-2.1 +CATEGORIES= emulators x11 +MASTER_SITES= http://www.komkon.org/fms/fMSX/ +EXTRACT_SUFX= .Z + +MAINTAINER= martin@netbsd.org +HOMEPAGE= http://www.komkon.org/fms/fMSX/ + +RESTRICTED= "ROM image copyright is questionable" +NO_BIN_ON_CDROM= ${RESTRICTED} +NO_SRC_ON_CDROM= ${RESTRICTED} +NO_BIN_ON_FTP= ${RESTRICTED} +NO_SRC_ON_FTP= ${RESTRICTED} +MIRROR_DISTFILE= no + +USE_X11= yes + +WRKSRC= ${WRKDIR}/MSX + +DEFS= -DFontDir=\"\\\"${PREFIX}/share/fmsx/\"\\\" +DEFS+= -DRomDir=\"\\\"${PREFIX}/share/fmsx/\"\\\" +DEFS+= -DMITSHM -D${CUR_DEPTH} + +MAKE_ENV= DEFS="${DEFS}" + +pre-install: + @${MKDIR} ${PREFIX}/share/fmsx \ + && ${CHMOD} a+rx ${PREFIX}/share/fmsx + @${MKDIR} ${PREFIX}/share/doc/html/fmsx \ + && ${CHMOD} a+rx ${PREFIX}/share/doc/html/fmsx + +# Makefile of fMSX doesn't have install target. +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/fmsx ${PREFIX}/bin + ${INSTALL_PROGRAM} ${WRKSRC}/rddsk ${PREFIX}/bin + ${INSTALL_PROGRAM} ${WRKSRC}/wrdsk ${PREFIX}/bin + ${MKDIR} ${PREFIX}/share/fmsx + ${INSTALL_DATA} ${WRKSRC}/CYRILLIC.FNT ${PREFIX}/share/fmsx + ${INSTALL_DATA} ${WRKSRC}/ITALIC.FNT ${PREFIX}/share/fmsx + ${INSTALL_DATA} ${WRKSRC}/DISK.ROM ${PREFIX}/share/fmsx + ${INSTALL_DATA} ${WRKSRC}/KANJI.ROM ${PREFIX}/share/fmsx + ${INSTALL_DATA} ${WRKSRC}/MSX.ROM ${PREFIX}/share/fmsx + ${INSTALL_DATA} ${WRKSRC}/MSX2.ROM ${PREFIX}/share/fmsx + ${INSTALL_DATA} ${WRKSRC}/MSX2EXT.ROM ${PREFIX}/share/fmsx + ${INSTALL_DATA} ${WRKSRC}/MSX2P.ROM ${PREFIX}/share/fmsx + ${INSTALL_DATA} ${WRKSRC}/MSX2PEXT.ROM ${PREFIX}/share/fmsx + ${INSTALL_DATA} ${WRKSRC}/PAINTER.ROM ${PREFIX}/share/fmsx + ${MKDIR} ${PREFIX}/share/doc/fmsx + ${INSTALL_DATA} ${WRKSRC}/fMSX.html ${PREFIX}/share/doc/fmsx + +.include "../../mk/bsd.pkg.mk" + +.ifdef DISPLAY +CUR_DEPTH!= ( xwininfo -display ${DISPLAY} -root | fgrep Depth: | ${SED} 's-.*Depth: -BPP-' ) +.else +CUR_DEPTH= BPP8 +.endif diff --git a/emulators/fmsx/files/md5 b/emulators/fmsx/files/md5 new file mode 100644 index 00000000000..3deae60d70f --- /dev/null +++ b/emulators/fmsx/files/md5 @@ -0,0 +1,3 @@ +$NetBSD: md5,v 1.1.1.1 2000/07/28 15:54:28 martin Exp $ + +MD5 (fMSX21.tar.Z) = b775b6bb2951a81374b114f104c5bed2 diff --git a/emulators/fmsx/files/patch-sum b/emulators/fmsx/files/patch-sum new file mode 100644 index 00000000000..d4ce13e3a1a --- /dev/null +++ b/emulators/fmsx/files/patch-sum @@ -0,0 +1,6 @@ +$NetBSD: patch-sum,v 1.1.1.1 2000/07/28 15:54:28 martin Exp $ + +MD5 (patch-aa) = 58870e1c9541e530a76d4ebff2b8750f +MD5 (patch-ab) = 86fa2a902e011f0897ac4a4073d82f01 +MD5 (patch-ac) = 8267b487b34c9e12b4d15e19b8ecf8d3 +MD5 (patch-ad) = f437ba2d61e00df2d6f3dc69787a52e4 diff --git a/emulators/fmsx/patches/patch-aa b/emulators/fmsx/patches/patch-aa new file mode 100644 index 00000000000..2f25eae5066 --- /dev/null +++ b/emulators/fmsx/patches/patch-aa @@ -0,0 +1,24 @@ +$NetBSD: patch-aa,v 1.1.1.1 2000/07/28 15:54:29 martin Exp $ + +--- Makefile.orig Thu Sep 9 00:32:06 1999 ++++ Makefile Sat Jun 3 03:19:48 2000 +@@ -41,8 +41,8 @@ + # change the -L/usr/X11R6/lib to the directory where X11 + # libraries libX11.* and libXext.* are located on your system. + CC = gcc +-DEFINES = -DFMSX -DUNIX -DLSB_FIRST -DDEBUG -DMITSHM -DNARROW -DSOUND -DBPP16 +-CFLAGS = -O3 -fomit-frame-pointer -I/usr/X11/include -L/usr/X11/lib ${DEFINES} ++DEFINES = -DFMSX -DUNIX -DNARROW ${DEFS} ++CFLAGS = -O3 -fomit-frame-pointer -I${X11BASE}/include ${DEFINES} + OBJECTS = fMSX.o MSX.o Z80.o V9938.o Patch.o Debug.o Unix.o LibUnix.o Sound.o + + # Make the standard distribution: fMSX and contributed programs +@@ -57,7 +57,7 @@ + # fMSX Unix/X requires X11 libraries. See note above if you are + # experiencing any problems. + fmsx: ${OBJECTS} +- ${CC} ${CFLAGS} -o fmsx ${OBJECTS} -lXext -lX11 ++ ${CC} ${CFLAGS} -o fmsx ${OBJECTS} -Wl,-R${X11BASE}/lib -L${X11BASE}/lib -lXext -lX11 + + # Clean up. + clean: diff --git a/emulators/fmsx/patches/patch-ab b/emulators/fmsx/patches/patch-ab new file mode 100644 index 00000000000..45b8716ce8c --- /dev/null +++ b/emulators/fmsx/patches/patch-ab @@ -0,0 +1,14 @@ +$NetBSD: patch-ab,v 1.1.1.1 2000/07/28 15:54:28 martin Exp $ + +--- Sound.c.orig Mon Jan 4 06:43:54 1999 ++++ Sound.c Mon Jan 4 06:44:13 1999 +@@ -50,7 +50,9 @@ + + #include <sys/audioio.h> + #include <sys/conf.h> ++#ifndef __NetBSD__ + #include <stropts.h> ++#endif + #include <signal.h> + + static unsigned char dsp_ulaw[256] = { diff --git a/emulators/fmsx/patches/patch-ac b/emulators/fmsx/patches/patch-ac new file mode 100644 index 00000000000..617e03305f7 --- /dev/null +++ b/emulators/fmsx/patches/patch-ac @@ -0,0 +1,20 @@ +$NetBSD: patch-ac,v 1.1.1.1 2000/07/28 15:54:29 martin Exp $ + +--- Z80.h.orig Sat Jun 3 01:23:31 2000 ++++ Z80.h Sat Jun 3 01:29:01 2000 +@@ -40,6 +40,15 @@ + typedef unsigned short word; + typedef signed char offset; + ++#include <sys/endian.h> ++#if (_BYTE_ORDER == _LITTLE_ENDIAN) ++#define LSB_FIRST ++#elif (_BYTE_ORDER == _BIG_ENDIAN) ++#define MSB_FIRST ++#else ++#warn Check if your machine is big endian or not and define as appropriate one. ++#endif ++ + /** Structured Datatypes *************************************/ + /** NOTICE: #define LSB_FIRST for machines where least **/ + /** signifcant byte goes first. **/ diff --git a/emulators/fmsx/patches/patch-ad b/emulators/fmsx/patches/patch-ad new file mode 100644 index 00000000000..cc51bdcf2c3 --- /dev/null +++ b/emulators/fmsx/patches/patch-ad @@ -0,0 +1,105 @@ +$NetBSD: patch-ad,v 1.1.1.1 2000/07/28 15:54:29 martin Exp $ + +--- MSX.c.orig Tue Sep 7 01:18:17 1999 ++++ MSX.c Fri Jul 28 17:30:49 2000 +@@ -85,7 +85,7 @@ + int Drives[2] = { -1,-1 }; /* Disk image files */ + + /** Fixed font used by fMSX **********************************/ +-char *FontName = "DEFAULT.FNT"; /* Font file for text */ ++char *FontName = FontDir "DEFAULT.FNT"; /* Font file for text */ + byte *FontBuf; /* Font for text modes */ + byte UseFont = 0; /* Use ext. font when 1 */ + +@@ -339,7 +339,7 @@ + { + case 0: + if(Verbose) printf(" Opening MSX.ROM..."); +- P=LoadROM("MSX.ROM",0x8000,0); ++ P=LoadROM(RomDir "MSX.ROM",0x8000,0); + PRINTRESULT(P); + if(!P) return(0); + MemMap[0][0][0]=P; +@@ -350,7 +350,7 @@ + + case 1: + if(Verbose) printf(" Opening MSX2.ROM..."); +- P=LoadROM("MSX2.ROM",0x8000,0); ++ P=LoadROM(RomDir "MSX2.ROM",0x8000,0); + PRINTRESULT(P); + if(!P) return(0); + MemMap[0][0][0]=P; +@@ -358,7 +358,7 @@ + MemMap[0][0][2]=P+0x4000; + MemMap[0][0][3]=P+0x6000; + if(Verbose) printf(" Opening MSX2EXT.ROM..."); +- P=LoadROM("MSX2EXT.ROM",0x4000,0); ++ P=LoadROM(RomDir "MSX2EXT.ROM",0x4000,0); + PRINTRESULT(P); + if(!P) return(0); + MemMap[3][1][0]=P; +@@ -367,7 +367,7 @@ + + case 2: + if(Verbose) printf(" Opening MSX2P.ROM..."); +- P=LoadROM("MSX2P.ROM",0x8000,0); ++ P=LoadROM(RomDir "MSX2P.ROM",0x8000,0); + PRINTRESULT(P); + if(!P) return(0); + MemMap[0][0][0]=P; +@@ -375,7 +375,7 @@ + MemMap[0][0][2]=P+0x4000; + MemMap[0][0][3]=P+0x6000; + if(Verbose) printf(" Opening MSX2PEXT.ROM..."); +- P=LoadROM("MSX2PEXT.ROM",0x4000,0); ++ P=LoadROM(RomDir "MSX2PEXT.ROM",0x4000,0); + PRINTRESULT(P); + if(!P) return(0); + MemMap[3][1][0]=P; +@@ -384,7 +384,7 @@ + } + + /* Try loading DiskROM */ +- if(P=LoadROM("DISK.ROM",0x4000,0)) ++ if(P=LoadROM(RomDir "DISK.ROM",0x4000,0)) + { + if(Verbose) puts(" Opening DISK.ROM...OK"); + MemMap[3][1][2]=P; +@@ -434,16 +434,16 @@ + if(Verbose) printf("Loading other ROMs:\n "); + + /* Try loading CMOS memory contents */ +- if(LoadROM("CMOS.ROM",sizeof(RTC),(byte *)RTC)) ++ if(LoadROM(RomDir "CMOS.ROM",sizeof(RTC),(byte *)RTC)) + { if(Verbose) printf(" CMOS.ROM"); } + else memcpy(RTC,RTCInit,sizeof(RTC)); + + /* Try loading Kanji alphabet ROM */ +- if(Kanji=LoadROM("KANJI.ROM",0x20000,0)) ++ if(Kanji=LoadROM(RomDir "KANJI.ROM",0x20000,0)) + { if(Verbose) printf(" KANJI.ROM"); } + + /* Try loading RS232 support ROM */ +- if(P=LoadROM("RS232.ROM",0x4000,0)) ++ if(P=LoadROM(RomDir "RS232.ROM",0x4000,0)) + { + if(Verbose) printf(" RS232.ROM"); + MemMap[3][0][2]=P; +@@ -451,7 +451,7 @@ + } + + /* Try loading FM-PAC support ROM */ +- if(P=LoadROM("FMPAC.ROM",0x4000,0)) ++ if(P=LoadROM(RomDir "FMPAC.ROM",0x4000,0)) + { + if(Verbose) printf(" FMPAC.ROM"); + MemMap[3][3][2]=P; +@@ -467,7 +467,7 @@ + else J=0; + + /* Try loading PAINTER ROM if slot found */ +- if(J&&(P=LoadROM("PAINTER.ROM",0x10000,0))) ++ if(J&&(P=LoadROM(RomDir "PAINTER.ROM",0x10000,0))) + { + if(Verbose) printf(" PAINTER.ROM"); + for(I=0;I<8;I++) MemMap[J][0][I]=P+I*0x2000; diff --git a/emulators/fmsx/pkg/COMMENT b/emulators/fmsx/pkg/COMMENT new file mode 100644 index 00000000000..109cef84a1a --- /dev/null +++ b/emulators/fmsx/pkg/COMMENT @@ -0,0 +1 @@ +MSX (Z80-based computer) emulator diff --git a/emulators/fmsx/pkg/DESCR b/emulators/fmsx/pkg/DESCR new file mode 100644 index 00000000000..c73d5b9bdcb --- /dev/null +++ b/emulators/fmsx/pkg/DESCR @@ -0,0 +1,13 @@ +fMSX is a portable emulator of MSX home computers written in C. You +can always get the latest fMSX source code and support files from + + http://www.komkon.org/fms/fMSX/ + +MSX is an old Z80-based family of home computers which appeared in +1982 as an attempt to establish a single standard in home computing +similar to VHS in video. They were popular in Asian (Korea, Japan) and +South American (Brazil, Chile) countries as well as in Europe +(Netherlands, France, Spain) and former Soviet Union, but they are +virtually unknown in USA. Although MSX standard quietly died to year +1988, the world got to see MSX2, MSX2+, and TurboR extensions of the +standard. diff --git a/emulators/fmsx/pkg/PLIST b/emulators/fmsx/pkg/PLIST new file mode 100644 index 00000000000..ee107826b70 --- /dev/null +++ b/emulators/fmsx/pkg/PLIST @@ -0,0 +1,17 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2000/07/28 15:54:27 martin Exp $ +bin/fmsx +bin/rddsk +bin/wrdsk +share/fmsx/CYRILLIC.FNT +share/fmsx/ITALIC.FNT +share/fmsx/DISK.ROM +share/fmsx/KANJI.ROM +share/fmsx/MSX.ROM +share/fmsx/MSX2.ROM +share/fmsx/MSX2EXT.ROM +share/fmsx/MSX2P.ROM +share/fmsx/MSX2PEXT.ROM +share/fmsx/PAINTER.ROM +share/doc/fmsx/fMSX.html +@dirrm share/fmsx +@dirrm share/doc/fmsx |