diff options
author | max <max@FreeBSD.org> | 1997-07-07 11:22:08 +0000 |
---|---|---|
committer | max <max@FreeBSD.org> | 1997-07-07 11:22:08 +0000 |
commit | ab459315918b639f66c94f0fb0c93b4b615b10af (patch) | |
tree | ab56826e15e1bdcd4c88e20a83bfd2a958959bab | |
parent | 69319f7296f72ac00d4a90337c37596060eba729 (diff) | |
download | FreeBSD-ports-ab459315918b639f66c94f0fb0c93b4b615b10af.zip FreeBSD-ports-ab459315918b639f66c94f0fb0c93b4b615b10af.tar.gz |
New port, prodosemu:
A text based Apple IIe ProDOS emulator.
PR: 2817
Submitted by: Joel Sutton <sutton@aardvark.apana.org.au>
-rw-r--r-- | emulators/prodosemu/Makefile | 20 | ||||
-rw-r--r-- | emulators/prodosemu/distinfo | 1 | ||||
-rw-r--r-- | emulators/prodosemu/files/patch-aa | 71 | ||||
-rw-r--r-- | emulators/prodosemu/files/patch-ab | 21 | ||||
-rw-r--r-- | emulators/prodosemu/files/patch-ac | 27 | ||||
-rw-r--r-- | emulators/prodosemu/pkg-comment | 1 | ||||
-rw-r--r-- | emulators/prodosemu/pkg-descr | 93 | ||||
-rw-r--r-- | emulators/prodosemu/pkg-plist | 3 |
8 files changed, 237 insertions, 0 deletions
diff --git a/emulators/prodosemu/Makefile b/emulators/prodosemu/Makefile new file mode 100644 index 0000000..829a356 --- /dev/null +++ b/emulators/prodosemu/Makefile @@ -0,0 +1,20 @@ +# New ports collection makefile for: prodosemu +# Version required: 0.1 +# Date created: 18th February 1997 +# Whom: Joel Sutton <sutton@aardvark.apana.org.au> +# +# $Id$ +# + +DISTNAME= prodosemu.v0.1 +PKGNAME= prodosemu-0.1 +CATEGORIES= emulators +MASTER_SITES= ftp://ftp.apple.asimov.net/pub/apple_II/emulators/prodosemu/ + +MAINTAINER= sutton@aardvark.apana.org.au + +NO_PACKAGE= yes +RESTRICTED= apple.rom copyright is owned by Apple and cannot be distributed. +WRKSRC= ${WRKDIR}/prodosemu-v0.1 + +.include <bsd.port.mk> diff --git a/emulators/prodosemu/distinfo b/emulators/prodosemu/distinfo new file mode 100644 index 0000000..9f6d70de --- /dev/null +++ b/emulators/prodosemu/distinfo @@ -0,0 +1 @@ +MD5 (prodosemu.v0.1.tar.gz) = 0d2669c945f991f2d18dfadba872bf75 diff --git a/emulators/prodosemu/files/patch-aa b/emulators/prodosemu/files/patch-aa new file mode 100644 index 0000000..ca9580f --- /dev/null +++ b/emulators/prodosemu/files/patch-aa @@ -0,0 +1,71 @@ +diff -rc prodosemu-v0.1/Makefile prodosemu/Makefile +*** Makefile Tue Jan 9 15:00:03 1996 +--- Makefile Tue Feb 18 09:40:38 1997 +*************** +*** 1,12 **** + # +! #Makefile for ProDOS Emulator v0.1 +! # + + all : prodos + + # Linux doesn't seem to like Randy Frank's beep code, + # if you're compiling on something else, you could try not defining NOBEEP +! OPT = -O2 -DNOBEEP + + # Necessary libraries + LIB = -lcurses -ltermcap +--- 1,28 ---- + # +! # Makefile for ProDOS Emulator v0.1 +! # FreeBSD modifications by Joel Sutton 18th Feb, 1997 +! +! # Paths to various places +! PREFIX?= /usr/local +! BINDIR= ${PREFIX}/bin +! LIBDIR= ${PREFIX}/lib +! MANDIR= ${PREFIX}/man +! ROMDIR= ${LIBDIR}/apple2 +! ROM= prodos-2e.rom +! +! # Certain programs +! INSTALL= install -c +! INSTALL_BIN= ${INSTALL} -s -o bin -g bin +! INSTALL_DATA= ${INSTALL} -m 664 +! INSTALL_MAN= ${INSTALL} -m 444 +! CP?= /bin/cp +! MKDIR?= -/bin/mkdir + + all : prodos + + # Linux doesn't seem to like Randy Frank's beep code, + # if you're compiling on something else, you could try not defining NOBEEP +! OPT = -O2 -DNOBEEP -DROMFILE=\"${ROMDIR}/${ROM}\" + + # Necessary libraries + LIB = -lcurses -ltermcap +*************** +*** 30,35 **** + prodos : $(OBJ) + cc $(OPT) -o prodos $(OBJ) $(LIB) + + # Clean up + clean: +! rm *.o *~ +--- 46,61 ---- + prodos : $(OBJ) + cc $(OPT) -o prodos $(OBJ) $(LIB) + ++ # Install the program ++ install: all ++ ${MKDIR} ${BINDIR} ++ ${MKDIR} ${LIBDIR} ++ ${MKDIR} ${ROMDIR} ++ ++ ${INSTALL_BIN} prodos ${BINDIR}/ ++ ${CP} apple.rom ${ROM} ++ ${INSTALL_DATA} ${ROM} ${ROMDIR}/ ++ + # Clean up + clean: +! rm *.o diff --git a/emulators/prodosemu/files/patch-ab b/emulators/prodosemu/files/patch-ab new file mode 100644 index 0000000..6ddbc45 --- /dev/null +++ b/emulators/prodosemu/files/patch-ab @@ -0,0 +1,21 @@ +diff -rc prodosemu-v0.1/apple.h prodosemu/apple.h +*** apple.h Tue Jan 9 15:00:03 1996 +--- apple.h Tue Feb 18 07:02:04 1997 +*************** +*** 18,25 **** + #endif + + #ifndef CBREAK +! /*#include <sgtty.h>*/ +! #include <bsd/sgtty.h> + #endif + + #ifndef TIOCGETP +--- 18,24 ---- + #endif + + #ifndef CBREAK +! #include <sgtty.h> + #endif + + #ifndef TIOCGETP diff --git a/emulators/prodosemu/files/patch-ac b/emulators/prodosemu/files/patch-ac new file mode 100644 index 0000000..27cc257 --- /dev/null +++ b/emulators/prodosemu/files/patch-ac @@ -0,0 +1,27 @@ +diff -rc prodosemu-v0.1/main.c prodosemu/main.c +*** main.c Tue Jan 9 15:00:03 1996 +--- main.c Tue Feb 18 09:43:54 1997 +*************** +*** 9,16 **** + + #include "apple.h" + #include <curses.h> + #define REF_DELAY 2000 +! #define ROMFILE "apple.rom" + + extern char prodosroot[]; + +--- 9,21 ---- + + #include "apple.h" + #include <curses.h> ++ + #define REF_DELAY 2000 +! +! /* Where is the default rom file?? */ +! #ifndef ROMFILE +! #define ROMFILE "/usr/local/lib/apple2/prodos-2e.rom" +! #endif + + extern char prodosroot[]; + diff --git a/emulators/prodosemu/pkg-comment b/emulators/prodosemu/pkg-comment new file mode 100644 index 0000000..4e76b0b --- /dev/null +++ b/emulators/prodosemu/pkg-comment @@ -0,0 +1 @@ +A text based Apple IIe ProDOS emulator. diff --git a/emulators/prodosemu/pkg-descr b/emulators/prodosemu/pkg-descr new file mode 100644 index 0000000..69102cb --- /dev/null +++ b/emulators/prodosemu/pkg-descr @@ -0,0 +1,93 @@ +Prodosemu is a text based Apple IIe ProDOS emulator. Unlike most +popular Apple emulators it does not use disk images, instead it uses +the UNIX file-system. If you have an Apple IIe then you will need to +transfer your programs/files into a directory somewhere with your +favorite comm's program. Otherwise you will need to install the aftp +port to pull the files out from the Apple disk images that are widely +available on the net (eg the ProDOS system disk available from +asimov). + +The rom file (included) is stored in /usr/local/lib/apple2 (or similar +path on your system) under the name "prodos-2e.rom". I've adopted this +title so that Prodosemu can co-exist with the other apple emulators in +the ports collection. + +There is no man page for this program so I have included the slightly +modified README at the end of this document. + +Check out the following for all things Apple II: + +ftp://ftp.apple.asimov.net/ - Apple II archives +news://comp.emulators.apple2/ - Apple II news group + +Share and enjoy, +Joel... +sutton@aardvark.apana.org.au + +=========== +ProDOS Emulator by Matthew Ghio v0.1 of January 8, 1996 + +To use prodosemu you will need a copy of the Apple IIe ROM. To get the +ROM from an Apple IIe, boot into prodos/basic and do the following: + + ]CALL -151 + *C007:0 + *2100<C100.FFFFM + *C006:0 + *bsave apple.rom,a$2100,l$3f00 + +Then use your favorite communications software to upload it to your unix +system. At this time you should also upload some common programs, such +as BASIC.SYSTEM and SHRINKIT. Put these files in the same directory as +the prodos emulator. You do not need a copy of ProDOS to run the emulator. + +To run ProDOS applications on your unix system, type 'prodos' and the +application name, at your shell prompt. The ProDOS emulator will load +the application into a virtual Apple IIe and execute it. Any ProDOS MLI +calls are trapped and the equivalent file operations are performed via +unix kernel calls. Your current directory appears as a disk named /UNIX +mounted on slot 7, drive 1. For example, typing + prodos BASIC.SYSTEM +will launch Applesoft Basic. Type CAT,S7,D1 to see the files in your +directory. Remember that Prodos filenames are UPPERCASE and limited to 15 +characters. (Prodosemu actually does allow you to create and access +filenames longer than 15 characters, but only those filenames 15 characters +or less will show up in directory listings. This is due to the fact that +Prodos's directory entries have a fixed size buffer which can only hold 15 +characters.) When you are finished with basic, type BYE to return to the +unix shell prompt. + +If you want to make another directory the working directory when running +ProDOS applications, use the -w command line option. By default, the +working directory becomes the root of the similated ProDOS filesystem. +If you wish to make another directory the root of the ProDOS filesystem +while launching prodos, use the -r option. The program does not do a +chroot, and it is possible to get out of the ProDOS root directory by +using .. or following a symbolic link. + +As files are read and written by Prodos applications to the simulated +filesystem, they are read and written to the corresponding directory +in your unix filesystem. Prodos-specific filetype information is stored +in a .prodosdir file, which is automatically created in each directory +if it does not already exist. Filetypes are ignored by Prodosemu when +launching applications. Because the ProDOS Emulator does not use disk +images, disk copiers such as Copy II Plus will not work. Ordinary file +copiers and other utilities work fine. + +On an Apple II, the up arrow is Control-K, down is Control-J, left is +Control-H, and right is Control-U. You may need to use these control +characters in some applications. + +This program uses Randy Frank's 65C02 emulator and I/O code. While the +emulation is running, you can use the following key sequences: + Ctrl-A Q Quits + Ctrl-A D Enters the debugger + Ctrl-A 0 Toggles the state of the open-apple key + Ctrl-A 1 Toggles the state of the closed-apple key + Ctrl-A S Inputs a control-s + Ctrl-A Ctrl-A Inputs a real control-a +After doing a Control-A 0 to toggle the state of the open-apple key, don't +forget to do another Ctrl-A 0 to put it back! + +The files 6502.c, mega2.c, and debug.c are copyright 1990 Randy Frank and +are distrbuted under the included license agreement. diff --git a/emulators/prodosemu/pkg-plist b/emulators/prodosemu/pkg-plist new file mode 100644 index 0000000..a80fea7 --- /dev/null +++ b/emulators/prodosemu/pkg-plist @@ -0,0 +1,3 @@ +bin/prodos +lib/apple2/prodos-2e.rom +@dirrm lib/apple2 |