program DV_Intf; {DesqView interface} { these are Turbo routines to talk to DesqView from a program that writes directly to screen } var test: integer; MsDosRegs: RECORD CASE INTEGER OF 1: ( AX, BX, CX, DX, BP, SI, DI, DS, ES, Flags: INTEGER); 2: ( AL, AH, BL, BH, CL, CH, DL, DH: BYTE); END; function DV_check : boolean; begin with msdosregs do BEGIN AX := $2B01; CX := $4445; {'DE'} dx := $5351; {'SQ'} msdos(msdosregs); {using 'desq' for date gives result} DV_CHECK := (al <> $ff); {if al <> $ff then DQ is running} end; end; function DV_GET_Buffer(dispseg: integer) : integer; begin with msdosregs do begin if DV_check then begin es := dispseg; di := 0; {setup buffer address to disp buffer} ax := $fe00; intr($10,msdosregs); dv_get_buffer := es; end else dv_get_buffer := dispseg; end; end; begin if DV_check then begin test := dv_get_buffer($b800); end; end. P, SI, DI, DS, ES, Flags: INTEGER); 2: ( AL, AH, BL, BH, CL, CH, DL, DH: BYTE); END; function DV_check : boolean; begin with msdosregs do BEGIN AX := $2B01; CX := $4445; {'DE'} dx := $5351; {'SQ'} msdos(msdosregs); {using 'desq' for date gives result} DV_CHECK := (al <> $ff); {if al <> $ff then DQ is running} end; end; function DV_GET_Buffer(dispseg: integer) : integer; begin with msdosregs do begin if DV_check then begin es := dispseg; di := 0; {setup buffer address to disp buffer} ax