Date : Fri, 01 Aug 1986 23:34:24 GMT
From : Erik Lindberg <del%pilchuck.uucp@BRL.ARPA>
Subject: Running CPM *and* Z80 code under DOS!!
This posting is in response to an article requesting information on
running CPM applications under MS-DOS (not for him, for his sister :-)
One response suggested a V20 chip, but that really doesn't help, because
that only handles the 8080 instructions (most CPM machines are Z80) and
also does not provide you with the BDOS interface critical to any CPM
program. But there is a good solution:
Tell your sister it *is* possible to run almost any program from a true
CPM environment, where "true" is defined as one that does not depend on
any hardware specific features of the system it was running under. The
efficiency of the operation depends on your implementation.
1) FREE: This is the method I use. It is also the slowest method, but
has some side benefits I find irresistable, besides the price. There
is a public domain program that fully implements the Z80 instruction
set and all the relevant CPM BDOS calls. It also provides a VT52
emulator which may be turned on or off with a simple command. You can
suspend your CPM task at any time and examine memory, debug, set break
points, disassemble, even execute a DOS subshell, and then pick up
execution where it left off. In fact it includes a very flexible and
complete symbolic debugger as part of the "CPM" environment, which
even has an option to generate an output file that may be recompiled
with MAC80 to create the original COM file. Variables and labels are
assigned on the fly or read from an initialization file.
I have run DbaseII, SuperCalc, Laboratory Microsystems FORTH, Turbo
pascal and MS-BASIC under the shell with no problems. You get a
63k TPA, too, which I have never seen in any *real* CPM system!
Utilities like STAT, directory sorters, and the like don't work, they
make no sense given the environment you are in. You use the resident
PC utilities for that stuff by prefixing it with "!" (just like the
big boys on Unix Ma!).
For number crunching we are hurting in this department. A typical PC
at 4.77Mhz benchmarks at the equivalent of a 250 Khz Z80 CPU, not too
impressive (or impressive in a negative sense of the word :-). File
access is done in native mode, so it is alot better. On my 8Mhz AT
the emulator benchmarks at 1.2 Mhz equivalent Z80 speed, but the file
access is so much faster that my Dbase applications run at the same
speed they did under my 4Mhz Z80 CPM system. And that was the original
reason *I* was interested in this.
If anyone is interested in this program, E-mail me and we can setup
some way to get it to you. I won't send it over the net, it is too big.
But you could download it from me, or send me a disk, or something.
2) <$100: Buy the V20 chip and one of the commercial emulators that provide
emulation of the missing Z80 opcodes and the CPM environment. Total cost
will be very nearly $100. From a speed standpoint this solution is vastly
superior. From a compatibility standpoint, somewhat less so. I tried this
method first, and was disappointed. Besides not haveing the great
environment of (1), allowing DOS execution and debugging, there was
generally a poor user interface and compatibility problem. Without going
into a more lengthy discussion, I found that some packages would work in
one environment and not in another. Some packages require you to go to
painfull contortions to get the application up and running.
3) >$250: Buy a Z80 host board and plug it into your PC. I am currently
considering this option. Logically you could expect the best of all
worlds in this case. You have a true Z80 processor, with it's own
memory, and it only depends on the PC for doing it's I/O. You
could have *real* CPM running on this hummer! At 8 Mhz! I have seen
several different boards to do this, the cheapest one which seems to
have the capabilities I would be looking for is advertised in last
months Byte magazine for only $199. The catch here is that you are
dependant on how they wrote their BIOS as to whether you have a really
useable system. I don't have any experience with the company, so I
can't really say how good it is likely to be, but if you are not
in a hurry, I will probably be buying this system and I could post a
review to the net. For about $600-$800 you can get the original "Blue"
board, which has a good reputation for compatibility.
Hope this helps!!
del (Erik Lindberg) aka Hugable
Hugs: One of the few good things in life that are still free.
--
del (Erik Lindberg) aka Hugable
Hugs: One of the few good things in life that are still free.