diff --git a/src/drivers/isr32.pas b/src/drivers/isr32.pas index 00eab659..83bc08a7 100644 --- a/src/drivers/isr32.pas +++ b/src/drivers/isr32.pas @@ -20,7 +20,7 @@ implementation procedure Main; interrupt; //IRQ0, called every 55ms begin CLI; - if(proc_ptr <> nil) then begin + if(procedure_ptr <> nil) then begin procedure_ptr(); end; outb($0020, $20); diff --git a/src/drivers/isr33.pas b/src/drivers/isr33.pas index 2191da03..30254a50 100644 --- a/src/drivers/isr33.pas +++ b/src/drivers/isr33.pas @@ -7,9 +7,11 @@ uses console, IDT; +type + pp_int : procedure(byte); + var - last_key : byte; - //func pointer to active application + procedure_ptr : pp_int = nil; procedure register(); @@ -18,7 +20,9 @@ implementation procedure Main; interrupt; //IRQ1, Keyboard Interrupt begin CLI; - last_key = inb($60); + if(procedure_ptr <> nil) tehn begin + procedure_ptr(inb($60)); + end; outb($0020, $20); end;