* $Id: intuition.s 1.11 1998/10/12 22:16:05 jah Exp jah $
**************************************************************************
*   INTUITION-LIBRARY                                                    *
**************************************************************************
**************************************************************************
*   INITIALIZATION                                                       *
**************************************************************************

INTUIINIT	move.l	_intbase,d0
		beq	.init
		rts

.init		move.l	#-_LVOBltBitMapRastPort,d0
		move.l	#242,d1
		lea	_intname,a0
		bsr	_InitLibrary
		move.l	d0,a0
		move.l	d0,_intbase
		
		patch	_LVOCloseWorkBench(a0),CLOSEWB(pc)
		patch	_LVOClearDMRequest(A0),MYRTZ(PC)
		patch	_LVOOpenWindow(A0),_OPENWINDOW(PC)
		patch	_LVOCloseWindow(A0),_CLOSEWINDOW(PC)
		patch	_LVOLockIBase(A0),_LOCKIBASE(PC)

		rts

**************************************************************************
*   SCREEN FUNCTIONS                                                     *
**************************************************************************

;since there is no workbench, closing returns always true for success
CLOSEWB		MOVEQ.L	#0,D0
		RTS

_OPENWINDOW	MOVE.L	A0,-(A7)
		MOVE.L	#$84,D0
		MOVEQ.L	#0,D1
		BSR.W	ALLOCM
		MOVE.L	D0,A1
		MOVE.L	(A7)+,A0
		MOVE.L	(A0),wd_LeftEdge(A1)
		MOVE.L	nw_Width(A0),wd_Width(A1)
		MOVE.W	nw_DetailPen(A0),wd_DetailPen(A1)
		MOVE.L	nw_IDCMPFlags(A0),wd_IDCMPFlags(A1)
		MOVE.L	nw_Flags(A0),wd_Flags(A1)
		MOVE.L	nw_FirstGadget(A0),wd_FirstGadget(A1)
		MOVE.L	nw_CheckMark(A0),wd_CheckMark(A1)
		MOVE.L	nw_Title(A0),wd_Title(A1)
		MOVE.L	nw_Screen(A0),wd_WScreen(A1)
;		MOVE.L	nw_BitMap(A0),wd_	;rastport ignored
		MOVE.L	nw_MinWidth(A0),wd_MinWidth(A1)
		MOVE.L	nw_MaxWidth(A0),wd_MaxWidth(A1)
		RTS

_CLOSEWINDOW	MOVE.L	A0,A1
		MOVE.L	#$84,D0
		BSR.W	FREEM
		RTS

_LOCKIBASE	MOVE.L	#'MYLK',D0
		RTS
		
**************************************************************************
*   ICON-LIBRARY                                                         *
**************************************************************************
**************************************************************************
*   INITIALIZATION                                                       *
**************************************************************************

ILIBINIT	move.l	_ilibbase,d0
		beq	.init
		rts

.init		move.l	#-_LVOBumpRevision,d0
		move.l	#LIB_SIZE,D1
		lea	_ilibname,a0
		bsr	_InitLibrary
		move.l	d0,a0
		move.l	d0,_ilibbase
		
;		patch	_LVOCloseWorkBench(a0),CLOSEWB(pc)

		rts


**************************************************************************
*   LAYERS-LIBRARY                                                       *
**************************************************************************
**************************************************************************
*   INITIALIZATION                                                       *
**************************************************************************

LAYERSINIT	move.l	_laybase,d0
		beq	.init
		rts

.init		move.l	#-_LVOMoveLayerInFrontOf,d0
		move.l	#LIB_SIZE,D1
		lea	_layname,a0
		bsr	_InitLibrary
		move.l	d0,a0
		move.l	d0,_laybase
		
;		patch	_LVOCloseWorkBench(a0),CLOSEWB(pc)

		rts

**************************************************************************
*   MATHFFP-LIBRARY                                                      *
**************************************************************************
**************************************************************************
*   INITIALIZATION                                                       *
**************************************************************************

MATHFFPINIT	move.l	_mffpbase,d0
		beq	.init
		rts

.init		move.l	#-_LVOSPDiv,d0
		move.l	#LIB_SIZE,D1
		lea	_mffpname,a0
		bsr	_InitLibrary
		move.l	d0,a0
		move.l	d0,_mffpbase
		
;		patch	_LVOCloseWorkBench(a0),CLOSEWB(pc)

		rts


