Native CP/M

From: Richard Erlacher <edick_at_idcomm.com>
Date: Wed Apr 10 18:45:34 2002

see below, plz.

Dick

----- Original Message -----
From: "Hans Franke" <Hans.Franke_at_mch20.sbs.de>
To: <classiccmp_at_classiccmp.org>
Sent: Wednesday, April 10, 2002 1:20 PM
Subject: Re: Native CP/M


> > > > > Well, usualy this doesn't work, because of the different CPUs
> > > > > (I assume we are talking about CP/M80 - CP/M86 will of course
> > > > > boot on most classic PCs). The only way beside Emulators under
> > > > > DOS/Win, and rare coprocessor boards is of course the NEC V20.
>
> > > > > A V20 is for all PC/PC-XT machines a must, because of about
> > > > > 10% faster execution (the V20 core is build like the 186/286).
>
My first PC had a 10 MHz 80186 as its CPU, though it was an XT architecture.
It easily outperformed the early (6 MHz) PC/AT types, though I'm not sure why.
>
> > > > The problem with the V20 (and the V30, which IIRC is the '8086'
version)
> > > > is that you only get the 8080 instruction set. And while CP/M will run
on
> > > > an 8080, a lot of the more recent CP/M software needs a Z80.
>
> > > Yep, you're right. It did quite work well with my
> > > software. And IIRC he was talking about software
> > > development for an IMSAI, and that's and 8080, if
> > > not modified with a Z80 CPU board - which again
> > > would be no IMSAI anymore :) So a V20 with the
> > > 8080 mode is adequate.
>
> > It can be argued that if it uses code not executable on an 8080, it's not
> > really CP/M-80 software.
>
> I wouldn't go that far. A Programm can rely on a CPU which is an
> enhanced version of a 8080 (read can run unmodifiend 8080 code),
> but uses CP/M-80 as operating system is still CP/M-80 software.
> I guess the AT is the PC equivalent of a Z80 machine. You still
> run the same MS DOS as on an 8088 XT, but some applications may
> need a 286 to run.
>
Well, I said it could be argued. I didn't say you'd agree. It's just a
question of how you define things. However, if it won't run on any machine
that can run the OS, there's a problem. Now, the V20 should run the OS just
fine, and should, actually have just as much trouble with Z80 instructions as
an 8080 would.
>
> > If you run an 8080-mode V20, you can run a BIOS written in 8086 code,
which
> > may offer considerable advantages over the 8080-only BIOS. What's more,
if
> > you do that, then you can incorporate ISA-bus cards into your S-100 system
> > with an adapter, which can make development of a comfortable computing
> > environment much easier. An example might be the video circuitry and
> > keyboard. If you put an 8-bit ISA monochrome board on an S-100 card, you
can
> > then use the driver code in the PC BIOS (as in the printed listing in the
Tech
> > Ref) and you can use it pretty much independently of the CP/M system BIOS,
> > since it will be called from the code to which control is transferred
whenever
> > there's a BIOS call. All the CP/M BIOS has to do is call the code that
> > switches to native mode before interpreting the parameters of the call.
>
> Jep. that kind of stub code is needed. But wheren't there some problems
> when switching back ? It wasn't all easy.
>
True, but though it wasn't easy, once accomplished, the time penalty for it
would be made up in increased performance in the BIOS.
>
> > I've looked long and hard at this, having wanted to use a V50 (16-bits,
> > enhanced execution unit, integrated peripherals, DMAC, PIC, UART)
>
> As for the enhanced execution parts, the V20 and V50 are the same. Both
> are from the CPU part like the 186 - or like the 286 sans virtual adressing.
>
The '286 didn't inherently support VM as did the '386, BTW. It did have
memory management, but only in a primitive way. It wasn't as primitive as the
already clumsy segmented architecture of the 8086 family.
>
> > in the same
> > way. Mounting a couple of 8-bit ISA cards on an S-100 board is quite
> > straightforward, and the signals seem to work out quite well, too. The
> > combination I'd use would be an 8-bit monochrome display board and an
8-bit
> > HDC.
>
I wouldn't do that to cook up a replica of an old system, but I would to
create a development tool with which to work up software for an Imsai or other
old-timer. and, speaking of old-timers, do you know whether the V20 does the
"address mirror" thing common to 8080's, where the low address byte appears on
the high address bus during I/O cycles? I've got a couple of old S-100 boards
that rely on that for some of their functions.
>
> See, where is the idea of using an S100 bus system and then adding ISA
> cards ? I'd rather take a XT clone, plug in a V20 and let the hardware
> be standard (8 Bit) PC hardware - and MS-DOS as superior BIOS (Well, in
> fact I belive MS-DOS is still one of the best, if not the best bootloader
> available).
>
I personally never learned to like CP/M-86, so it doesn't interest me. I do,
however, like the notion of running the very fast 8080 internal to the V50 at
8-16 MHz, with its 16-bit data bus, just to hot-rod the OS. What's more,
interfacing an IDE drive would suddenly become utterly trivial. It wouldn't
even interest me a little bit to run CP/M 86 on the same platform.

I won't wander off into the argument over whether MSDOS is actually "better"
than CP/M. However, if you're running a PC, then I think MSDOS, which was
designed for it is the OS you should use. If you want to run CP/M on a PC, I
still favor CP/M-80 via an emulator over running CP/M 86 on a PC. For one
thing, it offends me that the "better" hardware running the "better" software
was actually slower than comparable Z80 hardware running the CP/M-80. That's
why it took so long for me to move to a PC. I couldn't justify spending
nearly $5k (which was what a PC/XT with a 50 MB hard disk cost back then) only
to have it run at 75% or less the speed of my already familiar and functional
CP/M box with that size hard disk.
>
> Gruss
> H.
>
> --
> VCF Europa 3.0 am 27./28. April 2002 in Muenchen
> http://www.vcfe.org/
>
>
Received on Wed Apr 10 2002 - 18:45:34 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:34:30 BST