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 #