del@pilchuck.UUCP (Erik Lindberg) (08/02/86)
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.