==============================================================================
[ THE KAY*FOG RBBS | Filename=CPM-CC22.ART | posted 07/05/86 | 171 lines 10k ]

          The CP/M Connection                   Originally published in    
                  by                               Computer Currents       
             Ted Silveira                         5720 Hollis Street     
  (copyright and all rights reserved)            Emeryville, CA  94608     

                                March 11, 1986
                                EMULATING CP/M

     Several times in the last few months, I've mentioned CP/M emulators 
that allow you to run CP/M programs on an IBM PC or clone.  I've now had 
a chance to play with one of these emulators, a package called 
Acceler8/16 from Intersecting Concepts.  

[What a CP/M Emulator Does]

     A CP/M emulator is a program that makes an MS-DOS computer imitate 
a CP/M computer, by creating CP/M environment within the memory space of 
the MS-DOS computer.  When a CP/M program runs, it sees nothing amiss 
and chugs merrily away.  In the background, meanwhile, the emulator is 
running madly about, intercepting the CP/M program's instructions to its 
fictional CP/M computer and translating them into instructions the real 
MS-DOS computer can handle.  Software emulators are usually cheap but 
slow.

     Recently, however, software emulators have gotten a hardware boost 
from the NEC V20 chip, a pin-for-pin replacement for the 8088 chip 
that's the brain of most MS-DOS computers.  The NEC V20 not only runs 
the same instructions that the 8088 does (and 10-20% more efficiently to 
boot) but also can run the instructions used by the older 8080 chip.  
And the 8080 just happens to be the chip for which CP/M was written 
(though almost all CP/M computers now use the Z80 chip with its extended 
instruction set, which causes some problems I'll mention later).  When 
the NEC V20 chip is flipped into its "8080 mode," it can execute 8080 
instructions directly, so the emulator software doesn't have to do 
nearly as much work.  As a result, a CP/M emulator that takes advantage 
of this chip runs about 300% faster than a software-only emulator.

[Acceler8/16]

     Intersecting Concept's Acceler8/16 package was one of the first of 
these software/hardware emulators, though there are now several others.  
The full package consists of Media Master (a disk conversion program), 
Accel (the emulator), and an NEC V20 chip to install in your MS-DOS 
computer.  

     [Media Master]  Media Master temporarily converts one or more of an 
MS-DOS computer's drives so that it can read a "foreign" disk, such as 
one from a Kaypro or Osborne CP/M computer.  It can read and write a 
large number of formats, both single and double-sided, including all the 
common formats--Morrow, Kaypro, Osborne, Heath/Zenith, Televideo, Xerox, 
etc.--and some I've never heard of--Beehive Topper, Idea Bitelex, and 
Royal Alphatronic.  It won't do Osborne or Xerox single-density, only 
double-density.

     Unlike some disk conversion programs, which convert a drive to a 
foreign format and then leave it converted while you run other programs, 
Media Master converts your drive only as long as Media Master itself is 
running.  From the Media Master menu, you can get directories of any 
drive, erase files from any drive, type or print files, and of course 
copy files from one drive to another, all with one or more of your 
drives converted to a foreign format.  But as soon as you exit Media 
Master, you're returned to your native format on all drives.  That means 
you can't run the CP/M emulator, stick in a Kaypro disk, and run a CP/M 
program--you have to copy the program to an MS-DOS format disk.

     I tried out Media Master on several disk formats, and it handled 
them all, with one exception.  I found that while Media Master handled 
single-sided Morrow CP/M disks without problems, on double-sided Morrow 
disks (formatted on my Morrow MD3), it sometimes reported the disk space 
used incorrectly (though the files and file sizes were correct).  I also 
found that my Morrow MD3 refused to read disks formatted by Media Master 
in the Morrow format.  

     I talked to Mark Graybill at Intersecting Concepts about this 
problem, and he quickly traced it to a bug in the Morrow MD3 format 
table, a bug that apparently exists only in the particular version I 
have (3.0) and not in earlier or later versions.  The company's policy 
is to fix such bugs free (applause), so a new disk is on its way.  Any 
of you who also have this problem should contact Intersecting Concepts.

     [Accel]  Accel, the actual CP/M emulator program, comes in four 
versions.  The first is a plain vanilla version.  The other three 
emulate the video characteristics of a Kaypro, an Osborne, and a 
Heath/Zenith H19 terminal, respectively.  This terminal emulation works 
well and lets you run CP/M programs without reinstalling them, if they 
originally were installed for the Kaypro, Osborne, or H19.

     When you run Accel, it creates a CP/M environment complete with the 
built-in commands like DIR and ERA.  It also includes a few ZCPR-like 
enhancements such as automatic search of drive A for programs.  The only 
noticeable difference from normal CP/M is that all your CP/M programs 
must be renamed using the filetype CPM instead of the usual COM (so MS-
DOS won't confuse them with its own COM files).

     You can run Accel by itself, without the help of the V20 chip, but 
like all software-only emulators, it's so slow that it will drive you 
crazy.  If you have the V20 chip installed, however, the performance 
isn't bad.  While there's some argument about whether benchmark 
performance is slightly better or slightly worse than a typical Z80 
computer, what I noticed most was the screen speed (the speed with which 
the computer can fill up the screen with text or whatever).  The screen 
speed using the Kaypro terminal emulation is slower than that of my CP/M 
Kaypro.  And the Kaypro itself is not a speed demon, being slower than 
my Morrow (with a Televideo 925 terminal running at 19,200 bits per 
second).  I found the results good enough to be usable, but I did get 
tired of waiting for things to happen on the screen.

     Accel runs pretty much everything it claims to, which means 
everything that's written for generic CP/M and uses only the 8080 chip 
instruction set, but it does have a few limitations.  As I mentioned 
earlier, most CP/M computers now use the Z80 chip, which has some extra 
instructions that the 8080 doesn't.  Programs that use these Z80-only 
instructions won't run under Accel, but fortunately, most CP/M programs 
stick to the 8080 instructions (so they can run on as many CP/M 
computers as possible).  Accel also won't run programs that use certain 
BDOS and BIOS calls, mostly ones that work intimately with the disk 
drive (BDOS functions 27 and 31, and BIOS functions 8 through 16).

     Programs that will run include DDT, ASM, dBase II, and the new 
OutThink thought processor from Kamasoft.  Programs that won't run 
include SD, NSWP207, UNERASE, and DU (or any other disk editor).

     WordStar will also run under Accel, but if you have the Kaypro 
factory-installed CP/M WordStar, be prepared for some problems, since 
Kaypro modifies the program.  So far I haven't been able to get this 
version to run.  When I first tried running the Kaypro WordStar, the 
computer would load it and then immediately reboot, returning me to the 
A> prompt without doing anything.  I then remembered that Kaypro 
modifies its versions of WordStar to program the cursor keys, so I dug 
into it with DDT and disabled the offending code (at locations INISUB, 
UNISUB, and MORPAT).
 
     When I tried this new version of WordStar, it loaded and went to 
its first menu just as it should, but then it refused to do anything 
except exit.  It acted as if it couldn't find its two overlay files, 
WSOVLY1.OVR and WSMSGS.OVR, even though I verified that they were on the 
disk.  I haven't yet figured out what this second problem is--more 
information next time (I hope).

     Overall, both Media Master and Accel do what they claim to.  Except 
for the quirk with Morrows, Media Master seems a solid program, and 
while Accel (when combined with the NEC V20 chip) won't blind you with 
its speed, it is usable . . . and miles ahead of any software-only 
emulator.  I do wish it were possible to use "foreign" disks directly 
while in the CP/M mode, but I can work around that.  (I've heard that a 
similar program, RUNCPM from Micro Interfaces, does allow this, but I 
haven't seen it.)

     If you're interested in CP/M emulators--and you must be if you've 
hung around this long--you might also want to look for a copy of the 
February 1986 Computer Shopper, which has an article comparing half a 
dozen emulators.

Acceler8/16
$99.95
Intersecting Concepts, Inc.
4573 Heatherglen Ct.
Moorpark, CA  93021
805/529-5073

------------------------------------------------------------------------------
      Ted Silveira is a freelance writer and contributing editor to several
   computer-oriented publications.  He appreciates suggestions or feedback
   and can be reached through the KAY*FOG RBBS (415)285-2687 and CompuServe
   (72135,1447) or by mail to 2756 Mattison Lane, Santa Cruz, CA 95065.

-------------------------  End of CPM-CC22.ART Text  -------------------------