Comments now conform to PasDoc specifications.
git-svn-id: https://spexeah.com:8443/svn/Asuro@749 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
parent
877ef01b80
commit
db58264fa6
246
src/console.pas
246
src/console.pas
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Console - Provides Screen/Window management & drawing.
|
||||||
* Unit: console
|
|
||||||
* Description: Basic Console Output
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit console;
|
unit console;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
@ -19,6 +15,7 @@ uses
|
|||||||
tracer;
|
tracer;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
{ 4-bit nibble representing a color. }
|
||||||
TColor = ( Black = $0,
|
TColor = ( Black = $0,
|
||||||
Blue = $1,
|
Blue = $1,
|
||||||
Green = $2,
|
Green = $2,
|
||||||
@ -36,6 +33,7 @@ type
|
|||||||
lYellow = $E,
|
lYellow = $E,
|
||||||
lWhite = $F );
|
lWhite = $F );
|
||||||
|
|
||||||
|
{ Window Manager Events. }
|
||||||
TEventType = ( EVENT_DRAW,
|
TEventType = ( EVENT_DRAW,
|
||||||
EVENT_MOUSE_CLICK,
|
EVENT_MOUSE_CLICK,
|
||||||
EVENT_MOUSE_MOVE,
|
EVENT_MOUSE_MOVE,
|
||||||
@ -47,62 +45,269 @@ type
|
|||||||
EVENT_FOCUS,
|
EVENT_FOCUS,
|
||||||
EVENT_LOSE_FOCUS );
|
EVENT_LOSE_FOCUS );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{ Default Buffer Specific }
|
||||||
|
|
||||||
|
{
|
||||||
|
Initialize the Frame Buffer & Window Manager ready for use.
|
||||||
|
}
|
||||||
procedure init();
|
procedure init();
|
||||||
|
|
||||||
|
{
|
||||||
|
Clear the Frame Buffer.
|
||||||
|
}
|
||||||
procedure clear();
|
procedure clear();
|
||||||
|
|
||||||
|
{
|
||||||
|
Set the default set of attributes to be used when drawing to the screen.
|
||||||
|
@param(attribute A 32-bit value representing the Foreground & Background colors.)
|
||||||
|
}
|
||||||
procedure setdefaultattribute(attribute : uint32);
|
procedure setdefaultattribute(attribute : uint32);
|
||||||
|
|
||||||
|
{
|
||||||
|
@bold(Text mode only!) - Disable the cursor/text-caret.
|
||||||
|
@deprecated
|
||||||
|
}
|
||||||
procedure disable_cursor;
|
procedure disable_cursor;
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a single 8-bit character to the screen.
|
||||||
|
@param(character An 8-bit value representing an ASCII character.)
|
||||||
|
}
|
||||||
procedure writechar(character : char);
|
procedure writechar(character : char);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a single 8-bit character to the screen, followed by starting a new line.
|
||||||
|
@param(character An 8-bit value representing an ASCII character.)
|
||||||
|
}
|
||||||
procedure writecharln(character : char);
|
procedure writecharln(character : char);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a single 8-bit character to the screen, specifying custom color attributes.
|
||||||
|
@param(character An 8-bit value representing an ASCII character.)
|
||||||
|
@param(attributes A 32-bit value representing the colors for the background and foreground.)
|
||||||
|
}
|
||||||
procedure writecharex(character : char; attributes: uint32);
|
procedure writecharex(character : char; attributes: uint32);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a single 8-bit character to the screen, followed by starting a new line, specifying custom color attributes.
|
||||||
|
@param(character An 8-bit value representing an ASCII character.)
|
||||||
|
@param(attributes A 32-bit value representing the colors for the background and foreground.)
|
||||||
|
}
|
||||||
procedure writecharlnex(character : char; attributes: uint32);
|
procedure writecharlnex(character : char; attributes: uint32);
|
||||||
|
|
||||||
|
{
|
||||||
|
Simple console write for debugging.
|
||||||
|
@param(identifier A NULL terminated string with the name of the module printing the output.)
|
||||||
|
@param(str A NULL terminated string with the debug message.)
|
||||||
|
}
|
||||||
procedure Output(identifier : PChar; str : PChar);
|
procedure Output(identifier : PChar; str : PChar);
|
||||||
|
|
||||||
|
{
|
||||||
|
Simple console writeln for debugging.
|
||||||
|
@param(identifier A NULL terminated string with the name of the module printing the output.)
|
||||||
|
@param(str A NULL terminated string with the debug message.)
|
||||||
|
}
|
||||||
procedure Outputln(identifier : PChar; str : PChar);
|
procedure Outputln(identifier : PChar; str : PChar);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a NULL terminated string to the console.
|
||||||
|
@param(str A NULL terminated string with the debug message.)
|
||||||
|
}
|
||||||
procedure writestring(str: PChar);
|
procedure writestring(str: PChar);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a NULL terminated string to the console, followed by a new-line.
|
||||||
|
@param(str A NULL terminated string with the debug message.)
|
||||||
|
}
|
||||||
procedure writestringln(str: PChar);
|
procedure writestringln(str: PChar);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a NULL terminated string to the console, with the specified attributes.
|
||||||
|
@param(str A NULL terminated string with the debug message.)
|
||||||
|
@param(attributes A 32-bit representation of the background/foreground colors.)
|
||||||
|
}
|
||||||
procedure writestringex(str: PChar; attributes: uint32);
|
procedure writestringex(str: PChar; attributes: uint32);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a NULL terminated string + new-line to the console, with the specified attributes.
|
||||||
|
@param(str A NULL terminated string with the debug message.)
|
||||||
|
@param(attributes A 32-bit representation of the background/foreground colors.)
|
||||||
|
}
|
||||||
procedure writestringlnex(str: PChar; attributes: uint32);
|
procedure writestringlnex(str: PChar; attributes: uint32);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a 32-bit value to the console.
|
||||||
|
@param(i A 32-bit value.)
|
||||||
|
}
|
||||||
procedure writeint(i: Integer);
|
procedure writeint(i: Integer);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a 32-bit value to the console followed by a new-line.
|
||||||
|
@param(i A 32-bit value.)
|
||||||
|
}
|
||||||
procedure writeintln(i: Integer);
|
procedure writeintln(i: Integer);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a 32-bit value to the console, with the specified attributes.
|
||||||
|
@param(i A 32-bit value.)
|
||||||
|
@param(attributes A 32-bit representation of the background/foreground colors.)
|
||||||
|
}
|
||||||
procedure writeintex(i: Integer; attributes: uint32);
|
procedure writeintex(i: Integer; attributes: uint32);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a 32-bit value + new-line to the console, with the specified attributes.
|
||||||
|
@param(i A 32-bit value.)
|
||||||
|
@param(attributes A 32-bit representation of the background/foreground colors.)
|
||||||
|
}
|
||||||
procedure writeintlnex(i: Integer; attributes: uint32);
|
procedure writeintlnex(i: Integer; attributes: uint32);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write an 8-bit Hex Pair to the console.
|
||||||
|
@param(b An 8-bit value.)
|
||||||
|
}
|
||||||
procedure writehexpair(b : uint8);
|
procedure writehexpair(b : uint8);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a 32-bit value as Hex Pairs to the console.
|
||||||
|
@param(i A 32-bit value.)
|
||||||
|
}
|
||||||
procedure writehex(i: DWORD);
|
procedure writehex(i: DWORD);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a 32-bit value as Hex Pairs to the console, followed by a new-line.
|
||||||
|
@param(i A 32-bit value.)
|
||||||
|
}
|
||||||
procedure writehexln(i: DWORD);
|
procedure writehexln(i: DWORD);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a 32-bit value as Hex Pairs to the console, with the specified attributes.
|
||||||
|
@param(b A 32-bit value.)
|
||||||
|
@param(attributes A 32-bit representation of the background/foreground colors.)
|
||||||
|
}
|
||||||
procedure writehexex(i : DWORD; attributes: uint32);
|
procedure writehexex(i : DWORD; attributes: uint32);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a 32-bit value as Hex Pairs + new-line to the console, with the specified attributes.
|
||||||
|
@param(b A 32-bit value.)
|
||||||
|
@param(attributes A 32-bit representation of the background/foreground colors.)
|
||||||
|
}
|
||||||
procedure writehexlnex(i: DWORD; attributes: uint32);
|
procedure writehexlnex(i: DWORD; attributes: uint32);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write an 8-bit value as binary to the console.
|
||||||
|
@param(b An 8-bit value.)
|
||||||
|
}
|
||||||
procedure writebin8(b : uint8);
|
procedure writebin8(b : uint8);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write an 8-bit value as binary to the console, followed by a new-line.
|
||||||
|
@param(b An 8-bit value.)
|
||||||
|
}
|
||||||
procedure writebin8ln(b : uint8);
|
procedure writebin8ln(b : uint8);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write an 8-bit value as binary to the console, with the specified attributes.
|
||||||
|
@param(b An 8-bit value.)
|
||||||
|
@param(attributes A 32-bit representation of the background/foreground colors.)
|
||||||
|
}
|
||||||
procedure writebin8ex(b : uint8; attributes: uint32);
|
procedure writebin8ex(b : uint8; attributes: uint32);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write an 8-bit value as binary + new-line to the console, with the specified attributes.
|
||||||
|
@param(b An 8-bit value.)
|
||||||
|
@param(attributes A 32-bit representation of the background/foreground colors.)
|
||||||
|
}
|
||||||
procedure writebin8lnex(b : uint8; attributes: uint32);
|
procedure writebin8lnex(b : uint8; attributes: uint32);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a 16-bit value as binary to the console.
|
||||||
|
@param(b A 16-bit value.)
|
||||||
|
}
|
||||||
procedure writebin16(b : uint16);
|
procedure writebin16(b : uint16);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write an 16-bit value as binary to the console, followed by a new-line.
|
||||||
|
@param(b A 16-bit value.)
|
||||||
|
}
|
||||||
procedure writebin16ln(b : uint16);
|
procedure writebin16ln(b : uint16);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a 16-bit value as binary to the console, with the specified attributes.
|
||||||
|
@param(b A 16-bit value.)
|
||||||
|
@param(attributes A 32-bit representation of the background/foreground colors.)
|
||||||
|
}
|
||||||
procedure writebin16ex(b : uint16; attributes: uint32);
|
procedure writebin16ex(b : uint16; attributes: uint32);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a 16-bit value as binary + new-line to the console, with the specified attributes.
|
||||||
|
@param(b A 16-bit value.)
|
||||||
|
@param(attributes A 32-bit representation of the background/foreground colors.)
|
||||||
|
}
|
||||||
procedure writebin16lnex(b : uint16; attributes: uint32);
|
procedure writebin16lnex(b : uint16; attributes: uint32);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a 32-bit value as binary to the console.
|
||||||
|
@param(b A 32-bit value.)
|
||||||
|
}
|
||||||
procedure writebin32(b : uint32);
|
procedure writebin32(b : uint32);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write an 32-bit value as binary to the console, followed by a new-line.
|
||||||
|
@param(b A 32-bit value.)
|
||||||
|
}
|
||||||
procedure writebin32ln(b : uint32);
|
procedure writebin32ln(b : uint32);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a 32-bit value as binary to the console, with the specified attributes.
|
||||||
|
@param(b A 32-bit value.)
|
||||||
|
@param(attributes A 32-bit representation of the background/foreground colors.)
|
||||||
|
}
|
||||||
procedure writebin32ex(b : uint32; attributes: uint32);
|
procedure writebin32ex(b : uint32; attributes: uint32);
|
||||||
|
|
||||||
|
{
|
||||||
|
Write a 32-bit value as binary + new-line to the console, with the specified attributes.
|
||||||
|
@param(b A 32-bit value.)
|
||||||
|
@param(attributes A 32-bit representation of the background/foreground colors.)
|
||||||
|
}
|
||||||
procedure writebin32lnex(b : uint32; attributes: uint32);
|
procedure writebin32lnex(b : uint32; attributes: uint32);
|
||||||
|
|
||||||
|
{
|
||||||
|
Move the caret back 1 position and remove the character within the cell the caret occupies.
|
||||||
|
}
|
||||||
procedure backspace;
|
procedure backspace;
|
||||||
|
|
||||||
|
{
|
||||||
|
Combine two 16-bit values representing Foreground and Background respectively, into a 32-bit value representing an attribute.
|
||||||
|
@param(Foreground A 16-bit value representing the foreground color.)
|
||||||
|
@param(Background A 16-bit value representing the background color.)
|
||||||
|
@returns(A 32-bit value representing an attribute set. (uint32) )
|
||||||
|
}
|
||||||
function combinecolors(Foreground, Background : uint16) : uint32;
|
function combinecolors(Foreground, Background : uint16) : uint32;
|
||||||
|
|
||||||
|
{ Increment the cursor one cell to the right (x+1). }
|
||||||
procedure _increment_x();
|
procedure _increment_x();
|
||||||
|
|
||||||
|
{ Increment the cursor one cell down (y+1). }
|
||||||
procedure _increment_y();
|
procedure _increment_y();
|
||||||
procedure _safeincrement_y();
|
|
||||||
|
{ Increment the cursor one cell to the right (x+1), wrapping to the next line and performing a Y-Axis scroll when when needed. }
|
||||||
procedure _safeincrement_x();
|
procedure _safeincrement_x();
|
||||||
|
|
||||||
|
{ Increment the cursor one cell down (y+1), performing a Y-Axis roll when when needed. }
|
||||||
|
procedure _safeincrement_y();
|
||||||
|
|
||||||
|
{ Increment the cursor one cell down and reposition it at the first X Cell (y+1, x=0),performing a Y-Axis scroll when needed. }
|
||||||
procedure _newline();
|
procedure _newline();
|
||||||
|
|
||||||
{ WND Specific }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{ Window Specific }
|
||||||
|
|
||||||
|
|
||||||
procedure clearWND(WND : uint32);
|
procedure clearWND(WND : uint32);
|
||||||
procedure clearWNDEx(WND : uint32; attributes : uint32);
|
procedure clearWNDEx(WND : uint32; attributes : uint32);
|
||||||
@ -193,20 +398,19 @@ procedure _MouseClick(left : boolean);
|
|||||||
procedure setWindowColors(colors : uint32);
|
procedure setWindowColors(colors : uint32);
|
||||||
function getWindowColorPtr : puint32;
|
function getWindowColorPtr : puint32;
|
||||||
|
|
||||||
|
const
|
||||||
|
MAX_WINDOWS = 255; //<Maximum number of Windows open.
|
||||||
|
DefaultWND = 0; //<The Window assigned for output when no Window is specified. (Default).
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
|
||||||
lmemorymanager, strings, keyboard, serial, terminal;
|
|
||||||
|
|
||||||
const
|
|
||||||
MAX_WINDOWS = 255;
|
|
||||||
DefaultWND = 0;
|
|
||||||
|
|
||||||
type
|
type
|
||||||
|
{ Properties pertaining to the raw screen matrix.}
|
||||||
TConsoleProperties = record
|
TConsoleProperties = record
|
||||||
Default_Attribute : uint32;
|
Default_Attribute : uint32; //Attribute (Colors) to use when no override defined.
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ Unrasterized representation of a character.}
|
||||||
TCharacter = bitpacked record
|
TCharacter = bitpacked record
|
||||||
Character : Char;
|
Character : Char;
|
||||||
attributes : uint32;
|
attributes : uint32;
|
||||||
@ -214,6 +418,7 @@ type
|
|||||||
end;
|
end;
|
||||||
PCharacter = ^TCharacter;
|
PCharacter = ^TCharacter;
|
||||||
|
|
||||||
|
{ Unrasterized screen matrix. }
|
||||||
TVideoMemory = Array[0..1999] of TCharacter;
|
TVideoMemory = Array[0..1999] of TCharacter;
|
||||||
PVideoMemory = ^TVideoMemory;
|
PVideoMemory = ^TVideoMemory;
|
||||||
|
|
||||||
@ -314,6 +519,9 @@ var
|
|||||||
MouseCursorEnabled : Boolean = true;
|
MouseCursorEnabled : Boolean = true;
|
||||||
OpenTerminal : Boolean = false;
|
OpenTerminal : Boolean = false;
|
||||||
|
|
||||||
|
uses
|
||||||
|
lmemorymanager, strings, keyboard, serial, terminal;
|
||||||
|
|
||||||
function getWindowColorPtr : puint32;
|
function getWindowColorPtr : puint32;
|
||||||
begin
|
begin
|
||||||
getWindowColorPtr:= @Window_Border.Attributes;
|
getWindowColorPtr:= @Window_Border.Attributes;
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
ContextSwitcher - Switch Process Contexts when preempted.
|
||||||
* Unit: ContextSwitcher
|
|
||||||
* Description: Switches context between processes
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
* when preempted by the scheduler.
|
}
|
||||||
************************************************
|
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
unit contextswitcher;
|
unit contextswitcher;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
CPU - CPU Structures & Utility/Capabilities Functions.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit cpu;
|
unit cpu;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Driver->Bus->EHCI - Enhanced Host Controller Interface Driver.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit EHCI;
|
unit EHCI;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Driver->Bus->OHCI - Open Host Controller Interface Driver.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit OHCI;
|
unit OHCI;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,9 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Driver->Bus->PCI - Peripheral Component Interconnect Driver.
|
||||||
* Unit: Drivers/PCI
|
|
||||||
* Description: PCI Driver
|
@author(Aaron Hance <ah@aaronhance.me>)
|
||||||
************************************************
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
* Author: Aaron Hance
|
}
|
||||||
* Contributors: Kieron Morris
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit PCI;
|
unit PCI;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Driver->Bus->UHCI - Universal Host Controller Interface Driver.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit UHCI;
|
unit UHCI;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Driver->Bus->USB - Universal Serial Bus Driver/Interface.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit USB;
|
unit USB;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Driver->Bus->XHCI - eXtensible Host Controller Interface Driver.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit XHCI;
|
unit XHCI;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Driver->Exp->TestDriver - Dummy Driver For Testing.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit testdriver;
|
unit testdriver;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,9 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Driver->HID->PS2_KEYBAORD_ISR - PS2 ISR Hook & Driver.
|
||||||
* Unit: Drivers/isr33
|
|
||||||
* Description: Keyboard interrupt
|
@author(Aaron Hance <ah@aaronhance.me>)
|
||||||
************************************************
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
* Author: Aaron Hance
|
}
|
||||||
* Contributors: K Morris
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit PS2_KEYBOARD_ISR;
|
unit PS2_KEYBOARD_ISR;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Driver->HID->Keyboard - Keyboard Driver.
|
||||||
* Unit: Drivers/keyboard
|
|
||||||
* Description: Keyboard driver
|
@author(Aaron Hance <ah@aaronhance.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: Aaron Hance
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit keyboard;
|
unit keyboard;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Driver->HID->Mouse - Mouse Driver.
|
||||||
* Unit: Drivers/mouse
|
|
||||||
* Description: Mouse Driver
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit mouse;
|
unit mouse;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Driver->Include->DriverTypes - Structs & Data Shared Across Drivers.
|
||||||
* Unit: Drivers/drivertypes
|
|
||||||
* Description: types shared between drivers
|
@author(Aaron Hance <ah@aaronhance.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: Aaron Hance
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
unit drivertypes;
|
unit drivertypes;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Driver->Interface->Serial - Serial Driver.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit serial;
|
unit serial;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Driver->Net->NetTypes - Structures & Types Shared Across Network Drivers.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit nettypes;
|
unit nettypes;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Driver->Net->NetUtils - Helper Functions For Network Drivers.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit netutils;
|
unit netutils;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Driver->Net->L1->Net - Network Card<->Driver Interface.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit net;
|
unit net;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Driver->Net->L2->Eth2 - Ethernet Driver.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit eth2;
|
unit eth2;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Driver->Net->L3->ARP - Address Resolution Protocol Driver.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit arp;
|
unit arp;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Driver->Net->L3->IPv4 - Internet Protocol Version 4 Driver.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit ipv4;
|
unit ipv4;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Driver->Net->L4->ICMP - Internet Control Message Protocol Driver,
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit icmp;
|
unit icmp;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Driver->Net->L4->TCP - Transmission Control Protocol Driver.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit tcp;
|
unit tcp;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Driver->Net->L4->UDP - User Datagram Protocol Driver.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit udp;
|
unit udp;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Driver->NetDev->E1000 - Intel E1000/I217/82577LM Network Card Driver.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit E1000;
|
unit E1000;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Driver->Timers->RTC - Real Time Clock Driver.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit RTC;
|
unit RTC;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Driver->Timer->TMR_0_ISR - 1024hz Timer Driver.
|
||||||
* Unit: Drivers/isr32
|
|
||||||
* Description: 1024hz Timer interrupt
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: Aaron Hance
|
|
||||||
* Contributors: K Morris
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit TMR_0_ISR;
|
unit TMR_0_ISR;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Driver->Timer->TMR_1_ISR - 1024/s Timer Driver.
|
||||||
* Unit: Drivers/isr40
|
|
||||||
* Description: 1024/s Timer interrupt
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: Aaron Hance
|
|
||||||
* Contributors: K Morris
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit TMR_1_ISR;
|
unit TMR_1_ISR;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
DriverManagement - Driver Initialization & Management Interface.
|
||||||
* Unit: Driver_Management
|
|
||||||
* Description: Manages Driver Loading
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
unit drivermanagement;
|
unit drivermanagement;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Fault->ACE - Alignment Check Exception.
|
||||||
* Unit: Drivers/ISR17
|
|
||||||
* Description: Alignment Check Exception
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit ACE;
|
unit ACE;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Fault->BPE - Break Point Exception.
|
||||||
* Unit: Drivers/ISR3
|
|
||||||
* Description: Breakpoint Exception
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit BPE;
|
unit BPE;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Fault->BTSSE - Bad TSS Exception.
|
||||||
* Unit: Drivers/ISR10
|
|
||||||
* Description: Bad TSS Exception
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit BTSSE;
|
unit BTSSE;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Fault->CFE - Coprocessor Fault Exception.
|
||||||
* Unit: Drivers/ISR11
|
|
||||||
* Description: Coprocessor Fault Exception
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit CFE;
|
unit CFE;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Fault->CSOE - Coprocessor Seg Overruun Exception.
|
||||||
* Unit: Drivers/ISR9
|
|
||||||
* Description: Coprocessor Seg Overrun Exception
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit CSOE;
|
unit CSOE;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Fault->DBGE - Debug Exception.
|
||||||
* Unit: Drivers/ISR1
|
|
||||||
* Description: Debug Exception
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit DBGE;
|
unit DBGE;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Fault->DBZ - Divide By Zero Exception.
|
||||||
* Unit: Drivers/ISR0
|
|
||||||
* Description: Divide-By-Zero Exception
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit DBZ;
|
unit DBZ;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Fault->DFE - Double Fault Exception.
|
||||||
* Unit: Drivers/ISR8
|
|
||||||
* Description: Double Fault Exception
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit DFE;
|
unit DFE;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Fault->GPF - General Protection Fault.
|
||||||
* Unit: Drivers/ISR13
|
|
||||||
* Description: General Protection Fault
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit GPF;
|
unit GPF;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Fault->IDO - Into Detected Overflow Exception.
|
||||||
* Unit: Drivers/ISR4
|
|
||||||
* Description: Into Detected Overflow Exception
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit IDOE;
|
unit IDOE;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Fault->IOPE - Invalid OPCode Exception.
|
||||||
* Unit: Drivers/ISR6
|
|
||||||
* Description: Invalid OPCode Exception
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit IOPE;
|
unit IOPE;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Fault->MCE - Machine Check Exception.
|
||||||
* Unit: Drivers/ISR18
|
|
||||||
* Description: Machine Check Exception
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit MCE;
|
unit MCE;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Fault->NCE - No Coprocessor Exception.
|
||||||
* Unit: Drivers/ISR7
|
|
||||||
* Description: No Coprocessor Exception
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit NCE;
|
unit NCE;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Fault->NMIE - Non-Maskable Interrupt Exception.
|
||||||
* Unit: Drivers/ISR2
|
|
||||||
* Description: Non-Maskable Interrupt Exception
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit NMIE;
|
unit NMIE;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Fault->OOBE - Out Of Bounds Exception.
|
||||||
* Unit: Drivers/ISR5
|
|
||||||
* Description: Out of Bounds Exception
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit OOBE;
|
unit OOBE;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Fault->PF - Page Fault.
|
||||||
* Unit: Drivers/ISR14
|
|
||||||
* Description: Page Fault
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit PF;
|
unit PF;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Fault->SFE - Stack Fault Exception.
|
||||||
* Unit: Drivers/ISR12
|
|
||||||
* Description: Stack Fault Exception
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit SFE;
|
unit SFE;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Fault->SNPE - Segment Not Present Exception.
|
||||||
* Unit: Drivers/ISR11
|
|
||||||
* Description: Segment Not Present Exception
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit SNPE;
|
unit SNPE;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Fault->UIE - Unknown Interrupt Exception.
|
||||||
* Unit: Drivers/ISR15
|
|
||||||
* Description: Unknown Interrupt Exception
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit UIE;
|
unit UIE;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Faults - Fault Registration & Detouring.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit faults;
|
unit faults;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
14
src/gdt.pas
14
src/gdt.pas
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Global Descriptor Table - Data Structures & Interface.
|
||||||
* Unit: GDT
|
|
||||||
* Description: GDT Structure and Implementation
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors: A Hance
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit gdt;
|
unit gdt;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
14
src/idt.pas
14
src/idt.pas
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Interrupt Descriptor Table - Structures & Interface.
|
||||||
* Unit: IDT
|
|
||||||
* Description: IDT Structure and Implementation
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit idt;
|
unit idt;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Include->Asuro - Auto-Generated Version & Compilation Information
|
||||||
|
|
||||||
|
@author(Asuro Compilation Script)
|
||||||
|
}
|
||||||
unit asuro;
|
unit asuro;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,13 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Include->BIOS_Data_Area - Data Structures Controlled by the BIOS.
|
||||||
* Unit: bios_data_area
|
|
||||||
* Description: Data Structures controlled by
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
* the BIOS.
|
}
|
||||||
************************************************
|
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit bios_data_area;
|
unit bios_data_area;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Include->CRC - CRC32 Implementation.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit crc;
|
unit crc;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Include->Fonts - Standard Fonts & Font Masks.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit fonts;
|
unit fonts;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Include->Lists - Linked List Data Structures & Helpers.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit lists;
|
unit lists;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Include->Multiboot - Multiboot Structures & Access.
|
||||||
* Unit: Multiboot
|
|
||||||
* Description: Mutliboot (GRUB) Structures.
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit multiboot;
|
unit multiboot;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Include->Strings - String Manipulation.
|
||||||
* Unit: Strings
|
|
||||||
* Description: Collection of function for string manipulation.
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit strings;
|
unit strings;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,9 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Include->System - Base Types & Structures.
|
||||||
* Unit: system
|
|
||||||
* Description: Standard System Types
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
@author(Aaron Hance <ah@aaronhance.me>)
|
||||||
* Author: K Morris
|
}
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit system;
|
unit system;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Include->Types - Dummy Unit For VM Compatability.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit types;
|
unit types;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Include->Util - Data Manipulation Utlities.
|
||||||
* Unit: util
|
|
||||||
* Description: Utilities for data manipulation
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit util;
|
unit util;
|
||||||
|
|
||||||
{$ASMMODE intel}
|
{$ASMMODE intel}
|
||||||
|
14
src/irq.pas
14
src/irq.pas
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Interrupt Request Line - Initialization & Remapping.
|
||||||
* Unit: irq
|
|
||||||
* Description: mapping IRQs
|
@author(Aaron Hance <ah@aaronhance.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: Aaron Hance
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit irq;
|
unit irq;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
14
src/isr.pas
14
src/isr.pas
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
ISR Driver - Initialization (stub).
|
||||||
* Unit: isr
|
|
||||||
* Description: Stub for ISR Driver Initialization
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors: A Hance
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit isr;
|
unit isr;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
ISR->ISR_Types - Interrupt Service Routine Structures.
|
||||||
* Unit: Drivers/isr_types
|
|
||||||
* Description: Defines for ISRs (WIP)
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit isr_types;
|
unit isr_types;
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
ISR->ISRManager - Interrupt Service Routine Registration, Dispatch & Management.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit isrmanager;
|
unit isrmanager;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,9 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Kernel Main - Main Kernel Entry Point.
|
||||||
* Unit: Kernel
|
|
||||||
* Description: Main Entry Point for Asuro
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
@author(Aaron Hance <ah@aaronhance.me>)
|
||||||
* Author: K Morris
|
}
|
||||||
* Contributors: A Hance
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit kernel;
|
unit kernel;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
LMemoryManager - Logical Memory Management
|
||||||
* Unit: LMemoryManager
|
|
||||||
* Description: Logical Virtual Memory Management
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit lmemorymanager;
|
unit lmemorymanager;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
PMemoryManager - Physical Memory Management
|
||||||
* Unit: PMemoryManager
|
|
||||||
* Description: Physical Memory Management
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit pmemorymanager;
|
unit pmemorymanager;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,13 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
ProcessLoader - Process Initialization & Tasking (stub).
|
||||||
* Unit: ProcessLoader
|
|
||||||
* Description: Loads a Process and any related
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
* structers into memory ready for
|
}
|
||||||
* execution.
|
|
||||||
************************************************
|
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
unit processloader;
|
unit processloader;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Prog->MemView - Live Memory View.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit memview;
|
unit memview;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Prog->NetLog - Network Driver Logs.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit netlog;
|
unit netlog;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Prog->Shell - Main Desktop UI.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit shell;
|
unit shell;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Prog->Splash - Asuro Splash Screen.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit splash;
|
unit splash;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Prog->Terminal - Interactive Command Line Environment.
|
||||||
* Unit: Terminal
|
|
||||||
* Description: Interactive shell for the user
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit terminal;
|
unit terminal;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Prog->Themer - Live Desktop Color Picker.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit themer;
|
unit themer;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Prog->VMLog - Virtual Machine Event Log.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit vmlog;
|
unit vmlog;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Prog->VMState - Live MINJ Virtual Machine State Information.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit vmstate;
|
unit vmstate;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
Scheduler - Schedules Context Switches.
|
||||||
* Unit: Scheduler
|
|
||||||
* Description: Schedules Context Switches
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit scheduler;
|
unit scheduler;
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
{
|
||||||
|
Tracer - Trace stack for debugging method calls.
|
||||||
|
|
||||||
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
|
}
|
||||||
unit tracer;
|
unit tracer;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
14
src/tss.pas
14
src/tss.pas
@ -1,12 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
TSS - Task State Segment (stub).
|
||||||
* Unit: tss
|
|
||||||
* Description: Representation of Kernel Space to
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
* Enable System Calls Via Interrupts.
|
}
|
||||||
************************************************
|
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
unit tss;
|
unit tss;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
{ ************************************************
|
{
|
||||||
* Asuro
|
VMemoryManager - Virtual Memory Management.
|
||||||
* Unit: VMemoryManager
|
|
||||||
* Description: Manages Pages of Virtual Memory
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
************************************************
|
}
|
||||||
* Author: K Morris
|
|
||||||
* Contributors:
|
|
||||||
************************************************ }
|
|
||||||
|
|
||||||
unit vmemorymanager;
|
unit vmemorymanager;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user