
; Graphics-Interface

	INCLUDE	"lvo/graphics.i"

	XREF	_GfxBase





CREATE MACRO Name,Registermaske,Registeranzahl,Satz1,Anzahl1,Satz2,Anzahl2...

	IFD	\1
	XDEF	_\1

_\1
	IFEQ	 \3-1
	move.l	\2,-(SP)
	ELSE
	movem.l	\2,-(SP)
	ENDC

TIEFE	SET	4+4*\3
	IFNC	 '\4',''
	SATZ	\4,\5,\6,\7,\8,\9,\a,\b,\c,\d,\e,\f,\g,\h,\i,\j
	ENDC

	move.l	_GfxBase,a6
	jsr		_LVO\1(a6)
	IFEQ	 \3-1
	move.l	(SP)+,\2
	ELSE
	movem.l	(SP)+,\2
	ENDC
	rts

	ENDC

	ENDM





SATZ	MACRO	Satz1,Anzahl1,Satz2,Anzahl2...
	IFEQ	 \2-1
	move.l	TIEFE(SP),\1
	ELSE
	movem.l	TIEFE(SP),\1
	ENDC
TIEFE	SET	TIEFE+4*\2
	IFNC	 '\3',''
	SATZ	\3,\4,\5,\6,\7,\8,\9,\a,\b,\c,\d,\e,\f,\g,\h,\i
	ENDC
	ENDM





; BltBitMap(srcBitMap,srcX,srcY,destBitMap,destX,destY,sizeX,sizeY,minterm,mask,tempA)(A0,D0/D1,A1,D2/D3/D4/D5/D6/D7/A2)
	CREATE	BltBitMap,d2-d7/a2/a6,8,a0,1,d0-d1/a1,3,d2-d7/a2,7

; BltTemplate(source,srcX,srcMod,destRastPort,destX,destY,sizeX,sizeY)(A0,D0/D1/A1,D2/D3/D4/D5)
	CREATE	BltTemplate,d2-d5/a6,5,a0,1,d0-d1/a1,3,d2-d5,4

; ClearEOL(rastPort)(A1)
	CREATE	ClearEOL,a6,1,a1,1

; ClearScreen(rastPort)(A1)
	CREATE	ClearScreen,a6,1,a1,1

; TextLength(RastPort,string,count)(A1,A0,D0)
	CREATE	TextLength,a6,1,a1,1,a0,1,d0,1

; Text(RastPort,string,count)(A1,A0,D0)
	CREATE	Text,a6,1,a1,1,a0,1,d0,1

; SetFont(RastPortID,textFont)(A1,A0)
	CREATE	SetFont,a6,1,a1,1,a0,1

; OpenFont(textAttr)(A0)
	CREATE	OpenFont,a6,1,a0,1

; CloseFont(textFont)(A1)
	CREATE	CloseFont,a6,1,a1,1

; AskSoftStyle(rastPort)(A1)
	CREATE	AskSoftStyle,a6,1,a1,1

; SetSoftStyle(rastPort,style,enable)(A1,D0/D1)
	CREATE	SetSoftStyle,a6,1,a1,1,d0-d1,2

; AddBob(bob,rastPort)(A0,A1)
	CREATE	AddBob,a6,1,a0-a1,2

; AddVSprite(vSprite,rastPort)(A0/A1)
	CREATE	AddVSprite,a6,1,a0-a1,2

; DoCollision(rasPort)(A1)
	CREATE	DoCollision,a6,1,a1,1

; DrawGList(rastPort,viewPort)(A1,A0)
	CREATE	DrawGList,a6,1,a1,1,a0,1

; InitGels(dummyHead,dummyTail,GelsInfo)(A0/A1/A2)
	CREATE	InitGels,a2/a6,2,a0-a2,3

; InitMasks(vSprite)(A0)
	CREATE	InitMasks,a6,1,a0,1

; RemIBob(bob,rastPort,viewPort)(A0/A1/A2)
	CREATE	RemIBob,a2/a6,2,a0-a2,3

; RemVSprite(vSprite)(A0)
	CREATE	RemVSprite,a6,1,a0,1

; SetCollision(type,routine,gelsInfo)(D0/A0/A1)
	CREATE	SetCollision,a6,1,d0/a0-a1,3

; SortGList(rastPort)(A1)
	CREATE	SortGList,a6,1,a1,1

; AddAnimOb(obj,animationKey,rastPort)(A0/A1/A2)
	CREATE	AddAnimOb,a2/a6,2,a0-a2,3

; Animate(animationKey,rastPort)(A0/A1)
	CREATE	Animate,a6,1,a0-a1,2

; GetGBuffers(animationObj,rastPort,doubleBuffer)(A0/A1,D0)
	CREATE	GetGBuffers,a6,1,a0-a1,2,d0,1

; InitGMasks(animationObj)(A0)
	CREATE	InitGMasks,a6,1,a0,1

; DrawEllipse(rastPort,cx,cy,a,b)(A1,D0/D1/D2/D3)
	CREATE	DrawEllipse,d2-d3/a6,3,a1,1,d0-d3,4

; AreaEllipse(rastPort,cx,cy,a,b)(A1,D0/D1/D2/D3)
	CREATE	AreaEllipse,d2-d3/a6,3,a1,1,d0-d3,4

; LoadRGB4(viewPort,colors,count)(A0/A1,D0)
	CREATE	LoadRGB4,a6,1,a0-a1,2,d0,1

; InitRastPort(rastPort)(A1)
	CREATE	InitRastPort,a6,1,a1,1

; InitVPort(viewPort)(A0)
	CREATE	InitVPort,a6,1,a0,1

; MrgCop(view)(A1)
	CREATE	MrgCop,a6,1,a1,1

; MakeVPort(view,viewPort)(A0/A1)
	CREATE	MakeVPort,a6,1,a0-a1,2

; LoadView(view)(A1)
	CREATE	LoadView,a6,1,a1,1

; WaitBlit()
	CREATE	WaitBlit,a6,1

; SetRast(rastPort,color)(A1,D0)
	CREATE	SetRast,a6,1,a1,1,d0,1

; Move(rastPort,x,y)(A1,D0/D1)
	CREATE	Move,a6,1,a1,1,d0-d1,2

; Draw(rastPort,x,y)(A1,D0/D1)
	CREATE	Draw,a6,1,a1,1,d0-d1,2

; AreaMove(rastPort,x,y)(A1,D0/D1)
	CREATE	AreaMove,a6,1,a1,1,d0-d1,2

; AreaDraw(rastPort,x,y)(A1,D0/D1)
	CREATE	AreaDraw,a6,1,a1,1,d0-d1,2

; AreaEnd(rastPort)(A1)
	CREATE	AreaEnd,a6,1,a1,1

; WaitTOF()()
	CREATE	WaitTOF,a6,1

; QBlit(blit)(A1)
	CREATE	QBlit,a6,1,a1,1

; InitArea(areaInfo,vectorTable,vectorTableSize)(A0/A1,D0)
	CREATE	InitArea,a6,1,a0-a1,2,d0,1

; SetRGB4(viewPort,index,r,g,b)(A0,D0/D1/D2/D3)
	CREATE	SetRGB4,d2-d3/a6,3,a0,1,d0-d3,4

; QBSBlit(blit)(A1)
	CREATE	QBSBlit,a6,1,a1,1

; BltClear(memory,size,flags)(A1,D0/D1)
	CREATE	BltClear,a6,1,a1,1,d0-d1,2

; RectFill(rastPort,xl,yl,xu,yu)(A1,D0/D1/D2/D3)
	CREATE	RectFill,d2-d3/a6,3,a1,1,d0-d3,4

; BltPattern(rastPort,ras,xl,yl,maxX,maxY,fillBytes)(A1,A0,D0/D1/D2/D3/D4)
	CREATE	BltPattern,d2-d4/a6,4,a1,1,a0,1,d0-d4,5

; ReadPixel(rastPort,x,y)(A1,D0/D1)
	CREATE	ReadPixel,a6,1,a1,1,d0-d1,2

; WritePixel(rastPort,x,y)(A1,D0/D1)
	CREATE	WritePixel,a6,1,a1,1,d0-d1,2

; Flood(rastPort,mode,x,y)(A1,D2,D0/D1)
	CREATE	Flood,d2/a6,2,a1,1,d2,1,d0-d1,2

; PolyDraw(rastPort,count,polyTable)(A1,D0,A0)
	CREATE	PolyDraw,a6,1,a1,1,d0/a0,2

; SetAPen(rastPort,pen)(A1,D0)
	CREATE	SetAPen,a6,1,a1,1,d0,1

; SetBPen(rastPort,pen)(A1,D0)
	CREATE	SetBPen,a6,1,a1,1,d0,1

; SetDrMd(rastPort,drawMode)(A1,D0)
	CREATE	SetDrMd,a6,1,a1,1,d0,1

; InitView(view)(A1)
	CREATE	InitView,a6,1,a1,1

; CBump(copperList)(A1)
	CREATE	CBump,a6,1,a1,1

; CMove(copperList,destination,data)(A1,D0/D1)
	CREATE	CMove,a6,1,a1,1,d0-d1,2

; CWait(copperList,x,y)(A1,D0/D1)
	CREATE	CWait,a6,1,a1,1,d0-d1,2

; VBeamPos()
	CREATE	VBeamPos,a6,1

; InitBitMap(bitMap,depth,width,height)(A0,D0/D1/D2)
	CREATE	InitBitMap,d2/a6,2,a0,1,d0-d2,3

; ScrollRaster(rastPort,dX,dY,minx,miny,maxx,maxy)(A1,D0/D1/D2/D3/D4/D5)
	CREATE	ScrollRaster,d2-d5/a6,5,a1,1,d0-d5,6

; WaitBOVP(viewport)(a0)
	CREATE	WaitBOVP,a6,1,a0,1

; GetSprite(simplesprite,num)(a0,d0)
	CREATE	GetSprite,a6,1,a0,1,d0,1

; FreeSprite(num)(d0)
	CREATE	FreeSprite,a6,1,d0,1

; ChangeSprite(vp,simplesprite,data)(a0/a1/a2)
	CREATE	ChangeSprite,a2/a6,2,a0-a2,3

; MoveSprite(viewport,simplesprite,x,y)(a0/a1,d0/d1)
	CREATE	MoveSprite,a6,1,a0-a1,2,d0-d1,2

; LockLayerRom(layer)(a5)
	CREATE	LockLayerRom,a5/a6,2,a5,1

; UnlockLayerRom(layer)(a5)
	CREATE	UnlockLayerRom,a5/a6,2,a5,1

; SyncSBitMap(l)(a0)
	CREATE	SyncSBitMap,a6,1,a0,1

; CopySBitMap(l)(a0)
	CREATE	CopySBitMap,a6,1,a0,1

; OwnBlitter()()
	CREATE	OwnBlitter,a6,1

; DisownBlitter()()
	CREATE	DisownBlitter,a6,1

; InitTmpRas(tmpras,buff,size)(a0/a1,d0)
	CREATE	InitTmpRas,a6,1,a0-a1,2,d0,1

; AskFont(rastPort,textAttr)(A1,A0)
	CREATE	AskFont,a6,1,a1,1,a0,1

; AddFont(textFont)(A1)
	CREATE	AddFont,a6,1,a1,1

; RemFont(textFont)(A1)
	CREATE	RemFont,a6,1,a1,1

; AllocRaster(width,height)(D0/D1)
	CREATE	AllocRaster,a6,1,d0-d1,2

; FreeRaster(planeptr,width,height)(A0,D0/D1)
	CREATE	FreeRaster,a6,1,a0,1,d0-d1,2

; AndRectRegion(rgn,rect)(A0/A1)
	CREATE	AndRectRegion,a6,1,a0-a1,2

; OrRectRegion(rgn,rect)(A0/A1)
	CREATE	OrRectRegion,a6,1,a0-a1,2

; NewRegion()()
	CREATE	NewRegion,a6,1

; ClearRectRegion(rgn)(A0/A1)
	CREATE	ClearRectRegion,a6,1,a0-a1,2

; ClearRegion(rgn)(A0)
	CREATE	ClearRegion,a6,1,a0,1

; DisposeRegion(rgn)(A0)
	CREATE	DisposeRegion,a6,1,a0,1

; FreeVPortCopLists(viewport)(a0)
	CREATE	FreeVPortCopLists,a6,1,a0,1

; FreeCopList(coplist)(a0)
	CREATE	FreeCopList,a6,1,a0,1

; ClipBlit(srcrp,srcX,srcY,destrp,destX,destY,sizeX,sizeY,minterm)(A0,D0/D1,A1,D2/D3/D4/D5/D6)
	CREATE	ClipBlit,d2-d6/a6,6,a0,1,d0-d1,2,a1,1,d2-d6,5

; XorRectRegion(rgn,rect)(a0/a1)
	CREATE	XorRectRegion,a6,1,a0-a1,2

; FreeCprList(cprlist)(a0)
	CREATE	FreeCprList,a6,1,a0,1

; GetColorMap(entries)(d0)
	CREATE	GetColorMap,a6,1,d0,1

; FreeColorMap(colormap)(a0)
	CREATE	FreeColorMap,a6,1,a0,1

; GetRGB4(colormap,entry)(a0,d0)
	CREATE	GetRGB4,a6,1,a0,1,d0,1

; ScrollVPort(vp)(a0)
	CREATE	ScrollVPort,a6,1,a0,1

; UCopperListInit(copperlist,num)(a0,d0)
	CREATE	UCopperListInit,a6,1,a0,1,d0,1

; FreeGBuffers(animationObj,rastPort,doubleBuffer)(A0/A1,D0)
	CREATE	FreeGBuffers,a6,1,a0-a1,2,d0,1

; BltBitMapRastPort(srcbm,srcx,srcy,destrp,destX,destY,sizeX,sizeY,minterm)(A0,D0/D1,A1,D2/D3/D4/D5/D6)
	CREATE	BltBitMapRastPort,d2-d6/a6,6,a0,1,d0-d1,2,a1,1,d2-d6,5

; OrRegionRegion(src,dst)(a0/a1)
	CREATE	OrRegionRegion,a6,1,a0-a1,2

; XorRegionRegion(src,dst)(a0/a1)
	CREATE	XorRegionRegion,a6,1,a0-a1,2

; AndRegionRegion(src,dst)(a0/a1)
	CREATE	AndRegionRegion,a6,1,a0-a1,2

; SetRGB4CM(cm,i,r,g,b)(a0,d0/d1/d2/d3)
	CREATE	SetRGB4CM,d2-d3/a6,3,a0,1,d0-d3,4

; BltMaskBitMapRastPort(srcbm,srcx,srcy,destrp,destX,destY,sizeX,sizeY,minterm,bltmask)(A0,D0/D1,A1,D2/D3/D4/D5/D6,A2)
	CREATE	BltMaskBitMapRastPort,d2-d6/a2/a6,7,a0,1,d0-d1,2,a1,1,d2-d6/a2,6

;;	GraphicsReserved1()()
;	 CREATE	 GraphicsReserved1,a6,1

;;	GraphicsReserved2()()
;	 CREATE	 GraphicsReserved2,a6,1

; AttemptLockLayerRom(layer)(a5)
	CREATE	AttemptLockLayerRom,a5/a6,2,a5,1





; Offsets

	IFD	OFFSETS

	XDEF	_LVOBltBitMap
	XDEF	_LVOBltTemplate
	XDEF	_LVOClearEOL
	XDEF	_LVOClearScreen
	XDEF	_LVOTextLength
	XDEF	_LVOText
	XDEF	_LVOSetFont
	XDEF	_LVOOpenFont
	XDEF	_LVOCloseFont
	XDEF	_LVOAskSoftStyle
	XDEF	_LVOSetSoftStyle
	XDEF	_LVOAddBob
	XDEF	_LVOAddVSprite
	XDEF	_LVODoCollision
	XDEF	_LVODrawGList
	XDEF	_LVOInitGels
	XDEF	_LVOInitMasks
	XDEF	_LVORemIBob
	XDEF	_LVORemVSprite
	XDEF	_LVOSetCollision
	XDEF	_LVOSortGList
	XDEF	_LVOAddAnimOb
	XDEF	_LVOAnimate
	XDEF	_LVOGetGBuffers
	XDEF	_LVOInitGMasks
	XDEF	_LVODrawEllipse
	XDEF	_LVOAreaEllipse
	XDEF	_LVOLoadRGB4
	XDEF	_LVOInitRastPort
	XDEF	_LVOInitVPort
	XDEF	_LVOMrgCop
	XDEF	_LVOMakeVPort
	XDEF	_LVOLoadView
	XDEF	_LVOWaitBlit
	XDEF	_LVOSetRast
	XDEF	_LVOMove
	XDEF	_LVODraw
	XDEF	_LVOAreaMove
	XDEF	_LVOAreaDraw
	XDEF	_LVOAreaEnd
	XDEF	_LVOWaitTOF
	XDEF	_LVOQBlit
	XDEF	_LVOInitArea
	XDEF	_LVOSetRGB4
	XDEF	_LVOQBSBlit
	XDEF	_LVOBltClear
	XDEF	_LVORectFill
	XDEF	_LVOBltPattern
	XDEF	_LVOReadPixel
	XDEF	_LVOWritePixel
	XDEF	_LVOFlood
	XDEF	_LVOPolyDraw
	XDEF	_LVOSetAPen
	XDEF	_LVOSetBPen
	XDEF	_LVOSetDrMd
	XDEF	_LVOInitView
	XDEF	_LVOCBump
	XDEF	_LVOCMove
	XDEF	_LVOCWait
	XDEF	_LVOVBeamPos
	XDEF	_LVOInitBitMap
	XDEF	_LVOScrollRaster
	XDEF	_LVOWaitBOVP
	XDEF	_LVOGetSprite
	XDEF	_LVOFreeSprite
	XDEF	_LVOChangeSprite
	XDEF	_LVOMoveSprite
	XDEF	_LVOLockLayerRom
	XDEF	_LVOUnlockLayerRom
	XDEF	_LVOSyncSBitMap
	XDEF	_LVOCopySBitMap
	XDEF	_LVOOwnBlitter
	XDEF	_LVODisownBlitter
	XDEF	_LVOInitTmpRas
	XDEF	_LVOAskFont
	XDEF	_LVOAddFont
	XDEF	_LVORemFont
	XDEF	_LVOAllocRaster
	XDEF	_LVOFreeRaster
	XDEF	_LVOAndRectRegion
	XDEF	_LVOOrRectRegion
	XDEF	_LVONewRegion
	XDEF	_LVOClearRectRegion
	XDEF	_LVOClearRegion
	XDEF	_LVODisposeRegion
	XDEF	_LVOFreeVPortCopLists
	XDEF	_LVOFreeCopList
	XDEF	_LVOClipBlit
	XDEF	_LVOXorRectRegion
	XDEF	_LVOFreeCprList
	XDEF	_LVOGetColorMap
	XDEF	_LVOFreeColorMap
	XDEF	_LVOGetRGB4
	XDEF	_LVOScrollVPort
	XDEF	_LVOUCopperListInit
	XDEF	_LVOFreeGBuffers
	XDEF	_LVOBltBitMapRastPort
	XDEF	_LVOOrRegionRegion
	XDEF	_LVOXorRegionRegion
	XDEF	_LVOAndRegionRegion
	XDEF	_LVOSetRGB4CM
	XDEF	_LVOBltMaskBitMapRastPort
;	XDEF	_LVOGraphicsReserved1
;	XDEF	_LVOGraphicsReserved2
	XDEF	_LVOAttemptLockLayerRom

	ENDC





	END

