diff options
author | asami <asami@FreeBSD.org> | 1995-07-01 15:55:28 +0800 |
---|---|---|
committer | asami <asami@FreeBSD.org> | 1995-07-01 15:55:28 +0800 |
commit | 513a8008798047bbdd57f79c559e569af4eeb5e8 (patch) | |
tree | 2d935e7e045c15b84dd075e806a3faa0292beb5f | |
parent | 486bc8342cb3534506226877260e584ece00a30b (diff) | |
download | freebsd-ports-gnome-513a8008798047bbdd57f79c559e569af4eeb5e8.tar.gz freebsd-ports-gnome-513a8008798047bbdd57f79c559e569af4eeb5e8.tar.zst freebsd-ports-gnome-513a8008798047bbdd57f79c559e569af4eeb5e8.zip |
The CP/M emulator is the first resident of the new "emulators" category.
Submitted by: "Janusz Kokot" <JKOKOT@demeter.ipan.lublin.pl>
-rw-r--r-- | emulators/cpmemu/Makefile | 12 | ||||
-rw-r--r-- | emulators/cpmemu/distinfo | 1 | ||||
-rw-r--r-- | emulators/cpmemu/pkg-comment | 1 | ||||
-rw-r--r-- | emulators/cpmemu/pkg-descr | 106 | ||||
-rw-r--r-- | emulators/cpmemu/pkg-plist | 9 |
5 files changed, 129 insertions, 0 deletions
diff --git a/emulators/cpmemu/Makefile b/emulators/cpmemu/Makefile new file mode 100644 index 000000000000..f1dde3ae769f --- /dev/null +++ b/emulators/cpmemu/Makefile @@ -0,0 +1,12 @@ +# New ports collection makefile for: cpm-emulator +# Version required: 0.2 +# Date created: 28 June 1995 +# Whom: janek@gaja.ipan.lublin.pl +# + +DISTNAME= cpm-0.2 +CATEGORIES+= emulation +MASTER_SITES= ftp://ftp.icm.edu.pl/pub2/linux/distributions/slackware/source/extra-stuff/CPM-80-emulator/ +EXTRACT_SUFX= .tar.gz + +.include <bsd.port.mk> diff --git a/emulators/cpmemu/distinfo b/emulators/cpmemu/distinfo new file mode 100644 index 000000000000..2aded555c1aa --- /dev/null +++ b/emulators/cpmemu/distinfo @@ -0,0 +1 @@ +MD5 (cpm-0.2.tar.gz) = b99db60568b9259989b4a90e7d851474 diff --git a/emulators/cpmemu/pkg-comment b/emulators/cpmemu/pkg-comment new file mode 100644 index 000000000000..226e41ed3864 --- /dev/null +++ b/emulators/cpmemu/pkg-comment @@ -0,0 +1 @@ +Cpm emulator version 0.2 diff --git a/emulators/cpmemu/pkg-descr b/emulators/cpmemu/pkg-descr new file mode 100644 index 000000000000..3690b53ddd15 --- /dev/null +++ b/emulators/cpmemu/pkg-descr @@ -0,0 +1,106 @@ +% +% Time-stamp: <06/06/94 23:08:26 Michael Bischoff moulder> +% +% CP/M emulator README +% + +Introduction: +============= + +Type 'UNIX' at the CCP prompt to leave the emulator. +(Or ctrl-@, followed by 'q' any time the keyboard is polled) + + +WARNING! This software runs only on 386 compatible processors +and systems which allow nonaligned word/dword memory access. + +WARNING! This software has no documentation. If you want to use it, you're +probably a Real Programmer; and Real Programmers don't read documentation. + +WARNING! This software is supplied AS IS. There is No Warranty! + +The software emulates an Intel 8080 CPU (quite accurate, +except for the halfcarry flag for a couple of instructions) +and a lot of Zilog Z80 instructions (not the complete set). +Unimplemented instructions are input/output commands (IN A,(nn); OUT (nn),A; + INI, OUTI, INIR, OTIR, IND, OUTD, INDR, OTDR, IN C,(r), OUT r,(C)), and +interrupt mode commands (IM 0, IM 1, IM 2, RETN, RETI), and the refresh +register doesn't count at all. + +A 486DX2-66 emulates a Z80 clocked at 22 MHz, a 386DX-33 simulates a 6MHz +Z80. (approximately) + + +The BDOS emulator does only provide +- user 0 +- a single drive (A:) +- access to lowercase-files. + +A CCP-lookalike command interpreter is provided and the BDOS +is emulated. The CCP is stored in the file /usr/local/lib/cpm/cpm.sys. +Any CP/M .COM-files may also go in the directory /usr/local/lib/cpm. + +If you have an original CP/M, with CCP-address e800, BDOS-address f006, +and put it in the file /usr/local/lib/cpm/cpm.sys, you can have an +emulator quite near to the original thing, using the -e option. +The -e option tells the emulator to use the BDOS from cpm.sys, +instead of catching the BDOS-calls. +Pros: +- a real CP/M running +- access to CP/M-formatted floppies (you have to set the DPB correctly) + Try "cpm -e -i /dev/fd1" with a 800 KB CP/M floppy in B: + (bls = 2K, drm = 255) + after setting setfdprm -p /dev/fd1 800/1200 or the like. + +Cons: +- no access to the Linux filesystem + + +About the emulator: +=================== + +Type "cpm -h" for a short usage message. +You can interrupt the emulator by typing ctrl-@. This will enter +the debug mode, where you can disassemble z80 memory, dump memory, +edit data, set listpoints, breakpoints, set counts for breakpoints +and the like. Type '?' for a short summary. + + +extensions: +BDOS: + there is a new BDOS function (41), "change directory" + and a CP/M program CD.COM which calls this function. + +CCP: + ERA understands the /Q option (question!) + Example: ERA *.*/Q + TYPE understands the /W option (wait!) + Example: TYPE TEST.TXT/W + You can access files from other user numbers (image mode only) + Example: ERA *.BAS/2 + + Again: Type UNIX to leave the Emulator. + + + +TODO: +===== +- Improve the emulation of BDOS +- Allow multiple drives (some as CP/M filesystem images?) +- implement interrupt modes / signal catching to simulate NMI, INT +- improve the accuracy of the emulator (but; after all, a Z80 isn't + 8080-compatible as well; the sequence + XOR A + DEC A + JP PO,Z80_installed + /* an 8080, if we are here */ + will find out... +- merge the code with xtrs-80, to play GALAXY again! + + +BUGS: +===== + +Surely there are LOTS of bugs. Please send fixes to mbi@mo.math.nat.tu-bs.de +Bug reports (without fixes) are also accepted, but it would be nice if you +could track down the bad opcode.
\ No newline at end of file diff --git a/emulators/cpmemu/pkg-plist b/emulators/cpmemu/pkg-plist new file mode 100644 index 000000000000..d572a2c62ce9 --- /dev/null +++ b/emulators/cpmemu/pkg-plist @@ -0,0 +1,9 @@ +@mode 755 +@owner bin +@group bin +bin/cpm +@mode 644 +lib/cpm/cpm.sys +lib/cpm/cd.com +lib/cpm/link.com +lib/cpm/xccp.com |