mirror of
https://github.com/elliotnunn/supermario.git
synced 2025-02-19 18:30:32 +00:00
539 lines
14 KiB
OpenEdge ABL
539 lines
14 KiB
OpenEdge ABL
|
|
{
|
|
Created: Saturday, July 27, 1991 at 10:15 PM
|
|
OSUtils.p
|
|
Pascal Interface to the Macintosh Libraries
|
|
|
|
Copyright Apple Computer, Inc. 1985-1992
|
|
All rights reserved
|
|
|
|
|
|
Dont use:
|
|
-SetUpA5
|
|
-RestoreA5
|
|
Instead:
|
|
SetUpA5 --> myA5 := SetCurrentA5
|
|
RestoreA5 --> oldA5 := SetA5(myA5)
|
|
|
|
Change History (most recent first):
|
|
|
|
<21> 6/26/92 DCL Miner Formatting Changes. Digging deep for things to do. Getting
|
|
the file ready for ETO 8.
|
|
<20> 5/29/92 DCL Moved DateTime stuff from TextUtils to OSUtils.
|
|
<19> 5/7/92 DCL NIIM: Movin date & time Stuff back from DateTime to OSUtils.
|
|
<17> 4/16/92 DCL For New Inside Mac: Moved Read&WriteLocation from Script to
|
|
OSUtils.
|
|
<16> 3/26/92 DCL For New Inside Mac: Moved all of the Date & Time stuff to the
|
|
newly created DateTime include file. Removed inclusion of
|
|
TextUtils to remove the circular dependancies.. #1025005
|
|
<15> 3/12/92 DCL For New Inside Mac Text volume: Moved KeyTrans, EqualString,
|
|
RelString, Compare String, UprString, UpperString to the new
|
|
TextUtils.[ph]
|
|
<14> 3/10/92 DCL For New Improved Inside Mac: Added Call names without Abbrevs.:
|
|
SecsToDate (Secs2Date) and DateToSecs (Date2Secs). Affected
|
|
Files: OSUtils.[ph], SysEqu.a, Traps.[aph].
|
|
<13> 7/30/91 JL Updated Copyright.
|
|
<12> 1/27/91 LN Checked in Database generate file from DSG. Changed parameter
|
|
names from s to secs in DatetoSecs and SecstoDate to match .h
|
|
file.
|
|
<11> 11/4/90 dba get rid of SetUpA5 and RestoreA5; add GetOSTrapAddress,
|
|
SetOSTrapAddress, GetToolboxTrapAddress, SetToolboxTrapAddress,
|
|
GetToolTrapAddress, and SetToolTrapAddress
|
|
<10> 10/10/90 JL Fixing Inline for GETSYSPPTR
|
|
<9> 10/3/90 JAL Removed Restart, Added Inline for GetSysPPtr, added envMacIIfx.
|
|
<8> 8/29/90 dnf Change AltAccessParam to ForeignPrivParam
|
|
<7> 5/18/90 JAL Added sIQType into QTypes set and updated curSysEnvVers.
|
|
<6> 4/13/90 dnf Remove DTParam
|
|
<5> 3/16/90 dnf Add AltAccessParam
|
|
<4> 3/07/90 JAL Added Deferred Task support.
|
|
** 1.3 CCH 12/15/1989 Updated SysEnvirons equates.
|
|
** 1.2 EKN 07/31/1989 Added FIDParam
|
|
** 1.1 ngk 05/31/1989 Added env68030, envMacIIx, useMIDI, and useExtClk
|
|
** 1.0 CCH 11/17/1988 Adding to EASE.
|
|
}
|
|
|
|
|
|
{$IFC UNDEFINED UsingIncludes}
|
|
{$SETC UsingIncludes := 0}
|
|
{$ENDC}
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
UNIT OSUtils;
|
|
INTERFACE
|
|
{$ENDC}
|
|
|
|
{$IFC UNDEFINED UsingOSUtils}
|
|
{$SETC UsingOSUtils := 1}
|
|
|
|
{$I+}
|
|
{$SETC OSUtilsIncludes := UsingIncludes}
|
|
{$SETC UsingIncludes := 1}
|
|
{$IFC UNDEFINED UsingTypes}
|
|
{$I $$Shell(PInterfaces)Types.p}
|
|
{$ENDC}
|
|
{$SETC UsingIncludes := OSUtilsIncludes}
|
|
|
|
CONST
|
|
useFree = 0;
|
|
useATalk = 1;
|
|
useAsync = 2;
|
|
useExtClk = 3; {Externally clocked}
|
|
useMIDI = 4;
|
|
|
|
{*** Environs Equates ***}
|
|
curSysEnvVers = 2; {Updated to equal latest SysEnvirons version}
|
|
|
|
{ Machine Types }
|
|
envMac = -1;
|
|
envXL = -2;
|
|
envMachUnknown = 0;
|
|
env512KE = 1;
|
|
envMacPlus = 2;
|
|
envSE = 3;
|
|
envMacII = 4;
|
|
envMacIIx = 5;
|
|
envMacIIcx = 6;
|
|
envSE30 = 7;
|
|
envPortable = 8;
|
|
envMacIIci = 9;
|
|
envMacIIfx = 11;
|
|
|
|
{ CPU types }
|
|
envCPUUnknown = 0;
|
|
env68000 = 1;
|
|
env68010 = 2;
|
|
env68020 = 3;
|
|
env68030 = 4;
|
|
env68040 = 5;
|
|
|
|
{ Keyboard types }
|
|
envUnknownKbd = 0;
|
|
envMacKbd = 1;
|
|
envMacAndPad = 2;
|
|
envMacPlusKbd = 3;
|
|
envAExtendKbd = 4;
|
|
envStandADBKbd = 5;
|
|
envPrtblADBKbd = 6;
|
|
envPrtblISOKbd = 7;
|
|
envStdISOADBKbd = 8;
|
|
envExtISOADBKbd = 9;
|
|
false32b = 0; {24 bit addressing error}
|
|
true32b = 1; {32 bit addressing error}
|
|
|
|
{ result types for RelString Call }
|
|
sortsBefore = -1; {first string < second string}
|
|
sortsEqual = 0; {first string = second string}
|
|
sortsAfter = 1; {first string > second string}
|
|
|
|
{ Toggle results }
|
|
toggleUndefined = 0;
|
|
toggleOK = 1;
|
|
toggleBadField = 2;
|
|
toggleBadDelta = 3;
|
|
toggleBadChar = 4;
|
|
toggleUnknown = 5;
|
|
toggleBadNum = 6;
|
|
toggleOutOfRange = 7; {synonym for toggleErr3}
|
|
toggleErr3 = 7;
|
|
toggleErr4 = 8;
|
|
toggleErr5 = 9;
|
|
|
|
{ Date equates }
|
|
smallDateBit = 31; {Restrict valid date/time to range of Time global}
|
|
togChar12HourBit = 30; {If toggling hour by char, accept hours 1..12 only}
|
|
togCharZCycleBit = 29; {Modifier for togChar12HourBit: accept hours 0..11 only}
|
|
togDelta12HourBit = 28; {If toggling hour up/down, restrict to 12-hour range (am/pm)}
|
|
genCdevRangeBit = 27; {Restrict date/time to range used by genl CDEV}
|
|
validDateFields = -1;
|
|
maxDateField = 10;
|
|
eraMask = $0001;
|
|
yearMask = $0002;
|
|
monthMask = $0004;
|
|
dayMask = $0008;
|
|
hourMask = $0010;
|
|
minuteMask = $0020;
|
|
secondMask = $0040;
|
|
dayOfWeekMask = $0080;
|
|
dayOfYearMask = $0100;
|
|
weekOfYearMask = $0200;
|
|
pmMask = $0400;
|
|
dateStdMask = $007F; {default for ValidDate flags and ToggleDate TogglePB.togFlags}
|
|
|
|
TYPE
|
|
LongDateField = (eraField,yearField,monthField,dayField,hourField,minuteField,
|
|
secondField,dayOfWeekField,dayOfYearField,weekOfYearField,pmField,res1Field,
|
|
res2Field,res3Field);
|
|
|
|
QTypes = (dummyType,vType,ioQType,drvQType,evType,fsQType,sIQType,dtQType);
|
|
|
|
TrapType = (OSTrap,ToolTrap);
|
|
|
|
ParamBlkType = (IOParam,FileParam,VolumeParam,CntrlParam,SlotDevParam,MultiDevParam,
|
|
AccessParam,ObjParam,CopyParam,WDParam,FIDParam,CSParam,ForeignPrivParam);
|
|
|
|
|
|
SysPPtr = ^SysParmType;
|
|
SysParmType = PACKED RECORD
|
|
valid: Byte;
|
|
aTalkA: Byte;
|
|
aTalkB: Byte;
|
|
config: Byte;
|
|
portA: INTEGER;
|
|
portB: INTEGER;
|
|
alarm: LONGINT;
|
|
font: INTEGER;
|
|
kbdPrint: INTEGER;
|
|
volClik: INTEGER;
|
|
misc: INTEGER;
|
|
END;
|
|
|
|
{QElemPtr = ^QElem;}
|
|
|
|
QElemPtr = ^QElem;
|
|
|
|
FInfo = RECORD
|
|
fdType: OSType; {the type of the file}
|
|
fdCreator: OSType; {file's creator}
|
|
fdFlags: INTEGER; {flags ex. hasbundle,invisible,locked, etc.}
|
|
fdLocation: Point; {file's location in folder}
|
|
fdFldr: INTEGER; {folder containing file}
|
|
END;
|
|
|
|
VCB = RECORD
|
|
qLink: QElemPtr;
|
|
qType: INTEGER;
|
|
vcbFlags: INTEGER;
|
|
vcbSigWord: INTEGER;
|
|
vcbCrDate: LONGINT;
|
|
vcbLsMod: LONGINT;
|
|
vcbAtrb: INTEGER;
|
|
vcbNmFls: INTEGER;
|
|
vcbVBMSt: INTEGER;
|
|
vcbAllocPtr: INTEGER;
|
|
vcbNmAlBlks: INTEGER;
|
|
vcbAlBlkSiz: LONGINT;
|
|
vcbClpSiz: LONGINT;
|
|
vcbAlBlSt: INTEGER;
|
|
vcbNxtCNID: LONGINT;
|
|
vcbFreeBks: INTEGER;
|
|
vcbVN: Str27;
|
|
vcbDrvNum: INTEGER;
|
|
vcbDRefNum: INTEGER;
|
|
vcbFSID: INTEGER;
|
|
vcbVRefNum: INTEGER;
|
|
vcbMAdr: Ptr;
|
|
vcbBufAdr: Ptr;
|
|
vcbMLen: INTEGER;
|
|
vcbDirIndex: INTEGER;
|
|
vcbDirBlk: INTEGER;
|
|
vcbVolBkUp: LONGINT;
|
|
vcbVSeqNum: INTEGER;
|
|
vcbWrCnt: LONGINT;
|
|
vcbXTClpSiz: LONGINT;
|
|
vcbCTClpSiz: LONGINT;
|
|
vcbNmRtDirs: INTEGER;
|
|
vcbFilCnt: LONGINT;
|
|
vcbDirCnt: LONGINT;
|
|
vcbFndrInfo: ARRAY [1..8] OF LONGINT;
|
|
vcbVCSize: INTEGER;
|
|
vcbVBMCSiz: INTEGER;
|
|
vcbCtlCSiz: INTEGER;
|
|
vcbXTAlBlks: INTEGER;
|
|
vcbCTAlBlks: INTEGER;
|
|
vcbXTRef: INTEGER;
|
|
vcbCTRef: INTEGER;
|
|
vcbCtlBuf: Ptr;
|
|
vcbDirIDM: LONGINT;
|
|
vcbOffsM: INTEGER;
|
|
END;
|
|
|
|
DrvQElPtr = ^DrvQEl;
|
|
DrvQEl = RECORD
|
|
qLink: QElemPtr;
|
|
qType: INTEGER;
|
|
dQDrive: INTEGER;
|
|
dQRefNum: INTEGER;
|
|
dQFSID: INTEGER;
|
|
dQDrvSz: INTEGER;
|
|
dQDrvSz2: INTEGER;
|
|
END;
|
|
|
|
ParmBlkPtr = ^ParamBlockRec;
|
|
ParamBlockRec = RECORD
|
|
qLink: QElemPtr;
|
|
qType: INTEGER;
|
|
ioTrap: INTEGER;
|
|
ioCmdAddr: Ptr;
|
|
ioCompletion: ProcPtr;
|
|
ioResult: OSErr;
|
|
ioNamePtr: StringPtr;
|
|
ioVRefNum: INTEGER;
|
|
CASE ParamBlkType OF
|
|
IOParam:
|
|
(ioRefNum: INTEGER;
|
|
ioVersNum: SignedByte;
|
|
ioPermssn: SignedByte;
|
|
ioMisc: Ptr;
|
|
ioBuffer: Ptr;
|
|
ioReqCount: LONGINT;
|
|
ioActCount: LONGINT;
|
|
ioPosMode: INTEGER;
|
|
ioPosOffset: LONGINT);
|
|
FileParam:
|
|
(ioFRefNum: INTEGER;
|
|
ioFVersNum: SignedByte;
|
|
filler1: SignedByte;
|
|
ioFDirIndex: INTEGER;
|
|
ioFlAttrib: SignedByte;
|
|
ioFlVersNum: SignedByte;
|
|
ioFlFndrInfo: FInfo;
|
|
ioFlNum: LONGINT;
|
|
ioFlStBlk: INTEGER;
|
|
ioFlLgLen: LONGINT;
|
|
ioFlPyLen: LONGINT;
|
|
ioFlRStBlk: INTEGER;
|
|
ioFlRLgLen: LONGINT;
|
|
ioFlRPyLen: LONGINT;
|
|
ioFlCrDat: LONGINT;
|
|
ioFlMdDat: LONGINT);
|
|
VolumeParam:
|
|
(filler2: LONGINT;
|
|
ioVolIndex: INTEGER;
|
|
ioVCrDate: LONGINT;
|
|
ioVLsBkUp: LONGINT;
|
|
ioVAtrb: INTEGER;
|
|
ioVNmFls: INTEGER;
|
|
ioVDirSt: INTEGER;
|
|
ioVBlLn: INTEGER;
|
|
ioVNmAlBlks: INTEGER;
|
|
ioVAlBlkSiz: LONGINT;
|
|
ioVClpSiz: LONGINT;
|
|
ioAlBlSt: INTEGER;
|
|
ioVNxtFNum: LONGINT;
|
|
ioVFrBlk: INTEGER);
|
|
CntrlParam:
|
|
(ioCRefNum: INTEGER;
|
|
csCode: INTEGER;
|
|
csParam: ARRAY [0..10] OF INTEGER);
|
|
SlotDevParam:
|
|
(filler3: LONGINT;
|
|
ioMix: Ptr;
|
|
ioFlags: INTEGER;
|
|
ioSlot: SignedByte;
|
|
ioID: SignedByte);
|
|
MultiDevParam:
|
|
(filler4: LONGINT;
|
|
ioMMix: Ptr;
|
|
ioMFlags: INTEGER;
|
|
ioSEBlkPtr: Ptr);
|
|
END;
|
|
|
|
EvQElPtr = ^EvQEl;
|
|
EvQEl = RECORD
|
|
qLink: QElemPtr;
|
|
qType: INTEGER;
|
|
evtQWhat: INTEGER; {this part is identical to the EventRecord as...}
|
|
evtQMessage: LONGINT; {defined in ToolIntf}
|
|
evtQWhen: LONGINT;
|
|
evtQWhere: Point;
|
|
evtQModifiers: INTEGER;
|
|
END;
|
|
|
|
VBLTask = RECORD
|
|
qLink: QElemPtr;
|
|
qType: INTEGER;
|
|
vblAddr: ProcPtr;
|
|
vblCount: INTEGER;
|
|
vblPhase: INTEGER;
|
|
END;
|
|
|
|
DeferredTask = RECORD
|
|
qLink: QElemPtr; {next queue entry}
|
|
qType: INTEGER; {queue type}
|
|
dtFlags: INTEGER; {reserved}
|
|
dtAddr: ProcPtr; {pointer to task}
|
|
dtParm: LONGINT; {optional parameter}
|
|
dtReserved: LONGINT; {reserved--should be 0}
|
|
END;
|
|
|
|
QElem = RECORD
|
|
CASE QTypes OF
|
|
dtQType:
|
|
(dtQElem: DeferredTask); {deferred}
|
|
vType:
|
|
(vblQElem: VBLTask); {vertical blanking}
|
|
ioQType:
|
|
(ioQElem: ParamBlockRec); {I/O parameter block}
|
|
drvQType:
|
|
(drvQElem: DrvQEl); {drive}
|
|
evType:
|
|
(evQElem: EvQEl); {event}
|
|
fsQType:
|
|
(vcbQElem: VCB); {volume control block}
|
|
END;
|
|
|
|
QHdrPtr = ^QHdr;
|
|
QHdr = RECORD
|
|
qFlags: INTEGER;
|
|
qHead: QElemPtr;
|
|
qTail: QElemPtr;
|
|
END;
|
|
|
|
SysEnvRec = RECORD
|
|
environsVersion: INTEGER;
|
|
machineType: INTEGER;
|
|
systemVersion: INTEGER;
|
|
processor: INTEGER;
|
|
hasFPU: BOOLEAN;
|
|
hasColorQD: BOOLEAN;
|
|
keyBoardType: INTEGER;
|
|
atDrvrVersNum: INTEGER;
|
|
sysVRefNum: INTEGER;
|
|
END;
|
|
|
|
MachineLocation = RECORD
|
|
latitude: Fract;
|
|
longitude: Fract;
|
|
CASE INTEGER OF
|
|
0:
|
|
(dlsDelta: SignedByte); {signed byte; daylight savings delta}
|
|
1:
|
|
(gmtDelta: LONGINT); {must mask - see documentation}
|
|
END;
|
|
|
|
DateTimeRec = RECORD
|
|
year: INTEGER;
|
|
month: INTEGER;
|
|
day: INTEGER;
|
|
hour: INTEGER;
|
|
minute: INTEGER;
|
|
second: INTEGER;
|
|
dayOfWeek: INTEGER;
|
|
END;
|
|
|
|
|
|
LongDateTime = comp;
|
|
|
|
LongDateCvt = RECORD
|
|
CASE INTEGER OF
|
|
0:
|
|
(c: Comp);
|
|
1:
|
|
(lHigh: LONGINT;
|
|
lLow: LONGINT);
|
|
END;
|
|
|
|
LongDateRec = RECORD
|
|
CASE INTEGER OF
|
|
0:
|
|
(era: INTEGER;
|
|
year: INTEGER;
|
|
month: INTEGER;
|
|
day: INTEGER;
|
|
hour: INTEGER;
|
|
minute: INTEGER;
|
|
second: INTEGER;
|
|
dayOfWeek: INTEGER;
|
|
dayOfYear: INTEGER;
|
|
weekOfYear: INTEGER;
|
|
pm: INTEGER;
|
|
res1: INTEGER;
|
|
res2: INTEGER;
|
|
res3: INTEGER);
|
|
1:
|
|
(list: ARRAY [0..13] OF INTEGER); {Index by LongDateField!}
|
|
2:
|
|
(eraAlt: INTEGER;
|
|
oldDate: DateTimeRec);
|
|
END;
|
|
|
|
|
|
DateDelta = SignedByte;
|
|
|
|
TogglePB = RECORD
|
|
togFlags: LONGINT; {caller normally sets low word to dateStdMask=$7F}
|
|
amChars: ResType; {from 'itl0', but uppercased}
|
|
pmChars: ResType; {from 'itl0', but uppercased}
|
|
reserved: ARRAY [0..3] OF LONGINT;
|
|
END;
|
|
|
|
|
|
ToggleResults = INTEGER;
|
|
|
|
PROCEDURE LongDateToSeconds(lDate: LongDateRec;VAR lSecs: LongDateTime);
|
|
INLINE $2F3C,$8008,$FFF2,$A8B5;
|
|
PROCEDURE LongDate2Secs(lDate: LongDateRec;VAR lSecs: LongDateTime);
|
|
INLINE $2F3C,$8008,$FFF2,$A8B5;
|
|
PROCEDURE LongSecondsToDate(VAR lSecs: LongDateTime;VAR lDate: LongDateRec);
|
|
INLINE $2F3C,$8008,$FFF0,$A8B5;
|
|
PROCEDURE LongSecs2Date(VAR lSecs: LongDateTime;VAR lDate: LongDateRec);
|
|
INLINE $2F3C,$8008,$FFF0,$A8B5;
|
|
FUNCTION ToggleDate(VAR lSecs: LongDateTime;field: LongDateField;delta: DateDelta;
|
|
ch: INTEGER;params: TogglePB): ToggleResults;
|
|
INLINE $2F3C,$820E,$FFEE,$A8B5;
|
|
FUNCTION ValidDate(vDate: LongDateRec;flags: LONGINT;VAR newSecs: LongDateTime): INTEGER;
|
|
INLINE $2F3C,$820C,$FFE4,$A8B5;
|
|
FUNCTION IsMetric: BOOLEAN;
|
|
INLINE $3F3C,$0004,$A9ED;
|
|
FUNCTION IUMetric: BOOLEAN;
|
|
INLINE $3F3C,$0004,$A9ED;
|
|
FUNCTION ReadDateTime(VAR time: LONGINT): OSErr;
|
|
PROCEDURE GetDateTime(VAR secs: LONGINT);
|
|
FUNCTION SetDateTime(time: LONGINT): OSErr;
|
|
PROCEDURE SetTime(d: DateTimeRec);
|
|
PROCEDURE GetTime(VAR d: DateTimeRec);
|
|
PROCEDURE DateToSeconds(d: DateTimeRec;VAR secs: LONGINT);
|
|
PROCEDURE Date2Secs(d: DateTimeRec;VAR secs: LONGINT);
|
|
PROCEDURE SecondsToDate(secs: LONGINT;VAR d: DateTimeRec);
|
|
PROCEDURE Secs2Date(secs: LONGINT;VAR d: DateTimeRec);
|
|
FUNCTION GetSysPPtr: SysPPtr;
|
|
INLINE $2EBC,$0000,$01F8;
|
|
PROCEDURE SysBeep(duration: INTEGER);
|
|
INLINE $A9C8;
|
|
FUNCTION DTInstall(dtTaskPtr: QElemPtr): OSErr;
|
|
FUNCTION GetMMUMode: SignedByte;
|
|
PROCEDURE SwapMMUMode(VAR mode: SignedByte);
|
|
FUNCTION SysEnvirons(versionRequested: INTEGER;VAR theWorld: SysEnvRec): OSErr;
|
|
PROCEDURE Delay(numTicks: LONGINT;VAR finalTicks: LONGINT);
|
|
FUNCTION GetTrapAddress(trapNum: INTEGER): LONGINT;
|
|
PROCEDURE SetTrapAddress(trapAddr: LONGINT;trapNum: INTEGER);
|
|
FUNCTION NGetTrapAddress(trapNum: INTEGER;tTyp: TrapType): LONGINT;
|
|
PROCEDURE NSetTrapAddress(trapAddr: LONGINT;trapNum: INTEGER;tTyp: TrapType);
|
|
FUNCTION GetOSTrapAddress(trapNum: INTEGER): LONGINT;
|
|
PROCEDURE SetOSTrapAddress(trapAddr: LONGINT;trapNum: INTEGER);
|
|
FUNCTION GetToolTrapAddress(trapNum: INTEGER): LONGINT;
|
|
PROCEDURE SetToolTrapAddress(trapAddr: LONGINT;trapNum: INTEGER);
|
|
FUNCTION GetToolboxTrapAddress(trapNum: INTEGER): LONGINT;
|
|
PROCEDURE SetToolboxTrapAddress(trapAddr: LONGINT;trapNum: INTEGER);
|
|
FUNCTION WriteParam: OSErr;
|
|
PROCEDURE Enqueue(qElement: QElemPtr;qHeader: QHdrPtr);
|
|
FUNCTION Dequeue(qElement: QElemPtr;qHeader: QHdrPtr): OSErr;
|
|
FUNCTION SetCurrentA5: LONGINT;
|
|
INLINE $2E8D,$2A78,$0904;
|
|
FUNCTION SetA5(newA5: LONGINT): LONGINT;
|
|
INLINE $2F4D,$0004,$2A5F;
|
|
PROCEDURE Environs(VAR rom: INTEGER;VAR machine: INTEGER);
|
|
FUNCTION HandToHand(VAR theHndl: Handle): OSErr;
|
|
FUNCTION PtrToXHand(srcPtr: Ptr;dstHndl: Handle;size: LONGINT): OSErr;
|
|
FUNCTION PtrToHand(srcPtr: Ptr;VAR dstHndl: Handle;size: LONGINT): OSErr;
|
|
FUNCTION HandAndHand(hand1: Handle;hand2: Handle): OSErr;
|
|
FUNCTION PtrAndHand(ptr1: Ptr;hand2: Handle;size: LONGINT): OSErr;
|
|
FUNCTION InitUtil: OSErr;
|
|
INLINE $A03F,$3E80;
|
|
FUNCTION SwapInstructionCache(cacheEnable: BOOLEAN): BOOLEAN;
|
|
PROCEDURE FlushInstructionCache;
|
|
FUNCTION SwapDataCache(cacheEnable: BOOLEAN): BOOLEAN;
|
|
PROCEDURE FlushDataCache;
|
|
PROCEDURE ReadLocation(VAR loc: MachineLocation);
|
|
INLINE $205F,$203C,$000C,$00E4,$A051;
|
|
PROCEDURE WriteLocation(loc: MachineLocation);
|
|
INLINE $205F,$203C,$000C,$00E4,$A052;
|
|
|
|
|
|
{$ENDC} { UsingOSUtils }
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
END.
|
|
{$ENDC}
|
|
|