.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