mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-27 10:24:19 +00:00
Upload
Digital Research
This commit is contained in:
235
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/15/mpmuga-f.tex
Normal file
235
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/15/mpmuga-f.tex
Normal file
@@ -0,0 +1,235 @@
|
||||
.MB +5
|
||||
.MT -3
|
||||
.LL 65
|
||||
.PN 116
|
||||
.HE MP/M User's Guide
|
||||
.FT (All Information Herein is Proprietary to Digital Research.)
|
||||
.sp 2
|
||||
.ce
|
||||
APPENDIX A: Flag Assignments
|
||||
.LI
|
||||
|
||||
|
||||
+----+
|
||||
| 0 | Reserved
|
||||
+----+
|
||||
| 1 | System time unit tick
|
||||
+----+
|
||||
| 2 | One second interval
|
||||
+----+
|
||||
| 3 | One minute interval
|
||||
+----+
|
||||
| 4 | Undefined
|
||||
|
||||
| | Undefined
|
||||
+----+
|
||||
| 31 | Undefined
|
||||
+----+
|
||||
|
||||
.AD
|
||||
.bp
|
||||
.sp 2
|
||||
.ce
|
||||
APPENDIX B: Process Priority Assignments
|
||||
.LI
|
||||
|
||||
0 - 31 : Interrupt handlers
|
||||
|
||||
32 - 63 : System processes
|
||||
|
||||
64 - 197 : Undefined
|
||||
|
||||
198 : Teminal message processes
|
||||
|
||||
199 : Command line interpreter
|
||||
|
||||
200 : Default user priority
|
||||
|
||||
201 - 254 : User processes
|
||||
|
||||
255 : Idle process
|
||||
|
||||
.AD
|
||||
.bp
|
||||
.sp 2
|
||||
.ce
|
||||
APPENDIX C: BDOS Function Summary
|
||||
.sp 2
|
||||
.li
|
||||
FUNC FUNCTION NAME INPUT PARAMETERS OUTPUT RESULTS
|
||||
---- --------------------- ---------------- --------------
|
||||
0 System Reset none none
|
||||
1 Console Input none A = char
|
||||
2 Console Output E = char none
|
||||
3 Raw Console Input none A = char
|
||||
4 Raw Console Output E = char none
|
||||
5 List Output E = char none
|
||||
6 Direct Console I/O see def see def
|
||||
7 ** Not supported **
|
||||
8 ** Not supported **
|
||||
9 Print String DE = .Buffer none
|
||||
10 Read Console Buffer DE = .Buffer see def
|
||||
11 Get Console Status none A = 00/01
|
||||
12 Return Version Number none HL= Version #
|
||||
13 Reset Disk System none see def
|
||||
14 Select Disk E = Disk Number see def
|
||||
15 Open File DE = .FCB A = Dir Code
|
||||
16 Close File DE = .FCB A = Dir Code
|
||||
17 Search for First DE = .FCB A = Dir Code
|
||||
18 Search for Next none A = Dir Code
|
||||
19 Delete File DE = .FCB A = Dir Code
|
||||
20 Read Sequential DE = .FCB A = Err Code
|
||||
21 Write Sequential DE = .FCB A = Err Code
|
||||
22 Make File DE = .FCB A = Dir Code
|
||||
23 Rename File DE = .FCB A = Dir Code
|
||||
24 Return Login Vector none HL= Login Vect*
|
||||
25 Return Current Disk none A = Cur Disk#
|
||||
26 Set DMA Address DE = .DMA none
|
||||
27 Get Addr(Alloc) none HL= .Alloc
|
||||
28 Write Protect Disk none see def
|
||||
29 Get R/O Vector none HL= R/O Vect*
|
||||
30 Set File Attributes DE = .FCB see def
|
||||
31 Get Addr(disk parms) none HL= .DPB
|
||||
32 Set/Get User Code see def see def
|
||||
33 Read Random DE = .FCB A = Err Code
|
||||
34 Write Random DE = .FCB A = Err Code
|
||||
35 Compute File Size DE = .FCB r0, r1, r2
|
||||
36 Set Random Record DE = .FCB r0, r1, r2
|
||||
37 Reset Drive DE = drive vctr A = Err Code
|
||||
38 Access Drive DE = drive vctr none
|
||||
39 Free Drive DE = drive vctr none
|
||||
40 Write Random zerofill DE = .FCB A = Err Code
|
||||
.sp 2
|
||||
* Note that A = L, and B = H upon return
|
||||
.bp
|
||||
.sp 2
|
||||
.ce
|
||||
APPENDIX D: XDOS Function Summary
|
||||
.sp 3
|
||||
.li
|
||||
FUNC FUNCTION NAME INPUT PARAMETERS OUTPUT RESULTS
|
||||
---- --------------------- ---------------- --------------
|
||||
128 Absolute Memory Rqst DE = .MD A = err code
|
||||
129 Relocatable Mem Rqst DE = .MD A = err code
|
||||
130 Memory Free DE = .MD none
|
||||
131 Poll E = Device none
|
||||
132 Flag Wait E = Flag A = err code
|
||||
133 Flag Set E = Flag A = err code
|
||||
134 Make Queue DE = .QCB none
|
||||
135 Open Queue DE = .UQCB A = err code
|
||||
136 Delete Queue DE = .QCB A = err code
|
||||
137 Read Queue DE = .UQCB none
|
||||
138 Conditional Read Que DE = .UQCB A = err code
|
||||
139 Write Queue DE = .UQCB none
|
||||
140 Conditional Write Que DE = .UQCB A = err code
|
||||
141 Delay DE = #ticks none
|
||||
142 Dispatch none none
|
||||
143 Terminate Process E = Term. code none
|
||||
144 Create Process DE = .PD none
|
||||
145 Set Priority E = Priority none
|
||||
146 Attach Console none none
|
||||
147 Detach Console none none
|
||||
148 Set Console E = Console none
|
||||
149 Assign Console DE = .APB A = err code
|
||||
150 Send CLI Command DE = .CLICMD none
|
||||
151 Call Resident Sys Pr DE = .CPB HL = result
|
||||
152 Parse Filename DE = .PFCB see def
|
||||
153 Get Console Number none A = console #
|
||||
154 System Data Address none HL = sys data adr
|
||||
155 Get Date and Time DE = .TOD none
|
||||
156 Return Proc. Dsc. Adr none HL = proc descr adr
|
||||
157 Abort Spec. Process DE = .ABTPB A = err code
|
||||
.ad
|
||||
.sp
|
||||
.bp
|
||||
.sp 2
|
||||
.ce
|
||||
APPENDIX E: Memory Segment Base Page Reserved Locations
|
||||
.sp
|
||||
.pp
|
||||
Each memory segment base page, between locations 00H and 0FFH, contains
|
||||
code and data which are used during MP/M
|
||||
processing. The code and data areas are given below for reference purposes.
|
||||
.sp
|
||||
.in 4
|
||||
Locations Contents
|
||||
.br
|
||||
from to
|
||||
.in 22
|
||||
.ti 4
|
||||
0000H - 0002H Contains a jump instruction to XDOS which terminates
|
||||
the process. This allows simple process termination by executing a
|
||||
JMP 0000H.
|
||||
.sp
|
||||
.ti 4
|
||||
0005H - 0007H Contains a jump instruction to the BDOS & XDOS, and serves
|
||||
two purposes: JMP 0005H provides the primary entry point to the
|
||||
BDOS & XDOS, and LHLD
|
||||
0006H brings the address field of the instruction to the HL register
|
||||
pair. This value is the top of the memory segment in which the
|
||||
program is executing. Note that the DDT program
|
||||
will change the address field to reflect the reduced memory size in
|
||||
debug mode.
|
||||
.sp
|
||||
.ti 4
|
||||
0008H - 003AH (interrupt locations 1 through 7 not used)
|
||||
However, one restart must be selected for use by the debugger and
|
||||
specified during system generation.
|
||||
.sp
|
||||
.ti 4
|
||||
003BH - 003FH (not currently used - reserved)
|
||||
.sp
|
||||
.ti 4
|
||||
0040H - 004FH 16 byte area reserved for scratch, but is
|
||||
not used for any purpose in the distribution version of MP/M
|
||||
.sp
|
||||
.ti 4
|
||||
0050H - 005BH (not currently used - reserved)
|
||||
.sp
|
||||
.ti 4
|
||||
005CH - 007CH default file control block produced for a transient
|
||||
program by the command line interpreter.
|
||||
.sp
|
||||
.ti 4
|
||||
007DH - 007FH Optional default random record position
|
||||
.sp
|
||||
.ti 4
|
||||
0080H - 00FFH default 128 byte disk buffer (also filled with the
|
||||
command line when a transient is loaded under the CLI).
|
||||
.qi
|
||||
.bp
|
||||
.sp 2
|
||||
.ce
|
||||
Appendix F: Operation of MP/M on the Intel MDS-800
|
||||
.sp 2
|
||||
.pp
|
||||
This section gives operating procedures for using MP/M on the Intel
|
||||
MDS microcomputer development system. A basic knowledge of the MDS
|
||||
hardware and software systems is assumed.
|
||||
.pp
|
||||
MP/M is initiated in essentially the same manner as Intel's ISIS
|
||||
operating system. The disk drives labelled 0 through 3 on the MDS,
|
||||
correspond to MP/M drives A through D, respectively. The MP/M
|
||||
system diskette is inserted into drive 0, and the BOOT and RESET
|
||||
switches are depressed in sequence. The interrupt 2 light should go
|
||||
on at this point. The space bar is then depressed on either console
|
||||
device, and the light should go out. The BOOT switch is then turned
|
||||
off, and the MP/M sign-on message should appear at both consoles,
|
||||
followed by the "0A>" for the CRT or "1A>" for the TTY. The user
|
||||
can then issue MP/M commands.
|
||||
.pp
|
||||
Use of the interrupt switches on the front panel is not recommended.
|
||||
Effective 'warm-starts' should be initiated at the console by
|
||||
aborting the running program rather than pushing the INT 0 switch.
|
||||
Also, depending on the choice of restart for the debugger the INT
|
||||
switch which will invoke the debugger is not necessarily #7.
|
||||
.pp
|
||||
Diskettes should not be removed from the drives until the user verifies
|
||||
that there are no other users with open files on the disk. This can
|
||||
be done with the 'DSKRESET' command.
|
||||
.pp
|
||||
When performing GENSYS operations on the MDS-800, make certain that
|
||||
a negative response is always made to the Z80 CPU question. Responding
|
||||
with a 'Y' will lead to unpredictable results.
|
||||
.br
|
||||
|
||||
Reference in New Issue
Block a user