Contributor: KAI ROHRBACHER { KAI ROHRBACHER > What bios are you using? It's an AMI-BIOS, dated 03-06-1992; but I ran the same code on an old Tandon-AT (with BIOS from 1987) w/o problems, too! > Do you have any other timing code? Not at hand; one could reProgram the trigger rate of timer 0 to be faster than 1/18.2 sec, but in my experience, this results in even more incompatibilities when interfacing the Unit to others. } Function BIOScompatible : Boolean; Var Flag : Byte; p : Pointer; begin Flag := 0; p := @Flag; if AT then Asm STI xor CX, CX MOV DX, 1 LES BX, p MOV AX, 8300h {trigger 1 microsecond} INT 15h @L11: end; Delay(1); {wait 1 ms:} BIOScompatible := Flag = $80; {has flag been set?} end; { ...results in False For you, I can't do much! However, I'll add the above routine to disable the timing mechanism in that Case to prevent the endless loop, at least. }