; 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
