[comp.os.cpm] CP/M Emulator

HELLER@cs.umass.EDU (Stride 440 User) (04/26/88)

Bill:
	There is a PD CP/M 2.2 emulator that runs under CP/M-68K.  It is
on Simtel20.ARPA as COM.LBR PD1:<CPM.CPM68K>.  The .LBR file is a LU310
compatable library file and contains squeezed (USQ210) sources files, in
68000 assembler.  This emulator runs under CP/M-68K and has a "dummy"
BIOS/BDOS, which just transfer control to the CP/M-68K BIOS/BDOS.  Does
not have a CCP - run one CP/M 2.2 program and returns to CP/M-68K's CCP
(i.e. piggybacks on CP/M-68K's CCP).  Under UNIX, I guess you'll have to
write a "real" BIOS/BDOS which fake it and call UNIX system functions.  This
emulator is mainly an 8080 emulator - does not fully emulate the Z80, although
hooks are there.  Speed:  about 1Mhz 8080 on a 10Mhz 68000.
	Simtel20.ARPA supports anonymous FTP on ARPANet.  I don't know if
this helps any.
				Robert

brian@attcan.UUCP (Brian Musker) (04/10/90)

Not too sure if my last message got out... (postnews did a core dump!)

For the party interested in a cp/m emulator, i wrote an 8080 emulator
in C, with a pseudo clock, tty, disk, and dma controller, and i ported
cp/m 3.0 to this pseudo-machine. It runs every 8080 cp/m application i
have tried so far, and it has run unchanged on both an 80386 and a
WE32200 platform, so i suspect the code would work fine on a 68000
architecture.

The three drawbacks to this piece of code are:

	1/ Terminal i/o is fairly slow. I have tried a variety of buffering
	techniques, but few seem to have any useful impact.

	2/ It really needs to support the Z80 ops.

	3/ If i distribute it, i can only supply the sources for the emulator,
	and the cp/m bios drivers, i.e. you had better have a configurable
	cp/m on hand to link these drivers into.

If you would like to get your hands on this code, or just want more data,
please mail or post me...

Brian Musker