mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-26 09:54:20 +00:00
235 lines
8.4 KiB
TeX
235 lines
8.4 KiB
TeX
.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
|
||
|