CP/M 2.2, CP/M 3.0, MP/M 2.1 Compiled by Jim Lopushinsky Notation: .something means the address of something. |
Supported by (X) | ||||||
---|---|---|---|---|---|---|
FUNC | CP/M 2.2 | CP/M 3.0 | MP/M 2.1 | FUNCTION NAME | INPUT PARAMETERS | RETURNED VALUES |
0 | X | X | X | System Reset | none | none |
1 | X | X | X | Console Input | none | A = char |
2 | X | X | X | Console Output | E = char | none |
3 | X | X | - | Auxiliary Input | none | A = char |
3 | - | - | X | Raw Console Input | none | A = char |
4 | X | X | - | Auxiliary Output | E = char | none |
4 | - | - | X | Raw Console Output | E = char | none |
5 | X | X | X | List Output | E = char | none |
6 | X | X | X | Direct Console I/O | E = 0FFH/ 0FEH/ 0FDH/ char |
A = char/ status/ none |
7 | X | - | - | Get I/O Byte | none | A = IOBYTE |
7 | - | X | - | Auxiliary Input Status | none | A = 00/0FFH |
8 | X | - | - | Set I/O Byte | E = IOBYTE | none |
8 | - | X | - | Auxiliary Output Status | none | A = 00/0FFH |
9 | X | X | X | Print String | DE = .String | none |
10 | X | X | X | Read Console Buffer | DE = .Buffer | Characters in buffer |
11 | X | X | X | Get Console Status | none | A = 00/01 |
12 | X | X | X | Return Version Number | none | HL = Version |
13 | X | X | X | Reset Disk System | none | see def |
14 | X | X | X | Select Disk | E = Disk Number | see def |
15 | X | X | X | Open File | DE = .FCB | A = Dir Code |
16 | X | X | X | Close File | DE = .FCB | A = Dir Code |
17 | X | X | X | Search for First | DE = .FCB | A = Dir Code |
18 | X | X | X | Search for Next | none | A = Dir Code |
19 | X | X | X | Delete File | DE = .FCB | A = Dir Code |
20 | X | X | X | Read Sequential | DE = .FCB | A = Err Code |
21 | X | X | X | Write Sequential | DE = .FCB | A = Err Code |
22 | X | X | X | Make File | DE = .FCB | A = Dir Code |
23 | X | X | X | Rename File | DE = .FCB | A = Dir Code |
24 | X | X | X | Return Login Vector | none | HL= Login Vector |
25 | X | X | X | Return Current Disk | none | A = Cur Disk # |
26 | X | X | X | Set DMA Address | DE = .DMA | none |
27 | X | X | X | Get Addr (Alloc) | none | HL= .Alloc |
28 | X | X | X | Write Protect Disk | none | none |
29 | X | X | X | Get R/O Vector | none | HL= R/O Vector |
30 | X | X | X | Set File Attributes | DE = .FCB | A = Dir Code |
31 | X | X | X | Get Addr (DPB) | none | HL= .DPB |
32 | X | X | X | Set/Get User Code | E = 0FFH/ user number |
A = Curr User/ none |
33 | X | X | X | Read Random | DE = .FCB | A = Err Code |
34 | X | X | X | Write Random | DE = .FCB | A = Err Code |
35 | X | X | X | Compute File Size | DE = .FCB | r0, r1, r2 |
36 | X | X | X | Set Random Record | DE = .FCB | r0, r1, r2 |
37 | X | X | X | Reset Drive | DE = Drive Vector | A = Err Code |
38 | - | X | X | Access Drive | DE = Drive Vector | none |
39 | - | X | X | Free Drive | DE = Drive Vector | none |
40 | X | X | X | Write Random with Zero Fill | DE = .FCB | A = Err Code |
41 | - | - | X | Test and Write Record | DE = .FCB | HL= Err Code |
41 | - | X | - | Test and Write Record | DE = .FCB | A = 0FFH |
42 | - | X | X | Lock Record | DE = .FCB | HL = Err Code |
43 | - | X | X | Unlock Record | DE = .FCB | HL = Err Code |
44 | - | X | X | Set Multi-sector Count | E = # Sectors | A = Return Code |
45 | - | X | X | Set BDOS Error Mode | E = Err Mode | none |
46 | - | X | X | Get Disk Free Space | E = Drive # | Number of Free Sectors |
47 | - | X | X | Chain to Program | E = Chain Flg | none |
48 | - | X | X | Flush Buffers | E = Purge Flg | A = Err Flag |
49 | - | X | - | Get/Set System Control | DE = .SCB PB Block | A = Returned Byte HL= Returned Word |
50 | - | X | - | Direct Bios Calls | DE = .BIOS PB | BIOS Return |
59 | - | X | - | Load Overlay | DE = .FCB | A = Err Code |
60 | - | X | - | Call Resident System Extension | DE = .RSX PB | A = Err Code |
98 | - | X | - | Free Blocks | none | none |
99 | - | X | - | Truncate File | DE = .FCB | A = Dir Code |
100 | - | X | X | Set Directory Label | DE = .FCB | A = Dir Code |
101 | - | X | X | Return Directory Label Data | E = Drive | A = Label Data |
102 | - | X | X | Read File Date Stamps and Password Mode | DE = .FCB | A = Dir Code |
103 | - | X | X | Write File XFCB | DE = .FCB | A = Dir Code |
104 | - | X | X | Set Date and Time | DE = .DAT | none |
105 | - | X | X | Get Date and Time | DE = .DAT | Date and Time A = seconds |
106 | - | X | X | Set Default Password | DE = .Passwrd | none |
107 | - | X | X | Return Serial Number | none | DE = .Serial # Serial Number field |
108 | - | X | - | Get/Set Program Return Code | DE = 0FFFFH/ Code |
HL= Ret Code/ none |
109 | - | X | - | Get/Set Console Mode | DE = 0FFFFH/ Mode |
HL= Console Mode/ none |
110 | - | X | - | Get/Set Output Delimiter | DE = 0FFFFH/ E = Delimiter |
A = Output Delim/ none |
111 | - | X | - | Print Block | DE = .CCB | none |
112 | - | X | - | List Block | DE = .CCB | none |
The MP/M functions | ||||||
128 | - | - | X | Absolute Memory Request | DE = .MD | A = Err Code |
129 | - | - | X | Relocatable Memory Request | DE = .MD | A = Err Code |
130 | - | - | X | Memory Free | DE = .MD | none |
131 | - | - | X | Poll | E = Device | none |
132 | - | - | X | Flag Wait | E = Flag | A = Err Code |
133 | - | - | X | Flag Set | E = Flag | A = Err Code |
134 | - | - | X | Make Queue | DE = .QCB | none |
135 | - | - | X | Open Queue | DE = .UQCB | A = Err Code |
136 | - | - | X | Delete Queue | DE = .QCB | A = Err Code |
137 | - | - | X | Read Queue | DE = .UQCB | none |
138 | - | - | X | Conditional Read Queue | DE = .UQCB | A = Err Code |
139 | - | - | X | Write Queue | DE = .UQCB | none |
140 | - | - | X | Conditional Write Queue | DE = .UQCB | A = Err Code |
141 | - | - | X | Delay | DE = # ticks | none |
142 | - | - | X | Dispatch | none | none |
143 | - | - | X | Terminate Process | E = Term. Code | none |
144 | - | - | X | Create Process | DE = .PD | none |
145 | - | - | X | Set Priority | E = Priority | none |
146 | - | - | X | Attach Console | none | none |
147 | - | - | X | Detach Console | none | none |
148 | - | - | X | Set Console | E = Console | none |
149 | - | - | X | Assign Console | DE = .APB | A = Err Code |
150 | - | - | X | Send CLI Command | DE = .CLICMD | none |
151 | - | - | X | Call Resident Sys Proc | DE = .CPB | HL= result |
152 | - | X | X | Parse Filename | DE = .PFCB | see def |
153 | - | - | X | Get Console Number | none | A = Console # |
154 | - | - | X | System Data Address | none | HL= Sys Data Addr |
155 | - | - | X | Get Date and Time | DE = .TOD | date and time |
156 | - | - | X | Return Process Descriptor | none | HL= PD Addr |
157 | - | - | X | Abort Specified Process | DE = .ABT PB | A = Err Code |
158 | - | - | X | Attach List | none | none |
159 | - | - | X | Detach List | none | none |
160 | - | - | X | Set List | E = List # | none |
161 | - | - | X | Conditional Attach List | none | A = Err Code |
162 | - | - | X | Conditional Attach Console | none | A = Err Code |
163 | - | - | X | MPM Version Number | none | HL= Version # |
164 | - | - | X | Get List Number | none | A = List # |