git-svn-id: https://spexeah.com:8443/svn/Asuro@598 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
1 parent
c2d3825b8f
commit
a12957e069
17 files changed
+24
-22
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.
@@ -8,11 +8,11 @@ echo " "
|
|||||||
echo "Running Asaro..."
|
echo "Running Asaro..."
|
||||||
if [ "$1" = "-d" ]
|
if [ "$1" = "-d" ]
|
||||||
then
|
then
|
||||||
qemu-system-i386 -s -S -cdrom Asuro.iso&
|
qemu-system-i386 -serial pty -s -S -cdrom Asuro.iso&
|
||||||
sleep 1
|
sleep 1
|
||||||
gdb -ex "target remote localhost:1234"
|
gdb -ex "target remote localhost:1234"
|
||||||
else
|
else
|
||||||
qemu-system-i386 -monitor stdio -cdrom Asuro.iso
|
qemu-system-i386 -serial pty -monitor stdio -cdrom Asuro.iso
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $? -ne 0 ]
|
if [ $? -ne 0 ]
|
||||||
|
|||||||
@@ -20,9 +20,9 @@ implementation
|
|||||||
uses
|
uses
|
||||||
console;
|
console;
|
||||||
|
|
||||||
procedure hook();
|
procedure IRQ_Hook();
|
||||||
begin
|
begin
|
||||||
console.writestringln('SERIAL ISR FIRED!');
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure initPort(PORT : uint16);
|
procedure initPort(PORT : uint16);
|
||||||
@@ -42,8 +42,6 @@ begin
|
|||||||
initPort(COM2);
|
initPort(COM2);
|
||||||
initPort(COM3);
|
initPort(COM3);
|
||||||
initPort(COM4);
|
initPort(COM4);
|
||||||
isrmanager.registerISR(32 + 3, @Hook);
|
|
||||||
isrmanager.registerISR(32 + 4, @Hook);
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function serial_received(PORT : uint16) : uint32;
|
function serial_received(PORT : uint16) : uint32;
|
||||||
@@ -63,7 +61,9 @@ var
|
|||||||
begin
|
begin
|
||||||
receive:= 0;
|
receive:= 0;
|
||||||
_timeout:= timeout;
|
_timeout:= timeout;
|
||||||
while (serial_received(PORT) = 0) do begin end;
|
while (serial_received(PORT) = 0) AND (_timeout > 0) do begin
|
||||||
|
dec(_timeout);
|
||||||
|
end;
|
||||||
if _timeout <> 0 then begin
|
if _timeout <> 0 then begin
|
||||||
receive:= inb(PORT);
|
receive:= inb(PORT);
|
||||||
end;
|
end;
|
||||||
@@ -76,7 +76,9 @@ var
|
|||||||
begin
|
begin
|
||||||
send:= false;
|
send:= false;
|
||||||
_timeout:= timeout;
|
_timeout:= timeout;
|
||||||
while (is_transmit_empty(PORT) = 0) do begin end;
|
while (is_transmit_empty(PORT) = 0) and (_timeout > 0) do begin
|
||||||
|
dec(_timeout);
|
||||||
|
end;
|
||||||
if _timeout <> 0 then begin
|
if _timeout <> 0 then begin
|
||||||
outb(PORT, data);
|
outb(PORT, data);
|
||||||
send:= true;
|
send:= true;
|
||||||
|
|||||||
@@ -3,11 +3,11 @@ unit asuro;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
const
|
const
|
||||||
VERSION = '1.0.0-594a';
|
VERSION = '1.0.0-596a';
|
||||||
VERSION_MAJOR = '1';
|
VERSION_MAJOR = '1';
|
||||||
VERSION_MINOR = '0';
|
VERSION_MINOR = '0';
|
||||||
VERSION_SUB = '0';
|
VERSION_SUB = '0';
|
||||||
REVISION = '594';
|
REVISION = '596';
|
||||||
RELEASE = 'a';
|
RELEASE = 'a';
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ unit strings;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
util,
|
util,
|
||||||
lmemorymanager,
|
lmemorymanager,
|
||||||
lists;
|
lists;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -154,7 +154,7 @@ begin
|
|||||||
{ Console Init }
|
{ Console Init }
|
||||||
console.init();
|
console.init();
|
||||||
|
|
||||||
serial.init();
|
//serial.init();
|
||||||
|
|
||||||
{ Call Tracer }
|
{ Call Tracer }
|
||||||
tracer.init();
|
tracer.init();
|
||||||
|
|||||||
+10
-10
@@ -377,16 +377,16 @@ var
|
|||||||
|
|
||||||
begin
|
begin
|
||||||
success:= true;
|
success:= true;
|
||||||
success:= success AND Serial.Send(uint8('H'), COM1, 100000);
|
success:= success AND Serial.Send(COM1, uint8('H'), 100000);
|
||||||
success:= success AND Serial.Send(uint8('E'), COM1, 100000);
|
success:= success AND Serial.Send(COM1, uint8('E'), 100000);
|
||||||
success:= success AND Serial.Send(uint8('L'), COM1, 100000);
|
success:= success AND Serial.Send(COM1, uint8('L'), 100000);
|
||||||
success:= success AND Serial.Send(uint8('L'), COM1, 100000);
|
success:= success AND Serial.Send(COM1, uint8('L'), 100000);
|
||||||
success:= success AND Serial.Send(uint8('O'), COM1, 100000);
|
success:= success AND Serial.Send(COM1, uint8('O'), 100000);
|
||||||
success:= success AND Serial.Send(uint8('W'), COM1, 100000);
|
success:= success AND Serial.Send(COM1, uint8('W'), 100000);
|
||||||
success:= success AND Serial.Send(uint8('O'), COM1, 100000);
|
success:= success AND Serial.Send(COM1, uint8('O'), 100000);
|
||||||
success:= success AND Serial.Send(uint8('R'), COM1, 100000);
|
success:= success AND Serial.Send(COM1, uint8('R'), 100000);
|
||||||
success:= success AND Serial.Send(uint8('L'), COM1, 100000);
|
success:= success AND Serial.Send(COM1, uint8('L'), 100000);
|
||||||
success:= success AND Serial.Send(uint8('D'), COM1, 100000);
|
success:= success AND Serial.Send(COM1, uint8('D'), 100000);
|
||||||
if success then begin
|
if success then begin
|
||||||
console.writestringlnWND('Send Success!', TERMINAL_HWND);
|
console.writestringlnWND('Send Success!', TERMINAL_HWND);
|
||||||
end else begin
|
end else begin
|
||||||
|
|||||||
Reference in new issue
Block a user