Fix.
git-svn-id: https://spexeah.com:8443/svn/Asuro@75 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
parent
c528e72f4a
commit
886e6a8cdf
BIN
bin/kernel.bin
BIN
bin/kernel.bin
Binary file not shown.
Binary file not shown.
BIN
lib/idt.ppu
BIN
lib/idt.ppu
Binary file not shown.
BIN
lib/isr0.ppu
BIN
lib/isr0.ppu
Binary file not shown.
BIN
lib/kernel.o
BIN
lib/kernel.o
Binary file not shown.
BIN
lib/kernel.ppu
BIN
lib/kernel.ppu
Binary file not shown.
BIN
lib/libpkernel.a
BIN
lib/libpkernel.a
Binary file not shown.
@ -41,6 +41,7 @@ end;
|
||||
|
||||
procedure register();
|
||||
begin
|
||||
memset(uint32(@Hooks[0]), 0, sizeof(pp_hook_method)*MAX_HOOKS);
|
||||
IDT.set_gate(0, uint32(@Main), $08, ISR_RING_0);
|
||||
end;
|
||||
|
||||
@ -53,7 +54,10 @@ begin
|
||||
if uint32(Hooks[i]) = hook_method then exit;
|
||||
end;
|
||||
for i:=0 to MAX_HOOKS-1 do begin
|
||||
if uint32(Hooks[i]) = 0 then Hooks[i]:= pp_hook_method(hook_method);
|
||||
if uint32(Hooks[i]) = 0 then begin
|
||||
Hooks[i]:= pp_hook_method(hook_method);
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
@ -69,7 +69,7 @@ begin
|
||||
IDT_Pointer.limit:= (sizeof(TIDT_Entry) * 256) - 1;
|
||||
IDT_Pointer.base:= uint32(@IDT_Entries);
|
||||
console.writestringln('IDT: CLEAR.');
|
||||
util.memset(uint32(@IDT_Entries), 0, sizeof(TIDT_Entry) * 256);
|
||||
util.memset(uint32(@IDT_Entries[0]), 0, sizeof(TIDT_Entry) * 256);
|
||||
console.writestringln('IDT: LOAD.');
|
||||
load(uint32(@IDT_Pointer));
|
||||
console.writestringln('IDT: INIT END.');
|
||||
|
@ -9,6 +9,7 @@ uses
|
||||
idt,
|
||||
isr,
|
||||
irq,
|
||||
isr0,
|
||||
console,
|
||||
bios_data_area,
|
||||
keyboard;
|
||||
@ -17,6 +18,11 @@ procedure kmain(mbinfo: Pmultiboot_info_t; mbmagic: uint32); stdcall;
|
||||
|
||||
implementation
|
||||
|
||||
procedure test(data : void);
|
||||
begin
|
||||
console.writestringln('It works.');
|
||||
end;
|
||||
|
||||
procedure kmain(mbinfo: Pmultiboot_info_t; mbmagic: uint32); stdcall; [public, alias: 'kmain'];
|
||||
var
|
||||
c : uint8;
|
||||
@ -72,6 +78,10 @@ begin
|
||||
console.writeint(((mbinfo^.mem_upper + 1000) div 1024) +1);
|
||||
console.writestringln('MB');
|
||||
console.setdefaultattribute(console.combinecolors(lYellow, Black));
|
||||
|
||||
isr0.hook(uint32(@test));
|
||||
asm INT 0 end;
|
||||
|
||||
util.halt_and_dont_catch_fire;
|
||||
end;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user