;************************************************************************ ; * ; BDOS functions (cp/m 3.0) * ; * ;************************************************************************ BDOS EQU 5 SYSRST EQU 0 ;warmstart RDCON EQU 1 ;wait for & read console character WRCON EQU 2 ;write to console RDAUX EQU 3 ;wait for & read aux WRAUX EQU 4 ;write to aux LIST EQU 5 ;write to list device DRCON EQU 6 ;direct console i/o character or ; ff=read ; fe=status only ; fd=wait for input AUXINS EQU 7 ;aux in status AUXOTS EQU 8 ;aux out status PRTSTR EQU 9 ;de=string RDBUFF EQU 10 ;de=buffer max, count, c1,c2,... CONST EQU 11 ;console in status GETVER EQU 12 ;return version in HL DSKRST EQU 13 ;reset disk system SELDSK EQU 14 ;select disk 0=a: OPENF EQU 15 ;open file de=fcb CLOSEF EQU 16 ;close file SRCHF EQU 17 ;search for first occurance SRCHN EQU 18 ;find next occurance DELETE EQU 19 ;delete file READ EQU 20 ;read sequential WRITE EQU 21 ;write sequential MAKE EQU 22 ;make file RENAME EQU 23 ;rename file new name at fcb+16 LOGINV EQU 24 ;return login vector in hl CURDSK EQU 25 ;return current disk in a SETDMA EQU 26 ;set new dma GETALV EQU 27 ;get allocation vector address WRTPRT EQU 28 ;write protect current disk ROVEC EQU 29 ;get r/o vector in hl SETFLG EQU 30 ;set file attributes GETDPB EQU 31 ;return dpb address USER EQU 32 ;get/set user ff=get RDRAND EQU 33 ;read random record WRRAND EQU 34 ;write random record FLSIZE EQU 35 ;compute file size SETRAN EQU 36 ;set random record from last sequential read RSTDRV EQU 37 ;reset drive ACCDRV EQU 38 ;mpm only - access drive FREEDR EQU 39 ;mpm only - free drive WRRAN0 EQU 40 ;fill a random record with 0 TSTWRT EQU 41 ;mpm only - test and write LOCK EQU 42 ;mpm only - lock record UNLOCK EQU 43 ;mpm only - unlock record MULTIS EQU 44 ;set multi sector count ERRMOD EQU 45 ;set bdos error mode FREESP EQU 46 ;return free space in 1st 3 bytes of dma CHAIN EQU 47 ;chain to pgm name in def buff (80h) FLUSH EQU 48 ;flush buffers SCB EQU 49 ;get set scb de=.scb pb db offset ; db ffh set byte ; feh set word ; 00h get ; dw value DRBIOS EQU 50 ;direct bios call de=.bios pb db bios func # ; db = A ; dw =BC ; dw =DE ; dw =HL LDOVL EQU 59 ;load overlay CALRSX EQU 60 ;call rsx de=.rsx pb db rsx func # ; db # of word parameters ; dw p1 ; dw p2 FRBLKS EQU 98 ;free temporary blocks TRUNF EQU 99 ;truncate file SETLAB EQU 100 ;set directory label DIRLAB EQU 101 ;return directory label data e=drive RDSTMP EQU 102 ;read file stamps & password mode WRXFCB EQU 103 SETDAT EQU 104 RDTIME EQU 105 DEFPWD EQU 106 ;set def password RETSN EQU 107 ;return serial number address RETCOD EQU 108 ;get/set return code CONMOD EQU 109 ;get/set console mode DELIM EQU 110 ;get/set string output delimiter PRTBLK EQU 111 ;print block de = ccb dw=address ; dw=length LSTBLK EQU 112 ;list block PARSE EQU 152 ;parse file name de=pfcb dw=input addr RESTART EQU 0 ;jump address for warm boot.