home *** CD-ROM | disk | FTP | other *** search
- unit ARP;
-
- INTERFACE
- uses Exec, AmigaDOS, Intuition;
-
-
- type
- pZombieMsg = ^tZombieMsg;
- tZombieMsg = record
- zm_ExecMessage: tMessage;
- zm_TaskNum: long;
- zm_ReturnCode: long;
- zm_Result2: long;
- zm_ExitTime: tDateStamp;
- zm_UserInfo: long;
- end;
-
- pResidentPrgNode = ^tResidentPrgNode;
- tResidentPrgNode = record
- rpn_Next: pResidentPrgNode;
- rpn_Usage: longint;
- rpn_CheckSum: long;
- rpn_Segment: BPTR;
- rpn_Name: array [0..0] of byte;
- end;
-
- pResList = ^tResList;
- tResList = record
- rl_Node: tMinNode;
- rl_TaskID: pTask;
- rl_FirstItem: tMinList;
- rl_Link: pResList;
- end;
-
- pDefaultTracker = ^tDefaultTracker;
- tDefaultTracker = record
- case integer of
- 0: (
- dt_Resource: long;
- dt_Window2: pWindow;
- );
- 1: (
- tg_Verify: longint;
- tg_Function: pointer;
- );
- end;
-
- pResidentProgramTag = ^tResidentProgramTag;
- tResidentProgramTag = record
- rpt_NextSeg: BPTR;
- rpt_BRA: word;
- rpt_Magic: word;
- rpt_StackSize: long;
- rpt_DataSize: long;
- end;
-
- pTrackedResource = ^tTrackedResource;
- tTrackedResource = record
- tr_Node: tMinNode;
- tr_Flags: shortint;
- tr_Lock: shortint;
- tr_ID: integer;
- case integer of
- 0: (
- tr_Resource: long;
- tr_Window2: pWindow;
- );
- 1: (
- tg_Verify: longint;
- tg_Function: pointer;
- );
- end;
-
- pFileRequester = ^tFileRequester;
- tFileRequester = record
- fr_Hail: pbyte;
- fr_File: pbyte;
- fr_Dir: pbyte;
- fr_Window: pWindow;
- fr_FuncFlags: byte;
- fr_reserved1: byte;
- fr_Function: pointer;
- fr_reserved2: longint;
- end;
-
- pProcessControlBlock = ^tProcessControlBlock;
- tProcessControlBlock = record
- pcb_StackSize: long;
- pcb_Pri: shortint;
- pcb_Control: shortint;
- pcb_TrapCode: pointer;
- pcb_Input: long;
- p_Output: long;
- case integer of
- 0: (
- pcb_SplatFile: long;
- );
- 1: (
- pcb_ConName: pbyte;
- pcb_LoadedCode: long;
- pcb_LastGasp: pZombieMsg;
- pcb_WBProcess: pMsgPort;
- );
- end;
-
- pProcessMemory = ^tProcessMemory;
- tProcessMemory = record
- pm_Node: tNode;
- pm_Num: word;
- pm_Stack: long;
- pm_StackSize: long;
- pm_Data: long;
- pm_DataSize: long;
- end;
-
- pArpBase = ^tArpBase;
- tArpBase = record
- LibNode: tLibrary;
- SegList: BPTR;
- Flags: byte;
- ESCChar: byte;
- ArpReserved1: longint;
- EnvBase: pLibrary;
- DosBase: pLibrary;
- GfxBase: pLibrary;
- IntuiBase: pLibrary;
- ResLists: tMinList;
- ResidentPrgList: pResidentPrgNode;
- ResPrgProtection: tSignalSemaphore;
- end;
-
- pDirectoryEntry = ^tDirectoryEntry;
- tDirectoryEntry = record
- de_Next: pDirectoryEntry;
- de_Type: shortint;
- de_Flags: shortint;
- de_Name: array [0..0] of byte;
- end;
-
- pDateTime = ^tDateTime;
- tDateTime = record
- dat_Stamp: tDateStamp;
- dat_Format: byte;
- dat_Flags: byte;
- dat_StrDay: pbyte;
- dat_StrDate: pbyte;
- dat_StrTime: pbyte;
- end;
-
- pAnchor = ^tAnchor;
- pAnchorPath = ^tAnchorPath;
- tAnchorPath = record
- ap_Base: pAnchor;
- ap_Last: pAnchor;
- ap_BreakBits: longint;
- ap_FoundBreak: longint;
- ap_Length: long;
- ap_Info: tFileInfoBlock;
- ap_Buf: array [0..0] of byte;
- end;
-
- tAnchor = record
- an_Next: pAnchor;
- an_Pred: pAnchor;
- an_Lock: pFileLock;
- an_Info: pFileInfoBlock;
- an_Status: longint;
- case integer of
- 0: (
- an_Text: integer;
- );
- 1: (
- an_Actual: array [0..1] of byte;
- );
- end;
-
- ppDirectoryEntry = ^pDirectoryEntry;
-
-
- var
- LastTracker: pDefaultTracker;
- Errno: longint;
- ArpBase: pArpBase;
-
-
- const
- AN_ArpLib = $3600000;
- PRB_CODE = 4;
- AO_ArpLib = $8036;
- AN_ArpNoGfx = $3630002;
- TRAK_GENERIC = $B;
- PR_ARGERR = $FFFFFFF8;
- PR_NOOUTPUT = $FFFFFFFA;
- P_ANY = $80;
- TRF_MOVED = $20;
- PRB_STDIO = 5;
- P_TAGEND = $86;
- PRF_CODE = $10;
- PR_NOLOCK = $FFFFFFF9;
- DLB_DIRS = 3;
- P_REPBEG = $89;
- LCK_DIFVOL1 = 2;
- PR_NOINPUT = $FFFFFFFB;
- LCK_DIFVOL2 = 3;
- PRF_STDIO = $20;
- DTB_SUBST = 0;
- DLF_DIRS = 8;
- DLX_FILE = 0;
- TRAK_MEMNODE = 7;
- FRB_ListFunc = 0;
- DTF_SUBST = 1;
- DLB_DEVICES = 0;
- FRF_ListFunc = 1;
- P_REPEND = $8A;
- DLF_DEVICES = 1;
- DLB_DISKONLY = 1;
- TRAK_MEM = $A;
- ASSIGN_NODEV = 1;
- P_SINGLE = $81;
- DLX_UNMOUNTED = $20;
- DLF_DISKONLY = 2;
- ArpVersion = $22;
- PR_NOCLI = $FFFFFFFD;
- TRAK_LIBRARY = 5;
- TRAK_MAX = $D;
- P_ORSTART = $82;
- EXAMINE_BIT = 2;
- PR_NOSLOT = $FFFFFFFC;
- FRB_AddGadFunc = 2;
- AN_ArpInputMem = $3610002;
- TRAK_SEGLIST = 8;
- PR_NOMEM = $FFFFFFFE;
- ERROR_NOT_CLI = $190;
- FRF_AddGadFunc = 4;
- FCHARS = $20;
- TRAK_ANCHOR = $D;
- ERROR_BUFFER_OVERFLOW = $12F;
- ERROR_BREAK = $130;
- AN_ArpNoDOS = $3630001;
- TRAK_SCREEN = 4;
- AN_ArpNoIntuit = $3630003;
- AN_ArpScattered = $3600002;
- TRAK_RESLIST = 9;
- TRAK_DALIST = $C;
- PRB_INTERACTIVE = 3;
- AN_Zombie = $3600003;
- P_CLASS = $88;
- RESIDENT_MAGIC = $4AFC;
- DLX_DIR = 8;
- P_OREND = $84;
- COMPLEX_BIT = 1;
- PRF_INTERACTIVE = 8;
- TRAK_AAMEM = 0;
- P_ORNEXT = $83;
- TRAK_DAMEM = 6;
- FR_FIRST_GADGET = $7680;
- DLB_VOLUMES = 2;
- DLX_DEVICE = $10;
- DLF_VOLUMES = 4;
- FORMAT_CDN = 3;
- ERRBADINT = 1;
- ASSIGN_CANCEL = 3;
- TRAK_WINDOW = 3;
- PR_BADLIB = $FFFFFFF6;
- ARPB_WILD_BCPL = 1;
- NOCMD = '\n';
- FRB_NewIDCMP = 4;
- ARPB_WILD_WORLD = 0;
- ARPF_WILD_BCPL = 2;
- ArpName = 'arp.library';
- FRF_NewIDCMP = $10;
- PRB_SAVEIO = 0;
- ARPF_WILD_WORLD = 1;
- FRB_DoMsgFunc = 6;
- DLX_ASSIGN = $28;
- PRB_CLOSESPLAT = 1;
- PRF_SAVEIO = 1;
- FORMAT_DOS = 0;
- FORMAT_MAX = 3;
- FRB_DoWildFunc = 7;
- FRF_DoMsgFunc = $40;
- AN_BadPackBlues = $3640000;
- LCK_VOLUME = 1;
- FORMAT_USA = 2;
- PRF_CLOSESPLAT = 2;
- FRF_DoWildFunc = $80;
- DSIZE = $21;
- FORMAT_INT = 1;
- PMEM_NAME = 'ARP_MEM';
- DTB_FUTURE = 1;
- FRB_GEventFunc = 1;
- P_NOTCLASS = $87;
- TRAK_FILE = 2;
- LCK_EQUAL = 0;
- AN_ArpNoMakeEnv = $3610003;
- TRB_UNLINK = 7;
- DTF_FUTURE = 2;
- FRF_GEventFunc = 2;
- TRF_UNLINK = $80;
- PRB_NOCLI = 2;
- P_TAG = $85;
- DLX_VOLUME = $18;
- TRAK_LOCK = 1;
- FRB_DoColor = 5;
- TRB_RELOC = 6;
- PRF_NOCLI = 4;
- PR_NOSTDIO = $FFFFFFF5;
- AN_ArpNoMem = $3610000;
- ASSIGN_OK = 0;
- FRB_NewWindFunc = 3;
- PR_NOFILE = $FFFFFFFF;
- MaxInputBuf = $100;
- PR_NOBCPL = $FFFFFFF7;
- LEN_DATSTRING = $A;
- FRF_DoColor = $20;
- TRF_RELOC = $40;
- ASSIGN_FATAL = 2;
- FRF_NewWindFunc = 8;
- TRB_MOVED = 5;
-
-
- function Puts (string_: pbyte): longint;
- function ReadLine (buffer: pbyte): longint;
- function EscapeString (string_: pbyte): long;
- function CheckAbort (func: pointer): longint;
- function CheckBreak
- (masks: longint;
- func: pointer): longint;
-
- function Getenv
- (string_: pbyte;
- buffer: pbyte;
- size: longint): pshortint;
-
- function Setenv
- (varname: pbyte;
- value: pbyte): boolean;
-
- function FileRequest (FileRequester: pFileRequester): pshortint;
- procedure CloseWindowSafely
- (Window1: pWindow;
- Window2: longint);
-
- function CreatePort
- (name: pbyte;
- pri: longint): pMsgPort;
-
- procedure DeletePort (port: pMsgPort);
- function SendPacket
- (action: longint;
- args: plongint;
- handler: pMsgPort): longint;
-
- procedure InitStdPacket
- (action: longint;
- args: plongint;
- packet: pDosPacket;
- replyport: pMsgPort);
-
- function PathName
- (lock: BPTR;
- buffer: pbyte;
- componentcount: longint): long;
-
- function Assign
- (logical: pbyte;
- physical: pbyte): long;
-
- function DosAllocMem (size: longint): pointer;
- procedure DosFreeMem (dosblock: pointer);
- function BtoCStr
- (cstr: pbyte;
- bstr: BSTR;
- maxlength: longint): long;
-
- function CtoBStr
- (cstr: pbyte;
- bstr: BSTR;
- maxlength: longint): long;
-
- function GetDevInfo (devnode: pDeviceList): pDeviceList;
- function FreeTaskResList: boolean;
- procedure ArpExit
- (rc: longint;
- result2: longint);
-
- function FindCLI (clinum: longint): pProcess;
- function QSort
- (base: pointer;
- rsize: longint;
- bsize: longint;
- comp: plongint): boolean;
-
- function PatternMatch
- (pattern: pbyte;
- string_: pbyte): boolean;
-
- function FindFirst
- (pattern: pbyte;
- AnchorPath: pAnchorPath): longint;
-
- function FindNext (AnchorPath: pAnchorPath): longint;
- procedure FreeAnchorChain (AnchorPath: pAnchorPath);
- function CompareLock
- (lock1: BPTR;
- lock2: BPTR): long;
-
- function FindTaskResList: pResList;
- function CreateTaskResList: pResList;
- procedure FreeResList (freelist: pResList);
- procedure FreeTrackedItem (item: pDefaultTracker);
- function GetAccess (tracker: pDefaultTracker): pointer;
- procedure FreeAccess (tracker: pDefaultTracker);
- procedure FreeDAList (node: pDirectoryEntry);
- function AddDANode
- (data: pbyte;
- dalist: ppDirectoryEntry;
- length: longint;
- id: longint): pDirectoryEntry;
-
- function AddDADevs
- (dalist: ppDirectoryEntry;
- select: longint): long;
-
- function Strcmp
- (s1: pbyte;
- s2: pbyte): longint;
-
- function Strncmp
- (s1: pbyte;
- s2: pbyte;
- count: longint): longint;
-
- function Toupper (character: shortint): shortint;
- function SyncRun
- (name: pbyte;
- command: pbyte;
- input_: BPTR;
- output_: BPTR): longint;
-
- function ASyncRun
- (name: pbyte;
- command: pbyte;
- pcb: pProcessControlBlock): longint;
-
- function LoadPrg (name: pbyte): BPTR;
- function PreParse
- (source: pbyte;
- dest: pbyte): boolean;
-
- function StamptoStr (datetime: pDateTime): boolean;
- function StrtoStamp (datetime: pDateTime): boolean;
- function ObtainResidentPrg (name: pbyte): pResidentPrgNode;
- function AddResidentPrg
- (Segment: BPTR;
- name: pbyte): pResidentPrgNode;
-
- function RemResidentPrg (name: pbyte): longint;
- procedure UnLoadPrg (segment: BPTR);
- function LMult
- (a: longint;
- b: longint): longint;
-
- function LDiv
- (a: longint;
- b: longint): longint;
-
- function LMod
- (a: longint;
- b: longint): longint;
-
- function CheckSumPrg (ResidentNode: pResidentPrgNode): long;
- procedure TackOn
- (pathname: pbyte;
- filename: pbyte);
-
- function BaseName (name: pbyte): pshortint;
- function ReleaseResidentPrg (segment: BPTR): pResidentPrgNode;
-
-
- function GADS
- (line: pbyte;
- len: longint;
- help: pbyte;
- args: ppbyte;
- tplate: pbyte): longint;
-
- function Atol (string_: pbyte): longint;
- function ArpAlloc (size: longint): pointer;
- function ArpAllocMem
- (size: longint;
- requirements: longint): pointer;
-
- function ArpOpen
- (name: pbyte;
- mode: longint): BPTR;
-
- function ArpDupLock (lock: BPTR): BPTR;
- function ArpLock
- (name: pbyte;
- mode: longint): BPTR;
-
- function RListAlloc
- (reslist: pResList;
- size: longint): pointer;
-
- function GetTracker (id: integer): pDefaultTracker;
- procedure CLEAR_ID (t: pDefaultTracker);
- function IsWild (ptr: pointer): boolean;
-
-
- IMPLEMENTATION
- procedure CLEAR_ID; assembler;
- asm
- move.l t,a0
- clr.w -(a0)
- end;
-
- function IsWild; assembler;
- asm
- move.l ptr,a0
- move.l (a0),@result
- beq @1
- moveq #1,d0
- move.l d0,@result
- @1:
- end;
-
- function GADS; xassembler;
- asm
- movem.l a2-a3/a6,-(sp)
- lea $10(sp),a6
- move.l (a6)+,a3
- move.l (a6)+,a2
- move.l (a6)+,a1
- move.l (a6)+,d0
- move.l (a6)+,a0
- move.l ArpBase,a6
- jsr -$36(a6)
- move.l d0,$24(sp)
- movem.l (sp)+,a2-a3/a6
- end;
-
- function Atol; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a0
- move.l ArpBase,a6
- jsr -$3C(a6)
- bne @1
- move.l #ERRBADINT,Errno
- @1:
- move.l d0,$C(sp)
- move.l (sp)+,a6
- end;
-
- function ArpAlloc; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),d0
- move.l ArpBase,a6
- jsr -$BA(a6)
- move.l d0,$C(sp)
- move.l a1,LastTracker
- move.l (sp)+,a6
- end;
-
- function ArpAllocMem; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,d1
- move.l (a6)+,d0
- move.l ArpBase,a6
- jsr -$C0(a6)
- move.l d0,$10(sp)
- move.l a1,LastTracker
- move.l (sp)+,a6
- end;
-
- function ArpOpen; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,d2
- move.l (a6)+,d1
- move.l ArpBase,a6
- jsr -$C6(a6)
- move.l d0,$10(sp)
- move.l a1,LastTracker
- move.l (sp)+,a6
- end;
-
- function ArpDupLock; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),d1
- move.l ArpBase,a6
- jsr -$CC(a6)
- move.l d0,$C(sp)
- move.l a1,LastTracker
- move.l (sp)+,a6
- end;
-
- function ArpLock; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,d2
- move.l (a6)+,d1
- move.l ArpBase,a6
- jsr -$D2(a6)
- move.l d0,$10(sp)
- move.l a1,LastTracker
- move.l (sp)+,a6
- end;
-
- function RListAlloc; xassembler;
- asm
- move.l a6,-(sp)
- movem.l 8(sp),d0/a0
- move.l ArpBase,a6
- jsr -$D8(a6)
- move.l d0,$10(sp)
- move.l a1,LastTracker
- move.l (sp)+,a6
- end;
-
- function GetTracker; xassembler;
- asm
- move.l a6,-(sp)
- move.l ArpBase,a6
- jsr -$120(a6)
- move.l a1,$A(sp)
- move.l a1,LastTracker
- beq @1
- move.w 8(sp),-(a1)
- @1:
- move.l (sp)+,a6
- end;
-
- function Puts; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a1
- move.l ArpBase,a6
- jsr -$F0(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- end;
-
- function ReadLine; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a0
- move.l ArpBase,a6
- jsr -$F6(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- end;
-
- function EscapeString; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a0
- move.l ArpBase,a6
- jsr -$108(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- end;
-
- function CheckAbort; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a1
- move.l ArpBase,a6
- jsr -$10E(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- end;
-
- function CheckBreak; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,a1
- move.l (a6)+,d1
- move.l ArpBase,a6
- jsr -$114(a6)
- move.l d0,$10(sp)
- move.l (sp)+,a6
- end;
-
- function Getenv; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,d0
- move.l (a6)+,a1
- move.l (a6)+,a0
- move.l ArpBase,a6
- jsr -$11A(a6)
- move.l d0,$14(sp)
- move.l (sp)+,a6
- end;
-
- function Setenv; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,a1
- move.l (a6)+,a0
- move.l ArpBase,a6
- jsr -$120(a6)
- tst.l d0
- sne d0
- neg.b d0
- move.b d0,$10(sp)
- move.l (sp)+,a6
- end;
-
- function FileRequest; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a0
- move.l ArpBase,a6
- jsr -$126(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- end;
-
- procedure CloseWindowSafely; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,a1
- move.l (a6)+,a0
- move.l ArpBase,a6
- jsr -$12C(a6)
- move.l (sp)+,a6
- end;
-
- function CreatePort; xassembler;
- asm
- move.l a6,-(sp)
- movem.l 8(sp),d0/a0
- move.l ArpBase,a6
- jsr -$132(a6)
- move.l d0,$10(sp)
- move.l (sp)+,a6
- end;
-
- procedure DeletePort; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a1
- move.l ArpBase,a6
- jsr -$138(a6)
- move.l (sp)+,a6
- end;
-
- function SendPacket; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,a1
- move.l (a6)+,a0
- move.l (a6)+,d0
- move.l ArpBase,a6
- jsr -$13E(a6)
- move.l d0,$14(sp)
- move.l (sp)+,a6
- end;
-
- procedure InitStdPacket; xassembler;
- asm
- movem.l a2/a6,-(sp)
- lea $C(sp),a6
- move.l (a6)+,a2
- move.l (a6)+,a1
- move.l (a6)+,a0
- move.l (a6)+,d0
- move.l ArpBase,a6
- jsr -$144(a6)
- movem.l (sp)+,a2/a6
- end;
-
- function PathName; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,d1
- move.l (a6)+,a0
- move.l (a6)+,d0
- move.l ArpBase,a6
- jsr -$14A(a6)
- move.l d0,$14(sp)
- move.l (sp)+,a6
- end;
-
- function Assign; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,a1
- move.l (a6)+,a0
- move.l ArpBase,a6
- jsr -$150(a6)
- move.l d0,$10(sp)
- move.l (sp)+,a6
- end;
-
- function DosAllocMem; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),d0
- move.l ArpBase,a6
- jsr -$156(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- end;
-
- procedure DosFreeMem; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a1
- move.l ArpBase,a6
- jsr -$15C(a6)
- move.l (sp)+,a6
- end;
-
- function BtoCStr; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,d1
- move.l (a6)+,d0
- move.l (a6)+,a0
- move.l ArpBase,a6
- jsr -$162(a6)
- move.l d0,$14(sp)
- move.l (sp)+,a6
- end;
-
- function CtoBStr; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,d1
- move.l (a6)+,d0
- move.l (a6)+,a0
- move.l ArpBase,a6
- jsr -$168(a6)
- move.l d0,$14(sp)
- move.l (sp)+,a6
- end;
-
- function GetDevInfo; xassembler;
- asm
- movem.l a2/a6,-(sp)
- move.l $C(sp),a2
- move.l ArpBase,a6
- jsr -$16E(a6)
- move.l d0,$10(sp)
- movem.l (sp)+,a2/a6
- end;
-
- function FreeTaskResList; xassembler;
- asm
- movem.l a2/a6,-(sp)
- move.l ArpBase,a6
- jsr -$174(a6)
- tst.l d0
- sne d0
- neg.b d0
- move.b d0,$C(sp)
- movem.l (sp)+,a2/a6
- end;
-
- procedure ArpExit; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,d2
- move.l (a6)+,d0
- move.l ArpBase,a6
- jsr -$17A(a6)
- move.l (sp)+,a6
- end;
-
- function FindCLI; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),d0
- move.l ArpBase,a6
- jsr -$1A4(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- end;
-
- function QSort; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,a1
- move.l (a6)+,d1
- move.l (a6)+,d0
- move.l (a6)+,a0
- move.l ArpBase,a6
- jsr -$1AA(a6)
- tst.l d0
- sne d0
- neg.b d0
- move.b d0,$18(sp)
- move.l (sp)+,a6
- end;
-
- function PatternMatch; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,a1
- move.l (a6)+,a0
- move.l ArpBase,a6
- jsr -$1B0(a6)
- tst.l d0
- sne d0
- neg.b d0
- move.b d0,$10(sp)
- move.l (sp)+,a6
- end;
-
- function FindFirst; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,a0
- move.l (a6)+,d0
- move.l ArpBase,a6
- jsr -$1B6(a6)
- move.l d0,$10(sp)
- move.l (sp)+,a6
- end;
-
- function FindNext; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a0
- move.l ArpBase,a6
- jsr -$1BC(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- end;
-
- procedure FreeAnchorChain; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a0
- move.l ArpBase,a6
- jsr -$1C2(a6)
- move.l (sp)+,a6
- end;
-
- function CompareLock; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,d1
- move.l (a6)+,d0
- move.l ArpBase,a6
- jsr -$1C8(a6)
- move.l d0,$10(sp)
- move.l (sp)+,a6
- end;
-
- function FindTaskResList; xassembler;
- asm
- move.l a6,-(sp)
- move.l ArpBase,a6
- jsr -$1CE(a6)
- move.l d0,8(sp)
- move.l (sp)+,a6
- end;
-
- function CreateTaskResList; xassembler;
- asm
- move.l a6,-(sp)
- move.l ArpBase,a6
- jsr -$1D4(a6)
- move.l d0,8(sp)
- move.l (sp)+,a6
- end;
-
- procedure FreeResList; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a1
- move.l ArpBase,a6
- jsr -$1DA(a6)
- move.l (sp)+,a6
- end;
-
- procedure FreeTrackedItem; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a1
- move.l ArpBase,a6
- jsr -$1E0(a6)
- move.l (sp)+,a6
- end;
-
- function GetAccess; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a1
- move.l ArpBase,a6
- jsr -$1EC(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- end;
-
- procedure FreeAccess; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a1
- move.l ArpBase,a6
- jsr -$1F2(a6)
- move.l (sp)+,a6
- end;
-
- procedure FreeDAList; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a1
- move.l ArpBase,a6
- jsr -$1F8(a6)
- move.l (sp)+,a6
- end;
-
- function AddDANode; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,d1
- move.l (a6)+,d0
- move.l (a6)+,a1
- move.l (a6)+,a0
- move.l ArpBase,a6
- jsr -$1FE(a6)
- move.l d0,$18(sp)
- move.l (sp)+,a6
- end;
-
- function AddDADevs; xassembler;
- asm
- move.l a6,-(sp)
- movem.l 8(sp),d0/a0
- move.l ArpBase,a6
- jsr -$204(a6)
- move.l d0,$10(sp)
- move.l (sp)+,a6
- end;
-
- function Strcmp; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,a1
- move.l (a6)+,a0
- move.l ArpBase,a6
- jsr -$20A(a6)
- move.l d0,$10(sp)
- move.l (sp)+,a6
- end;
-
- function Strncmp; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,d0
- move.l (a6)+,a1
- move.l (a6)+,a0
- move.l ArpBase,a6
- jsr -$210(a6)
- move.l d0,$14(sp)
- move.l (sp)+,a6
- end;
-
- function Toupper; xassembler;
- asm
- move.l a6,-(sp)
- move.b 8(sp),d0
- move.l ArpBase,a6
- jsr -$216(a6)
- move.b d0,$A(sp)
- move.l (sp)+,a6
- end;
-
- function SyncRun; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,d1
- move.l (a6)+,d0
- move.l (a6)+,a1
- move.l (a6)+,a0
- move.l ArpBase,a6
- jsr -$21C(a6)
- move.l d0,$18(sp)
- move.l (sp)+,a6
- end;
-
- function ASyncRun; xassembler;
- asm
- movem.l a2/a6,-(sp)
- lea $C(sp),a6
- move.l (a6)+,a2
- move.l (a6)+,a1
- move.l (a6)+,a0
- move.l ArpBase,a6
- jsr -$222(a6)
- move.l d0,$18(sp)
- movem.l (sp)+,a2/a6
- end;
-
- function LoadPrg; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),d1
- move.l ArpBase,a6
- jsr -$228(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- end;
-
- function PreParse; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,a1
- move.l (a6)+,a0
- move.l ArpBase,a6
- jsr -$22E(a6)
- tst.l d0
- sne d0
- neg.b d0
- move.b d0,$10(sp)
- move.l (sp)+,a6
- end;
-
- function StamptoStr; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a0
- move.l ArpBase,a6
- jsr -$234(a6)
- tst.l d0
- sne d0
- neg.b d0
- move.b d0,$C(sp)
- move.l (sp)+,a6
- end;
-
- function StrtoStamp; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a0
- move.l ArpBase,a6
- jsr -$23A(a6)
- tst.l d0
- sne d0
- neg.b d0
- move.b d0,$C(sp)
- move.l (sp)+,a6
- end;
-
- function ObtainResidentPrg; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a0
- move.l ArpBase,a6
- jsr -$240(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- end;
-
- function AddResidentPrg; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,a0
- move.l (a6)+,d1
- move.l ArpBase,a6
- jsr -$246(a6)
- move.l d0,$10(sp)
- move.l (sp)+,a6
- end;
-
- function RemResidentPrg; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a0
- move.l ArpBase,a6
- jsr -$24C(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- end;
-
- procedure UnLoadPrg; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),d1
- move.l ArpBase,a6
- jsr -$252(a6)
- move.l (sp)+,a6
- end;
-
- function LMult; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,d1
- move.l (a6)+,d0
- move.l ArpBase,a6
- jsr -$258(a6)
- move.l d0,$10(sp)
- move.l (sp)+,a6
- end;
-
- function LDiv; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,d1
- move.l (a6)+,d0
- move.l ArpBase,a6
- jsr -$25E(a6)
- move.l d0,$10(sp)
- move.l (sp)+,a6
- end;
-
- function LMod; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,d1
- move.l (a6)+,d0
- move.l ArpBase,a6
- jsr -$264(a6)
- move.l d0,$10(sp)
- move.l (sp)+,a6
- end;
-
- function CheckSumPrg; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),d0
- move.l ArpBase,a6
- jsr -$26A(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- end;
-
- procedure TackOn; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,a1
- move.l (a6)+,a0
- move.l ArpBase,a6
- jsr -$270(a6)
- move.l (sp)+,a6
- end;
-
- function BaseName; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),a0
- move.l ArpBase,a6
- jsr -$276(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- end;
-
- function ReleaseResidentPrg; xassembler;
- asm
- move.l a6,-(sp)
- move.l 8(sp),d1
- move.l ArpBase,a6
- jsr -$27C(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- end;
-
- end.
-