Digital Research
This commit is contained in:
2020-11-06 18:50:37 +01:00
parent 621ed8ccaf
commit 31738079c4
8481 changed files with 1888323 additions and 0 deletions

View File

@@ -0,0 +1,306 @@
.mt 6
.mb 6
.pl 66
.ll 65
.po 10
.nf
.hm 2
.fm 2
.he ********** MP/M-86 Seminar Notes **********
.f<> Al<41> Informatio<69> Herei<65> i<> Proprietar<61> T<> Digita<74> Research<63> 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