see below, plz.
Dick
----- Original Message -----
From: "Hans Franke" <Hans.Franke(a)mch20.sbs.de>
To: <classiccmp(a)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
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/