home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d1xx
/
d183
/
pcq.lha
/
PCQ
/
Runtime
/
graphics.asm
< prev
next >
Wrap
Assembly Source File
|
1989-02-26
|
6KB
|
346 lines
* Graphics.asm (of PCQ Pascal runtime library)
* Copyright (c) 1989 Patrick Quaid
* These stubs implement the routines defined in Graphics.i.
* Note that we are referencing something called _GfxBase.
* This is the variable defined in Graphics.i that's supposed
* to hold the library. This is why you have to open the graphics
* library and put a valid pointer in GfxBase before using these
* routines.
*
* These routines try to save all registers except d0,d1,a0
* and a1.
XREF _GfxBase
section one
XDEF _AllocRaster
_AllocRaster
move.l 8(sp),d0
move.l 4(sp),d1
move.l _GfxBase,a6
jsr _LVOAllocRaster(a6)
rts
XDEF _AreaDraw
_AreaDraw
move.l 12(sp),a1
move.l 8(sp),d0
move.l 4(sp),d1
move.l _GfxBase,a6
jsr _LVOAreaDraw(a6)
rts
XDEF _AreaEnd
_AreaEnd
move.l 4(sp),a1
move.l _GfxBase,a6
jsr _LVOAreaEnd(a6)
rts
XDEF _AreaMove
_AreaMove
move.l 12(sp),a1
move.l 8(sp),d0
move.l 4(sp),d1
move.l _GfxBase,a6
jsr _LVOAreaMove(a6)
rts
XDEF _BltClear
_BltClear
move.l 12(sp),a1
move.l 8(sp),d0
move.l 4(sp),d1
move.l _GfxBase,a6
jsr _LVOBltClear(a6)
rts
XDEF _Draw
_Draw
move.l 12(sp),a1
move.l 8(sp),d0
move.l 4(sp),d1
move.l _GfxBase,a6
jsr _LVODraw(a6)
rts
XDEF _Flood
_Flood
move.l d2,-(sp)
move.l 16(sp),a1
move.l 12(sp),d2
move.l 8(sp),d0
move.l 4(sp),d1
move.l _GfxBase,a6
jsr _LVOFlood(a6)
move.l (sp)+,d2
rts
XDEF _FreeRaster
_FreeRaster
move.l 12(sp),a0
move.l 8(sp),d0
move.l 4(sp),d1
move.l _GfxBase,a6
jsr _LVOFreeRaster(a6)
rts
XDEF _InitBitMap
_InitBitMap
move.l d2,-(sp)
move.l 16(sp),a0
move.l 12(sp),d0
move.l 8(sp),d1
move.l 4(sp),d2
move.l _GfxBase,a6
jsr _LVOInitBitMap(a6)
move.l (sp)+,d2
rts
XDEF _InitRastPort
_InitRastPort
move.l 4(sp),a1
move.l _GfxBase,a6
jsr _LVOInitRastPort(a6)
rts
XDEF _Move
_Move
move.l 12(sp),a1
move.l 8(sp),d0
move.l 4(sp),d1
move.l _GfxBase,a6
jsr _LVOMove(a6)
rts
XDEF _OwnBlitter
_OwnBlitter
move.l _GfxBase,a6
jsr _LVOOwnBlitter(a6)
rts
XDEF _DisownBlitter
_DisownBlitter
move.l _GfxBase,a6
jsr _LVODisownBlitter(a6)
rts
XDEF _PolyDraw
_PolyDraw
move.l 12(sp),a0
move.l 8(sp),d0
move.l 4(sp),a1
move.l _GfxBase,a6
jsr _LVOPolyDraw(a6)
rts
XDEF _ReadPixel
_ReadPixel
move.l 12(sp),a1
move.l 8(sp),d0
move.l 4(sp),d1
move.l _GfxBase,a6
jsr _LVOReadPixel(a6)
rts
XDEF _RectFill
_RectFill
movem.l d2-d3,-(sp)
move.l 28(sp),a1
move.l 24(sp),d0
move.l 20(sp),d1
move.l 16(sp),d2
move.l 12(sp),d3
move.l _GfxBase,a6
jsr _LVORectFill(a6)
movem.l (sp)+,d2-d3
rts
XDEF _ScrollRaster
_ScrollRaster
movem.l d2-d5,-(sp)
move.l 44(sp),a1
move.l 40(sp),d0
move.l 36(sp),d1
move.l 32(sp),d2
move.l 28(sp),d3
move.l 24(sp),d4
move.l 20(sp),d5
move.l _GfxBase,a6
jsr _LVOScrollRaster(a6)
movem.l (sp)+,d2-d5
rts
XDEF _SetAPen
_SetAPen
move.l 8(sp),a1
move.l 4(sp),d0
move.l _GfxBase,a6
jsr _LVOSetAPen(a6)
rts
XDEF _SetBPen
_SetBPen
move.l 8(sp),a1
move.l 4(sp),d0
move.l _GfxBase,a6
jsr _LVOSetBPen(a6)
rts
XDEF _SetDrMd
_SetDrMd
move.l 8(sp),a1
move.l 4(sp),d0
move.l _GfxBase,a6
jsr _LVOSetDrMd(a6)
rts
XDEF _SetRast
_SetRast
move.l 8(sp),a1
move.l 4(sp),d0
move.l _GfxBase,a6
jsr _LVOSetRast(a6)
rts
XDEF _SetRGB4
_SetRGB4
movem.l d2/d3,-(sp)
move.l 28(sp),a0
move.l 24(sp),d0
move.l 20(sp),d1
move.l 16(sp),d2
move.l 12(sp),d3
move.l _GfxBase,a6
jsr _LVOSetRGB4(a6)
movem.l (sp)+,d2/d3
rts
XDEF _VBeamPos
_VBeamPos
move.l _GfxBase,a6
jsr _LVOVBeamPos(a6)
rts
XDEF _WaitTOF
_WaitTOF
move.l _GfxBase,a6
jsr _LVOWaitTOF(a6)
rts
XDEF _WritePixel
_WritePixel
move.l 12(sp),a1
move.l 8(sp),d0
move.l 4(sp),d1
move.l _GfxBase,a6
jsr _LVOWritePixel(a6)
rts
* XREF _LVOAttemptLockLayerRom
* XREF _LVOGraphicsReserved2
* XREF _LVOGraphicsReserved1
* XREF _LVOBltBitMapRastPort
* XREF _LVOFreeGBuffers
* XREF _LVOUCopperListInit
* XREF _LVOScrollVPort
* XREF _LVOGetRGB4
* XREF _LVOFreeColorMap
* XREF _LVOGetColorMap
* XREF _LVOFreeCprList
* XREF _LVOXorRectRegion
* XREF _LVOClipBlit
* XREF _LVOFreeCopList
* XREF _LVOFreeVPortCopLists
* XREF _LVODisposeRegion
* XREF _LVOClearRegion
* XREF _LVONotRegion
* XREF _LVONewRegion
* XREF _LVOOrRectRegion
* XREF _LVOAndRectRegion
XREF _LVOFreeRaster
XREF _LVOAllocRaster
* XREF _LVORemFont
* XREF _LVOAddFont
* XREF _LVOAskFont
* XREF _LVOInitTmpRas
XREF _LVODisownBlitter
XREF _LVOOwnBlitter
* XREF _LVOCopySBitMap
* XREF _LVOSyncSBitMap
* XREF _LVOUnlockLayerRom
* XREF _LVOLockLayerRom
* XREF _LVOMoveSprite
* XREF _LVOChangeSprite
* XREF _LVOFreeSprite
* XREF _LVOGetSprite
* XREF _LVOWaitBOVP
XREF _LVOScrollRaster
XREF _LVOInitBitMap
XREF _LVOVBeamPos
* XREF _LVOCWait
* XREF _LVOCMove
* XREF _LVOCBump
* XREF _LVOInitView
XREF _LVOSetDrMd
XREF _LVOSetBPen
XREF _LVOSetAPen
XREF _LVOPolyDraw
XREF _LVOFlood
XREF _LVOWritePixel
XREF _LVOReadPixel
* XREF _LVOBltPattern
XREF _LVORectFill
XREF _LVOBltClear
* XREF _LVOQBSBlit
XREF _LVOSetRGB4
* XREF _LVOInitArea
* XREF _LVOQBlit
XREF _LVOWaitTOF
XREF _LVOAreaEnd
XREF _LVOAreaDraw
XREF _LVOAreaMove
XREF _LVODraw
XREF _LVOMove
XREF _LVOSetRast
* XREF _LVOWaitBlit
* XREF _LVOLoadView
* XREF _LVOMakeVPort
* XREF _LVOMrgCop
* XREF _LVOInitVPort
XREF _LVOInitRastPort
* XREF _LVOLoadRGB4
* XREF _LVOAreaEllipse
* XREF _LVODrawEllipse
* XREF _LVOInitGMasks
* XREF _LVOGetGBuffers
* XREF _LVOAnimate
* XREF _LVOAddAnimOb
* XREF _LVOSortGList
* XREF _LVOSetCollision
* XREF _LVORemVSprite
* XREF _LVORemIBob
* XREF _LVOInitMasks
* XREF _LVOInitGels
* XREF _LVODrawGList
* XREF _LVODoCollision
* XREF _LVOAddVSprite
* XREF _LVOAddBob
* XREF _LVOSetSoftStyle
* XREF _LVOAskSoftStyle
* XREF _LVOCloseFont
* XREF _LVOOpenFont
* XREF _LVOSetFont
* XREF _LVOText
* XREF _LVOTextLength
* XREF _LVOClearScreen
* XREF _LVOClearEOL
* XREF _LVOBltTemplate
* XREF _LVOBltBitMap
END