On 12/5/2012 23:53, Chad Berchek wrote:
Perhaps it would be sufficient to supply the time value from another source
converted to the units the other code is expecting to see. Assuming the
frequency for the BIOS timer is about 18.2 Hz:
function TimeCounter: LongInt;
begin
Result := LongInt(Round(GetTickCount * 18.2065 / 1000));
end;
wherein GetTickCount is a function returning a value in milliseconds.
this is pretty much what i have thought about doing...
However you'd have to be careful of the overflow wrap around and see if the
old code can handle it.
that routine follows... it doesn't seem to be all that fancy, though...
Function TimeOut(Time:LongInt):Boolean;
Var
TimeDiff: LongInt;
Begin
TimeDiff := Time - TimeCounter;
If TimeDiff < 0 Then
TimeOut := True
Else
Begin
If (TimeDiff > 780000) Then
Dec(TimeDiff, 1572480);
If TimeDiff < 0 Then
TimeOut := True
Else
TimeOut := False;
End;
End;
On 12/5/2012 6:25 PM, waldo kitty wrote:
Var
TimeCounter: LongInt Absolute $40:$6C;
FPC tells me the following...
MKDOS.PAS(14,36) Fatal: Syntax error, ";" expected but ":" found
i know this is using direct access to the timer ticker from the BIOS but
at this time, i don't know how to best handle it in FPC...
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal