Hello Rainer, Wednesday, August 09, 2006, 7:07:13 PM, you wrote:
RS> Hello Alexey, RS> the program is changed now, but is has the same effect. RS> May be it has to do with the special role of the timer interrupt. There is nothing really special about it. Int 1Ch is not even a hardware interrupt. RS> Best regards RS> Rainer RS> program time; RS> uses crt,dos,go32; RS> var timervar:longint; RS> procedure hardtime; interrupt; RS> begin RS> inc(timervar); RS> end; RS> var RS> htimeivecbak : tseginfo; // old Interrupt Vector RS> htimeivec : tseginfo; // new Interrupt Vector RS> const int_vectime = $1c; RS> procedure starttim; RS> begin RS> get_pm_interrupt(int_vectime,htimeivecbak); RS> htimeivec.offset:[EMAIL PROTECTED]; RS> htimeivec.segment:=get_ds; This one should be get_cs, not get_ds. The procedure code must be executed from the code segment, not from the data segment. While physically the segments do overlap, selector values and access rights are different. -- Best regards, Alexey _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal