/* bdos - call BDOS function from C/80 Version 2.0 */ #define RETCURDSK 25 #define DSKSEL 14 /* USE DIFFERENT NAME THAN BIOS CALL */ bdos(fcn, arg) /* do BDOS function fcn with arg */ unsigned fcn, arg; { switch (fcn) { /* is value already in HL? */ case 12: case 24: case 27: case 29: case 31: arg; #asm MOV D,H MOV E,L #endasm fcn; #asm MOV C,L CALL 5 ;CALL BDOS RET ;RETURN WITH RESULT IN HL #endasm default: arg; #asm MOV D,H MOV E,L #endasm fcn; #asm MOV C,L CALL 5 ;CALL BDOS MOV L,A ;PUT IT INTO HL MVI H,0 RET ;RETURN WITH RESULT IN HL #endasm } } /* end of bdos */  ETURN WITH RESULT IN HL #endasm } } /* end of bdos */