git-svn-id: https://spexeah.com:8443/svn/Asuro@598 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
parent
c2d3825b8f
commit
a12957e069
BIN
bin/kernel.bin
BIN
bin/kernel.bin
Binary file not shown.
Binary file not shown.
BIN
lib/asuro.ppu
BIN
lib/asuro.ppu
Binary file not shown.
BIN
lib/kernel.ppu
BIN
lib/kernel.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/serial.ppu
BIN
lib/serial.ppu
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.
4
run.sh
4
run.sh
@ -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
|
||||||
|
@ -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();
|
||||||
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user