we
git-svn-id: https://spexeah.com:8443/svn/Asuro@205 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
1 parent
5912e3b228
commit
82c557ecab
53 files changed
+131
-17
No files matched your search
+119
-15
File diff suppressed because it is too large.
Load diff
@@ -42,17 +42,24 @@ procedure register();
|
||||
var
|
||||
status : uint8;
|
||||
bm : PBitMask;
|
||||
ak : uint8;
|
||||
|
||||
begin
|
||||
memset(uint32(@Hooks[0]), 0, sizeof(pp_hook_method)*MAX_HOOKS);
|
||||
IDT.set_gate(45, uint32(@Main), $08, ISR_RING_0);
|
||||
outb($64, $20);
|
||||
status:= inb($64);
|
||||
ak:= inb($64);
|
||||
console.writebin8ln(status);
|
||||
bm:= PBitMask(@status);
|
||||
bm^.b1:= true;
|
||||
bm^.b5:= false;
|
||||
console.writebin8ln(status);
|
||||
//while true do begin end;
|
||||
outb($64, $60);
|
||||
ak:= inb($64);
|
||||
outb($60, status);
|
||||
ak:= inb($60);
|
||||
end;
|
||||
|
||||
procedure hook(hook_method : uint32);
|
||||
|
||||
+1
-1
@@ -69,6 +69,7 @@ begin
|
||||
console.writestringlnex('GDT: LOAD FAIL.', console.combinecolors(Red, Black));
|
||||
halt_and_catch_fire;
|
||||
end;
|
||||
|
||||
idt.init();
|
||||
isr.init();
|
||||
irq.init();
|
||||
@@ -79,7 +80,6 @@ begin
|
||||
scheduler.init();
|
||||
|
||||
//asm INT 13 end;
|
||||
|
||||
STI;
|
||||
isr32.hook(uint32(@bios_data_area.tick_update));
|
||||
|
||||
|
||||
+4
-1
@@ -66,10 +66,13 @@ type
|
||||
UBit30 = 0..(1 shl 30) - 1;
|
||||
|
||||
TBitMask = bitpacked record
|
||||
b7,b6,b5,b4,b3,b2,b1,b0 : Boolean;
|
||||
b0,b1,b2,b3,b4,b5,b6,b7 : Boolean;
|
||||
end;
|
||||
PBitMask = ^TBitMask;
|
||||
|
||||
TMask = bitpacked array[0..7] of Boolean;
|
||||
PMask = ^TMask;
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
Reference in new issue
Block a user