Subject: Re: Emulation vs. "the real thing" was: Re: Minimal CP-M SBC design
From: "Chuck Guzis" <cclist at sydex.com>
Date: Mon, 19 May 2008 10:00:33 -0700
To: cctalk at
classiccmp.org
Allison wrote:
Where it works, I want to emulate a PDP1, or
replace a PDP-11. Where
it doesn't work so well is when I want to run VMS on a MicroVAX with
performance in the NVAX realm.
As you stated, it depends upon what you want to do.
22Nice was written in response to those, who, back in 1986 still had
x80 CP/M systems and were looking to migrate to the PC. It was the
answer to the question "...But how do I get my old <fill in the
application name> to work>?" The goal was not emulation of a Z80/8080
per se, but finding a way to make the transition to the MS-DOS world
as seamless as possible. We didn't care about the
Osborne/Kaypro/whatever experience or the CP/M experience, only how
to get people going on a new platform. By and large, it worked
pretty well, with no drivers, TSRs or knowledge about CP/M. You
renamed your .COM files, ran GENCOM on them and you were off and
running. The SUBMIT capability, for example, was deeemd superflous,
as the MS-DOS BAT capability was better in just about every way and
simple enough to adapt to. (The first versions of 22Nice ran on a
Compupro 85/88 S-100 machine, but that's another story).
22Disk was written solely as a way to get files to 22Nice. We'd
considered just making the package read-only, but "in for a penny, in
for a pound" thinking produced that bit of creeping featurism.
To a CP/M purist, this approach (not providing an isolated emulated
Z80 that you could load CP/M into) was probably heresy, but it worked
well enough and accomplished the goal. The rise of better PC
software eventually relegated 22Nice to the back burner, as that was
seen as the ultimate objective.
Well not a purist. I've been using myz80 since around 94ish on PCs
for appliactions coding and other stuff. Sicne then I've added
Dave Dunfields Altair/Horizon Em,ulator that has a few things I use.
Also 22nice as well. However I didnt' ened it to port old z80 apps
to the PC I found enough PC stuff to do the same or better that I
didn't need that.
I'd be lost without uC emulators today--they
provide a convenient
quick code check without the labor of trying to figure out what the
heck is going on in that little block of plastic. But my reason for
using an emulator there is very different from that of using 22Nice--
I'm not interested in getting rid of the uC, but getting *to* it.
;) Like Blackfin or PIC.
I'll use an emulator to satisfy my curiosity for
hard-to-get old
hardware. I've used the SIMH 1620 emulator to scratch an itch in my
brain about some code I wrote 40+ years ago, but I would never
confuse that with the actual experience of using a 1620 with the
blinkenlights, parity checks, clackety console typewriter and
glacially slow execution. Nor do I have the will or resources to
resurrect or construct my own CADET. Nor do I want one in my office.
;) In somce ases MYz80 is far mroe capable or SIMH or any of the
many others as I can besitting anywhere running the sim on a small
laptop that I'd have any way rather than dragging my PX8 along as well.
Sometimes, I'll use an emulator to figure out how
some old piece of
software worked, such as WPS-I on an old DECStation. The emulator in
this case is better than the real thing, because I can modify the
emulator code to show me what's happening internally. This would be
at least very difficult on the real hardware--even if I really had it
at hand.
Yes, it's a debugger and tool.
This gets back to why I questioned the lack of diskette
drives on a
"real" Z80 design running CP/M. It seemed to me that if one is after
an "experience" and is willing to go to considerable lengths to get
it, that it should be as accurate and complete as possible. While 3D
computer simulation of skydiving can be made to be very accurate,
there's nothing like jumping out of a real aircraft for realism.
Having noiseless, crashproof RAM-drives just wouldn't do it for me.
;) Having had noisy crash prone drives ( and still having many)
if I want to build to explore some part/hack of CP/M it's usually
not writing yafd (yet another floppy driver). CF allows me to
build and pay attention to other things that might be more hardware
and software intensive. Examples over the years is low DC power
systems, page mappers and the memory management software. Both
hard to do in a sim but the sim can help in creating the code.
It all depends upon what your objective is.
It always do. ;)
Allison
Cheers,
Chuck