|
|
DataMuseum.dkPresents historical artifacts from the history of: Bogika Butler |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Bogika Butler Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 10112 (0x2780)
Types: TextFile
Names: »ZASCPM.DOC«
└─⟦63c65de3f⟧ Bits:30009789/_.ft.Ibm2.50007335.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »ZASCPM.DOC«
***************************************
ZAS Distribution Disk Documentation
***************************************
CP/M Version 1.1
Copyright 1981 Western Wares
P. O. Box C
Norwood, CO 81423
This disk contains the CP/M command files which comprise
the ZAS Development Package:
ZAS.COM Z-8000 Cross Assembler
ZLK.COM Object Task Builder
ZLD.COM, ZLDX.COM
Absolute Object Loader
ZEX.COM Z-8000 Run Time Execution Support
Source files useful for CP/M and ZEX interfacing from
Z8002 code are also on the disk:
ZEXCP.LIB This file defines fixed symbols relating to
CP/M functions and locations within ZEX (e.g.
PSA, USERSC). It has been written to be
compatible with both ZAS (using $INCLUDE) and
MAC (or RMAC) using MACLIB. Use this file
when creating hardware dependent patches to
ZEX based on the "ZNULCP" source files.
ZEXZ.LIB This file is convenient to "$include" in
Z-8000 application routines which will be
using CP/M facilities accessed through the
ZEX run time modules. It contains symbol
definitions for CP/M functions, and system
call identifiers for ZEX.
CPMINT.ZAS Z8002 routines to perform basic I/O functions
through ZEX to CP/M.
In addition, the null hardware dependent patches for ZEX
and ZLD are included in source form:
ZNULCP.ASM 8080 Assembly language routine containing
null versions of the SETSEG, SETUPZ and RUNZ
routines. (See User Manual for details)
ZNULCP.ZAS Z8000 Assembly language routine containing a
null version of the HOSTZ routine. (See User
Manual)
ZLDNULCP.ASM 8080 Assembly language routines which can be
modified to support arbitrary program loading
functions. These are patched into ZLD and
ZLDX.COM.
To install ZEX, the user should modify the first two of
these files for the particular CPU bus master switching
circuitry used, as described in the Run Time Support section
of the User Manual. CP/M's utility DDT is convenient for
performing the patches into ZEX (and the patches for ZLD and
ZLDX).
For example, assuming you have created and assembled new
versions of ZNULCP.ASM and ZNULCP.ZAS, named ZNEW.ASM and
ZNEW.ZAS, producing files ZNEW.HEX and ZNEW.ZRL, the base
address (%1xx) for the HOSTZ routine contained in ZNEW.ZRL
can be determined by computing the next even address
following the 8080 routines in ZNEW.HEX. The last location
for HOSTZ (%1yy) should not exceed %13F. Then, assuming
ZNEW.ZAB has been created from ZNEW.ZRL,
A>ZLK ZNEW.ZABø=ZNEW(*)/%1xx ,
the following steps can be used to create your version of
ZEX.COM:
1. A>ZLD ZNEW.ZAB 5000 ; Load the output of ZLK offset by %5000
2. A>DDT ZEX.COM
-F103,13F,0 ; Clear out patch area
-IZNEW.HEX ; Read your version (8080)
-R
-M51xx,51yy,1xx ; Move Z-8000 code to the patch area
-S10A
10A 00 01 ; Set up pointer to HOSTZ (01xx)
10B 00 xx (even!) ; low byte of pointer
10C 00 .
-D100,13F ; Display the user area
0100 C3 6F 01 00 ... etc.
-^C
3. A>SAVE 10 ZEXNEW.COM ; Save your custom version of ZEX
Notice that once your version of ZEX is created, an entire
memory image, consisting of ZEX (%100-%AFF), and a Z8000
application program (%0FFC to base of CCP), can be SAVEd for
later execution from the CP/M CCP.
For example, assuming you have assembled the sample memory
test program, MTST.ZAS, and ZLK'd it with CPMINT:
A>ZLK MTST.ZAB;=MTST,CPMINT(*)/1006 ,
(or A>ZLK @MTST)
The following steps will produce the file ZMTST.COM, which
can be executed on your Z-8002 from CP/M:
1. A>ZLD MTST.ZAB (load the absolute file)
2. A>ZEX ^A (load your version of ZEX.COM,
the ^A keeps CP/M from
? executing ZEX)
3. A>SAVE 20 ZMTST.COM (save the memory image,
20 pages is sufficient
for MTST, and is determined
from the ZLK MAP output)
****************************
As an example of Z-8000 program development using ZAS, the
Z-8000 portion of ZEX is included (ZMNCPM.ZAS). This code is
located at address %500, and can be modified by the user to
change the normal operating conditions for ZEX, as described
below.
To assemble and locate ZMNCPM, type:
A>ZAS ZMNCPM/X/S
A>ZLK /S/MS @ZMNCPM
The resulting absolute code may now be loaded into memory
at location %5500,
A>ZLD ZMNCPM.ZAB 5000
Now, DDT can be used to display the code:
A>DDT ZEX.COM
DDT VERS x.x
NEXT PC
0800 0100
-D5500
5500 76 0F 0F FC .... etc.
-D500
0500 76 0F 0F FC .... (should be the same as above)
-M5500,5AFF,500 (Move it to the correct spot in ZEX)
ZEX can be configured to run with either the Z-8001 or the
Z-8002. The version of ZEX.COM contained on this disk has
been configured for the Z-8002. To create a Z-8001 version
of ZEX, change the symbol 'Z8001' to TRUE in ZMNCPM.ZAS,
then 'ZAS', 'ZLK' and 'ZLD' it as described above. The
ZMNCPM.ZLK file should be modified to indicate the memory
segment for ZEX and ZMNCPM. Finally, move it to the proper
spot in ZEX.COM with DDT, as shown above.
The command,
A>SAVE 10 YOURZEX.COM
will complete the configuration.
The default FCW for programs executed with ZEX is
determined from the INITIAL_FCW symbol within ZMNCPM.ZAS,
and is currently set to start user code running in
non-segmented, system mode.
Application programs should be located above %1006 for
execution under ZEX, using System Call instructions to
access the functions in ZMNCPM.
See the User Manual for more details on ZEX.
***************************************
Configuring ZLD.COM and ZLDX.COM
***************************************
These two programs have been written to allow simple user
modification to support widely varying program loading
requirements.
The area from %103 to %1FF within ZLD and ZLDX is reserved
for user modification, and consists of a jump vector to
several user routines, which immediately follow the
vectors. The file ZLDNULCP.ASM explains the function of
each routine, and is the default version currently contained
within ZLD.COM and ZLDX.COM. By modifying this file, ZLD can
be set up to load to segmented memory with separate Program
and Data areas, for example. Downloading to a prototype
circuit is also possible.
***************************************
Please report any bugs (or questions) to:
Western Wares
P. O. Box C
Norwood, CO 81423
(303) 327-4898
If a bug is suspected, send a sample which exhibits the
problem, together with the .COM files to Western Wares on a
single density 8" disk. We also require that the original
distribution disk be returned for any updates or bug fixes.
***************************************
Welcome to 16-bit Microcomputing!
***************************************
«eof»