git-svn-id: https://spexeah.com:8443/svn/Asuro@318 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
1 parent
fa11f01e09
commit
9f7cefa506
12 files changed
+30
No files matched your search
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