diff options
-rw-r--r-- | emulators/x48/Makefile | 27 | ||||
-rw-r--r-- | emulators/x48/distinfo | 10 | ||||
-rw-r--r-- | emulators/x48/patches/patch-aa | 22 | ||||
-rw-r--r-- | emulators/x48/patches/patch-ab | 51 | ||||
-rw-r--r-- | emulators/x48/patches/patch-ac | 56 | ||||
-rw-r--r-- | emulators/x48/patches/patch-ad | 43 | ||||
-rw-r--r-- | emulators/x48/patches/patch-ae | 193 | ||||
-rw-r--r-- | emulators/x48/patches/patch-af | 13 | ||||
-rw-r--r-- | emulators/x48/pkg/DESCR | 10 | ||||
-rw-r--r-- | emulators/x48/pkg/PLIST | 14 |
10 files changed, 439 insertions, 0 deletions
diff --git a/emulators/x48/Makefile b/emulators/x48/Makefile new file mode 100644 index 00000000000..c57ec23fd7c --- /dev/null +++ b/emulators/x48/Makefile @@ -0,0 +1,27 @@ +# $NetBSD: Makefile,v 1.1.1.1 2001/04/27 14:56:27 agc Exp $ +# + +DISTNAME= x48_041 +PKGNAME= x48-0.4.1 +CATEGORIES= emulators +MASTER_SITES= http://home.earthlink.net/~rmmlgetz/ + +MAINTAINER= packages@netbsd.org +COMMENT= HP48 emulator + +USE_IMAKE= YES + +WRKSRC= ${WRKDIR}/${PKGNAME} + +post-install: + ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/x48 \ + ${PREFIX}/share/doc/x48/romdump + cd ${WRKSRC}/doc && \ + ${INSTALL_MAN} CARDS.doc INSTALLING ROMDump.doc \ + ${PREFIX}/share/doc/x48 + cd ${WRKSRC}/romdump && \ + ${INSTALL_MAN} README ${PREFIX}/share/doc/x48/romdump && \ + ${INSTALL_DATA} ROMDump ROMDump.s \ + ${PREFIX}/share/doc/x48/romdump + +.include "../../mk/bsd.pkg.mk" diff --git a/emulators/x48/distinfo b/emulators/x48/distinfo new file mode 100644 index 00000000000..994692d7cca --- /dev/null +++ b/emulators/x48/distinfo @@ -0,0 +1,10 @@ +$NetBSD: distinfo,v 1.1.1.1 2001/04/27 14:56:27 agc Exp $ + +SHA1 (x48_041.tar.gz) = 7b166ab4a7570b0617a0d8d01d0938b6ae372ab6 +Size (x48_041.tar.gz) = 193864 bytes +SHA1 (patch-aa) = 75af6f30b4e43d09212a50972957655f5bb4c837 +SHA1 (patch-ab) = 8053d3173be2b68f7ddb18b4bdebfe384f0336e2 +SHA1 (patch-ac) = ee5784614db4bf00c047e819aaa0f272d3bf9bce +SHA1 (patch-ad) = c1f98b7672fe96ab8e203081dfedd6cf96075cfa +SHA1 (patch-ae) = ba5a6be04dc16182fadd19977cdc359891c5138c +SHA1 (patch-af) = 60adc15ae8c20528892cbcaa029a3dd206a7edca diff --git a/emulators/x48/patches/patch-aa b/emulators/x48/patches/patch-aa new file mode 100644 index 00000000000..729ba0830f9 --- /dev/null +++ b/emulators/x48/patches/patch-aa @@ -0,0 +1,22 @@ +$NetBSD: patch-aa,v 1.1.1.1 2001/04/27 14:56:27 agc Exp $ + +--- config.h.orig Sun Feb 4 18:30:34 2001 ++++ config.h +@@ -29,7 +29,7 @@ + /* + * Which OS are you on? + */ +-#define UNIX_DEF -DLINUX ++/* #define UNIX_DEF -DLINUX */ + /* #define UNIX_DEF -DSOLARIS */ + /* #define UNIX_DEF -DSUNOS */ + /* #define UNIX_DEF -DIRIX */ +@@ -56,7 +56,7 @@ + /* + * Which Compiler to use: + */ +-#define CC_DEF gcc ++/* #define CC_DEF gcc */ + + /* + * Which Optimization Flags: diff --git a/emulators/x48/patches/patch-ab b/emulators/x48/patches/patch-ab new file mode 100644 index 00000000000..d6a1fe01a70 --- /dev/null +++ b/emulators/x48/patches/patch-ab @@ -0,0 +1,51 @@ +$NetBSD: patch-ab,v 1.1.1.1 2001/04/27 14:56:27 agc Exp $ + +--- src/Imakefile.orig Sun Feb 4 18:31:52 2001 ++++ src/Imakefile +@@ -60,7 +60,7 @@ + LDOPTIONS = LDOPTIONS_DEF + #endif + +- DEFINES = -I/usr/openwin/include UNIX_DEF XSHM_DEF READLINE_DEF ++ DEFINES = UNIX_DEF XSHM_DEF READLINE_DEF + HDRS = annunc.h append.h buttons.h constants.h debugger.h \ + device.h disasm.h errors.h global.h hp.h hp48.h \ + hp48_emu.h hp48char.h icon.h mmu.h options.h resources.h \ +@@ -87,9 +87,9 @@ + CO = co -l + TARFILES = Imakefile X48.ad $(TARS1) $(SRCS2) $(SRCS3) $(SRCS4) $(HDRS) + +-all:: $(BIN)/x48 $(BIN)/dump2rom $(BIN)/checkrom $(BIN)/mkcard ++all:: x48 dump2rom checkrom mkcard + +- PROGRAMS = $(BIN)/x48 $(BIN)/dump2rom $(BIN)/checkrom $(BIN)/mkcard ++ PROGRAMS = x48 dump2rom checkrom mkcard + + depend:: version.c X48.ad.h + +@@ -102,16 +102,20 @@ + RemoveTargetProgram($@) @@\ + $(CC) -o $@ $(LDOPTIONS) $(OBJS4) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\ + @@\ +-SaberProgramTarget(program,$(SRCS4),$(OBJS4),locallib,syslib) @@\ + @@\ + InstallProgram(program,$(BINDIR)) @@\ + InstallManPage(program,$(MANDIR)) + #endif /* ComplexProgramTarget_4 */ + +-ComplexProgramTarget_1($(BIN)/x48, $(X48LIBS),) +-ComplexProgramTarget_2($(BIN)/dump2rom,,) +-ComplexProgramTarget_3($(BIN)/checkrom,,) +-ComplexProgramTarget_4($(BIN)/mkcard,,) ++NormalProgramTarget(x48, $(OBJS1),, $(X48LIBS),) ++NormalProgramTarget(dump2rom, $(OBJS2),,,) ++NormalProgramTarget(checkrom, $(OBJS3),,,) ++NormalProgramTarget(mkcard, $(OBJS4),,,) ++ ++InstallProgram(x48, $(BINDIR)) ++InstallProgram(dump2rom, $(BINDIR)) ++InstallProgram(checkrom, $(BINDIR)) ++InstallProgram(mkcard, $(BINDIR)) + + InstallAppDefaults(X48) + diff --git a/emulators/x48/patches/patch-ac b/emulators/x48/patches/patch-ac new file mode 100644 index 00000000000..af6129bfa72 --- /dev/null +++ b/emulators/x48/patches/patch-ac @@ -0,0 +1,56 @@ +$NetBSD: patch-ac,v 1.1.1.1 2001/04/27 14:56:27 agc Exp $ + +--- src/init.c.orig Sun Feb 4 18:32:22 2001 ++++ src/init.c +@@ -1204,13 +1204,15 @@ + struct stat st; + FILE *fp; + +- fprintf(stderr, "testing: Getting home dir\n"); ++ if (!quiet) ++ fprintf(stderr, "testing: Getting home dir\n"); + get_home_directory(path); + strcat(path, "/"); + + saturn.rom = (word_4 *)NULL; + +- fprintf(stderr, "testing: Reading ROM files\n"); ++ if (!quiet) ++ fprintf(stderr, "testing: Reading ROM files\n"); + strcpy(fnam, path); + strcat(fnam, "rom"); + if (!read_rom_file(fnam, &saturn.rom, &rom_size)) +@@ -1367,7 +1369,8 @@ + exit (1); + } + +- fprintf(stderr, "testing: Reading RAM file\n"); ++ if (!quiet) ++ fprintf(stderr, "testing: Reading RAM file\n"); + + strcpy(fnam, path); + strcat(fnam, "ram"); +@@ -1466,11 +1469,13 @@ + saturn.card_status |= port2_is_ram ? 8 : 0; + } + ++#ifdef notyet + fprintf(stderr, "testing: Reading Enteries file\n"); + strcpy(fnam, path); + strcat(fnam, "entries.o"); + if (!read_entries_file(fnam, &saturn.entries)) + return 0; ++#endif + + + return 1; +@@ -1841,7 +1846,8 @@ + { + if (!initialize) + { +- fprintf(stderr, "testing: Read Files\n"); ++ if (!quiet) ++ fprintf(stderr, "testing: Read Files\n"); + if (read_files()) + { + if (resetOnStartup) diff --git a/emulators/x48/patches/patch-ad b/emulators/x48/patches/patch-ad new file mode 100644 index 00000000000..5e2431dd25f --- /dev/null +++ b/emulators/x48/patches/patch-ad @@ -0,0 +1,43 @@ +$NetBSD: patch-ad,v 1.1.1.1 2001/04/27 14:56:27 agc Exp $ + +--- src/main.c.orig Sun Feb 4 18:32:37 2001 ++++ src/main.c +@@ -70,6 +70,7 @@ + #include "x48_x11.h" + #include "hp48.h" + #include "debugger.h" ++#include "resources.h" + + char *progname; + char *res_name; +@@ -169,7 +170,15 @@ + /* + * Open up the display + */ +- fprintf(stderr, "testing1\n"); ++#ifdef noyet ++ /* ++ * XXX options are not parsed yet so quiet is still 0. The ++ * parsing of options is done by the X11 specific code in ++ * InitDisplay. ++ */ ++ if (!quiet) ++ fprintf(stderr, "testing: InitDisplay\n"); ++#endif + if (InitDisplay(argc, argv) < 0) { + exit (1); + } +@@ -177,9 +186,11 @@ + /* + * initialize emulator stuff + */ +- fprintf(stderr, "testing1\n"); ++ if (!quiet) ++ fprintf(stderr, "testing: init_emulator\n"); + init_emulator(); +- fprintf(stderr, "testing2\n"); ++ if (!quiet) ++ fprintf(stderr, "testing: init_emulator done\n"); + + + /* diff --git a/emulators/x48/patches/patch-ae b/emulators/x48/patches/patch-ae new file mode 100644 index 00000000000..eda2f9c257d --- /dev/null +++ b/emulators/x48/patches/patch-ae @@ -0,0 +1,193 @@ +$NetBSD: patch-ae,v 1.1.1.1 2001/04/27 14:56:27 agc Exp $ + +--- src/serial.c.orig Sun Feb 4 18:32:56 2001 ++++ src/serial.c +@@ -69,7 +69,7 @@ + #include <fcntl.h> + #include <errno.h> + #include <sys/time.h> +-#if defined(LINUX) || defined(HPUX) ++#if defined(LINUX) || defined(HPUX) || defined(CSRG_BASED) + #include <sys/ioctl.h> + #endif + #include <unistd.h> +@@ -77,6 +77,8 @@ + #ifdef SOLARIS + #include <sys/stream.h> + #include <sys/stropts.h> ++#endif ++#if defined(SOLARIS) || defined(CSRG_BASED) + #include <sys/termios.h> + #endif + +@@ -129,6 +131,9 @@ + #else + int c; + #endif ++#if defined(CSRG_BASED) ++ char *ptr1, *ptr2; ++#endif + int n; + char tty_dev_name[128]; + struct termios ttybuf; +@@ -200,6 +205,51 @@ + } + while ((wire_fd < 0) && (errno != ENOENT)); + #else /* LINUX */ ++#if defined(CSRG_BASED) ++ c = c; /* XXX gcc */ ++/* This is how Stevens does it in: ++ * Advanced programming in the UNIX environment ++ */ ++ strcpy(tty_dev_name, "/dev/ptyXY"); ++ /* array index: 0123456789 (for references in following code) */ ++ for (ptr1 = "pqrstuvwxyzPQRST"; *ptr1 != 0; ptr1++) ++ { ++ tty_dev_name[8] = *ptr1; ++ for (ptr2 = "0123456789abcdef"; *ptr2 != 0; ptr2++) ++ { ++ tty_dev_name[9] = *ptr2; ++ ++ /* try open the master */ ++ if ((wire_fd = open(tty_dev_name, O_RDWR, 0666)) < 0) ++ { ++ if (errno == ENOENT) ++ { ++ wire_fd = -1; /* out of pty devices */ ++ ttyp = -1; ++ goto break_for_pty; ++ } ++ else ++ continue; /* try next pty device */ ++ } ++ ++ tty_dev_name[5] = 't'; /* change pty to tty */ ++ if ((ttyp = open(tty_dev_name, O_RDWR, 0666)) < 0) ++ { ++ printf("open tty: %s failed: %s, trying with another\n", ++ tty_dev_name, strerror(errno)); ++ close(wire_fd); ++ wire_fd = -1; ++ ttyp = -1; ++ continue; ++ } ++ if (verbose) ++ printf("%s: wire connection on %s\n", progname, tty_dev_name); ++ wire_name = strdup(tty_dev_name); ++ goto break_for_pty; ++ } ++ } ++break_for_pty: ++#else + /* + * Here we go for SUNOS, HPUX + */ +@@ -231,6 +281,7 @@ + c++; + } + while ((wire_fd < 0) && (errno != ENOENT)); ++#endif /* CSRG_BASED */ + #endif /* LINUX */ + #endif /* SOLARIS */ + #endif /* IRIX */ +@@ -238,7 +289,7 @@ + + if (ttyp >= 0) + { +-#if defined(SUNOS) || defined(HPUX) ++#if defined(SUNOS) || defined(HPUX) || defined(CSRG_BASED) + if (tcgetattr(ttyp, &ttybuf) < 0) + #else + if (ioctl(ttyp, TCGETS, (char *)&ttybuf) < 0) +@@ -263,7 +314,7 @@ + + if (ttyp >= 0) + { +-#if defined(SUNOS) || defined (HPUX) ++#if defined(SUNOS) || defined (HPUX) || defined(CSRG_BASED) + if (tcsetattr(ttyp, TCSANOW, &ttybuf) < 0) + #else + if (ioctl(ttyp, TCSETS, (char *)&ttybuf) < 0) +@@ -291,7 +342,7 @@ + + if (ir_fd >= 0) + { +-#if defined(SUNOS) || defined (HPUX) ++#if defined(SUNOS) || defined (HPUX) || defined(CSRG_BASED) + if (tcgetattr(ir_fd, &ttybuf) < 0) + #else + if (ioctl(ir_fd, TCGETS, (char *)&ttybuf) < 0) +@@ -315,7 +366,7 @@ + + if (ir_fd >= 0) + { +-#if defined(SUNOS) || defined(HPUX) ++#if defined(SUNOS) || defined(HPUX) || defined(CSRG_BASED) + if (tcsetattr(ir_fd, TCSANOW, &ttybuf) < 0) + #else + if (ioctl(ir_fd, TCSETS, (char *)&ttybuf) < 0) +@@ -344,7 +395,7 @@ + + if (ir_fd >= 0) + { +-#if defined(SUNOS) || defined (HPUX) ++#if defined(SUNOS) || defined (HPUX) || defined(CSRG_BASED) + if (tcgetattr(ir_fd, &ttybuf) < 0) + #else + if (ioctl(ir_fd, TCGETS, (char *)&ttybuf) < 0) +@@ -358,6 +409,10 @@ + } + } + ++#if defined(CSRG_BASED) ++ cfsetspeed(&ttybuf, baud); ++#else ++ + ttybuf.c_cflag &= ~CBAUD; + + baud &= 0x7; +@@ -404,9 +459,11 @@ + ttybuf.c_cflag |= B9600; + } + ++#endif /* CSRG_BASED */ ++ + if (ir_fd >= 0) + { +-#if defined(SUNOS) || defined(HPUX) ++#if defined(SUNOS) || defined(HPUX) || defined(CSRG_BASED) + if (tcsetattr(ir_fd, TCSANOW, &ttybuf) < 0) + #else + if (ioctl(ir_fd, TCSETS, (char *)&ttybuf) < 0) +@@ -422,7 +479,7 @@ + + if (ttyp >= 0) + { +-#if defined(SUNOS) || defined(HPUX) ++#if defined(SUNOS) || defined(HPUX) || defined(CSRG_BASED) + if (tcgetattr(ttyp, &ttybuf) < 0) + #else + if (ioctl(ttyp, TCGETS, (char *)&ttybuf) < 0) +@@ -437,6 +494,9 @@ + } + } + ++#if defined(CSRG_BASED) ++ cfsetspeed(&ttybuf, baud); ++#else + ttybuf.c_cflag &= ~CBAUD; + + baud &= 0x7; +@@ -482,10 +542,11 @@ + fprintf(stderr, "%s: can\'t set baud rate, using 9600\n", progname); + ttybuf.c_cflag |= B9600; + } ++#endif + + if (ttyp >= 0) + { +-#if defined(SUNOS) || defined(HPUX) ++#if defined(SUNOS) || defined(HPUX) || defined(CSRG_BASED) + if (tcsetattr(ttyp, TCSANOW, &ttybuf) < 0) + #else + if (ioctl(ttyp, TCSETS, (char *)&ttybuf) < 0) diff --git a/emulators/x48/patches/patch-af b/emulators/x48/patches/patch-af new file mode 100644 index 00000000000..b28d105db26 --- /dev/null +++ b/emulators/x48/patches/patch-af @@ -0,0 +1,13 @@ +$NetBSD: patch-af,v 1.1.1.1 2001/04/27 14:56:27 agc Exp $ + +--- src/x48_x11.c.orig Sun Feb 4 18:33:36 2001 ++++ src/x48_x11.c +@@ -3605,6 +3605,8 @@ + break; + case XK_Alt_L: + case XK_Alt_R: ++ case XK_Meta_L: ++ case XK_Meta_R: + key_event(BUTTON_ALPHA, xev); + wake = 1; + break; diff --git a/emulators/x48/pkg/DESCR b/emulators/x48/pkg/DESCR new file mode 100644 index 00000000000..2a0f4f8aeea --- /dev/null +++ b/emulators/x48/pkg/DESCR @@ -0,0 +1,10 @@ +This emulator is capable of providing a faithful replication of the +HP48. In order to do so, it requires a copy of the ROM software +from YOUR calculator. In order to avoid breaking copyright laws, +and upsetting HP, you MUST BE THE PROUD OWNER OF AN HP48 before +running this program. Of course you can run this program without a +copy of the ROM software in order to write trivial machine code +programs but you will not be able to access any of the calculator +functionality. + +WWW: http://home.earthlink.net/~rmmlgetz/ diff --git a/emulators/x48/pkg/PLIST b/emulators/x48/pkg/PLIST new file mode 100644 index 00000000000..67466c996d6 --- /dev/null +++ b/emulators/x48/pkg/PLIST @@ -0,0 +1,14 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2001/04/27 14:56:27 agc Exp $ +bin/x48 +bin/dump2rom +bin/checkrom +bin/mkcard +lib/X11/app-defaults/X48 +share/doc/x48/CARDS.doc +share/doc/x48/INSTALLING +share/doc/x48/ROMDump.doc +share/doc/x48/romdump/README +share/doc/x48/romdump/ROMDump +share/doc/x48/romdump/ROMDump.s +@dirrm share/doc/x48/romdump +@dirrm share/doc/x48 |