git-svn-id: https://spexeah.com:8443/svn/Asuro@318 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -35,16 +35,44 @@ type
|
|||||||
end;
|
end;
|
||||||
PBDA = ^TBDA;
|
PBDA = ^TBDA;
|
||||||
|
|
||||||
|
TMCFG = bitpacked record
|
||||||
|
Signature : Array[0..3] of Char;
|
||||||
|
Table_Length : uint32;
|
||||||
|
Revision : Byte;
|
||||||
|
Checksum : Byte;
|
||||||
|
OEM_ID : Array[0..5] of Byte;
|
||||||
|
OEM_Table_ID : uint64;
|
||||||
|
OEM_Revision : uint32;
|
||||||
|
Creator_ID : uint32;
|
||||||
|
Creator_Revision : uint32;
|
||||||
|
Reserved : uint64;
|
||||||
|
end;
|
||||||
|
PMCFG = ^TMCFG;
|
||||||
|
|
||||||
const
|
const
|
||||||
BDA : PBDA = PBDA($C0000400);
|
BDA : PBDA = PBDA($C0000400);
|
||||||
|
|
||||||
|
var
|
||||||
|
EBDA : void;
|
||||||
|
MCFG : PMCFG;
|
||||||
|
|
||||||
procedure tick_update(data : void);
|
procedure tick_update(data : void);
|
||||||
|
procedure init();
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
console, vmemorymanager;
|
||||||
|
|
||||||
procedure tick_update(data : void);
|
procedure tick_update(data : void);
|
||||||
begin
|
begin
|
||||||
BDA^.Ticks:= BDA^.Ticks + 1;
|
BDA^.Ticks:= BDA^.Ticks + 1;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure init();
|
||||||
|
begin
|
||||||
|
console.writestringln('BDA: Loaded.');
|
||||||
|
//TO-DO search for important structures like the MCFG or the EBDA.
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
@@ -111,6 +111,8 @@ begin
|
|||||||
tss.init();
|
tss.init();
|
||||||
scheduler.init();
|
scheduler.init();
|
||||||
|
|
||||||
|
bios_data_area.init();
|
||||||
|
|
||||||
//asm INT 13 end;
|
//asm INT 13 end;
|
||||||
STI;
|
STI;
|
||||||
isr32.hook(uint32(@bios_data_area.tick_update));
|
isr32.hook(uint32(@bios_data_area.tick_update));
|
||||||
|
|||||||
Reference in New Issue
Block a user