mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-27 02:14:19 +00:00
Upload
Digital Research
This commit is contained in:
@@ -0,0 +1,357 @@
|
||||
|
||||
.op
|
||||
.sp 15
|
||||
.ce 100
|
||||
.sh
|
||||
CP/M-8000 \
|
||||
.sp
|
||||
.sh
|
||||
Operating System
|
||||
.sp
|
||||
.sh
|
||||
System Guide
|
||||
.qs
|
||||
.cs 5
|
||||
.sp 10
|
||||
Copyright \ \ 1983
|
||||
.sp
|
||||
Digital Research
|
||||
P.O. Box 579
|
||||
167 Central Avenue
|
||||
Pacific Grove, CA 93950
|
||||
(408) 649-3896
|
||||
TWX 910 360 5001
|
||||
.sp 4
|
||||
All Rights Reserved
|
||||
.ce 0
|
||||
.bp
|
||||
.po 17
|
||||
.ll 50
|
||||
.ce
|
||||
COPYRIGHT
|
||||
.sp
|
||||
Copyright 1983 by Digital Research. All rights reserved.
|
||||
No part of this publication may be reproduced, transmitted,
|
||||
transcribed, stored in a retrieval system, or translated
|
||||
into any language or computer language, in any form or
|
||||
by any means, electronic, mechanical, magnetic, optical,
|
||||
chemical, manual or otherwise, without the prior written
|
||||
permission of Digital Research, Post Office Box 579, Pacific
|
||||
Grove, California, 93950.
|
||||
.sp 4
|
||||
.mb 4
|
||||
.fm 1
|
||||
.ce
|
||||
DISCLAIMER
|
||||
.sp
|
||||
Digital Research makes no representations or warranties with
|
||||
respect to the contents hereof and specifically disclaims
|
||||
any implied warranties of merchantability or fitness for
|
||||
any particular purpose. Further, Digital Research reserves the
|
||||
right to revise this publication and to make changes from
|
||||
time to time in the content hereof without obligation of
|
||||
Digital Research to notify any person of such revision or
|
||||
changes.
|
||||
.sp 4
|
||||
.ce
|
||||
TRADEMARKS
|
||||
.sp
|
||||
CP/M and CP/M-86 are registered trademarks of Digital Research. CP/M-80,
|
||||
CP/M-8000, DDT, and MP/M are trademarks of Digital Research. Z80 and
|
||||
Z8000 are trademarks of Zilog, Inc. VAX/VMS is
|
||||
a trademark of Digital Equipment Corporation. UNIX is a trademark of
|
||||
Bell Laboratories.
|
||||
.sp 6
|
||||
The \c
|
||||
.ul
|
||||
CP/M-8000 Operating System System Guide \c
|
||||
.qu
|
||||
was prepared using the Digital Research TEX Text Formatter and printed
|
||||
in the United States of America.
|
||||
.sp 2
|
||||
.ce 3
|
||||
********************************
|
||||
* First Edition: March 1983 *
|
||||
********************************
|
||||
.in 0
|
||||
.bp
|
||||
.fi
|
||||
.cs 5
|
||||
.mt 5
|
||||
.mb 6
|
||||
.pl 66
|
||||
.ll 65
|
||||
.po 10
|
||||
.hm 2
|
||||
.fm 2
|
||||
.he
|
||||
.ft iii
|
||||
.ce
|
||||
.sh
|
||||
FOREWORD
|
||||
.sp 2
|
||||
.fi
|
||||
.pp 5
|
||||
CP/M-8000 \ \ is a single-user general purpose operating system.
|
||||
It is designed for use with any disk-based computer using a Zilog Z8000 or
|
||||
compatible processor. CP/M-8000 is modular in design, and can be modified to
|
||||
suit the needs of a particular installation.
|
||||
.pp
|
||||
The hardware interface for a particular hardware environment is supported by
|
||||
the OEM or CP/M-8000 distributer. Digital Research supports the user
|
||||
interface to CP/M-8000 as documented in the \c
|
||||
.ul
|
||||
CP/M-8000 Operating System User's Guide.\c
|
||||
.qu
|
||||
\ Digital Research does not support any additions or modifications made to
|
||||
CP/M-8000 by the OEM or distributer.
|
||||
.sp 2
|
||||
.sh
|
||||
Purpose and Audience
|
||||
.pp
|
||||
This manual is intended to provide the information needed by a
|
||||
systems programmer in adapting CP/M-8000 to a particular hardware
|
||||
environment. A substantial degree of programming expertise is
|
||||
assumed on the part of the reader, and it is not expected that
|
||||
typical users of CP/M-8000 will need or want to read this manual.
|
||||
.sp 2
|
||||
.sh
|
||||
Prerequisites and Related Publications
|
||||
.pp
|
||||
In addition to this manual, the reader should be familiar with the
|
||||
architecture of the Zilog Z8000 as described in the \c
|
||||
.ul
|
||||
Zilog 16-Bit Microprocessor User's Manual
|
||||
.qu
|
||||
(third edition), the \c
|
||||
.ul
|
||||
CP/M-8000 User's and Programmer's Guides,
|
||||
.qu
|
||||
and, of course, the details of the hardware environment where CP/M-8000 is
|
||||
to be implemented.
|
||||
.sp 2
|
||||
.sh
|
||||
How This Book is Organized
|
||||
.pp
|
||||
Section 1 presents an overview of CP/M-8000 and describes its major
|
||||
components. Section 2 discusses the adaptation of CP/M-8000 for your specific
|
||||
hardware system. Section 3 discusses bootstrap procedures and related
|
||||
information. Section 4 describes each BIOS function including entry
|
||||
parameters and return values. Section 5 describes the process of creating a
|
||||
BIOS for a custom hardware interface. Section 6 discusses approaches to
|
||||
debugging your BIOS. Section 7 provides information on using the distributed
|
||||
version of CP/M-8000 if you have a ===???=== system.
|
||||
.pp
|
||||
Appendix A describes the contents of the CP/M-8000 distribution disks.
|
||||
Appendixes B, C, and D are listings of various BIOSes. Appendix E
|
||||
contains a listing of the PUTBOOT utility program.
|
||||
.bp
|
||||
.ft iv
|
||||
.sp 50
|
||||
.bp
|
||||
.cs 5
|
||||
.mt 5
|
||||
.mb 6
|
||||
.pl 66
|
||||
.ll 65
|
||||
.po 10
|
||||
.hm 2
|
||||
.fm 2
|
||||
.he
|
||||
.ft v
|
||||
.nf
|
||||
.bp
|
||||
.ce
|
||||
.sh
|
||||
Table of Contents
|
||||
.sp 3
|
||||
.nf
|
||||
.sh
|
||||
1 System Overview
|
||||
.qs
|
||||
|
||||
=== PAGE NUMBERS ARE TOTAL GARBAGE ===
|
||||
|
||||
1.1 Introduction . . . . . . . . . . . . . . . . . . . . 1
|
||||
|
||||
1.2 CP/M-8000 Organization . . . . . . . . . . . . . . . . 3
|
||||
|
||||
1.3 Memory Layout . . . . . . . . . . . . . . . . . . . . 3
|
||||
|
||||
1.4 Console Command Processor . . . . . . . . . . . . . . 4
|
||||
|
||||
1.5 Basic Disk Operating System (BDOS) . . . . . . . . . 5
|
||||
|
||||
1.6 Basic I/O System (BIOS) . . . . . . . . . . . . . . . 5
|
||||
|
||||
1.7 I/O Devices . . . . . . . . . . . . . . . . . . . . . 5
|
||||
|
||||
1.7.1 Character Devices . . . . . . . . . . . . . . 5
|
||||
1.7.2 Character Devices . . . . . . . . . . . . . . 5
|
||||
|
||||
1.8 System Generation and Cold Start Operation . . . . . 6
|
||||
.sp 2
|
||||
.sh
|
||||
2 System Generation
|
||||
.qs
|
||||
|
||||
2.1 Overview . . . . . . . . . . . . . . . . . . . . . . 7
|
||||
|
||||
2.2 Creating CPM.SYS . . . . . . . . . . . . . . . . . . 7
|
||||
|
||||
2.3 Relocating Utilities . . . . . . . . . . . . . . . . 8
|
||||
.sp 2
|
||||
.sh
|
||||
3 Bootstrap Procedures
|
||||
.qs
|
||||
|
||||
3.1 Bootstrapping Overview . . . . . . . . . . . . . . . 9
|
||||
|
||||
3.2 Creating the Cold Boot Loader . . . . . . . . . . . . 10
|
||||
|
||||
3.2.1 Writing a Loader BIOS . . . . . . . . . . . . 10
|
||||
3.2.2 Building CPMLDR.SYS . . . . . . . . . . . . . 11
|
||||
.sp 2
|
||||
.sh
|
||||
4 BIOS Functions
|
||||
.qs
|
||||
|
||||
4.1 Introduction . . . . . . . . . . . . . . . . . . . . 13
|
||||
4.2 Memory Management Functions . . . . . . . . . . . . . ??
|
||||
.bp
|
||||
.ft vi
|
||||
.ce 2
|
||||
.sh
|
||||
Table of Contents
|
||||
.sp
|
||||
.sh
|
||||
(continued)
|
||||
.qs
|
||||
.sp 3
|
||||
.sh
|
||||
5 Creating a BIOS
|
||||
.qs
|
||||
|
||||
5.1 Overview . . . . . . . . . . . . . . . . . . . . . . 39
|
||||
|
||||
5.2 Disk Definition Tables . . . . . . . . . . . . . . . 39
|
||||
|
||||
5.2.1 Disk Parameter Header . . . . . . . . . . . . 40
|
||||
5.2.2 Sector Translate Table . . . . . . . . . . . . 41
|
||||
5.2.3 Disk Parameter Block . . . . . . . . . . . . . 42
|
||||
|
||||
5.3 Disk Blocking Guide . . . . . . . . . . . . . . . . . 45
|
||||
|
||||
5.3.1 A Simple Approach . . . . . . . . . . . . . . 46
|
||||
5.3.2 Some Refinements . . . . . . . . . . . . . . . 46
|
||||
5.3.3 Track Buffering . . . . . . . . . . . . . . . 47
|
||||
5.3.4 LRU Replacement . . . . . . . . . . . . . . . 47
|
||||
5.3.5 The New Block Flag . . . . . . . . . . . . . . 48
|
||||
|
||||
5.4 Memory Management Guide . . . . . . . . . . . . . . . ??
|
||||
|
||||
.sp 2
|
||||
.sh
|
||||
6 Installing and Adapting the Distributed BIOS and CP/M-8000
|
||||
.qs
|
||||
|
||||
6.1 Overview . . . . . . . . . . . . . . . . . . . . . . 49
|
||||
|
||||
6.2 Booting on an ===???=== . . . . . . . . . . . . . . . 49
|
||||
|
||||
6.3 Bringing up CP/M-8000 Using ===???=== . . . . . . 50
|
||||
.sp 2
|
||||
.sh
|
||||
7 Cold Boot Automatic Command Execution
|
||||
.qs
|
||||
|
||||
7.1 Overview . . . . . . . . . . . . . . . . . . . . . . 51
|
||||
|
||||
7.2 Setting up Cold Boot Automatic Command Execution . . 51
|
||||
.sp 2
|
||||
.sh
|
||||
8 The PUTBOOT Utility
|
||||
.qs
|
||||
|
||||
8.1 PUTBOOT Operation . . . . . . . . . . . . . . . . . . 53
|
||||
|
||||
8.2 Invoking PUTBOOT . . . . . . . . . . . . . . . . . . 53
|
||||
.bp
|
||||
.ft vii
|
||||
.ce
|
||||
.sh
|
||||
Appendixes
|
||||
.qs
|
||||
.sp 3
|
||||
.sh
|
||||
A \c
|
||||
.qs
|
||||
Contents of Distribution Disks . . . . . . . . . . . . . . 55
|
||||
.sp 2
|
||||
.sh
|
||||
B \c
|
||||
.qs
|
||||
Sample BIOS Written in C . . . . . . . . . 59
|
||||
.sp 2
|
||||
.sh
|
||||
C \c
|
||||
.qs
|
||||
Dual-Processor Z8001 BIOS written in C . . . . . 67
|
||||
.sp 2
|
||||
.sh
|
||||
D \c
|
||||
.qs
|
||||
Dual-Processor Z8002 BIOS Written in C . . . . . . . . . . . . . . . . 73
|
||||
.sp 2
|
||||
.sh
|
||||
E \c
|
||||
.qs
|
||||
PUTBOOT Utility Assembly Language Source . . . . . . . . . 101
|
||||
.sp 2
|
||||
.sh
|
||||
F \c
|
||||
.qs
|
||||
CP/M-8000 Error Messages . . . . . . . . . . . . . . . . . 109
|
||||
.bp
|
||||
.ft viii
|
||||
.ce
|
||||
.sh
|
||||
Tables and Figures
|
||||
.qs
|
||||
.sp 3
|
||||
.sh
|
||||
Tables
|
||||
.qs
|
||||
.sp
|
||||
1-1. CP/M-8000 Terms . . . . . . . . . . . . . . . . . . 1
|
||||
.sp
|
||||
4-1. BIOS Register Usage . . . . . . . . . . . . . . . 14
|
||||
4-2. BIOS Functions . . . . . . . . . . . . . . . . . . 14
|
||||
4-3. CP/M-8000 Logical Device Characteristics . . . . . 33
|
||||
4-4. I/O Byte Field Definitions . . . . . . . . . . . . 34
|
||||
.sp
|
||||
5-1. Disk Parameter Header Elements . . . . . . . . . . 40
|
||||
5-2. Disk Parameter Block Fields . . . . . . . . . . . 42
|
||||
5-3. BSH and BLM Values . . . . . . . . . . . . . . . . 44
|
||||
5-4. EXM Values . . . . . . . . . . . . . . . . . . . . 45
|
||||
.sp
|
||||
A-1. Distribution Disk Contents . . . . . . . . . . . . 55
|
||||
.sp
|
||||
F-1. CP/M-8000 Error Messages . . . . . . . . . . . . . 109
|
||||
.sp 2
|
||||
.sh
|
||||
Figures
|
||||
.qs
|
||||
.sp
|
||||
1-1. CP/M-8000 Interfaces . . . . . . . . . . . . . . . 3
|
||||
1-2. Typical CP/M-8000 Memory Layout . . . . . . . . . . 4
|
||||
.sp
|
||||
4-1. Memory Region Table Format . . . . . . . . . . . . 32
|
||||
4-2. I/O Byte Fields . . . . . . . . . . . . . . . . . 34
|
||||
.sp
|
||||
5-1. Disk Parameter Header . . . . . . . . . . . . . . 40
|
||||
5-2. Sample Sector Translate Table . . . . . . . . . . 42
|
||||
5-3. Disk Parameter Block . . . . . . . . . . . . . . . 42
|
||||
.fi
|
||||
.nx one
|
||||
|
||||
Reference in New Issue
Block a user