git-svn-id: https://spexeah.com:8443/svn/Asuro@642 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
1 parent
8b7a8182b8
commit
6d8717a7fc
17 files changed
+148
-92
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.
Binary file not shown.
Binary file not shown.
+95
-52
File diff suppressed because it is too large.
Load diff
@@ -3,11 +3,11 @@ unit asuro;
|
||||
interface
|
||||
|
||||
const
|
||||
VERSION = '1.0.0-632a';
|
||||
VERSION = '1.0.0-634a';
|
||||
VERSION_MAJOR = '1';
|
||||
VERSION_MINOR = '0';
|
||||
VERSION_SUB = '0';
|
||||
REVISION = '632';
|
||||
REVISION = '634';
|
||||
RELEASE = 'a';
|
||||
|
||||
implementation
|
||||
|
||||
+7
-8
@@ -208,19 +208,18 @@ begin
|
||||
console.setdefaultattribute(console.combinecolors($17E0, $0000));
|
||||
console.writestringln('Asuro Booted Correctly!');
|
||||
console.setdefaultattribute(console.combinecolors($FFFF, $0000));
|
||||
console.writestringln('');
|
||||
console.writestringln('Press any key to boot in to Asuro Terminal...');
|
||||
tracer.pop_trace;
|
||||
//console.writestringln('');
|
||||
//console.writestringln('Press any key to boot in to Asuro Terminal...');
|
||||
//tracer.pop_trace;
|
||||
|
||||
{ Init Progs }
|
||||
shell.init();
|
||||
memview.init();
|
||||
|
||||
console.writehexln(uint32(multibootinfo^.framebuffer_addr));
|
||||
|
||||
tracer.push_trace('kmain.KEYHOOK');
|
||||
keyboard.hook(@temphook);
|
||||
tracer.pop_trace;
|
||||
//console.writehexln(uint32(multibootinfo^.framebuffer_addr));
|
||||
//tracer.push_trace('kmain.KEYHOOK');
|
||||
//keyboard.hook(@temphook);
|
||||
//tracer.pop_trace;
|
||||
|
||||
tracer.push_trace('kmain.END');
|
||||
|
||||
|
||||
+13
-1
@@ -3,7 +3,7 @@ unit shell;
|
||||
interface
|
||||
|
||||
uses
|
||||
Console, RTC;
|
||||
Console, RTC, terminal;
|
||||
|
||||
procedure init();
|
||||
|
||||
@@ -49,6 +49,17 @@ begin
|
||||
writeIntExWND(DateTime.Seconds, Colors, Handle);
|
||||
end;
|
||||
|
||||
procedure OnMouseClick(x : uint32; y : uint32; left : boolean);
|
||||
begin
|
||||
//WriteIntLn(x);
|
||||
//WriteIntLn(y);
|
||||
if left then begin
|
||||
if (y = 0) and (x < 10) then begin
|
||||
terminal.run;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure init();
|
||||
begin
|
||||
colors:= console.combinecolors($0000, $FFFF);
|
||||
@@ -58,6 +69,7 @@ begin
|
||||
//console.clearWNDEx(Handle, colors);
|
||||
console.setShellWindow(Handle, false);
|
||||
console.registerEventHandler(Handle, EVENT_DRAW, void(@Draw));
|
||||
console.registerEventHandler(Handle, EVENT_MOUSE_CLICK, void(@OnMouseClick));
|
||||
end;
|
||||
|
||||
end.
|
||||
+31
-29
@@ -65,7 +65,7 @@ uses
|
||||
RTC;
|
||||
|
||||
var
|
||||
TERMINAL_HWND : HWND = 1;
|
||||
TERMINAL_HWND : HWND = 0;
|
||||
|
||||
function getTerminalHWND : uint32;
|
||||
begin
|
||||
@@ -340,23 +340,25 @@ end;
|
||||
|
||||
procedure key_event(info : TKeyInfo);
|
||||
begin
|
||||
if (info.key_code >= 32) and (info.key_code <= 126) then begin
|
||||
if bIndex < 1024 then begin
|
||||
buffer[bIndex]:= info.key_code;
|
||||
inc(bIndex);
|
||||
console.writecharWND(char(info.key_code), TERMINAL_HWND);
|
||||
if TERMINAL_HWND <> 0 then begin
|
||||
if (info.key_code >= 32) and (info.key_code <= 126) then begin
|
||||
if bIndex < 1024 then begin
|
||||
buffer[bIndex]:= info.key_code;
|
||||
inc(bIndex);
|
||||
console.writecharWND(char(info.key_code), TERMINAL_HWND);
|
||||
end;
|
||||
end;
|
||||
if info.key_code = 8 then begin //backspace
|
||||
if bIndex > 0 then begin
|
||||
console.backspaceWND(TERMINAL_HWND);
|
||||
dec(bIndex);
|
||||
buffer[bIndex]:= 0;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
if info.key_code = 8 then begin //backspace
|
||||
if bIndex > 0 then begin
|
||||
console.backspaceWND(TERMINAL_HWND);
|
||||
dec(bIndex);
|
||||
buffer[bIndex]:= 0;
|
||||
if info.key_code = 13 then begin //return
|
||||
process_command;
|
||||
end;
|
||||
end;
|
||||
if info.key_code = 13 then begin //return
|
||||
process_command;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure change_dir(Params : PParamList);
|
||||
@@ -366,11 +368,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure ToggleWND1(Params : PParamList);
|
||||
begin
|
||||
console.toggleWNDVisible(1);
|
||||
end;
|
||||
|
||||
procedure SendSerial(Params : PParamList);
|
||||
var
|
||||
success : boolean;
|
||||
@@ -409,22 +406,27 @@ begin
|
||||
registerCommand('TEST', @test, 'Command for testing.');
|
||||
registerCommand('CD', @change_dir, 'Change Directory test.');
|
||||
registerCommand('PATTERN', @cockwomble, 'Print an animated pattern to the screen.');
|
||||
registerCommand('TOGGLEWND1', @ToggleWND1, 'Toggle WND 1 Visibility.');
|
||||
registerCommand('TIME', @printTime, 'Print the current time.');
|
||||
registerCommand('SERIAL', @SendSerial, 'Send ''helloworld'' through COM1.');
|
||||
console.writestringln('TERMINAL: INIT END.');
|
||||
end;
|
||||
|
||||
procedure OnClose();
|
||||
begin
|
||||
TERMINAL_HWND:= 0;
|
||||
end;
|
||||
|
||||
procedure run;
|
||||
begin
|
||||
TERMINAL_HWND:= newWindow(20, 10, 90, 20, 'ASURO TERMINAL');
|
||||
//newWindow(10, 10, 32, 32, 'MEMVIEW');
|
||||
keyboard.hook(@key_event);
|
||||
console.clearWND(TERMINAL_HWND);
|
||||
console.writestringWND('Asuro#', TERMINAL_HWND);
|
||||
console.writestringWND(Working_Directory, TERMINAL_HWND);
|
||||
console.writestringWND('> ', TERMINAL_HWND);
|
||||
console.setWNDVisible(TERMINAL_HWND, true);
|
||||
if TERMINAL_HWND = 0 then begin
|
||||
TERMINAL_HWND:= newWindow(20, 10, 90, 20, 'ASURO TERMINAL');
|
||||
console.registerEventHandler(TERMINAL_HWND, EVENT_KEY_PRESSED, void(@key_event));
|
||||
console.registerEventHandler(TERMINAL_HWND, EVENT_CLOSE, void(@OnClose));
|
||||
console.clearWND(TERMINAL_HWND);
|
||||
console.writestringWND('Asuro#', TERMINAL_HWND);
|
||||
console.writestringWND(Working_Directory, TERMINAL_HWND);
|
||||
console.writestringWND('> ', TERMINAL_HWND);
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
Reference in new issue
Block a user