git-svn-id: https://spexeah.com:8443/svn/Asuro@598 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c

This commit is contained in:
kieron
2018-04-29 18:04:40 +00:00
parent c2d3825b8f
commit a12957e069
17 changed files with 24 additions and 22 deletions

View File

@ -20,9 +20,9 @@ implementation
uses
console;
procedure hook();
procedure IRQ_Hook();
begin
console.writestringln('SERIAL ISR FIRED!');
end;
procedure initPort(PORT : uint16);
@ -42,8 +42,6 @@ begin
initPort(COM2);
initPort(COM3);
initPort(COM4);
isrmanager.registerISR(32 + 3, @Hook);
isrmanager.registerISR(32 + 4, @Hook);
end;
function serial_received(PORT : uint16) : uint32;
@ -63,7 +61,9 @@ var
begin
receive:= 0;
_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
receive:= inb(PORT);
end;
@ -76,7 +76,9 @@ var
begin
send:= false;
_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
outb(PORT, data);
send:= true;

View File

@ -3,11 +3,11 @@ unit asuro;
interface
const
VERSION = '1.0.0-594a';
VERSION = '1.0.0-596a';
VERSION_MAJOR = '1';
VERSION_MINOR = '0';
VERSION_SUB = '0';
REVISION = '594';
REVISION = '596';
RELEASE = 'a';
implementation

View File

@ -12,7 +12,7 @@ unit strings;
interface
uses
util,
util,
lmemorymanager,
lists;

View File

@ -154,7 +154,7 @@ begin
{ Console Init }
console.init();
serial.init();
//serial.init();
{ Call Tracer }
tracer.init();

View File

@ -377,16 +377,16 @@ var
begin
success:= true;
success:= success AND Serial.Send(uint8('H'), COM1, 100000);
success:= success AND Serial.Send(uint8('E'), COM1, 100000);
success:= success AND Serial.Send(uint8('L'), COM1, 100000);
success:= success AND Serial.Send(uint8('L'), COM1, 100000);
success:= success AND Serial.Send(uint8('O'), COM1, 100000);
success:= success AND Serial.Send(uint8('W'), COM1, 100000);
success:= success AND Serial.Send(uint8('O'), COM1, 100000);
success:= success AND Serial.Send(uint8('R'), COM1, 100000);
success:= success AND Serial.Send(uint8('L'), COM1, 100000);
success:= success AND Serial.Send(uint8('D'), COM1, 100000);
success:= success AND Serial.Send(COM1, uint8('H'), 100000);
success:= success AND Serial.Send(COM1, uint8('E'), 100000);
success:= success AND Serial.Send(COM1, uint8('L'), 100000);
success:= success AND Serial.Send(COM1, uint8('L'), 100000);
success:= success AND Serial.Send(COM1, uint8('O'), 100000);
success:= success AND Serial.Send(COM1, uint8('W'), 100000);
success:= success AND Serial.Send(COM1, uint8('O'), 100000);
success:= success AND Serial.Send(COM1, uint8('R'), 100000);
success:= success AND Serial.Send(COM1, uint8('L'), 100000);
success:= success AND Serial.Send(COM1, uint8('D'), 100000);
if success then begin
console.writestringlnWND('Send Success!', TERMINAL_HWND);
end else begin