git-svn-id: https://spexeah.com:8443/svn/Asuro@621 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
parent
21545f3e18
commit
440417547f
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.
Binary file not shown.
BIN
lib/console.o
BIN
lib/console.o
Binary file not shown.
BIN
lib/console.ppu
BIN
lib/console.ppu
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/eth2.ppu
BIN
lib/eth2.ppu
Binary file not shown.
BIN
lib/fat32.ppu
BIN
lib/fat32.ppu
Binary file not shown.
BIN
lib/faults.ppu
BIN
lib/faults.ppu
Binary file not shown.
BIN
lib/fonts.ppu
BIN
lib/fonts.ppu
Binary file not shown.
BIN
lib/gdt.ppu
BIN
lib/gdt.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.
BIN
lib/isr.ppu
BIN
lib/isr.ppu
Binary file not shown.
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/memview.ppu
BIN
lib/memview.ppu
Binary file not shown.
BIN
lib/mouse.ppu
BIN
lib/mouse.ppu
Binary file not shown.
Binary file not shown.
BIN
lib/net.ppu
BIN
lib/net.ppu
Binary file not shown.
BIN
lib/nettypes.ppu
BIN
lib/nettypes.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/serial.ppu
BIN
lib/serial.ppu
Binary file not shown.
Binary file not shown.
BIN
lib/strings.ppu
BIN
lib/strings.ppu
Binary file not shown.
BIN
lib/system.o
BIN
lib/system.o
Binary file not shown.
BIN
lib/system.ppu
BIN
lib/system.ppu
Binary file not shown.
BIN
lib/terminal.ppu
BIN
lib/terminal.ppu
Binary file not shown.
Binary file not shown.
BIN
lib/tracer.ppu
BIN
lib/tracer.ppu
Binary file not shown.
BIN
lib/tss.ppu
BIN
lib/tss.ppu
Binary file not shown.
BIN
lib/util.ppu
BIN
lib/util.ppu
Binary file not shown.
Binary file not shown.
162
src/console.pas
162
src/console.pas
@ -108,6 +108,7 @@ procedure _newline();
|
|||||||
{ WND Specific }
|
{ WND Specific }
|
||||||
|
|
||||||
procedure clearWND(WND : uint32);
|
procedure clearWND(WND : uint32);
|
||||||
|
procedure clearWNDEx(WND : uint32; attributes : uint32);
|
||||||
|
|
||||||
procedure writecharWND(character : char; WND : uint32);
|
procedure writecharWND(character : char; WND : uint32);
|
||||||
procedure writecharlnWND(character : char; WND : uint32);
|
procedure writecharlnWND(character : char; WND : uint32);
|
||||||
@ -154,6 +155,7 @@ procedure writebin32exWND(b : uint32; attributes: uint32; WND : uint32);
|
|||||||
procedure writebin32lnexWND(b : uint32; attributes: uint32; WND : uint32);
|
procedure writebin32lnexWND(b : uint32; attributes: uint32; WND : uint32);
|
||||||
|
|
||||||
procedure backspaceWND(WND : uint32);
|
procedure backspaceWND(WND : uint32);
|
||||||
|
procedure setCursorPosWND(x : uint32; y : uint32; WND : HWND);
|
||||||
|
|
||||||
procedure _increment_x_WND(WND : uint32);
|
procedure _increment_x_WND(WND : uint32);
|
||||||
procedure _increment_y_WND(WND : uint32);
|
procedure _increment_y_WND(WND : uint32);
|
||||||
@ -185,6 +187,13 @@ function newWindow(x : uint32; y : uint32; Width : uint32; Height : uint32; Tit
|
|||||||
function registerEventHandler(WND : HWND; Event : TEventType; Handler : void) : boolean;
|
function registerEventHandler(WND : HWND; Event : TEventType; Handler : void) : boolean;
|
||||||
procedure forceQuitAll;
|
procedure forceQuitAll;
|
||||||
procedure closeWindow(WND : HWND);
|
procedure closeWindow(WND : HWND);
|
||||||
|
procedure bordersEnabled(WND : HWND; enabled : boolean);
|
||||||
|
procedure SetShellWindow(WND : HWND; b : boolean);
|
||||||
|
function getWindowName(WND : HWND) : pchar;
|
||||||
|
|
||||||
|
procedure _MouseDown();
|
||||||
|
procedure _MouseUp();
|
||||||
|
procedure _MouseClick(left : boolean);
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
@ -258,6 +267,7 @@ type
|
|||||||
Hooks : THooks;
|
Hooks : THooks;
|
||||||
Closed : boolean;
|
Closed : boolean;
|
||||||
Border : boolean;
|
Border : boolean;
|
||||||
|
ShellWND : boolean;
|
||||||
end;
|
end;
|
||||||
PWindow = ^TWindow;
|
PWindow = ^TWindow;
|
||||||
|
|
||||||
@ -286,6 +296,110 @@ var
|
|||||||
Window_Border : TCharacter;
|
Window_Border : TCharacter;
|
||||||
Default_Char : TCharacter;
|
Default_Char : TCharacter;
|
||||||
WindowTitleMask : TMask;
|
WindowTitleMask : TMask;
|
||||||
|
WindowMask : TMask;
|
||||||
|
MouseDown : Boolean;
|
||||||
|
WindowMovePos : TMouseCoord;
|
||||||
|
MovingWindow : uint32;
|
||||||
|
|
||||||
|
|
||||||
|
procedure _MouseDown();
|
||||||
|
begin
|
||||||
|
MouseDown:= true;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure _MouseUp();
|
||||||
|
begin
|
||||||
|
MouseDown:= false;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure _MouseClick(left : boolean);
|
||||||
|
begin
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
function getWindowName(WND : HWND) : pchar;
|
||||||
|
var
|
||||||
|
Window : PWindow;
|
||||||
|
|
||||||
|
begin
|
||||||
|
getWindowName:= nil;
|
||||||
|
Window:= WindowManager.Windows[WND];
|
||||||
|
if Window <> nil then begin
|
||||||
|
if Window^.ShellWND then begin
|
||||||
|
getWindowName:= Window^.WND_NAME;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure SetShellWindow(WND : HWND; b : boolean);
|
||||||
|
var
|
||||||
|
Window : PWindow;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Window:= WindowManager.Windows[WND];
|
||||||
|
if Window <> nil then begin
|
||||||
|
Window^.ShellWND:= b;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure bordersEnabled(WND : HWND; enabled : boolean);
|
||||||
|
var
|
||||||
|
Window : PWindow;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Window:= WindowManager.Windows[WND];
|
||||||
|
if Window <> nil then begin
|
||||||
|
Window^.Border:= enabled;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure setCursorPosWND(x : uint32; y : uint32; WND : HWND);
|
||||||
|
var
|
||||||
|
Window : PWindow;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Window:= WindowManager.Windows[WND];
|
||||||
|
if Window <> nil then begin
|
||||||
|
while x > 159 do dec(x);
|
||||||
|
while y > 63 do dec(y);
|
||||||
|
Window^.Cursor.x:= x;
|
||||||
|
Window^.Cursor.y:= y;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure setWindowPosition(WND : HWND; x, y : sint32);
|
||||||
|
var
|
||||||
|
Window : PWindow;
|
||||||
|
nx, ny : sint32;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Window:= WindowManager.Windows[WND];
|
||||||
|
If Window <> nil then begin
|
||||||
|
nx:= x;
|
||||||
|
ny:= y;
|
||||||
|
if Window^.Border then begin
|
||||||
|
if nx < 2 then nx:= 2;
|
||||||
|
if ny < 1 then ny:= 1;
|
||||||
|
while (nx + Window^.WND_W + 2) > 159 do begin
|
||||||
|
dec(nx);
|
||||||
|
end;
|
||||||
|
while (ny + Window^.WND_H + 1) > 63 do begin
|
||||||
|
dec(ny);
|
||||||
|
end;
|
||||||
|
end else begin
|
||||||
|
if nx < 0 then nx:= 0;
|
||||||
|
if ny < 0 then ny:= 0;
|
||||||
|
while (nx + Window^.WND_W) > 159 do begin
|
||||||
|
dec(nx);
|
||||||
|
end;
|
||||||
|
while (ny + Window^.WND_H) > 63 do begin
|
||||||
|
dec(ny);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
Window^.WND_X:= nx;
|
||||||
|
Window^.WND_Y:= ny;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
function registerEventHandler(WND : HWND; Event : TEventType; Handler : void) : boolean;
|
function registerEventHandler(WND : HWND; Event : TEventType; Handler : void) : boolean;
|
||||||
begin
|
begin
|
||||||
@ -332,6 +446,7 @@ begin
|
|||||||
WND^.visible:= true;
|
WND^.visible:= true;
|
||||||
WND^.Closed:= false;
|
WND^.Closed:= false;
|
||||||
WND^.Border:= true;
|
WND^.Border:= true;
|
||||||
|
WND^.ShellWND:= true;
|
||||||
WND^.Hooks.OnDraw := nil;
|
WND^.Hooks.OnDraw := nil;
|
||||||
WND^.Hooks.OnMouseClick := nil;
|
WND^.Hooks.OnMouseClick := nil;
|
||||||
WND^.Hooks.OnMouseMove := nil;
|
WND^.Hooks.OnMouseMove := nil;
|
||||||
@ -476,6 +591,7 @@ var
|
|||||||
WXR, WYR : sint32;
|
WXR, WYR : sint32;
|
||||||
STRC : uint32;
|
STRC : uint32;
|
||||||
MIDP, STARTP : uint32;
|
MIDP, STARTP : uint32;
|
||||||
|
deltax, deltay : sint32;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
for y:=0 to 63 do begin
|
for y:=0 to 63 do begin
|
||||||
@ -483,6 +599,28 @@ begin
|
|||||||
Console_Matrix[y][x]:= Default_Char;
|
Console_Matrix[y][x]:= Default_Char;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
if MouseDown then begin
|
||||||
|
if MovingWindow = 0 then begin
|
||||||
|
MovingWindow:= WindowTitleMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)];
|
||||||
|
if MovingWindow <> 0 then begin
|
||||||
|
WindowMovePos.x:= MouseXToTile(WindowManager.MousePrev.X);
|
||||||
|
WindowMovePos.y:= MouseYToTile(WindowManager.MousePrev.Y);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
if MovingWindow <> 0 then begin
|
||||||
|
if WindowManager.Windows[MovingWindow] <> nil then begin
|
||||||
|
deltax:= WindowMovePos.x - MouseXToTile(WindowManager.MousePrev.X);
|
||||||
|
deltay:= WindowMovePos.y - MouseYToTile(WindowManager.MousePrev.Y);
|
||||||
|
WindowMovePos.x:= MouseXToTile(WindowManager.MousePrev.X);
|
||||||
|
WindowMovePos.y:= MouseYToTile(WindowManager.MousePrev.Y);
|
||||||
|
setWindowPosition(MovingWindow, WindowManager.Windows[MovingWindow]^.WND_X - deltax, WindowManager.Windows[MovingWindow]^.WND_Y - deltay);
|
||||||
|
//WindowManager.Windows[MovingWindow]^.WND_X:= WindowManager.Windows[MovingWindow]^.WND_X - deltax;
|
||||||
|
//WindowManager.Windows[MovingWindow]^.WND_Y:= WindowManager.Windows[MovingWindow]^.WND_Y - deltay;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end else begin
|
||||||
|
MovingWindow:= 0;
|
||||||
|
end;
|
||||||
for w:=0 to MAX_WINDOWS-1 do begin
|
for w:=0 to MAX_WINDOWS-1 do begin
|
||||||
if WindowManager.Windows[w] <> nil then begin
|
if WindowManager.Windows[w] <> nil then begin
|
||||||
if w <> 0 then begin
|
if w <> 0 then begin
|
||||||
@ -528,14 +666,11 @@ begin
|
|||||||
if x > 159 then break;
|
if x > 159 then break;
|
||||||
Console_Matrix[y][x]:= WindowManager.Windows[w]^.buffer[y - WindowManager.Windows[w]^.WND_Y][x - WindowManager.Windows[w]^.WND_X];
|
Console_Matrix[y][x]:= WindowManager.Windows[w]^.buffer[y - WindowManager.Windows[w]^.WND_Y][x - WindowManager.Windows[w]^.WND_X];
|
||||||
WindowTitleMask[y][x]:= 0;
|
WindowTitleMask[y][x]:= 0;
|
||||||
|
WindowMask[y][x]:= w;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
if WindowManager.Windows[w]^.Closed then _closeWindow(w);
|
if WindowManager.Windows[w]^.Closed then _closeWindow(w);
|
||||||
if WindowTitleMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)] <> 0 then begin
|
|
||||||
writestring('Mouse Window: ');
|
|
||||||
writeintln(WindowTitleMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)]);
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
redrawMatrix;
|
redrawMatrix;
|
||||||
@ -570,6 +705,7 @@ begin
|
|||||||
WND^.visible:= true;
|
WND^.visible:= true;
|
||||||
WND^.Closed:= false;
|
WND^.Closed:= false;
|
||||||
WND^.Border:= false;
|
WND^.Border:= false;
|
||||||
|
WND^.ShellWND:= false;
|
||||||
WindowManager.Windows[0]:= WND;
|
WindowManager.Windows[0]:= WND;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1256,6 +1392,24 @@ begin
|
|||||||
//Console_Cursor.Y:= 0;
|
//Console_Cursor.Y:= 0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure clearWNDEx(WND : uint32; attributes : uint32);
|
||||||
|
var
|
||||||
|
x,y: Byte;
|
||||||
|
|
||||||
|
begin
|
||||||
|
if WindowManager.Windows[WND] <> nil then begin
|
||||||
|
for y:=0 to 63 do begin
|
||||||
|
for x:=0 to 159 do begin
|
||||||
|
WindowManager.Windows[WND]^.Buffer[y][x].Character:= ' ';
|
||||||
|
WindowManager.Windows[WND]^.Buffer[y][x].Attributes:= attributes;
|
||||||
|
WindowManager.Windows[WND]^.row_dirty[y]:= true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
WindowManager.Windows[WND]^.Cursor.X:= 0;
|
||||||
|
WindowManager.Windows[WND]^.Cursor.Y:= 0;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure writebin8exWND(b : uint8; attributes: uint32; WND : uint32);
|
procedure writebin8exWND(b : uint8; attributes: uint32; WND : uint32);
|
||||||
var
|
var
|
||||||
Mask : PMask;
|
Mask : PMask;
|
||||||
|
@ -53,6 +53,10 @@ var
|
|||||||
Packet : uint32;
|
Packet : uint32;
|
||||||
Registered : Boolean = false;
|
Registered : Boolean = false;
|
||||||
NeedsRedraw : Boolean = false;
|
NeedsRedraw : Boolean = false;
|
||||||
|
RMouseDownPos : TMousePos;
|
||||||
|
LMouseDownPos : TMousePos;
|
||||||
|
LMouseDown : Boolean;
|
||||||
|
RMouseDown : Boolean;
|
||||||
|
|
||||||
procedure DrawCursor;
|
procedure DrawCursor;
|
||||||
var
|
var
|
||||||
@ -142,6 +146,9 @@ begin
|
|||||||
f:= Mouse_Byte[0];
|
f:= Mouse_Byte[0];
|
||||||
Packet.x_sign:= (f AND %00010000) = %00010000;
|
Packet.x_sign:= (f AND %00010000) = %00010000;
|
||||||
Packet.y_sign:= (f AND %00100000) = %00100000;
|
Packet.y_sign:= (f AND %00100000) = %00100000;
|
||||||
|
Packet.MMB_Down:= (f AND %00000100) = %00000100;
|
||||||
|
Packet.RMB_Down:= (f AND %00000010) = %00000010;
|
||||||
|
Packet.LMB_Down:= (f AND %00000001) = %00000001;
|
||||||
Packet.x_overflow:= (f AND $40) = $40;
|
Packet.x_overflow:= (f AND $40) = $40;
|
||||||
Packet.y_overflow:= (f AND $80) = $80;
|
Packet.y_overflow:= (f AND $80) = $80;
|
||||||
Packet.x_movement:= Mouse_Byte[1] - ((f SHL 4) AND $100);
|
Packet.x_movement:= Mouse_Byte[1] - ((f SHL 4) AND $100);
|
||||||
@ -155,6 +162,42 @@ begin
|
|||||||
if Current.y > 1015 then Current.y:= 1015;
|
if Current.y > 1015 then Current.y:= 1015;
|
||||||
end;
|
end;
|
||||||
Cycle:= 0;
|
Cycle:= 0;
|
||||||
|
if Packet.LMB_Down then begin
|
||||||
|
if not LMouseDown then begin
|
||||||
|
LMouseDown:= true;
|
||||||
|
LMouseDownPos.x:= Current.x;
|
||||||
|
LMouseDownPos.y:= Current.y;
|
||||||
|
//MouseDownEvent
|
||||||
|
console._mouseDown();
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
if not Packet.LMB_Down then begin
|
||||||
|
if LMouseDown then begin
|
||||||
|
If (Current.x = LMouseDownPos.x) and (Current.y = LMouseDownPos.y) then begin
|
||||||
|
Console._MouseClick(true);
|
||||||
|
end;
|
||||||
|
//MouseUpEvent
|
||||||
|
Console._MouseUp();
|
||||||
|
LMouseDown:= false;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
if Packet.RMB_Down then begin
|
||||||
|
if not RMouseDown then begin
|
||||||
|
RMouseDown:= true;
|
||||||
|
RMouseDownPos.x:= Current.x;
|
||||||
|
RMouseDownPos.y:= Current.y;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if not Packet.RMB_Down then begin
|
||||||
|
if RMouseDown then begin
|
||||||
|
if (Current.x = RMouseDownPos.x) and (Current.y = RMouseDownPos.y) then begin
|
||||||
|
Console._MouseClick(false);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
RMouseDown:= false;
|
||||||
|
end;
|
||||||
|
|
||||||
console.setMousePosition(Current.x, Current.y);
|
console.setMousePosition(Current.x, Current.y);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
@ -3,11 +3,11 @@ unit asuro;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
const
|
const
|
||||||
VERSION = '1.0.0-610a';
|
VERSION = '1.0.0-613a';
|
||||||
VERSION_MAJOR = '1';
|
VERSION_MAJOR = '1';
|
||||||
VERSION_MINOR = '0';
|
VERSION_MINOR = '0';
|
||||||
VERSION_SUB = '0';
|
VERSION_SUB = '0';
|
||||||
REVISION = '610';
|
REVISION = '613';
|
||||||
RELEASE = 'a';
|
RELEASE = 'a';
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
@ -46,6 +46,7 @@ uses
|
|||||||
fonts,
|
fonts,
|
||||||
RTC,
|
RTC,
|
||||||
serial,
|
serial,
|
||||||
|
shell,
|
||||||
memview;
|
memview;
|
||||||
|
|
||||||
procedure kmain(mbinfo: Pmultiboot_info_t; mbmagic: uint32); stdcall;
|
procedure kmain(mbinfo: Pmultiboot_info_t; mbmagic: uint32); stdcall;
|
||||||
@ -212,8 +213,11 @@ begin
|
|||||||
tracer.pop_trace;
|
tracer.pop_trace;
|
||||||
|
|
||||||
{ Init Progs }
|
{ Init Progs }
|
||||||
|
shell.init();
|
||||||
memview.init();
|
memview.init();
|
||||||
|
|
||||||
|
console.writehexln(uint32(multibootinfo^.framebuffer_addr));
|
||||||
|
|
||||||
tracer.push_trace('kmain.KEYHOOK');
|
tracer.push_trace('kmain.KEYHOOK');
|
||||||
keyboard.hook(@temphook);
|
keyboard.hook(@temphook);
|
||||||
tracer.pop_trace;
|
tracer.pop_trace;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user