MaxZ80 - Chapter 1

A printed booklet of this material is available from Lulu.com.

Support independent publishing: buy this book on Lulu.

All the files discussed in this tutorial are contained in the archive

http://primepuzzle.com/mouse/maxz80.exe

or, if you prefer,

http://primepuzzle.com/mouse/maxz80.zip.

Download this archive and extract its contents into c:\maxz80. This
directory will be created for you if you use the self-extracting archive
(ie. the .exe).

The hints you get here are just that, only hints. Read these hints and
then delve into the details by looking at the source code. Try stuff on
your own!

Before we begin ...

About a month after "completing" this tutorial I discovered Peter
Schorn's excellent SIMH Altair 8800 (Z80) simulator. You may learn about
it by visiting

http://www.schorn.ch/cpm/intro.html

Versions that run under Linux and under Windows are available. One of
the things I was reminded of while working with the Linux version was
Joe Wright, Bridger Mitchell and Jay Sage's NZCOM and the associated
utilities MKZCM and NZCOM and also Hal Bower and Cam Cotrill's ZSDOS and
the utility SETUPZST. Using all this software I rebuilt the Z-System
image we'll be discussing here "from scratch." These programs may be
found in the named directory B4:LAST.

In addition, a fellow from Germany who read my post on

http://groups.google.com/group/comp.os.cpm/topics

(which talked about this material) got back and asked if I had the full
documentation on Simeon Cran's MYZ80 emulator. Since this emulator is so
important to this package, I've added all the .txt files that he put on
drive A user area 1 of the distribution floppy to drive A user area 1 of
the "virtual A disk" used here. He was looking for something that could
be used to configure things for his keyboard. The MYZ80 utility KEY.COM
(as well as the documentation, key.txt) are now in this package.

Upon reviewing the "ARUNZ aliases" (which you'll learn about as you get
into the material), I realized that one in particular (namely ata2)
would not work until I added something else, which strangely enough also
has to do with "keying things in." Both the KEYIN.COM program and an
associated load module called KEYINIOP.ZRL were added. "IOPs" or Input
Output Packages are not discussed in this tutorial but the kind of thing
they can do is illustrated by this alias. This alias also uses AT.COM,
the Z-System command scheduler. This is an "RSX" or Resident System
eXtension. RSXs are not discussed in this tutorial (other than here!)

Finally, an appendix has been added. It contains :

1. a directory of all files in all user areas on all 4 drives (A thru D)

2. the contents of MENU.HLP which contains a large amount of material on
the help system, MYZ80, Z-System internals and CP/M. The file is in
HLPFILES.LBR (as MENU.HYP) and comes up if you type HELP at the command
prompt. It also comes up if you are running the MENU shell and type H.

3. the contents of ALIAS.CMD and the contents of ALIAS.DEF (which
documents the aliases in ALIAS.CMD)

4. listings of Z3ENV.Z80 and Z3TCAP.Z80

5. a screen capture of the output of the command Z3LOC19 Z when both the
KEYINIOP and the AT RSX are loaded

You might be wondering about all those .MSE files in A0:MOUSE ... The
Mouse Language is documented elsewhere. See

http://primepuzzle.com/mouse/mouse.html

It is hoped that as you go thru the material you find one or more of
these appendices useful.

It is always a good idea to download the latest version of maxz80.exe or
maxz80.zip (see above) as the printed Lulu booklet may not be current.

Let us now begin!

Bring up a DOS window, navigate to the c:\maxz80 directory and type MYZ80.EXE.

You will see a screen similar to the following: 

ZSDOS Time Stamp Loader, Ver 1.1
  Copyright (C) 1988  by H.F.Bower / C.W.Cotrill

MYZ80 Clock 0.2 for NZ-COM User Space ...loaded at F880H
 Clock is : MYZ80 CLOCK             0.2

COPY  Version 1.73 (for ZSDOS)   2 Jul 2001
Copying B8:????????.??? to D1:
 -> README  .TXT..Ok (Dated)  Verify..Ok (X)
 0 Errors

File system last changed on 9/1/2007

8:38 D1:RAMDISK>>

You are now in what is called an emulated Z-System environment.

Type A4:, hit Enter, and then type DIR.

8:38 D1:RAMDISK>>A4:
8:39 A4:BASIC>>DIR

         Drive A4 [BASIC]      Files: 40/460k   Free: 4704k
-       .104   0k : CMD     .REL   4k : LEE11H  .BAS   4k : RUNLEE  .ZEX   4k
ARK11   .ARK  16k : CONCEN  .BAS  12k : LEE11H  .COM  20k : RUNLEEP .SUB   4k
BASCOM  .HLP  16k : CONCEN  .COM  24k : LIB80   .COM   8k : SLOWDISP.COM   4k
BASCOM2 .HLP  32k : CREF80  .COM   4k : MBASIC  .HLP  24k : UNARC   .COM   8k
BASLIB  .REL  28k : GOLIAT  .HTM   4k : OBSLIB  .REL  48k : UNARC16 .ARK  40k
BCLOAD  .      4k : GOLIATH .HTM   4k : QUIET   .COM   4k : UNLOAD23.COM   4k
BRAILLE .BAS   4k : GOTCHA  .MAC   4k : RANTEST .ASC   4k : UNLOAD23.LBR  12k
BRUN    .COM  16k : GOTCHA  .REL   4k : RANTEST .BAS   4k : Z3BAS   .LBR  52k
CLIFF   .HTM   4k : GOTCHA  .Z80   4k : RANTEST .COM   4k : Z3HDR   .MAC   4k
CLIFFH  .HTM  12k : LEE     .SUB   4k : RUNLEE  .SUB   4k : Z3HDR   .REL   4k

8:40 A4:BASIC>>

Notice the "drive / user areas" have names and the prompt has a
time-stamp in it.

Do you see the file named LEE11H.COM?

A DOS version of this CP/M program is LEE11HD.EXE.

"Letter Extractor / Enhancer" is written in BASIC. It takes text files
and converts them into "handwritten" files. It uses many small graphic
files for the letters, numbers and special characters.

To exit the Z-System environment, type EXIT.

Here's a sample run of LEE11HD.EXE.

c:\maxz80>LEE11HD.EXE I=CLIFF.HTM O=CLIFFH.HTM P=HTTP://PRIMEPUZZLE.COM/MOUSE/

Usage : LEE [[I=input file] [O=output file] [P=prefix]] or
        LEE no command tail to be prompted

LEE, (Letter Extractor / Enhancer), Version 1.1H
LEE generates "handwritten" files from text files.

Done. File CLIFFH.HTM created.

c:\maxz80>

Click CLIFF.HTM to see the "typewritten" input.

Click CLIFFH.HTM to see the "handwritten" output.