[Back to TIMING SWAG index] [Back to Main SWAG index] [Original]
{
> Does anyone know how to give up your free time under dv or dv/x? Or make
> these programs desqview aware?
DONATED TO THE PUBLIC DOMAIN by Danny Melton
}
program YourProgramHere;
uses
  DOS, CRT;
const
  MultiTasking : boolean = false;
function UnderDV : boolean;
var
  R : registers;
begin
  if MultiTasking then
    exit;
  R.AX := $1022;
  R.BX := $0000;
  intr($15, R);
  MultiTasking := boolean(R.BX <> 0);
  UnderDV := MultiTasking;
end;
procedure GiveUpTimeSlice;
var
  R : registers;
begin
  if not MultiTasking then
    exit;
  R.AX := $1000;
  intr($15, R);
end;
begin
  if UnderDV then
    writeln('Running under a multi-tasker.');
  writeln('Press a key when ready');
  while not keypressed do
    GiveUpTimeSlice;
  writeln('You pressed a key.');
end.
[Back to TIMING SWAG index] [Back to Main SWAG index] [Original]