Metropoli BBS
VIEWER: oma.pas MODE: TEXT (ASCII)
unit oma;
interface

function  keypressed:boolean;                          {crt-keypressed clone}
function  readkey:char;                                   {crt-readkey clone}
procedure retrace;                                         {vertical retrace}
procedure setmode(mode:byte);                               {int 10h-setmode}

implementation

function readkey:char; assembler;
asm
 mov ax,$0700;
 int $21;
end; {return code to AL}

procedure retrace; assembler;
asm
 mov dx,3dah;
@vert1:
 in al,dx;
 test al,8;
 jz @vert1
@vert2:
 in al,dx;
 test al,8;
 jnz @vert2;
end;

function keypressed:boolean; assembler;
asm
 mov ah,0bh;
 int 21h;
 and al,0feh;
end;

procedure setmode(mode:byte); assembler;
asm
 mov al,[mode];
 xor ah,ah;
 int 10h;
end;

end.
[ RETURN TO DIRECTORY ]