mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-24 08:54:17 +00:00
306 lines
8.9 KiB
TeX
306 lines
8.9 KiB
TeX
.mt 6
|
||
.mb 6
|
||
.pl 66
|
||
.ll 65
|
||
.po 10
|
||
.nf
|
||
.hm 2
|
||
.fm 2
|
||
.he ********** MP/M-86 Seminar Notes **********
|
||
.fô Alì Informatioî Hereiî ió Proprietarù Tï Digitaì Research¬ Inc.
|
||
.nf
|
||
.bp 1
|
||
.sp 2
|
||
.ce
|
||
.sh
|
||
C O N T E N T S
|
||
.ce
|
||
.sh
|
||
===============
|
||
.sp 2
|
||
o MP/M-86 Overview
|
||
|
||
o MP/M-86 Plug Compatible Modules
|
||
o MP/M-86 Memory Layout
|
||
o Common Module Interfaces
|
||
o Sysdat Data Area (SYSDAT)
|
||
|
||
o SUP
|
||
|
||
o MP/M-86 Table Driven Functions
|
||
o CLI Command
|
||
o Program Chain
|
||
o Parse Filename
|
||
o Program Load
|
||
o Call Resident Procedure Library
|
||
|
||
o RTM
|
||
|
||
o Queues
|
||
o Process Descriptor
|
||
o Parent-Child Relationship
|
||
|
||
o MEM
|
||
|
||
o Program Interface
|
||
o Extended Fixed Partitions
|
||
o MAU
|
||
o Shared Memory, Shared Code
|
||
|
||
o CIO
|
||
|
||
o Raw console mode
|
||
|
||
o RSP's
|
||
|
||
o Memory Models
|
||
o Multiple Copies
|
||
|
||
o TMP
|
||
|
||
o Functional Description
|
||
o LOGIN, Autoload, User Protection
|
||
|
||
o Run Time Systems
|
||
|
||
o XIOS
|
||
|
||
o INIT
|
||
o ENTRY
|
||
o Polled I/O
|
||
o Flag Set/Wait
|
||
o Interrupt handlers
|
||
o Console, List Device functions
|
||
o Memory functions
|
||
o Real Time, Clock functions
|
||
o Disk functions
|
||
|
||
o GENSYS
|
||
|
||
o MPMLDR
|
||
|
||
o LDRBIOS
|
||
|
||
o XIOS Debugging
|
||
|
||
o Memory Layout
|
||
o MP/M-86 under CP/M-86 using DDT-86
|
||
o MP/M-86 under MP/M-86
|
||
o Interrupts
|
||
|
||
o Appendices
|
||
|
||
o XIOS listing
|
||
o TMP listing
|
||
o ECHO listing
|
||
o CLOCK listing
|
||
.pa
|
||
.ce 100
|
||
.sp 5
|
||
.sh
|
||
M P / M - 8 6 O V E R V I E W
|
||
.sh
|
||
===============================
|
||
.sp 2
|
||
+-------+ +-----------+ +--------+ \
|
||
| | | | | | \
|
||
USER --> | TMP | --> | MP/M-86 | --> | XIOS | --> HARDWARE\
|
||
| | | | | | \
|
||
+-------+ +-----------+ +--------+ \
|
||
.sp 8
|
||
.sh
|
||
MP/M-86 "Plug-Compatible" Modules
|
||
.sh
|
||
---------------------------------
|
||
.sp 2
|
||
+-------+ +--------+ +--------+\
|
||
| | <--> | RTM | <--> | |\
|
||
| | +--------+ | |\
|
||
| | | |\
|
||
| | +--------+ | |\
|
||
| | <--> | MEM | <--> | |\
|
||
| | +--------+ | |\
|
||
| SUP | | XIOS |\
|
||
| | +--------+ | |\
|
||
| | <--> | CIO | <--> | |\
|
||
| | +--------+ | |\
|
||
| | | |\
|
||
| | +--------+ | |\
|
||
| | <--> | BDOS | <--> | |\
|
||
+-------+ +--------+ +--------+\
|
||
.ce 0
|
||
.pa
|
||
.sp 2
|
||
.ce 100
|
||
.sh
|
||
MP/M-86 Memory Layout
|
||
.sh
|
||
---------------------
|
||
.sp 2
|
||
+-------------------+ HIGH \
|
||
| | \
|
||
/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/ \
|
||
/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/ \
|
||
| | \
|
||
| TPA | \
|
||
| | \
|
||
+---+---------------+ \
|
||
| | | \
|
||
| | RSP's | \
|
||
| | | \
|
||
+ |---------------+ \
|
||
| O | Table | | \
|
||
| p |-----------| | \
|
||
| e | XIOS | | \
|
||
| r |-----------| D | \
|
||
| a | BDOS | | \
|
||
| t |-----------| A | \
|
||
| i | MEM | | \
|
||
| n |-----------| T | \
|
||
| g | RTM | | \
|
||
| |-----------| A | \
|
||
| S | SUP | | \
|
||
| y |-----------| | \
|
||
| s | SYSDAT | | \
|
||
+ t |-----------+---+ \
|
||
| e | XIOS | | \
|
||
| m |-----------| | \
|
||
| | BDOS | C | \
|
||
| A |-----------| | \
|
||
| r | CIO | O | \
|
||
| e |-----------| | \
|
||
| a | MEM | D | \
|
||
| |-----------| | \
|
||
| | RTM | E | \
|
||
| |-----------| | \
|
||
| | SUP | | \
|
||
+---+---------------+ \
|
||
| | \
|
||
| TPA | \
|
||
| | \
|
||
/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/ \
|
||
/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/ \
|
||
| | \
|
||
+-------------------+ \
|
||
| Interrupt Vectors | \
|
||
+-------------------+ LOW \
|
||
.ce 0
|
||
.pa
|
||
.sp 2
|
||
.ce 2
|
||
.sh
|
||
MP/M-86 Module Interface
|
||
.sh
|
||
------------------------
|
||
.sp 5
|
||
CSEG
|
||
ORG 0
|
||
|
||
JMP INIT ; Initialization Routine
|
||
JMP ENTRY ; Module Entry Point
|
||
|
||
SYSDAT RW 1 ; Sysdat Segment Address
|
||
SUPERVISOR RW 2 ; Far Address to Supervisor Entry Point
|
||
|
||
INIT: ; Initialization Code
|
||
.
|
||
.
|
||
.
|
||
RETF
|
||
|
||
ENTRY: ; Intermodule Entry Point
|
||
.
|
||
.
|
||
.
|
||
RETF
|
||
.pa
|
||
.sp 2
|
||
.ce 2
|
||
.sh
|
||
MP/M-86 System Data Area (SYSDAT)
|
||
.sh
|
||
---------------------------------
|
||
.sp
|
||
.ce 100
|
||
+------+------+------+------+------+------+------+------+\
|
||
00 | SUP Entry | SUP Init |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
08 | RTM Entry | RTM Init |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
10 | MEM Entry | MEM Init |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
18 | CIO Entry | CIO Init |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
20 | BDOS Entry | BDOS Init |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
28 | XIOS Entry | XIOS Init |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
30 | NETWORK Entry | NETWORK Init |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
38 | DISPATCHER | PDISP |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
40 | MPMSEG | RSPSEG | ENDSEG | MOD- | NCNS |\
|
||
| | | | MAP | |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
48 | NLST | NCCB | NUM- |SYS- | MMP | RES- | DAY |\
|
||
| | | FLAGS| DRIVE| | ERVED| FILE |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
50 | TEMP | TICKS| FREE-ROOT | CCB | FLAGS |\
|
||
| DISK | /SEC |LOCKED-UNUSED| | |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
58 | MDUL | MFL | PUL | QUL |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
60 | QMAU |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
68 | RLR | DLR | DRL | PLR |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
70 | RESERVED | THRDRT | QLR | MAL |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
78 | VERSION | VERNUM | MPM VERNUM | TOD-DAY |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
80 | TOD- | TOD- | TOD- | NCON-| NLST-| NCIO-| RESERVED |\
|
||
| HR | MIN | SEC | DEV | DEV | DEV | |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
88 | RESERVED | LOCK-MAX | OPEN-MAX | RESERVED |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
90 | RESERVED |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
98 | RESERVED |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
A0 | FUNCTION TABLE |\
|
||
| |\
|
||
+------+------+------+------+------+------+------+------+\
|
||
.ce 0
|
||
.pa
|
||
.sp 2
|
||
.ce 2
|
||
.sh
|
||
MP/M-86 Supervisor Module (SUP)
|
||
.sh
|
||
===============================
|
||
.sp 2
|
||
o Maps user functions into module functions
|
||
|
||
o Contains non-kernel functions
|
||
|
||
o Supports the network interface
|
||
|
||
o Intermodule function interface
|
||
|
||
o Initialization
|
||
|
||
o User Program Interface
|
||
|
||
o Contains non-kernel functions (do not use resources directly)
|
||
|
||
o Command Line Interpreter (CLI)
|
||
o Program Chain
|
||
o Parse Filename
|
||
o Program Load
|
||
o Call Resident Procedure Library
|
||
o Version functions
|
||
o Call BIOS function
|
||
o Get Sysdat Address
|
||
o Get TOD Address
|
||
o Return Serial Number
|
||
|