diff options
author | reinoud <reinoud> | 2012-02-20 15:45:19 +0000 |
---|---|---|
committer | reinoud <reinoud> | 2012-02-20 15:45:19 +0000 |
commit | 3a9e9230b35c13dbe0b165e5078eb4d0b4de2371 (patch) | |
tree | 932859c82fddbedfd502634ff3b8ed2d58a41672 /emulators/b-em | |
parent | d097d0b848bce087f284f39976931b908ef86176 (diff) | |
download | pkgsrc-3a9e9230b35c13dbe0b165e5078eb4d0b4de2371.tar.gz |
Add emulators/b-em, a Freeware Acorn BBC Micro Emulator with 2nd processors
Diffstat (limited to 'emulators/b-em')
-rw-r--r-- | emulators/b-em/DESCR | 12 | ||||
-rw-r--r-- | emulators/b-em/Makefile | 47 | ||||
-rw-r--r-- | emulators/b-em/PLIST | 77 | ||||
-rw-r--r-- | emulators/b-em/distinfo | 13 | ||||
-rw-r--r-- | emulators/b-em/patches/patch-src-b-em.h | 15 | ||||
-rw-r--r-- | emulators/b-em/patches/patch-src-cmos.c | 13 | ||||
-rw-r--r-- | emulators/b-em/patches/patch-src-fdi2raw.c | 40 | ||||
-rw-r--r-- | emulators/b-em/patches/patch-src-linux.c | 13 | ||||
-rw-r--r-- | emulators/b-em/patches/patch-src-makefile.in | 23 | ||||
-rw-r--r-- | emulators/b-em/patches/patch-src-resources.h | 12 | ||||
-rw-r--r-- | emulators/b-em/patches/patch-src-tapenoise.c | 12 | ||||
-rw-r--r-- | emulators/b-em/patches/patch-src-win.c | 12 |
12 files changed, 289 insertions, 0 deletions
diff --git a/emulators/b-em/DESCR b/emulators/b-em/DESCR new file mode 100644 index 00000000000..11600ba832c --- /dev/null +++ b/emulators/b-em/DESCR @@ -0,0 +1,12 @@ +B-em: A Freeware BBC Micro Emulator + +Emulating Acorn BBC-A, BBC-B and the BBC Master series including discdrives, +tape and the tube! + +Tube processors supported: + 6502 + 65810 + Z80 + ARM1 (!) + +ROMS, tapes and example discs are provided. diff --git a/emulators/b-em/Makefile b/emulators/b-em/Makefile new file mode 100644 index 00000000000..1856bb7cb19 --- /dev/null +++ b/emulators/b-em/Makefile @@ -0,0 +1,47 @@ +# $NetBSD: Makefile,v 1.1 2012/02/20 15:45:19 reinoud Exp $ +# + +DISTNAME= B-emv2.1aLinux +PKGNAME= b-em-2.1a +CATEGORIES= emulators +MASTER_SITES= http://b-em.bbcmicro.com/ + +MAINTAINER= reinoud@NetBSD.org +HOMEPAGE= http://b-em.bbcmicro.com/ +COMMENT= Freeware Acorn BBC Micro Emulator with 2nd processors + +PKG_DESTDIR_SUPPORT= user-destdir + +USE_TOOLS+= gmake + +WRKSRC= ${WRKDIR} +GNU_CONFIGURE= yes +USE_LANGUAGES= c c++ + +BEMDATADIR= ${PREFIX}/share/b-em/ + +SUBST_CLASSES+= paths +SUBST_MESSAGE.paths= Fixing non-existing paths. +SUBST_STAGE.paths= pre-configure +SUBST_FILES.paths= src/linux.c src/win.c +SUBST_SED.paths= -e 's,@BEMDATADIR@,${BEMDATADIR},g' + +do-install: + ${INSTALL} -d ${DESTDIR}${PREFIX}/bin + ${INSTALL} -d ${DESTDIR}${BEMDATADIR}/roms + ${INSTALL} -d ${DESTDIR}${BEMDATADIR}/discs + ${INSTALL} -d ${DESTDIR}${BEMDATADIR}/tapes + ${INSTALL} -d ${DESTDIR}${BEMDATADIR}/ddnoise + ${INSTALL_PROGRAM} ${WRKSRC}/b-em ${DESTDIR}${PREFIX}/bin/b-em + ${CP} ${WRKSRC}/cmos*.bin ${DESTDIR}${BEMDATADIR}/ + ${CP} -R ${WRKSRC}/roms/* ${DESTDIR}${BEMDATADIR}/roms + ${CP} -R ${WRKSRC}/discs/* ${DESTDIR}${BEMDATADIR}/discs + ${CP} -R ${WRKSRC}/tapes/* ${DESTDIR}${BEMDATADIR}/tapes + ${CP} -R ${WRKSRC}/ddnoise/* ${DESTDIR}${BEMDATADIR}/ddnoise + ${FIND} ${DESTDIR}${BEMDATADIR} -type f -exec chmod 644 {} \; + +.include "../../devel/allegro/buildlink3.mk" +.include "../../audio/openal/buildlink3.mk" +.include "../../audio/freealut/buildlink3.mk" +.include "../../x11/xcursor/buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/emulators/b-em/PLIST b/emulators/b-em/PLIST new file mode 100644 index 00000000000..86c85986d6c --- /dev/null +++ b/emulators/b-em/PLIST @@ -0,0 +1,77 @@ +@comment $NetBSD: PLIST,v 1.1 2012/02/20 15:45:19 reinoud Exp $ +bin/b-em +share/b-em/cmos.bin +share/b-em/cmosa.bin +share/b-em/cmosc.bin +share/b-em/ddnoise/35/motor.wav +share/b-em/ddnoise/35/motoroff.wav +share/b-em/ddnoise/35/motoron.wav +share/b-em/ddnoise/35/seek1i.wav +share/b-em/ddnoise/35/seek1o.wav +share/b-em/ddnoise/35/seek2i.wav +share/b-em/ddnoise/35/seek2o.wav +share/b-em/ddnoise/35/seek3i.wav +share/b-em/ddnoise/35/seek3o.wav +share/b-em/ddnoise/35/stepi.wav +share/b-em/ddnoise/35/stepo.wav +share/b-em/ddnoise/525/motor.wav +share/b-em/ddnoise/525/motoroff.wav +share/b-em/ddnoise/525/motoron.wav +share/b-em/ddnoise/525/seek.wav +share/b-em/ddnoise/525/seek2.wav +share/b-em/ddnoise/525/seek3.wav +share/b-em/ddnoise/525/step.wav +share/b-em/ddnoise/motoroff.wav +share/b-em/ddnoise/motoron.wav +share/b-em/discs/ARMEvaluationSystem-Disc1.adl +share/b-em/discs/ARMEvaluationSystem-Disc2.adl +share/b-em/discs/ARMEvaluationSystem-Disc3.adl +share/b-em/discs/ARMEvaluationSystem-Disc4.adl +share/b-em/discs/ARMEvaluationSystem-Disc5.adl +share/b-em/discs/B-em Demo Disc.ssd +share/b-em/discs/Master 512 Disc 1 (DOS Plus Boot).img +share/b-em/discs/Master 512 Disc 2 (GEM).img +share/b-em/discs/Master 512 Disc 3 (GEM data).img +share/b-em/discs/Master 512 Disc 4 (Miscellaneous).img +share/b-em/discs/MasterWelcome.adl +share/b-em/discs/Welcome.ssd +share/b-em/discs/cpm1.dsd +share/b-em/discs/cpm2.dsd +share/b-em/discs/cpm3.dsd +share/b-em/discs/cpm4.dsd +share/b-em/discs/cpm5.dsd +share/b-em/discs/cpm6.dsd +share/b-em/discs/cpm7.dsd +share/b-em/roms/ADFS1-53.rom +share/b-em/roms/a/BASIC.ROM +share/b-em/roms/a01/BASIC1.rom +share/b-em/roms/b/BASIC.ROM +share/b-em/roms/b/DFS-0.9.rom +share/b-em/roms/b1770/BASIC.ROM +share/b-em/roms/b1770/dfs1770.rom +share/b-em/roms/b1770/zADFS.ROM +share/b-em/roms/bp/BASIC.ROM +share/b-em/roms/bp/dfs.rom +share/b-em/roms/bp/zADFS.ROM +share/b-em/roms/bpos +share/b-em/roms/compact/adfs210.rom +share/b-em/roms/compact/basic48.rom +share/b-em/roms/compact/basic486.rom +share/b-em/roms/compact/os51.rom +share/b-em/roms/compact/utils.rom +share/b-em/roms/deos +share/b-em/roms/master/mos.txt +share/b-em/roms/master/mos3.20 +share/b-em/roms/os +share/b-em/roms/os01 +share/b-em/roms/tube/6502Tube.rom +share/b-em/roms/tube/ARMeval_100.rom +share/b-em/roms/tube/BIOS.ROM +share/b-em/roms/tube/ReCo6502ROM_816 +share/b-em/roms/tube/Z80_120.rom +share/b-em/roms/us/USBASIC.rom +share/b-em/roms/us/USDNFS.rom +share/b-em/roms/usmos +share/b-em/tapes/Welcome-BBCMaster-Side1_BM.uef +share/b-em/tapes/Welcome-BBCMaster-Side2_BM.uef +share/b-em/tapes/Welcome_B.uef diff --git a/emulators/b-em/distinfo b/emulators/b-em/distinfo new file mode 100644 index 00000000000..c0a03fb6d67 --- /dev/null +++ b/emulators/b-em/distinfo @@ -0,0 +1,13 @@ +$NetBSD: distinfo,v 1.1 2012/02/20 15:45:19 reinoud Exp $ + +SHA1 (B-emv2.1aLinux.tar.gz) = a5e674009eaeab5aeb9b50f3c699c6d0ea110c38 +RMD160 (B-emv2.1aLinux.tar.gz) = b31a4812fabad9d6d67372361955b3de3686943b +Size (B-emv2.1aLinux.tar.gz) = 5226120 bytes +SHA1 (patch-src-b-em.h) = d450f335c15f539cf3f81a800dec87472c134cab +SHA1 (patch-src-cmos.c) = dfddf6a6bc4b494e11b7882363a6e79280480b20 +SHA1 (patch-src-fdi2raw.c) = 98a00eb3059c92b0c2e8009275e5b4a7dfee9b0c +SHA1 (patch-src-linux.c) = b36cf4f3c957cab24bf67cd34688231e3b292d02 +SHA1 (patch-src-makefile.in) = ae5e7fbd9d13cdd6af89512e10a2d23c4716c0cf +SHA1 (patch-src-resources.h) = 6f62502882e82e56f8bd606dd8618e3eccb7b786 +SHA1 (patch-src-tapenoise.c) = b279aabb6eec7a816a8fe2178e44d326e5ebdbe1 +SHA1 (patch-src-win.c) = 119f41dc2c80a53f5edbeb7e42d85238d1d21b82 diff --git a/emulators/b-em/patches/patch-src-b-em.h b/emulators/b-em/patches/patch-src-b-em.h new file mode 100644 index 00000000000..96d98eac255 --- /dev/null +++ b/emulators/b-em/patches/patch-src-b-em.h @@ -0,0 +1,15 @@ +$NetBSD: patch-src-b-em.h,v 1.1 2012/02/20 15:45:19 reinoud Exp $ + +--- src/b-em.h.orig 2010-10-25 13:51:30.000000000 +0000 ++++ src/b-em.h +@@ -1,7 +1,10 @@ + /*B-em v2.1 by Tom Walker
+ Main header file*/
+
++#include <stdio.h>
+ #include <stdint.h>
++#include <stdlib.h>
++#include <string.h>
+ //#define printf rpclog
+
+ extern uint8_t *ram,*rom,*os;
diff --git a/emulators/b-em/patches/patch-src-cmos.c b/emulators/b-em/patches/patch-src-cmos.c new file mode 100644 index 00000000000..43c8e9bd58d --- /dev/null +++ b/emulators/b-em/patches/patch-src-cmos.c @@ -0,0 +1,13 @@ +$NetBSD: patch-src-cmos.c,v 1.1 2012/02/20 15:45:19 reinoud Exp $ + +--- src/cmos.c.orig 2010-10-25 13:51:42.000000000 +0000 ++++ src/cmos.c +@@ -5,7 +5,7 @@ +
+ uint8_t cmos[64];
+
+-int cmosrw,cmosstrobe,cmosold,cmosaddr,cmosena;
++uint8_t cmosrw,cmosstrobe,cmosold,cmosaddr,cmosena;
+
+ void cmosupdate(uint8_t IC32, uint8_t sdbval)
+ {
diff --git a/emulators/b-em/patches/patch-src-fdi2raw.c b/emulators/b-em/patches/patch-src-fdi2raw.c new file mode 100644 index 00000000000..88efaa640cd --- /dev/null +++ b/emulators/b-em/patches/patch-src-fdi2raw.c @@ -0,0 +1,40 @@ +$NetBSD: patch-src-fdi2raw.c,v 1.1 2012/02/20 15:45:19 reinoud Exp $ + +--- src/fdi2raw.c.orig 2010-10-17 11:23:56.000000000 +0000 ++++ src/fdi2raw.c +@@ -1628,7 +1628,7 @@ static void fdi2_decode (FDI *fdi, uint3 + randval = rand();
+ if (randval < (RAND_MAX / 2)) {
+ if (randval > (RAND_MAX / 4)) {
+- if (randval <= (3 * RAND_MAX / 8))
++ if (randval <= (3 * (RAND_MAX / 8)))
+ randval = (2 * randval) - (RAND_MAX /4);
+ else
+ randval = (4 * randval) - RAND_MAX;
+@@ -1637,7 +1637,7 @@ static void fdi2_decode (FDI *fdi, uint3 + } else {
+ randval -= RAND_MAX / 2;
+ if (randval > (RAND_MAX / 4)) {
+- if (randval <= (3 * RAND_MAX / 8))
++ if (randval <= (3 * (RAND_MAX / 8)))
+ randval = (2 * randval) - (RAND_MAX /4);
+ else
+ randval = (4 * randval) - RAND_MAX;
+@@ -1663,7 +1663,7 @@ static void fdi2_decode (FDI *fdi, uint3 + randval = rand();
+ if (randval < (RAND_MAX / 2)) {
+ if (randval > (RAND_MAX / 4)) {
+- if (randval <= (3 * RAND_MAX / 8))
++ if (randval <= (3 * (RAND_MAX / 8)))
+ randval = (2 * randval) - (RAND_MAX /4);
+ else
+ randval = (4 * randval) - RAND_MAX;
+@@ -1672,7 +1672,7 @@ static void fdi2_decode (FDI *fdi, uint3 + } else {
+ randval -= RAND_MAX / 2;
+ if (randval > (RAND_MAX / 4)) {
+- if (randval <= (3 * RAND_MAX / 8))
++ if (randval <= (3 * (RAND_MAX / 8)))
+ randval = (2 * randval) - (RAND_MAX /4);
+ else
+ randval = (4 * randval) - RAND_MAX;
diff --git a/emulators/b-em/patches/patch-src-linux.c b/emulators/b-em/patches/patch-src-linux.c new file mode 100644 index 00000000000..392a7b52599 --- /dev/null +++ b/emulators/b-em/patches/patch-src-linux.c @@ -0,0 +1,13 @@ +$NetBSD: patch-src-linux.c,v 1.1 2012/02/20 15:45:19 reinoud Exp $ + +--- src/linux.c.orig 2011-02-12 15:52:50.000000000 +0000 ++++ src/linux.c +@@ -62,6 +62,8 @@ int main(int argc, char *argv[])
+ get_executable_name(exedir,511);
+ p=get_filename(exedir);
+ p[0]=0;
++ /* data was referred relative to the executable; fix: */
++ strcpy(exedir, "@BEMDATADIR@");
+ loadconfig();
+ // printf("Main\n");
+ initbbc(argc,argv);
diff --git a/emulators/b-em/patches/patch-src-makefile.in b/emulators/b-em/patches/patch-src-makefile.in new file mode 100644 index 00000000000..9b608c8e93a --- /dev/null +++ b/emulators/b-em/patches/patch-src-makefile.in @@ -0,0 +1,23 @@ +$NetBSD: patch-src-makefile.in,v 1.1 2012/02/20 15:45:19 reinoud Exp $ + +--- src/Makefile.in.orig 2010-10-17 16:02:04.000000000 +0000 ++++ src/Makefile.in +@@ -76,7 +76,8 @@ am__DEPENDENCIES_1 = + @OS_WIN_FALSE@b_em_DEPENDENCIES = $(am__DEPENDENCIES_1) + SCRIPTS = $(noinst_SCRIPTS) + DEFAULT_INCLUDES = -I.@am__isrc@ +-depcomp = $(SHELL) $(top_srcdir)/depcomp ++#depcomp = $(SHELL) $(top_srcdir)/depcomp ++depcomp = $(SHELL) $(PREFIX)/share/automake-1.11/depcomp + am__depfiles_maybe = depfiles + am__mv = mv -f + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ +@@ -1277,7 +1278,7 @@ install-exec: install-exec-am + install-data: install-data-am + uninstall: uninstall-am + +-install-am: all-am ++install-am: + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + + installcheck: installcheck-am diff --git a/emulators/b-em/patches/patch-src-resources.h b/emulators/b-em/patches/patch-src-resources.h new file mode 100644 index 00000000000..543f59390b5 --- /dev/null +++ b/emulators/b-em/patches/patch-src-resources.h @@ -0,0 +1,12 @@ +$NetBSD: patch-src-resources.h,v 1.1 2012/02/20 15:45:19 reinoud Exp $ + +--- src/resources.h.orig 2010-10-16 21:03:30.000000000 +0000 ++++ src/resources.h +@@ -83,5 +83,7 @@ + #define IDM_SID_INTERP 41200
+ #define IDM_SID_RESAMP 41201
+
++#ifdef WIN32
+ #define Button1 1000
++#endif
+ #define ListBox1 40900
diff --git a/emulators/b-em/patches/patch-src-tapenoise.c b/emulators/b-em/patches/patch-src-tapenoise.c new file mode 100644 index 00000000000..0daa4d540f9 --- /dev/null +++ b/emulators/b-em/patches/patch-src-tapenoise.c @@ -0,0 +1,12 @@ +$NetBSD: patch-src-tapenoise.c,v 1.1 2012/02/20 15:45:19 reinoud Exp $ + +--- src/tapenoise.c.orig 2010-10-25 13:53:16.000000000 +0000 ++++ src/tapenoise.c +@@ -2,6 +2,7 @@ + Tape noise (not very good)*/
+
+ #include <stdio.h>
++#include <math.h>
+ #include <allegro.h>
+ #include "b-em.h"
+
diff --git a/emulators/b-em/patches/patch-src-win.c b/emulators/b-em/patches/patch-src-win.c new file mode 100644 index 00000000000..863446b5bc7 --- /dev/null +++ b/emulators/b-em/patches/patch-src-win.c @@ -0,0 +1,12 @@ +$NetBSD: patch-src-win.c,v 1.1 2012/02/20 15:45:19 reinoud Exp $ + +--- src/win.c.orig 2011-02-12 17:34:10.000000000 +0000 ++++ src/win.c +@@ -346,6 +346,7 @@ int WINAPI WinMain (HINSTANCE hThisInsta + get_executable_name(exedir,511);
+ p=get_filename(exedir);
+ p[0]=0;
++ strcpy(exedir, "@BEMDATADIR@");
+
+ loadconfig();
+
|