Added delay to print.
git-svn-id: https://spexeah.com:8443/svn/Asuro@68 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
1 parent
d6697f0e30
commit
d54e43cca9
24 files changed
+55
-12
No files matched your search
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
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.
Binary file not shown.
@@ -371,6 +371,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
Console_Cursor.X:= 0;
|
Console_Cursor.X:= 0;
|
||||||
console._update_cursor;
|
console._update_cursor;
|
||||||
|
psleep(500);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure _newline(); [public, alias: '_console_newline'];
|
procedure _newline(); [public, alias: '_console_newline'];
|
||||||
|
|||||||
+10
-1
@@ -11,6 +11,9 @@ unit gdt;
|
|||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
console;
|
||||||
|
|
||||||
type
|
type
|
||||||
TGDT_Entry = bitpacked record
|
TGDT_Entry = bitpacked record
|
||||||
limit_low : uint16;
|
limit_low : uint16;
|
||||||
@@ -58,10 +61,14 @@ begin
|
|||||||
gdt_entries[Gate_Number].limit_low := (Limit AND $FFFF);
|
gdt_entries[Gate_Number].limit_low := (Limit AND $FFFF);
|
||||||
gdt_entries[Gate_Number].granularity := ((Limit SHR 16) AND $0F) OR (Granularity AND $F0);
|
gdt_entries[Gate_Number].granularity := ((Limit SHR 16) AND $0F) OR (Granularity AND $F0);
|
||||||
gdt_entries[Gate_Number].access := Access;
|
gdt_entries[Gate_Number].access := Access;
|
||||||
|
console.writestring('GDT: GATE ');
|
||||||
|
console.writeint(Gate_Number);
|
||||||
|
console.writestringln(' SET.');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure init();
|
procedure init();
|
||||||
begin
|
begin
|
||||||
|
console.writestringln('GDT: INIT START.');
|
||||||
gdt_pointer.limit := (sizeof(TGDT_Entry) * 5) - 1;
|
gdt_pointer.limit := (sizeof(TGDT_Entry) * 5) - 1;
|
||||||
gdt_pointer.base := uint32(@gdt_entries);
|
gdt_pointer.base := uint32(@gdt_entries);
|
||||||
set_gate($00, $00, $00, $00, $00);
|
set_gate($00, $00, $00, $00, $00);
|
||||||
@@ -69,7 +76,9 @@ begin
|
|||||||
set_gate($02, $00, $FFFFFFFF, $92, $CF);
|
set_gate($02, $00, $FFFFFFFF, $92, $CF);
|
||||||
set_gate($03, $00, $FFFFFFFF, $FA, $CF);
|
set_gate($03, $00, $FFFFFFFF, $FA, $CF);
|
||||||
set_gate($04, $00, $FFFFFFFF, $F2, $CF);
|
set_gate($04, $00, $FFFFFFFF, $F2, $CF);
|
||||||
flush_gdt(uint32(@gdt_pointer))
|
console.writestringln('GDT: FLUSH.');
|
||||||
|
flush_gdt(uint32(@gdt_pointer));
|
||||||
|
console.writestringln('GDT: INIT END.');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
+8
-1
@@ -12,7 +12,7 @@ unit idt;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
util;
|
util, console;
|
||||||
|
|
||||||
const
|
const
|
||||||
ISR_RING_0 = $8E;
|
ISR_RING_0 = $8E;
|
||||||
@@ -52,6 +52,9 @@ begin
|
|||||||
IDT_Entries[Number].selector:= Selector;
|
IDT_Entries[Number].selector:= Selector;
|
||||||
IDT_Entries[Number].flags:= Flags;
|
IDT_Entries[Number].flags:= Flags;
|
||||||
IDT_Entries[Number].always_0:= $00;
|
IDT_Entries[Number].always_0:= $00;
|
||||||
|
console.writestring('IDT: GATE ');
|
||||||
|
console.writeint(Number);
|
||||||
|
console.writestringln(' SET.');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure load(idt_pointer : uint32); assembler; nostackframe;
|
procedure load(idt_pointer : uint32); assembler; nostackframe;
|
||||||
@@ -62,10 +65,14 @@ end;
|
|||||||
|
|
||||||
procedure init();
|
procedure init();
|
||||||
begin
|
begin
|
||||||
|
console.writestringln('IDT: INIT START.');
|
||||||
IDT_Pointer.limit:= (sizeof(TIDT_Entry) * 256) - 1;
|
IDT_Pointer.limit:= (sizeof(TIDT_Entry) * 256) - 1;
|
||||||
IDT_Pointer.base:= uint32(@IDT_Entries);
|
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, sizeof(TIDT_Entry) * 256);
|
||||||
|
console.writestringln('IDT: LOAD.');
|
||||||
load(uint32(@IDT_Pointer));
|
load(uint32(@IDT_Pointer));
|
||||||
|
console.writestringln('IDT: INIT END.');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
Loaded 20 of 24 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user