BDOS Function Summary

CP/M 2.2, CP/M 3.0, MP/M 2.1

Compiled by Jim Lopushinsky

Notation:

.something means the address of something.

     /-----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

 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

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 #




Valid XHTML 1.0!