diff --git a/Asuro.iso b/Asuro.iso index ffb95c25..577ae772 100644 Binary files a/Asuro.iso and b/Asuro.iso differ diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index fdf09053..9ef6d683 100755 Binary files a/iso/boot/asuro.bin and b/iso/boot/asuro.bin differ diff --git a/lib/bios_data_area.ppu b/lib/bios_data_area.ppu index 72c9a0f5..7831642b 100644 Binary files a/lib/bios_data_area.ppu and b/lib/bios_data_area.ppu differ diff --git a/lib/console.ppu b/lib/console.ppu index fec64438..23e2b516 100644 Binary files a/lib/console.ppu and b/lib/console.ppu differ diff --git a/lib/gdt.ppu b/lib/gdt.ppu index 6ac256e2..a745d4f5 100644 Binary files a/lib/gdt.ppu and b/lib/gdt.ppu differ diff --git a/lib/idt.ppu b/lib/idt.ppu index 838a56d7..35a8943e 100644 Binary files a/lib/idt.ppu and b/lib/idt.ppu differ diff --git a/lib/isr0.ppu b/lib/isr0.ppu index 1f6a494a..e13c71e2 100644 Binary files a/lib/isr0.ppu and b/lib/isr0.ppu differ diff --git a/lib/isr1.ppu b/lib/isr1.ppu index cb0ad803..9816c15e 100644 Binary files a/lib/isr1.ppu and b/lib/isr1.ppu differ diff --git a/lib/isr10.ppu b/lib/isr10.ppu index 5f41e133..74fec85e 100644 Binary files a/lib/isr10.ppu and b/lib/isr10.ppu differ diff --git a/lib/isr11.ppu b/lib/isr11.ppu index 130a78e9..9e57301c 100644 Binary files a/lib/isr11.ppu and b/lib/isr11.ppu differ diff --git a/lib/isr12.ppu b/lib/isr12.ppu index e6800806..6c2e5dea 100644 Binary files a/lib/isr12.ppu and b/lib/isr12.ppu differ diff --git a/lib/isr13.ppu b/lib/isr13.ppu index 9c139023..739007c1 100644 Binary files a/lib/isr13.ppu and b/lib/isr13.ppu differ diff --git a/lib/isr14.ppu b/lib/isr14.ppu index e09c196e..957606bf 100644 Binary files a/lib/isr14.ppu and b/lib/isr14.ppu differ diff --git a/lib/isr15.ppu b/lib/isr15.ppu index 32892333..2b6fa437 100644 Binary files a/lib/isr15.ppu and b/lib/isr15.ppu differ diff --git a/lib/isr16.ppu b/lib/isr16.ppu index a8ff1838..e4b27662 100644 Binary files a/lib/isr16.ppu and b/lib/isr16.ppu differ diff --git a/lib/isr17.ppu b/lib/isr17.ppu index 79e2ff12..29fb2fd5 100644 Binary files a/lib/isr17.ppu and b/lib/isr17.ppu differ diff --git a/lib/isr18.ppu b/lib/isr18.ppu index 8a58f237..e734762a 100644 Binary files a/lib/isr18.ppu and b/lib/isr18.ppu differ diff --git a/lib/isr2.ppu b/lib/isr2.ppu index 1ffc1972..3ee49ee9 100644 Binary files a/lib/isr2.ppu and b/lib/isr2.ppu differ diff --git a/lib/isr3.ppu b/lib/isr3.ppu index 153133e0..a001e560 100644 Binary files a/lib/isr3.ppu and b/lib/isr3.ppu differ diff --git a/lib/isr32.ppu b/lib/isr32.ppu index bc3a79ab..bdf5dca6 100644 Binary files a/lib/isr32.ppu and b/lib/isr32.ppu differ diff --git a/lib/isr33.ppu b/lib/isr33.ppu index 97a2aa0e..422d3ba1 100644 Binary files a/lib/isr33.ppu and b/lib/isr33.ppu differ diff --git a/lib/isr4.ppu b/lib/isr4.ppu index 87b7ba72..e2faa7fa 100644 Binary files a/lib/isr4.ppu and b/lib/isr4.ppu differ diff --git a/lib/isr40.ppu b/lib/isr40.ppu index 53cb9322..401088bd 100644 Binary files a/lib/isr40.ppu and b/lib/isr40.ppu differ diff --git a/lib/isr5.ppu b/lib/isr5.ppu index f9d07977..435d9a44 100644 Binary files a/lib/isr5.ppu and b/lib/isr5.ppu differ diff --git a/lib/isr6.ppu b/lib/isr6.ppu index 6ed41bdf..622eb9d2 100644 Binary files a/lib/isr6.ppu and b/lib/isr6.ppu differ diff --git a/lib/isr7.ppu b/lib/isr7.ppu index 7363402c..1b8f0b24 100644 Binary files a/lib/isr7.ppu and b/lib/isr7.ppu differ diff --git a/lib/isr8.ppu b/lib/isr8.ppu index cb75a45c..320f3bd5 100644 Binary files a/lib/isr8.ppu and b/lib/isr8.ppu differ diff --git a/lib/isr9.ppu b/lib/isr9.ppu index abd8fba6..54e271e3 100644 Binary files a/lib/isr9.ppu and b/lib/isr9.ppu differ diff --git a/lib/isr_types.ppu b/lib/isr_types.ppu index 949f9b43..92bc9c0b 100644 Binary files a/lib/isr_types.ppu and b/lib/isr_types.ppu differ diff --git a/lib/libpconsole.a b/lib/libpconsole.a index 2aeb8cc2..5c7203f7 100644 Binary files a/lib/libpconsole.a and b/lib/libpconsole.a differ diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index e519fed5..59146226 100644 Binary files a/lib/libpmultiboot.a and b/lib/libpmultiboot.a differ diff --git a/lib/libpsystem.a b/lib/libpsystem.a index dc873635..cca9c7dc 100644 Binary files a/lib/libpsystem.a and b/lib/libpsystem.a differ diff --git a/lib/multiboot.ppu b/lib/multiboot.ppu index e6705609..0868deab 100644 Binary files a/lib/multiboot.ppu and b/lib/multiboot.ppu differ diff --git a/lib/system.o b/lib/system.o index 8f12afb5..6ca0cb08 100644 Binary files a/lib/system.o and b/lib/system.o differ diff --git a/lib/system.ppu b/lib/system.ppu index d4e11b22..c581bc58 100644 Binary files a/lib/system.ppu and b/lib/system.ppu differ diff --git a/lib/util.ppu b/lib/util.ppu index 6a1298a2..5f622c9c 100644 Binary files a/lib/util.ppu and b/lib/util.ppu differ diff --git a/src/isr.pas b/src/isr.pas index 47625206..5cad005b 100644 --- a/src/isr.pas +++ b/src/isr.pas @@ -16,7 +16,7 @@ uses ISR0, ISR1, ISR2, ISR3, ISR4, ISR5, ISR6, ISR7, ISR8, ISR9, ISR10, ISR11, ISR12, ISR13, ISR14, ISR15, ISR16, ISR17, ISR18, ISR32, ISR33, - ISR40; + ISR40, ISR45; procedure init(); @@ -48,6 +48,7 @@ begin ISR32.register(); // 55ms Timer ISR33.register(); // Keyboard ISR40.register(); // 1024/s Timer + ISR45.register(); // Mouse console.writestringln('ISR: INIT END.'); end; diff --git a/src/isr/isr32.pas b/src/isr/isr32.pas index fbf0b1e6..f335a734 100644 --- a/src/isr/isr32.pas +++ b/src/isr/isr32.pas @@ -29,9 +29,14 @@ var procedure Main; interrupt; //IRQ0, 1024.19hz aprox var i : integer; + regs : PRegisters; begin CLI; + asm + MOV EAX, EBP + MOV Regs, EAX + end; for i:=0 to MAX_HOOKS-1 do begin if uint32(Hooks[i]) <> 0 then begin Hooks[i](nil); diff --git a/src/isr/isr46.pas b/src/isr/isr46.pas index e1653ced..17fa53ff 100644 --- a/src/isr/isr46.pas +++ b/src/isr/isr46.pas @@ -41,7 +41,7 @@ end; procedure register(); begin memset(uint32(@Hooks[0]), 0, sizeof(pp_hook_method)*MAX_HOOKS); - IDT.set_gate(18, uint32(@Main), $08, ISR_RING_0); + IDT.set_gate(46, uint32(@Main), $08, ISR_RING_0); end; procedure hook(hook_method : uint32); diff --git a/src/system.pas b/src/system.pas index 25eeeae0..d652cb9e 100644 --- a/src/system.pas +++ b/src/system.pas @@ -65,6 +65,11 @@ type UBit28 = 0..(1 shl 28) - 1; UBit30 = 0..(1 shl 30) - 1; + TBitMask = bitpacked record + b7,b6,b5,b4,b3,b2,b1,b0 : Boolean; + end; + PBitMask = ^TBitMask; + implementation end.