BDOS  Funciton Summary - CP/M 2.2, CP/M 3.0, MP/M 2.1

Compiled by Jim Lopushinsky

    /-----CP/M 2.2
    | /---CP/M 3.0
    | | /-MP/M 2.1
    | | |                              INPUT          RETURNED
FUNC v v v FUNCTION NAME                PARAMETERS     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/      A = char/
                                           0FEH/          status/
                                           0FDH/          none
                                           char
 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/      A = Curr User/
                                         user number      none
33  X X X Read Random                  DE = .FCB      A = Err Code
34  X X X Write Random                 DE = .FCB      A = Err Code
    /-----CP/M 2.2
    | /---CP/M 3.0
    | | /-MP/M 2.1
    | | |                              INPUT          RETURNED
FUNC v v v FUNCTION NAME                PARAMETERS     VALUES

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     A = Err Code
                                            Vector
38  - X X Access Drive                 DE = Drive     none
                                            Vector
39  - X X Free Drive                   DE = Drive     none
                                            Vector
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   A = Returned Byte
                        Block                         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         DE = .RSX PB   A = Err Code
                   Extension
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        DE = .FCB      A = Dir Code
              and Password Mode
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         DE = .Serial # Serial Number
                                            field
108  - X - Get/Set Program Return Code  DE = 0FFFFH/   HL= Ret Code/
                                            Code          none
109  - X - Get/Set Console Mode         DE = 0FFFFH/   HL= Console Mode/
                                            Mode          none
110  - X - Get/Set Output Delimiter     DE = 0FFFFH/   A = Output Delim/
                                       E = Delimiter      none
111  - X - Print Block                  DE = .CCB      none
112  - X - List Block                   DE = .CCB      none
128  - - X Absolute Memory Request      DE = .MD       A = Err Code
129  - - X Relocatable Memory Request   DE = .MD       A = Err Code
    /-----CP/M 2.2
    | /---CP/M 3.0
    | | /-MP/M 2.1
    | | |                              INPUT          RETURNED
FUNC v v v FUNCTION NAME                PARAMETERS     VALUES

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 #