.title ^^CP/M-68K Version 1.0 Release Notes
.c
CP/M-68K Version 0.1
.c
--------------------
.bl 2
.c
Release Notes
.c
-------------
.bl 2
.i 5
CP/M-68K(1) Version 0.1 is a pre-release copy of CP/M-68K for use by OEMs for 
development of custom BIOS modules and applications packages.  It is not
intended, and must not be used, 
as a final product for distribution to end users.  
This release is definitely not production quality software, but should be
adequate for early development efforts.
.bl 1
.c
Distribution Kit Contents
.c
-------------------------
.bl 1
.i 5
CP/M-68K is distributed on four standard single-density 8-inch floppy 
diskettes.  Three of these diskettes are readable on any 
CP/M system which supports the
standard CP/M "read one skip five" interleave algorithm.  The 26 sectors on
a track are read in the order: 1, 7, 13, 19, 25, 5, 11, 17, 23, 3, 9, 15, 
21, 2, 8, 14, 20, 26, 6, 12, 18, 24, 4, 10, 16, and 22.  Most CP/M-80 and
CP/M-86 systems which support single density diskettes use this format.
The fourth diskette is a bootstrap diskette for the Motorola EXORmacs(1)
development system.
.footnote 5
(1) CP/M, CP/M-86, and CP/M-68K are trademarks of Digital Research, Inc.
EXORmacs and MACSbug are trademarks of Motorola, Inc.
!
.bl 1
.i 5
The CP/M format diskettes contain:
.ls
.leb;The diskette labelled "Utilities I" contains the ED, PIP, and STAT file
manipulation utilities, and the AS68, NM68, and AR68 program development
utilities.
.leb;The diskette labelled "Utilities II" contains the LO68, SENDC68, and
DDT utilities.  This diskette also contains sources for three BIOS modules
to be used as examples in writing new BIOS modules.
.leb;The diskette labelled "CP/M Objects" contains the relocatable objects
for linking a new version of CP/M-68K to change the load address of CP/M
and the accompanying BIOS.
This diskette also contains Motorola S-record files for two prelinked systems.
See the section on "Pre-linked Systems" for details.
.els
The accompanying documentation describes the use of these programs in detail.
.bl 1
.test page 7
.c
Running CP/M On the EXORmacs
.c
----------------------------
.bl 1
.i 5
The bootable CP/M diskette is intended to run on any EXORmacs system which
has a floppy drive unit interfaced with the Motorola Universal Disk Controller
(UDC) module.  The Floppy Disk Controller (FDC) definitely will NOT work.  
The system will run in 128K of memory.
To
boot CP/M, use the following procedure:
.ls
.leb;Insert the CP/M boot disk in one of the drives.
.leb;Depress the "System Reset" button on the front panel and use the 
MACSbug "Boot Halt" command to load CP/M into memory.  (For example, "BH 4"
loads CP/M from drive 4).  
.leb;When MACSbug re-prompts, place a CP/M (or blank) diskette in drive
4.
.leb;Depress the system reset button again, and type "G 1E000".  The familiar
CP/M "A>" prompt should now appear.
.els
You may now use this copy of CP/M to generate a system which, together with
a custom BIOS, will fit your target hardware.
.bl 1
.c
Pre-Linked Systems
.c
------------------
.bl 1
.i 5
The distribution kit "CP/M Objects" disk contains Motorola S-records for two
pre-linked systems:  
.ls
.leb;Files "CPM68K1.SR", "RTP1.SR", and "BIOS1.SR" contain S-records for an
EXORmacs system with the system above 18000(hex) and the TPA from 400-18000.
.leb;Files "CPM68K0.SR", "RTP0.SR", and "BIOS0.SR" contain S-records for an
EXORmacs system with the system from 400-8800(hex) and the TPA from 
8800-20000(hex).
.els
These files may be downloaded to MACSbug or a similar S-Record loader for
use in debugging.
.bl 1
.c
Regenerating CP/M
.c
-----------------
.bl 1
.i 5
In order to regenerate CP/M, one must first decide where the operating
system modules and the Transient Program Area (TPA) are to reside.  There are
three areas of the operating system which must be so configured:  The 
BDOS/CCP, the Runtime Package (RTP), and the BIOS.  
The size of the BDOS/CCP is presently 24K, and the runtime package 
currently occupies 800 bytes.  BIOS size is implementation dependent. 
.bl 1
.i 5
Suppose, for instance, that the desired BDOS/CCP address is 10000(hex), the
RTP address 16000(hex), and the BIOS address 20000(hex).  The procedure for
building new load modules is:
.ls
.leb;Assemble your custom BIOS module, and place the resulting object on
the CP/M Objects diskette.
.leb;Boot CP/M with the Utilities II diskette in drive 4 and the CP/M Objects
diskette in drive 5.
.leb;Type the following commands:
.ls
.leb;A>B:
.leb;B>A:LO68 -T10000 -O CPM68K 1 2 3 4 5 6 7 8 9 10
.leb;B>A:LO68 -T16000 -O RTP    RTP.O
.leb;B>A:LO68 -T20000 -O BIOS   BIOS.O
.els
This puts the BDOS/CCP Module in file "CPM68K", the RTP module in file "RTP",
and the BIOS module in file "BIOS".  
.els
The linked load modules can be converted to Motorola S-Records by the
following commands:
.ls
.leb;B>A:SENDC68 - CPM68K >CPM68K.SR
.leb;B>A:SENDC68 - RTP    >RTP.SR
.leb;B>A:SENDC68 - BIOS   >BIOS.SR
.els
The resulting ".SR" files may then be serially downloaded to a target system,
or used by a custom conversion program to generate a different load file
format.
.bl 1
.i 5
The BIOS initialization routine should set up the TRAP 1 vector to point to
the base of the RTP module 
TRAP 3 should be initialized to the entry
point of the BIOS.
Following initialization, the BIOS should jump to the first location in the
BDOS/CCP module.
.bl 1
.c
Other Initialization Procedures
.c
-------------------------------
.bl 1
.i 5
The assembler requires initialization before use.  To do this, put the 
"Utilities I" disk in drive 4 (CP/M Drive "A") and type:
.bl 1
.i 5
as68 -i as68init
.bl 1
The assembler will build a file "as68symb.dat" which will be used as the
permanent symbol table for subsequent assemblies.  This procedure must be 
performed each time the base (lowest address) of the TPA is changed.
.bl 1
.c
Known Bugs
.c
----------
.bl 1
.i 5
The following are known bugs with this release:
.ls
.leb;No command file support (SUBMIT) is present in this release.
.leb;The Control-H key (Backspace) 
does not always function properly with the ED utility.
.leb;The Control-H key (Backspace) does not echo properly when used with 
the Control-R (review) mechanism.
.leb;DDT does not have the following commands:  A(ssemble), R(ead), and
W(rite).
.leb;The assembler and linker do not always delete their temporary files.
.leb;Some options of PIP, ED, and STAT do not work if the
TPA begins above 64K.
.leb;The assembler symbol table file must always be on drive "A".
.leb;The Exception Vector handler in BDOS does not clear the TRACE bit 
before starting the user exception handler.
.els
