Subject: Re: CP/M survey
From: "Chuck Guzis" <cclist at sydex.com>
Date: Thu, 19 Apr 2007 09:25:46 -0700
To: "General Discussion: On-Topic and Off-Topic Posts" <cctalk at
classiccmp.org>
On 19 Apr 2007 at 9:48, Allison wrote:
Maybe, but
it couldn't run JRT Pascal. AFAIK, the only commercial
product that ever used the bizarre coding sequence:
LXI SP, PROC-1
CALL PROC
JRT Pascal was Z80 code if memory serves. But LXI SP, value is
valid as the arithmetic is done at compile time not execution.
Nope--8080. I've still got the 1.0 disk. One can precede this
sequence with (and I think that JRT did):
I have V3 and never had a problem, guess they fixed it.
LXI H,0
DAD SP
Only way to get the SP on 8080. Liked the Z80 because they fixed that.
to get the old SP value into the HL register pair prior
to the LXI
SP. And it is a V20 bug--I remember calling the NEC technical guy
in Natick and getting about 10 words into the report and having him
say "JRT Pascal, right?". If anyone's interested in the V20 errata,
I've still got the stuff.
Was that Charlie or Ted? I'd like to see the report or erata mostly
since it would fit nicely in my NEC file.
JRT was one of the earlier attempts at
"virtual" 8080 code; it
swapped procedures from floppy. Of course, it was miserably slow,
but at something like $30 for a Pascal, it looked like a great deal.
Of course it was buggy as the dickens. I think the oddball calling
sequence was to keep the stack adjacent to the procedure for
subsequent swapping, rather than having to deal with a single stack
that might well overflow without special handling routines, given the
"virtual" nature of JRT Pascal.
Doing anything on 8080 that was virtual was slow. V3 was still $30
and slow but it did work.
In the end
running an 8080 (V20)
when I have Z80 or even fast(6mhz HmosII) 8085s is sort of
less than interesting.
Maybe, but you use what you have at your disposal, even if it is an
8080. And most professional apps for CP/M used the 8080 instruction
set initially--only later did a bunch of Z80-specific (e.g. ZCPR)
code come out. I never could understand this--in general, little to
be gained in speed by using Z80 codes.
By time the V20 hit the street I was running hand upd780s at 8mhz
and had at least three s100 crates going.
FWIW, I still use 22NICE on Win2K. It nicely
integrates old CP/M
apps into the Windows environment without having to create virtual
disks or such stuff, so using apps under emulation is no harder than
using native ones.
Still have it and use it, interesting tool.
Allison