mirror of
https://github.com/byteworksinc/ORCA-Pascal.git
synced 2024-11-25 18:31:08 +00:00
186 lines
5.5 KiB
ObjectPascal
186 lines
5.5 KiB
ObjectPascal
{$keep 'MscToolSet'}
|
|
unit MscToolSet;
|
|
interface
|
|
|
|
{********************************************************
|
|
*
|
|
* Miscellaneous Tool Set Interface File
|
|
*
|
|
* Other USES Files Needed: Common
|
|
*
|
|
* Other Tool Sets Needed: Tool Locator, Memory Manager
|
|
*
|
|
* Copyright 1987-1992, 1993
|
|
* By the Byte Works, Inc.
|
|
* All Rights Reserved
|
|
*
|
|
*********************************************************}
|
|
|
|
uses
|
|
Common;
|
|
|
|
type
|
|
queueHeader = record
|
|
reserved1: longint;
|
|
reserved2: integer;
|
|
signature: integer; (* set to $A55A *)
|
|
end;
|
|
queueHeaderPtr = ^queueHeader;
|
|
|
|
intStateRecord = record
|
|
irq_A: integer;
|
|
irq_X: integer;
|
|
irq_Y: integer;
|
|
irq_S: integer;
|
|
irq_D: integer;
|
|
irq_P: byte;
|
|
irq_DB: byte;
|
|
irq_e: byte;
|
|
irq_K: byte;
|
|
irq_PC: integer;
|
|
irq_state: byte;
|
|
irq_shadow: integer;
|
|
irq_mslot: byte;
|
|
end;
|
|
|
|
|
|
procedure MTBootInit; tool ($03, $01); (* WARNING: an application should
|
|
NEVER make this call *)
|
|
|
|
procedure MTStartUp; tool ($03, $02);
|
|
|
|
procedure MTShutDown; tool ($03, $03);
|
|
|
|
function MTVersion: integer; tool ($03, $04);
|
|
|
|
procedure MTReset; tool ($03, $05); (* WARNING: an application should
|
|
NEVER make this call *)
|
|
|
|
function MTStatus: boolean; tool ($03, $06);
|
|
|
|
procedure AddToQueue (newEntry, headerPtr: queueHeaderPtr); tool ($03, $2E);
|
|
|
|
function ConvSeconds (convVerb: integer; seconds: longint; datePtr: ptr)
|
|
: longint; tool ($03, $37);
|
|
|
|
procedure DeleteFromQueue (newEntry, headerPtr: queueHeaderPtr); tool ($03, $2F);
|
|
|
|
procedure SetInterruptState (var interruptState: intStateRecord;
|
|
bytesDesired: integer); tool ($03, $30);
|
|
|
|
procedure GetInterruptState (var interruptState: intStateRecord;
|
|
bytesDesired: integer); tool ($03, $31);
|
|
|
|
function GetIntStateRecSize: integer; tool ($03, $32);
|
|
|
|
function GetCodeResConverter: procPtr; tool ($03, $34);
|
|
|
|
procedure WriteBRam (bufferAddress: ptr); tool ($03, $09);
|
|
|
|
procedure ReadBRam (bufferAddress: ptr); tool ($03, $0A);
|
|
|
|
procedure WriteBParam (theData, paramRefNum: integer); tool ($03, $0B);
|
|
|
|
function ReadBParam (paramRefNum: integer): integer; tool ($03, $0C);
|
|
|
|
(* ReadTimeHex returns 8 bytes - no direct interface is possible *)
|
|
|
|
(* To set up parameters for WriteTimeHex, you could shift the first value *)
|
|
(* and then OR it with the second value: month_day := month << 8 | day *)
|
|
|
|
procedure WriteTimeHex (month_day, year_hour, minute_second: integer);
|
|
tool ($03, $0E);
|
|
|
|
procedure ReadASCIITime (bufferAddress: ptr); tool ($03, $0F);
|
|
|
|
(* FWEntry returns 4 integers - no direct interface is possible *)
|
|
|
|
function GetAddr (refNum: integer): ptr; tool ($03, $16);
|
|
|
|
function GetTick: longint; tool ($03, $25);
|
|
|
|
function GetIRQEnable: integer; tool ($03, $29);
|
|
|
|
procedure IntSource (srcRefNum: integer); tool ($03, $23);
|
|
|
|
procedure ClampMouse (xMinClamp, xMaxClamp, yMinClamp, yMaxClamp: integer);
|
|
tool ($03, $1C);
|
|
|
|
procedure ClearMouse; tool ($03, $1B);
|
|
|
|
(* GetMouseClamp returns 4 integers - no direct interface is possible *)
|
|
|
|
procedure HomeMouse; tool ($03, $1A);
|
|
|
|
procedure InitMouse (mouseSlot: integer); tool ($03, $18);
|
|
|
|
procedure PosMouse (xPos, yPos: integer); tool ($03, $1E);
|
|
|
|
(* ReadMouse returns 2 integers and 2 bytes - no direct interface is possible *)
|
|
(* ReadMouse2 returns 3 integers - no direct interface is possible *)
|
|
|
|
function ServeMouse: integer; tool ($03, $1F);
|
|
|
|
procedure SetMouse (mouseMode: integer); tool ($03, $19);
|
|
|
|
procedure SetAbsClamp (xMinClamp, xMaxClamp, yMinClamp, yMaxClamp: integer);
|
|
tool ($03, $2A);
|
|
|
|
(* GetAbsClamp returns 4 integers - no direct interface is possible *)
|
|
|
|
function PackBytes (startHandle: handle; var size: integer; bufferPtr: ptr;
|
|
bufferSize: integer): integer; tool ($03, $26);
|
|
|
|
function UnPackBytes (packBufferPtr: ptr; bufferSize: integer;
|
|
startHandle: handle; var size: integer): integer;
|
|
tool ($03, $27);
|
|
|
|
function Munger (destPtr: handle; var destLen: integer; targPtr: ptr;
|
|
targLen: integer; replPtr: ptr; replLen: integer;
|
|
padPtr: ptr): integer; tool ($03, $28);
|
|
|
|
procedure SetHeartBeat (taskPtr: ptr); tool ($03, $12);
|
|
|
|
procedure DelHeartBeat (taskPtr: ptr); tool ($03, $13);
|
|
|
|
procedure ClrHeartBeat; tool ($03, $14);
|
|
|
|
procedure SysBeep; tool ($03, $2C);
|
|
|
|
procedure SysBeep2 (beepType: integer); tool ($03, $38);
|
|
|
|
procedure SysFailMgr (errorCode: integer; failString: univ pStringPtr);
|
|
tool ($03, $15);
|
|
|
|
function GetNewID (IDTag: integer): integer; tool ($03, $20);
|
|
|
|
procedure DeleteID (IDTag: integer); tool ($03, $21);
|
|
|
|
procedure StatusID (IDTag: integer); tool ($03, $22);
|
|
|
|
procedure SetVector (vectorRefNum: integer; vectorPtr: ptr); tool ($03, $10);
|
|
|
|
function GetVector (vectorRefNum: integer): ptr; tool ($03, $11);
|
|
|
|
procedure VersionString (flags: integer; theVersion: longint;
|
|
str: univ cStringPtr); tool ($03, $39);
|
|
|
|
function WaitUntil (delayFrom, delayAmount: integer): integer; tool ($03, $3A);
|
|
|
|
function ScanDevices: integer; tool ($03, $3D);
|
|
|
|
procedure ShowBootInfo (str: cStringPtr; icon: ptr); tool ($03, $3C);
|
|
|
|
function StringToText (flags: integer; textPtr: cStringPtr; textLen: integer;
|
|
result: gsosOutStringPtr): longint; tool ($03, $3B);
|
|
|
|
{new in 6.0.1}
|
|
|
|
function AlertMessage (msgTable: ptr; msgNum: integer; subs: ptr): integer;
|
|
tool($03, $3E);
|
|
|
|
function DoSysPrefs (bitsToClear, bitsToSet: integer): integer; tool ($03, $3F);
|
|
|
|
implementation
|
|
end.
|