pguhatha@phoenix.UUCP (06/03/87)
ZCPR3.3 : some first comments
Peter Teuben,
June 2, 1987
This concerns ZCPR3.3, the latest update in the line of
command processors for CP/M, and my first experiences.
We have all watched ZCPR grow over the past years to a fairly
grown up module of what we now call the Z-system. None of
the original modules from Digital Research are still used,
the CCP being replaced by ZCPR and BDOS replaced by ZRDOS
(often we write our own BIOS's).
ZRDOS can be only be obtained commercially (Echelon), but
ZCPR(3.3) can in principle be obtained for free (although at
Echelon you have to pay $4x, but I guess they will accompany
my order with a nice installation manual).
However, I was impatient, and got the 100k of initial startup
sources from SIMTEL20. (That's for free, as most BBS's are, I
presume)
For me this kind of installation is just an evening of work,
and very amusing to do so. I installed ZCPR3 last summer in just
an evening, including all modifications to the BIOS (thanks to the
excellent documentation by Richard Conn).
Last september I witnessed a rough discussion between Richard Conn
and Jay Sage, on their use of the appropriate assembler for the
'Z-Libraries', i.e. ZAS (Echelon) versus Z80ASM (SLR).
I also listened to Richard Conn's story on his building of ZCPR33,
on last years Trenton Computer Festival (april '86), and now it is
there!
To my great surprise the author of ZCPR3.3 turened out to be ....
Jay Sage!
What ever happened to Richard? (are you listening Richard?) Or his code.
But, and this is now perhaps not a big suprise, I completely
failed in installing ZCPR3.3 (I thought it was advertised as having
an even easier installment as with V3.0, which I thought was already
pretty simple), because all of my 'reliable' compilers failed:
ASM, MAC, RMAC, M80, Z80MR. (ASM, MAC, RMAC couldn't help it, the
new code is now written in Z80 opcode, which I can perhaps
agree with; what will happen to the poor old 8080 users, or did
they all die?)
Apart from a few trivial problems (who EVER came up with the idea
of replacing brackets (yes: ()'s) with square bracket's []????),
the author used a compiler where one needs now at least an 8 character-
length variable name detector. We all now that M80 exports only
6! I phoned SLR, the experts there told me that M80 V3.44 exports
6 yes (because of the .REL format), but can internally use 16
character lenght!!
I tried mine (V3.4 from 1980!!), and even a little test, but no way.
Does anyone know of that (newer) 3.44 version, and is it true what SLR
told me. Other than that, M80 would probably have done the job (apart
from two extra needed .PRINTX's and having MACLIB filenames in full and
uppercase). Even compilers with 7 character length variable names
will fail, as a quick glance over the code learned.
The end of the story you can probably guess: I dialed into Jay's
machine last nigh and found an order option for the SLR compiler (and Linker,
but one could live without this one). After reading the description
of the compiler, I'm really impressed. Like 5-10 faster than M80,
and so many more possibilities. It will be quite an improvement for
assembler programming, but I keep thinking of the funny stories I
read in these rebuttals last september.
I am looking forward to receiving my SLR compiler from Jay,
(Btw Jay, I have a Kaypro 4, DS DD) and
will perhaps let you netreaders know what happened. After all, ZCPR
is really a fantastic piece of software, and moreover, allows YOU to
write and modify part of the operating system (&utilities), which is
not possible on many machines for a price like we pay for this
Let me know what your experiences are, do all of you know have these
fancy new compilers, like ZAS and Z80ASM? I am just old fashioned?
Afer all, at some stage we have to make use of the Z80 itself. Of
course if we extrapolate this, soon the Z80 users will find themselves
deserted, because ZCPR4.0 will be written for Z280 or HD64810 only.
Peter Teuben
Institute for Advanced Study
School of Natural Sciences
Princeton, NJ 08540
TEUBEN@IASSNS.BITNET or pjt@astrovax.uucp
(PS: I have no regular means of up/down loading to BBS's, in particular
the Z-nodes. I would appreciate if someone could distribute this)
----
RCONN@SIMTEL20.ARPA.UUCP (06/03/87)
Hello, Peter, Thanks for your message on ZCPR 3.3. The basic story is that I'm not involved with Echelon wrt ZCPR any more, and I've handed over ZCPR 3.x, TERM3, DISCAT, etc to them so they can continue to support the Z System users. Jay sage and others are merrily hacking away at the Z System, building upon the ideas in my original ZCPR3, mutating it as they desire. In the meantime, I'm working on two main thrusts: Ada and a new ZCPR 4.0 (at least, that's what it is called at this time). I talked about both at the last Trenton Computer Festival and can probably make the ZCPR 4.0 information available if anyone is interested. In the Ada arena, I manage the Ada Software Repository on SIMTEL20. The introduction of Ada technology is also a big part of my main job. In the ZCPR 4.0 arena, I'm back in the original environment that spawned ZCPR 3.0. There is no time pressure, no delivery dates, and complete freedom to create. There is also no requirement to deliver at all, so I really don't know if what I am working on will materialize in the user community. At one point I was working on ZCPR 3.3, moving in the direction of my current ZCPR 4.0; the effort was quite large, leading to something larger than the original ZCPR 3.0 and TERM3 combined. The ZCPR 3.3 that Echelon is supporting is not the original ZCPR 3.3 at all, but a completely different effort headed by Jay Sage that is a fraction of the original ZCPR 3.3 effort. That original ZCPR 3.3 is now the ZCPR 4.0 I'm working on. The bottom line is that the Echelon effort is available to the users now (i.e., the ZCPR 3.3 of Jay Sage). Continue to follow it and enjoy the work of Jay and the others involved. The work I'm doing may or may not be released some day, and you can see then if you want to continue with them, move to mine, do both, or whatever. To the user community, this should be a win-win proposition. Rick Conn -------
mdapoz@watdragon.UUCP (06/05/87)
I just finished getting zcpr3.3 to assemble with M80 version 3.44 (dated Dec 9,
1981). The following is a summary of the changes that are needed to get the
CCP portion to assemble (I still haven't recieved the RCP & FCP portions
from SIMTEL so I don't know what changes need to be made to those files).
1. In all files the square brackets "[" & "]" need to be changed to "(" & ")"
respectively on all conditional assembly statements (ie if's). DON'T do a
global change with a text editor since some square brackets don't need to
be changed!
in the file ZCPR33.Z80:
2. The maclib command must be converted to upper case along with it's arguments
3. The commands .Z80 and ASEG should be added.
in the file Z33HDR.LIB:
4. The extmpath, extmpathadr and whldir equate statements should have the EQU
changed to a DEFL (this should be changed anyways, I think).
in the file Z33MAC.LIB
5. M80 can only handle 6 chars for a macro argument (even in version 3.44) so
the 'command' macro needs to be changed. Following is an updated version:
; Command table entry definition macro
; Macro to form an entry for one command in the table. The first parameter is
; the name to be used for the command (no quotes); the second parameter is the
; flag that indicates whether or not the command is to be enabled; the third
; parameter is the wheel control flag; and the last parameter is the jump
; address to the code that carries out the command. The command names are
; automatically padded out to the correct length (they will be truncated and
; an error message will result if a command name is too long). The characters
; in the command name are automatically converted to upper case.
command macro cmdnam,enaflg,whlflg,addr
if enaflg ;; Generate command only if enabled
whlmask defl whlflg ;; Initialize variables
count defl cmdsize ;; Initialize to size of each command name
irpc char,cmdnam ;; Repeat over letters in command name
count defl count - 1 ;; Count down characters in name
if ( count lt cmdsize )
;; If character is lower case, convert to upper case
if ( '&char' ge 'a' ) and ( '&char' le 'z' )
if whlmask
defb ( '&char' and 5fh ) + 80h
else ;;not whlmask
defb ( '&char' and 5fh )
endif ;;whlmask
else ;;not lower case
if whlmask
defb '&char' + 80h ;; If controlled by wheel, set high bit
else ;;not whlmask
defb '&char' ;; If not restricted, leave high bit clear
endif ;;whlmask
endif ;;lower case
endif ;;( count lt cmdsize )
whlmask defl false ;; Turn off high-bit setting after first char
endm ;irpc
;; Pad command name with blanks
if ( count gt cmdsize ) ;; If we underflowed
*** Command name "&cmdname" is too long / truncated ***
else
rept count
defb ' '
endm
endif ;( count gt cmdsize )
dw addr ;; Dispatch address for command
endif ;enable
endm ;command
After successful assembly, the resultant .REL file was converted to a HEX file
using RELHEX.COM and then merged with the BIOS in the standard manner. Even
though M80 only outputs 6 char labels in the REL file, it still keeps larger
labels during assembly, so the use of large labels in zcpr3.3 doesn't affect
M80 in the least. Hope this helps in getting people stared with assembling
zcpr3.3 with M80.
A side note: zcpr3.3 came up the first time I tried booting it! It did take
me 2 hours to figure out all the changes that needed to be made to the
source files for M80, but after that first successful assemble, it booted
with no problems.
Regarding zcpr 4.0, I'd love to hear what you're doing with it Richard, how
about posting a summary of what's going on with it, either that, or send it
directly to me.
-Mark
"If a hardware problem causes system software to crash, the customer engineer
will blame the system programmer."
Mark Dapoz
mdapoz@watdragon.UUCPkenw@noah.arc.CDN (Ken Wallewein) (06/06/87)
I run CPM for two or three reasons: it's cheap; it has a history which makes it interesting; there's a large and public-spirited user community; there's lots of PD software around. I guess that's more than 3. Anyway, none of those things jive very well with the way Z-system appears to be going, if I have to buy their assembler to use it. When I can afford to buy it, I don't have time to use it enough to justify it, and vice versa (huh?). Besides, I've heard that ZCPR3 chews up too much TPA for what it gives people who don't run hard drives. As far as hardware goes, I run and S-100 bus system. Anybody know how I can upgrade that to a super-Z80 without spending hundreds of bucks or hundreds of hours? I know, there are lots of different processors for S100. Did you ever price one? Enough flame, I guess. /kenw
simon@ms.uky.edu (George Simon) (06/09/88)
I have a simple z80 cp/m 2.2 box, and would like to upgrade to a better world. The new world must be compatible with vanilla cp/m, and I would really have to have sources. Zcpr seems to be just a command processor, is there more to it? How involved is the installation procedure? Are there any usefull books on any of this? Thanks in advance, Simon <--------------------------------------------------------------------------> <--- Simon Gales@University of Ky 254-9387/257-3597 ---> <--- [ simon@ms.uky.edu ] | [ simon@UKMA.BITNET ] ---> <-------------------------------------------------------------------------->
dbraun@cadavr.intel.com (Doug Braun ~) (06/10/88)
In article <9600@e.ms.uky.edu> simon@ms.uky.edu (Simon Gales) writes: >I have a simple z80 cp/m 2.2 box, and would like to upgrade to a better >world. The new world must be compatible with vanilla cp/m, and I would >really have to have sources. Zcpr seems to be just a command processor, >is there more to it? How involved is the installation procedure? Are >there any usefull books on any of this? Me too. I have heard of several CP/M BDOS and BIOS replacements, both commercial and public domain. Could someone post a brief list describing what's what? x x x x Doug Braun Intel Corp CAD 408 765-4279 / decwrl \ | hplabs | -| oliveb |- !intelca!mipos3!cadev4!dbraun | amd | \ qantel /
rat@madnix.UUCP (David Douthitt) (04/18/89)
I just got ZCPR 3.3 installed on my Apple II+ with a PCPI Applicard. Works
beautifully!
However, I don't have any instructions for the unique abilities of ZCPR 3.3.
I still have the articles on ZCPR 2 from the interview by Computer Langauge
with Richard Conn.
Does any one know where I can get an in-depth description of ZCPR 3's
capabilities? Thanks!
[david]
--
!======= David Douthitt :::: Madison, WI =======!== The Stainless Steel Rat ==!
! ArpaNet: madnix!rat@cs.wisc.edu ! !
! UseNet: ...uwvax!astroatc!nicmad!madnix!rat ! Mad Apple Forth: !
! {decvax!att}! ! The Madness starts here. !