; General arp.library glue code, built using the MapFD program ; supplied with Aztec 5.0 and some small hacks to get Printf and its ; cousins work right though this doesn't imply any guarantee. ; ; This code could - as usual - be a lot shorter since I've put all ; glue routines into one single file instead of creating small single ; modules to be linked into a big linker lib. I could easily say ; that this was done for debugging purposes, but the truth is: I'm ; too lazy. Change anything you want, might as well work with Lattice. ; ; Note: 1) Tracked functions are commented out. ; 2) To enable words for Toupper define INT16 (longs are default) ; ; 10-Mar-90: Olsen did the recreation (yes he did). xref _ArpBase section text,code ; Make the asm happy ; xdef _ArpAllocMem ;_ArpAllocMem: ; move.l a6,-(sp) ; move.l _ArpBase,a6 ; movem.l 8(sp),d0/d1 ; jsr -390(a6) ; move.l (sp)+,a6 ; rts ; xdef _ArpAllocFreq ;_ArpAllocFreq: ; move.l a6,-(sp) ; move.l _ArpBase,a6 ; jsr -660(a6) ; move.l (sp)+,a6 ; rts ; xdef _ArpAlloc ;_ArpAlloc: ; move.l a6,-(sp) ; move.l _ArpBase,a6 ; move.l 8(sp),d0 ; jsr -384(a6) ; move.l (sp)+,a6 ; rts ; xdef _ArpDupLock ;_ArpDupLock: ; move.l a6,-(sp) ; move.l _ArpBase,a6 ; move.l 8(sp),d1 ; jsr 02(a6) ; move.l (sp)+,a6 ; rts ; xdef _ArpLock ;_ArpLock: ; movem.l a6/d2,-(sp) ; move.l _ArpBase,a6 ; movem.l 12(sp),d1/d2 ; jsr 08(a6) ; movem.l (sp)+,a6/d2 ; rts ; xdef _ArpOpen ;_ArpOpen: ; movem.l a6/d2,-(sp) ; move.l _ArpBase,a6 ; movem.l 12(sp),d1/d2 ; jsr -396(a6) ; movem.l (sp)+,a6/d2 ; rts ; xdef _ArpOpenLibrary ;_ArpOpenLibrary: ; move.l a6,-(sp) ; move.l _ArpBase,a6 ; move.l 8(sp),a1 ; move.l 12(sp),d0 ; jsr -654(a6) ; move.l (sp)+,a6 ; rts ; xdef _GetTracker ;_GetTracker: ; move.l a6,-(sp) ; move.l _ArpBase,a6 ; jsr 86(a6) ; move.l (sp)+,a6 ; rts ; xdef _RListAlloc ;_RListAlloc: ; move.l a6,-(sp) ; move.l _ArpBase,a6 ; move.l 8(sp),a0 ; move.l 12(sp),d0 ; jsr 14(a6) ; move.l (sp)+,a6 ; rts xdef _AddDADevs _AddDADevs: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a0 move.l 12(sp),d0 jsr -516(a6) move.l (sp)+,a6 rts xdef _AddDANode _AddDANode: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),a0/a1 movem.l 16(sp),d0/d1 jsr -510(a6) move.l (sp)+,a6 rts xdef _AddResidentPrg _AddResidentPrg: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),d1/a0 jsr -582(a6) move.l (sp)+,a6 rts xdef _ArpExit _ArpExit: movem.l a6/d2,-(sp) move.l _ArpBase,a6 movem.l 12(sp),d0/d2 jsr -378(a6) movem.l (sp)+,a6/d2 rts xdef _Assign _Assign: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),a0/a1 jsr -336(a6) move.l (sp)+,a6 rts xdef _ASyncRun _ASyncRun: movem.l a6/a2,-(sp) move.l _ArpBase,a6 movem.l 12(sp),a0/a1/a2 jsr -546(a6) movem.l (sp)+,a6/a2 rts xdef _Atol _Atol: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a0 jsr -258(a6) move.l (sp)+,a6 rts xdef _BaseName _BaseName: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a0 jsr -630(a6) move.l (sp)+,a6 rts xdef _BtoCStr _BtoCStr: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a0 movem.l 12(sp),d0/d1 jsr -354(a6) move.l (sp)+,a6 rts xdef _CheckAbort _CheckAbort: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a1 jsr -270(a6) move.l (sp)+,a6 rts xdef _CheckBreak _CheckBreak: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),d1/a1 jsr -276(a6) move.l (sp)+,a6 rts xdef _CheckSumPrg _CheckSumPrg: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),d0 jsr -618(a6) move.l (sp)+,a6 rts xdef _CloseWindowSafely _CloseWindowSafely: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),a0/a1 jsr -300(a6) move.l (sp)+,a6 rts xdef _CompareLock _CompareLock: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),d0/d1 jsr 56(a6) move.l (sp)+,a6 rts xdef _CreatePort _CreatePort: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a0 move.l 12(sp),d0 jsr -306(a6) move.l (sp)+,a6 rts xdef _CreateTaskResList _CreateTaskResList: move.l a6,-(sp) move.l _ArpBase,a6 jsr 68(a6) move.l (sp)+,a6 rts xdef _CtoBStr _CtoBStr: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a0 movem.l 12(sp),d0/d1 jsr -360(a6) move.l (sp)+,a6 rts xdef _DeletePort _DeletePort: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a1 jsr -312(a6) move.l (sp)+,a6 rts xdef _DosAllocMem _DosAllocMem: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),d0 jsr -342(a6) move.l (sp)+,a6 rts xdef _DosFreeMem _DosFreeMem: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a1 jsr -348(a6) move.l (sp)+,a6 rts xdef _EscapeString _EscapeString: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a0 jsr -264(a6) move.l (sp)+,a6 rts xdef _FileRequest _FileRequest: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a0 jsr -294(a6) move.l (sp)+,a6 rts xdef _FindCLI _FindCLI: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),d0 jsr 20(a6) move.l (sp)+,a6 rts xdef _FindFirst _FindFirst: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),d0/a0 jsr 38(a6) move.l (sp)+,a6 rts xdef _FindNext _FindNext: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a0 jsr 44(a6) move.l (sp)+,a6 rts xdef _FindTaskResList _FindTaskResList: move.l a6,-(sp) move.l _ArpBase,a6 jsr 62(a6) move.l (sp)+,a6 rts xdef _FPrintf _FPrintf: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),d0/a0 lea.l 16(sp),a1 jsr -234(a6) move.l (sp)+,a6 rts xdef _FreeAccess _FreeAccess: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a1 jsr 98(a6) move.l (sp)+,a6 rts xdef _FreeAnchorChain _FreeAnchorChain: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a0 jsr 50(a6) move.l (sp)+,a6 rts xdef _FreeDAList _FreeDAList: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a1 jsr -504(a6) move.l (sp)+,a6 rts xdef _FreeResList _FreeResList: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a1 jsr 74(a6) move.l (sp)+,a6 rts xdef _FreeTaskResList _FreeTaskResList: move.l a6,-(sp) move.l _ArpBase,a6 jsr -372(a6) move.l (sp)+,a6 rts xdef _FreeTrackedItem _FreeTrackedItem: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a1 jsr 80(a6) move.l (sp)+,a6 rts xdef _GADS _GADS: movem.l a6/a2/a3,-(sp) move.l _ArpBase,a6 move.l 16(sp),a0 movem.l 20(sp),d0/a1/a2/a3 jsr -252(a6) movem.l (sp)+,a6/a2/a3 rts xdef _GetAccess _GetAccess: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a1 jsr 92(a6) move.l (sp)+,a6 rts xdef _GetDevInfo _GetDevInfo: movem.l a6/a2,-(sp) move.l _ArpBase,a6 move.l 12(sp),a2 jsr -366(a6) movem.l (sp)+,a6/a2 rts xdef _Getenv _Getenv: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),a0/a1 move.l 16(sp),d0 jsr -282(a6) move.l (sp)+,a6 rts xdef _GetKeywordIndex _GetKeywordIndex: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),a0/a1 jsr -648(a6) move.l (sp)+,a6 rts xdef _InitStdPacket _InitStdPacket: movem.l a6/a2,-(sp) move.l _ArpBase,a6 movem.l 12(sp),d0/a0/a1/a2 jsr -324(a6) movem.l (sp)+,a6/a2 rts xdef _LDiv _LDiv: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),d0/d1 jsr -606(a6) move.l (sp)+,a6 rts xdef _LMod _LMod: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),d0/d1 jsr -612(a6) move.l (sp)+,a6 rts xdef _LMult _LMult: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),d0/d1 jsr -600(a6) move.l (sp)+,a6 rts xdef _LoadPrg _LoadPrg: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),d1 jsr -552(a6) move.l (sp)+,a6 rts xdef _ObtainResidentPrg _ObtainResidentPrg: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a0 jsr -576(a6) move.l (sp)+,a6 rts xdef _PathName _PathName: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),d0/a0 move.l 16(sp),d1 jsr -330(a6) move.l (sp)+,a6 rts xdef _PatternMatch _PatternMatch: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),a0/a1 jsr 32(a6) move.l (sp)+,a6 rts xdef _PreParse _PreParse: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),a0/a1 jsr -558(a6) move.l (sp)+,a6 rts xdef _Printf _Printf: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),a0 lea.l 12(sp),a1 jsr -228(a6) move.l (sp)+,a6 rts xdef _Puts _Puts: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a1 jsr -240(a6) move.l (sp)+,a6 rts xdef _QSort _QSort: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a0 movem.l 12(sp),d0/d1/a1 jsr 26(a6) move.l (sp)+,a6 rts xdef _ReadLine _ReadLine: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a0 jsr -246(a6) move.l (sp)+,a6 rts xdef _ReleaseResidentPrg _ReleaseResidentPrg: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),d1 jsr -636(a6) move.l (sp)+,a6 rts xdef _RemResidentPrg _RemResidentPrg: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a0 jsr -588(a6) move.l (sp)+,a6 rts xdef _SendPacket _SendPacket: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),d0/a0/a1 jsr -318(a6) move.l (sp)+,a6 rts xdef _Setenv _Setenv: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),a0/a1 jsr -288(a6) move.l (sp)+,a6 rts xdef _SPrintf _SPrintf: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),d0/a0 lea.l 16(sp),a1 jsr -642(a6) move.l (sp)+,a6 rts xdef _StamptoStr _StamptoStr: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a0 jsr -564(a6) move.l (sp)+,a6 rts xdef _Strcmp _Strcmp: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),a0/a1 jsr -522(a6) move.l (sp)+,a6 rts xdef _Strncmp _Strncmp: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),a0/a1 move.l 16(sp),d0 jsr -528(a6) move.l (sp)+,a6 rts xdef _StrtoStamp _StrtoStamp: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),a0 jsr -570(a6) move.l (sp)+,a6 rts xdef _SyncRun _SyncRun: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),a0/a1 movem.l 16(sp),d0/d1 jsr -540(a6) move.l (sp)+,a6 rts xdef _TackOn _TackOn: move.l a6,-(sp) move.l _ArpBase,a6 movem.l 8(sp),a0/a1 jsr -624(a6) move.l (sp)+,a6 rts xdef _Toupper _Toupper: move.l a6,-(sp) move.l _ArpBase,a6 IF INT16 move.w 8(sp),d0 ELSE move.l 8(sp),d0 ENDC jsr -534(a6) move.l (sp)+,a6 rts xdef _UnLoadPrg _UnLoadPrg: move.l a6,-(sp) move.l _ArpBase,a6 move.l 8(sp),d1 jsr -594(a6) move.l (sp)+,a6 rts end ; Make the asm even happier