git-svn-id: https://spexeah.com:8443/svn/Asuro@584 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
parent
dcc996b6fd
commit
0901d1e009
BIN
bin/kernel.bin
BIN
bin/kernel.bin
Binary file not shown.
Binary file not shown.
BIN
lib/ACE.ppu
BIN
lib/ACE.ppu
Binary file not shown.
BIN
lib/BPE.ppu
BIN
lib/BPE.ppu
Binary file not shown.
BIN
lib/BTSSE.ppu
BIN
lib/BTSSE.ppu
Binary file not shown.
BIN
lib/CFE.ppu
BIN
lib/CFE.ppu
Binary file not shown.
BIN
lib/CSOE.ppu
BIN
lib/CSOE.ppu
Binary file not shown.
BIN
lib/DBGE.ppu
BIN
lib/DBGE.ppu
Binary file not shown.
BIN
lib/DBZ.ppu
BIN
lib/DBZ.ppu
Binary file not shown.
BIN
lib/DFE.ppu
BIN
lib/DFE.ppu
Binary file not shown.
BIN
lib/E1000.ppu
BIN
lib/E1000.ppu
Binary file not shown.
BIN
lib/GPF.ppu
BIN
lib/GPF.ppu
Binary file not shown.
BIN
lib/IDE.ppu
BIN
lib/IDE.ppu
Binary file not shown.
BIN
lib/IDOE.ppu
BIN
lib/IDOE.ppu
Binary file not shown.
BIN
lib/IOPE.ppu
BIN
lib/IOPE.ppu
Binary file not shown.
BIN
lib/MCE.ppu
BIN
lib/MCE.ppu
Binary file not shown.
BIN
lib/NCE.ppu
BIN
lib/NCE.ppu
Binary file not shown.
BIN
lib/NMIE.ppu
BIN
lib/NMIE.ppu
Binary file not shown.
BIN
lib/OOBE.ppu
BIN
lib/OOBE.ppu
Binary file not shown.
BIN
lib/PCI.ppu
BIN
lib/PCI.ppu
Binary file not shown.
BIN
lib/PF.ppu
BIN
lib/PF.ppu
Binary file not shown.
Binary file not shown.
BIN
lib/RTC.ppu
BIN
lib/RTC.ppu
Binary file not shown.
BIN
lib/SFE.ppu
BIN
lib/SFE.ppu
Binary file not shown.
BIN
lib/SNPE.ppu
BIN
lib/SNPE.ppu
Binary file not shown.
Binary file not shown.
BIN
lib/UIE.ppu
BIN
lib/UIE.ppu
Binary file not shown.
BIN
lib/USB.ppu
BIN
lib/USB.ppu
Binary file not shown.
BIN
lib/arp.ppu
BIN
lib/arp.ppu
Binary file not shown.
BIN
lib/asuro.ppu
BIN
lib/asuro.ppu
Binary file not shown.
BIN
lib/console.ppu
BIN
lib/console.ppu
Binary file not shown.
Binary file not shown.
BIN
lib/fat32.ppu
BIN
lib/fat32.ppu
Binary file not shown.
BIN
lib/idt.ppu
BIN
lib/idt.ppu
Binary file not shown.
BIN
lib/ipv4.ppu
BIN
lib/ipv4.ppu
Binary file not shown.
BIN
lib/irq.ppu
BIN
lib/irq.ppu
Binary file not shown.
Binary file not shown.
BIN
lib/kernel.ppu
BIN
lib/kernel.ppu
Binary file not shown.
BIN
lib/keyboard.ppu
BIN
lib/keyboard.ppu
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/libpsystem.a
BIN
lib/libpsystem.a
Binary file not shown.
BIN
lib/lists.ppu
BIN
lib/lists.ppu
Binary file not shown.
Binary file not shown.
BIN
lib/mouse.ppu
BIN
lib/mouse.ppu
Binary file not shown.
BIN
lib/netutils.ppu
BIN
lib/netutils.ppu
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/strings.ppu
BIN
lib/strings.ppu
Binary file not shown.
BIN
lib/terminal.ppu
BIN
lib/terminal.ppu
Binary file not shown.
BIN
lib/tracer.ppu
BIN
lib/tracer.ppu
Binary file not shown.
BIN
lib/util.ppu
BIN
lib/util.ppu
Binary file not shown.
Binary file not shown.
@ -3,11 +3,11 @@ unit asuro;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
const
|
const
|
||||||
VERSION = '1.0.0-580a';
|
VERSION = '1.0.0-583a';
|
||||||
VERSION_MAJOR = '1';
|
VERSION_MAJOR = '1';
|
||||||
VERSION_MINOR = '0';
|
VERSION_MINOR = '0';
|
||||||
VERSION_SUB = '0';
|
VERSION_SUB = '0';
|
||||||
REVISION = '580';
|
REVISION = '583';
|
||||||
RELEASE = 'a';
|
RELEASE = 'a';
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
@ -44,6 +44,7 @@ procedure halt_and_catch_fire();
|
|||||||
procedure halt_and_dont_catch_fire();
|
procedure halt_and_dont_catch_fire();
|
||||||
procedure BSOD(fault : pchar; info : pchar);
|
procedure BSOD(fault : pchar; info : pchar);
|
||||||
procedure psleep(t : uint16);
|
procedure psleep(t : uint16);
|
||||||
|
procedure sleep(seconds : uint32);
|
||||||
|
|
||||||
function BCDToUint8(bcd : uint8) : uint8;
|
function BCDToUint8(bcd : uint8) : uint8;
|
||||||
|
|
||||||
@ -54,7 +55,30 @@ var
|
|||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
console;
|
console, RTC;
|
||||||
|
|
||||||
|
procedure sleep1;
|
||||||
|
var
|
||||||
|
DateTimeStart, DateTimeEnd : TDateTime;
|
||||||
|
|
||||||
|
|
||||||
|
begin
|
||||||
|
DateTimeStart:= getDateTime;
|
||||||
|
DateTimeEnd:= DateTimeStart;
|
||||||
|
while DateTimeStart.seconds = DateTimeEnd.seconds do begin
|
||||||
|
DateTimeEnd:= getDateTime;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure sleep(seconds : uint32);
|
||||||
|
var
|
||||||
|
i : uint32;
|
||||||
|
|
||||||
|
begin
|
||||||
|
for i:=1 to seconds do begin
|
||||||
|
sleep1;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
function INTE : boolean;
|
function INTE : boolean;
|
||||||
var
|
var
|
||||||
|
@ -86,72 +86,6 @@ begin
|
|||||||
pop_trace;
|
pop_trace;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure outputChar(c : char; x : uint8; y : uint8; fgcolor : uint16; bgcolor : uint16);
|
|
||||||
var
|
|
||||||
dest : puint16;
|
|
||||||
dest32 : puint32;
|
|
||||||
fgcolor32, bgcolor32 : uint32;
|
|
||||||
mask : puint32;
|
|
||||||
i : uint32;
|
|
||||||
|
|
||||||
begin
|
|
||||||
fgcolor32:= fgcolor OR (fgcolor SHL 8) OR (fgcolor SHL 16) OR (fgcolor SHL 24);
|
|
||||||
bgcolor32:= bgcolor OR (bgcolor SHL 8) OR (bgcolor SHL 16) OR (bgcolor SHL 24);
|
|
||||||
mask:= puint32(@Std_Mask[uint32(c) * (16 * 8)]);
|
|
||||||
dest:= puint16(multibootinfo^.framebuffer_addr);
|
|
||||||
dest:= dest + (y*(1280 * 16)) + (x * 8);
|
|
||||||
dest32:= puint32(dest);
|
|
||||||
for i:=0 to 15 do begin
|
|
||||||
dest32[(i*640)+0]:= (bgcolor32 AND NOT(mask[(i*4)+0])) OR (fgcolor32 AND mask[(i*4)+0]);
|
|
||||||
dest32[(i*640)+1]:= (bgcolor32 AND NOT(mask[(i*4)+1])) OR (fgcolor32 AND mask[(i*4)+1]);
|
|
||||||
dest32[(i*640)+2]:= (bgcolor32 AND NOT(mask[(i*4)+2])) OR (fgcolor32 AND mask[(i*4)+2]);
|
|
||||||
dest32[(i*640)+3]:= (bgcolor32 AND NOT(mask[(i*4)+3])) OR (fgcolor32 AND mask[(i*4)+3]);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure GraphicsTesting();
|
|
||||||
var
|
|
||||||
i : uint32;
|
|
||||||
z : uint32;
|
|
||||||
atmp : puint32;
|
|
||||||
fb : puint32;
|
|
||||||
val : uint32;
|
|
||||||
test : pchar = 'helloworld';
|
|
||||||
mask : puint32;
|
|
||||||
|
|
||||||
begin
|
|
||||||
fb:= puint32(uint32(multibootinfo^.framebuffer_addr));
|
|
||||||
kpalloc(uint32(fb));
|
|
||||||
|
|
||||||
outputChar('T', 0, 0, $FFFF, $0000);
|
|
||||||
outputChar('E', 0, 1, $FFFF, $0000);
|
|
||||||
outputChar('S', 0, 2, $FFFF, $0000);
|
|
||||||
outputChar('T', 0, 3, $FFFF, $0000);
|
|
||||||
outputChar('E', 1, 0, $FFFF, $0000);
|
|
||||||
outputChar('S', 2, 0, $FFFF, $0000);
|
|
||||||
outputChar('T', 3, 0, $FFFF, $0000);
|
|
||||||
|
|
||||||
{mask:= puint32(@Std_Mask[uint32(test[0]) * (16 * 8)]);
|
|
||||||
for i:=0 to 15 do begin
|
|
||||||
fb[(i*640)+0]:= mask[(i*4)+0];
|
|
||||||
fb[(i*640)+1]:= mask[(i*4)+1];
|
|
||||||
fb[(i*640)+2]:= mask[(i*4)+2];
|
|
||||||
fb[(i*640)+3]:= mask[(i*4)+3];
|
|
||||||
end;}
|
|
||||||
|
|
||||||
//for z:=0 to 15 do begin
|
|
||||||
// for i:=0 to 8 do begin
|
|
||||||
// val:= $0000;
|
|
||||||
// //if ((Std_Font[(37*16)+z] SHR i) AND $1) = $1 then val:= $FFFF;
|
|
||||||
//
|
|
||||||
// //if ((Std_Font[(38 * 16)+z]) AND ($1 SHL ((8-i)+1))) > 0 then val:= $FFFF;
|
|
||||||
// //if val <> 0 then fb[(z * 1280)+i]:= val;
|
|
||||||
// end;
|
|
||||||
//end;
|
|
||||||
while true do begin
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure kmain(mbinfo: Pmultiboot_info_t; mbmagic: uint32); stdcall; [public, alias: 'kmain'];
|
procedure kmain(mbinfo: Pmultiboot_info_t; mbmagic: uint32); stdcall; [public, alias: 'kmain'];
|
||||||
var
|
var
|
||||||
c : uint8;
|
c : uint8;
|
||||||
@ -209,16 +143,14 @@ begin
|
|||||||
irq.init();
|
irq.init();
|
||||||
isrmanager.init();
|
isrmanager.init();
|
||||||
faults.init();
|
faults.init();
|
||||||
|
RTC.init();
|
||||||
pmemorymanager.init();
|
pmemorymanager.init();
|
||||||
vmemorymanager.init();
|
vmemorymanager.init();
|
||||||
lmemorymanager.init();
|
lmemorymanager.init();
|
||||||
tss.init();
|
tss.init();
|
||||||
scheduler.init();
|
scheduler.init();
|
||||||
|
|
||||||
{ Graphics Mode Test Stuff }
|
|
||||||
//GraphicsTesting();
|
|
||||||
{ Console Init }
|
{ Console Init }
|
||||||
//windowmanager.init();
|
|
||||||
console.init();
|
console.init();
|
||||||
|
|
||||||
{ Call Tracer }
|
{ Call Tracer }
|
||||||
@ -232,8 +164,6 @@ begin
|
|||||||
storagemanagement.init();
|
storagemanagement.init();
|
||||||
tracer.pop_trace;
|
tracer.pop_trace;
|
||||||
|
|
||||||
RTC.init();
|
|
||||||
|
|
||||||
{ Hook Timer for Ticks }
|
{ Hook Timer for Ticks }
|
||||||
tracer.push_trace('kmain.TMR');
|
tracer.push_trace('kmain.TMR');
|
||||||
STI;
|
STI;
|
||||||
@ -273,30 +203,19 @@ begin
|
|||||||
console.setdefaultattribute(console.combinecolors($17E0, $0000));
|
console.setdefaultattribute(console.combinecolors($17E0, $0000));
|
||||||
console.writestringln('Asuro Booted Correctly!');
|
console.writestringln('Asuro Booted Correctly!');
|
||||||
console.setdefaultattribute(console.combinecolors($FFFF, $0000));
|
console.setdefaultattribute(console.combinecolors($FFFF, $0000));
|
||||||
//if INTE then console.writestringln('Interrupts are enabled.') else console.writestringln('Interrupts are disabled.');
|
|
||||||
console.writestringln('');
|
console.writestringln('');
|
||||||
console.writestringln('Press any key to boot in to Asuro Terminal...');
|
console.writestringln('Press any key to boot in to Asuro Terminal...');
|
||||||
tracer.pop_trace;
|
tracer.pop_trace;
|
||||||
|
|
||||||
//writeint(DateTime.Hours);
|
|
||||||
//writestring(':');
|
|
||||||
//writeintln(DateTime.Minutes);
|
|
||||||
|
|
||||||
tracer.push_trace('kmain.KEYHOOK');
|
tracer.push_trace('kmain.KEYHOOK');
|
||||||
keyboard.hook(@temphook);
|
keyboard.hook(@temphook);
|
||||||
tracer.pop_trace;
|
tracer.pop_trace;
|
||||||
|
|
||||||
tracer.push_trace('kmain.END');
|
tracer.push_trace('kmain.END');
|
||||||
|
|
||||||
//outputCharToScreenSpace(char(0), 10, 10, $FFFF);
|
|
||||||
|
|
||||||
while true do begin
|
while true do begin
|
||||||
console.redrawWindows;
|
console.redrawWindows;
|
||||||
//windowmanager.redraw();
|
|
||||||
//mouse.DrawCursor();
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
//util.halt_and_dont_catch_fire;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user