home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Assembler / DVD!OMA2.DMS / in.adf / Examples / Library / Graphics / Graphics.asm next >
Encoding:
Assembly Source File  |  1994-10-13  |  10.2 KB  |  499 lines

  1.  
  2. ; Graphics-Interface
  3.  
  4.     INCLUDE    "lvo/graphics.i"
  5.  
  6.     XREF    _GfxBase
  7.  
  8.  
  9.  
  10.  
  11.  
  12. CREATE MACRO Name,Registermaske,Registeranzahl,Satz1,Anzahl1,Satz2,Anzahl2...
  13.  
  14.     IFD    \1
  15.     XDEF    _\1
  16.  
  17. _\1
  18.     IFEQ     \3-1
  19.     move.l    \2,-(SP)
  20.     ELSE
  21.     movem.l    \2,-(SP)
  22.     ENDC
  23.  
  24. TIEFE    SET    4+4*\3
  25.     IFNC     '\4',''
  26.     SATZ    \4,\5,\6,\7,\8,\9,\a,\b,\c,\d,\e,\f,\g,\h,\i,\j
  27.     ENDC
  28.  
  29.     move.l    _GfxBase,a6
  30.     jsr        _LVO\1(a6)
  31.     IFEQ     \3-1
  32.     move.l    (SP)+,\2
  33.     ELSE
  34.     movem.l    (SP)+,\2
  35.     ENDC
  36.     rts
  37.  
  38.     ENDC
  39.  
  40.     ENDM
  41.  
  42.  
  43.  
  44.  
  45.  
  46. SATZ    MACRO    Satz1,Anzahl1,Satz2,Anzahl2...
  47.     IFEQ     \2-1
  48.     move.l    TIEFE(SP),\1
  49.     ELSE
  50.     movem.l    TIEFE(SP),\1
  51.     ENDC
  52. TIEFE    SET    TIEFE+4*\2
  53.     IFNC     '\3',''
  54.     SATZ    \3,\4,\5,\6,\7,\8,\9,\a,\b,\c,\d,\e,\f,\g,\h,\i
  55.     ENDC
  56.     ENDM
  57.  
  58.  
  59.  
  60.  
  61.  
  62. ; BltBitMap(srcBitMap,srcX,srcY,destBitMap,destX,destY,sizeX,sizeY,minterm,mask,tempA)(A0,D0/D1,A1,D2/D3/D4/D5/D6/D7/A2)
  63.     CREATE    BltBitMap,d2-d7/a2/a6,8,a0,1,d0-d1/a1,3,d2-d7/a2,7
  64.  
  65. ; BltTemplate(source,srcX,srcMod,destRastPort,destX,destY,sizeX,sizeY)(A0,D0/D1/A1,D2/D3/D4/D5)
  66.     CREATE    BltTemplate,d2-d5/a6,5,a0,1,d0-d1/a1,3,d2-d5,4
  67.  
  68. ; ClearEOL(rastPort)(A1)
  69.     CREATE    ClearEOL,a6,1,a1,1
  70.  
  71. ; ClearScreen(rastPort)(A1)
  72.     CREATE    ClearScreen,a6,1,a1,1
  73.  
  74. ; TextLength(RastPort,string,count)(A1,A0,D0)
  75.     CREATE    TextLength,a6,1,a1,1,a0,1,d0,1
  76.  
  77. ; Text(RastPort,string,count)(A1,A0,D0)
  78.     CREATE    Text,a6,1,a1,1,a0,1,d0,1
  79.  
  80. ; SetFont(RastPortID,textFont)(A1,A0)
  81.     CREATE    SetFont,a6,1,a1,1,a0,1
  82.  
  83. ; OpenFont(textAttr)(A0)
  84.     CREATE    OpenFont,a6,1,a0,1
  85.  
  86. ; CloseFont(textFont)(A1)
  87.     CREATE    CloseFont,a6,1,a1,1
  88.  
  89. ; AskSoftStyle(rastPort)(A1)
  90.     CREATE    AskSoftStyle,a6,1,a1,1
  91.  
  92. ; SetSoftStyle(rastPort,style,enable)(A1,D0/D1)
  93.     CREATE    SetSoftStyle,a6,1,a1,1,d0-d1,2
  94.  
  95. ; AddBob(bob,rastPort)(A0,A1)
  96.     CREATE    AddBob,a6,1,a0-a1,2
  97.  
  98. ; AddVSprite(vSprite,rastPort)(A0/A1)
  99.     CREATE    AddVSprite,a6,1,a0-a1,2
  100.  
  101. ; DoCollision(rasPort)(A1)
  102.     CREATE    DoCollision,a6,1,a1,1
  103.  
  104. ; DrawGList(rastPort,viewPort)(A1,A0)
  105.     CREATE    DrawGList,a6,1,a1,1,a0,1
  106.  
  107. ; InitGels(dummyHead,dummyTail,GelsInfo)(A0/A1/A2)
  108.     CREATE    InitGels,a2/a6,2,a0-a2,3
  109.  
  110. ; InitMasks(vSprite)(A0)
  111.     CREATE    InitMasks,a6,1,a0,1
  112.  
  113. ; RemIBob(bob,rastPort,viewPort)(A0/A1/A2)
  114.     CREATE    RemIBob,a2/a6,2,a0-a2,3
  115.  
  116. ; RemVSprite(vSprite)(A0)
  117.     CREATE    RemVSprite,a6,1,a0,1
  118.  
  119. ; SetCollision(type,routine,gelsInfo)(D0/A0/A1)
  120.     CREATE    SetCollision,a6,1,d0/a0-a1,3
  121.  
  122. ; SortGList(rastPort)(A1)
  123.     CREATE    SortGList,a6,1,a1,1
  124.  
  125. ; AddAnimOb(obj,animationKey,rastPort)(A0/A1/A2)
  126.     CREATE    AddAnimOb,a2/a6,2,a0-a2,3
  127.  
  128. ; Animate(animationKey,rastPort)(A0/A1)
  129.     CREATE    Animate,a6,1,a0-a1,2
  130.  
  131. ; GetGBuffers(animationObj,rastPort,doubleBuffer)(A0/A1,D0)
  132.     CREATE    GetGBuffers,a6,1,a0-a1,2,d0,1
  133.  
  134. ; InitGMasks(animationObj)(A0)
  135.     CREATE    InitGMasks,a6,1,a0,1
  136.  
  137. ; DrawEllipse(rastPort,cx,cy,a,b)(A1,D0/D1/D2/D3)
  138.     CREATE    DrawEllipse,d2-d3/a6,3,a1,1,d0-d3,4
  139.  
  140. ; AreaEllipse(rastPort,cx,cy,a,b)(A1,D0/D1/D2/D3)
  141.     CREATE    AreaEllipse,d2-d3/a6,3,a1,1,d0-d3,4
  142.  
  143. ; LoadRGB4(viewPort,colors,count)(A0/A1,D0)
  144.     CREATE    LoadRGB4,a6,1,a0-a1,2,d0,1
  145.  
  146. ; InitRastPort(rastPort)(A1)
  147.     CREATE    InitRastPort,a6,1,a1,1
  148.  
  149. ; InitVPort(viewPort)(A0)
  150.     CREATE    InitVPort,a6,1,a0,1
  151.  
  152. ; MrgCop(view)(A1)
  153.     CREATE    MrgCop,a6,1,a1,1
  154.  
  155. ; MakeVPort(view,viewPort)(A0/A1)
  156.     CREATE    MakeVPort,a6,1,a0-a1,2
  157.  
  158. ; LoadView(view)(A1)
  159.     CREATE    LoadView,a6,1,a1,1
  160.  
  161. ; WaitBlit()
  162.     CREATE    WaitBlit,a6,1
  163.  
  164. ; SetRast(rastPort,color)(A1,D0)
  165.     CREATE    SetRast,a6,1,a1,1,d0,1
  166.  
  167. ; Move(rastPort,x,y)(A1,D0/D1)
  168.     CREATE    Move,a6,1,a1,1,d0-d1,2
  169.  
  170. ; Draw(rastPort,x,y)(A1,D0/D1)
  171.     CREATE    Draw,a6,1,a1,1,d0-d1,2
  172.  
  173. ; AreaMove(rastPort,x,y)(A1,D0/D1)
  174.     CREATE    AreaMove,a6,1,a1,1,d0-d1,2
  175.  
  176. ; AreaDraw(rastPort,x,y)(A1,D0/D1)
  177.     CREATE    AreaDraw,a6,1,a1,1,d0-d1,2
  178.  
  179. ; AreaEnd(rastPort)(A1)
  180.     CREATE    AreaEnd,a6,1,a1,1
  181.  
  182. ; WaitTOF()()
  183.     CREATE    WaitTOF,a6,1
  184.  
  185. ; QBlit(blit)(A1)
  186.     CREATE    QBlit,a6,1,a1,1
  187.  
  188. ; InitArea(areaInfo,vectorTable,vectorTableSize)(A0/A1,D0)
  189.     CREATE    InitArea,a6,1,a0-a1,2,d0,1
  190.  
  191. ; SetRGB4(viewPort,index,r,g,b)(A0,D0/D1/D2/D3)
  192.     CREATE    SetRGB4,d2-d3/a6,3,a0,1,d0-d3,4
  193.  
  194. ; QBSBlit(blit)(A1)
  195.     CREATE    QBSBlit,a6,1,a1,1
  196.  
  197. ; BltClear(memory,size,flags)(A1,D0/D1)
  198.     CREATE    BltClear,a6,1,a1,1,d0-d1,2
  199.  
  200. ; RectFill(rastPort,xl,yl,xu,yu)(A1,D0/D1/D2/D3)
  201.     CREATE    RectFill,d2-d3/a6,3,a1,1,d0-d3,4
  202.  
  203. ; BltPattern(rastPort,ras,xl,yl,maxX,maxY,fillBytes)(A1,A0,D0/D1/D2/D3/D4)
  204.     CREATE    BltPattern,d2-d4/a6,4,a1,1,a0,1,d0-d4,5
  205.  
  206. ; ReadPixel(rastPort,x,y)(A1,D0/D1)
  207.     CREATE    ReadPixel,a6,1,a1,1,d0-d1,2
  208.  
  209. ; WritePixel(rastPort,x,y)(A1,D0/D1)
  210.     CREATE    WritePixel,a6,1,a1,1,d0-d1,2
  211.  
  212. ; Flood(rastPort,mode,x,y)(A1,D2,D0/D1)
  213.     CREATE    Flood,d2/a6,2,a1,1,d2,1,d0-d1,2
  214.  
  215. ; PolyDraw(rastPort,count,polyTable)(A1,D0,A0)
  216.     CREATE    PolyDraw,a6,1,a1,1,d0/a0,2
  217.  
  218. ; SetAPen(rastPort,pen)(A1,D0)
  219.     CREATE    SetAPen,a6,1,a1,1,d0,1
  220.  
  221. ; SetBPen(rastPort,pen)(A1,D0)
  222.     CREATE    SetBPen,a6,1,a1,1,d0,1
  223.  
  224. ; SetDrMd(rastPort,drawMode)(A1,D0)
  225.     CREATE    SetDrMd,a6,1,a1,1,d0,1
  226.  
  227. ; InitView(view)(A1)
  228.     CREATE    InitView,a6,1,a1,1
  229.  
  230. ; CBump(copperList)(A1)
  231.     CREATE    CBump,a6,1,a1,1
  232.  
  233. ; CMove(copperList,destination,data)(A1,D0/D1)
  234.     CREATE    CMove,a6,1,a1,1,d0-d1,2
  235.  
  236. ; CWait(copperList,x,y)(A1,D0/D1)
  237.     CREATE    CWait,a6,1,a1,1,d0-d1,2
  238.  
  239. ; VBeamPos()
  240.     CREATE    VBeamPos,a6,1
  241.  
  242. ; InitBitMap(bitMap,depth,width,height)(A0,D0/D1/D2)
  243.     CREATE    InitBitMap,d2/a6,2,a0,1,d0-d2,3
  244.  
  245. ; ScrollRaster(rastPort,dX,dY,minx,miny,maxx,maxy)(A1,D0/D1/D2/D3/D4/D5)
  246.     CREATE    ScrollRaster,d2-d5/a6,5,a1,1,d0-d5,6
  247.  
  248. ; WaitBOVP(viewport)(a0)
  249.     CREATE    WaitBOVP,a6,1,a0,1
  250.  
  251. ; GetSprite(simplesprite,num)(a0,d0)
  252.     CREATE    GetSprite,a6,1,a0,1,d0,1
  253.  
  254. ; FreeSprite(num)(d0)
  255.     CREATE    FreeSprite,a6,1,d0,1
  256.  
  257. ; ChangeSprite(vp,simplesprite,data)(a0/a1/a2)
  258.     CREATE    ChangeSprite,a2/a6,2,a0-a2,3
  259.  
  260. ; MoveSprite(viewport,simplesprite,x,y)(a0/a1,d0/d1)
  261.     CREATE    MoveSprite,a6,1,a0-a1,2,d0-d1,2
  262.  
  263. ; LockLayerRom(layer)(a5)
  264.     CREATE    LockLayerRom,a5/a6,2,a5,1
  265.  
  266. ; UnlockLayerRom(layer)(a5)
  267.     CREATE    UnlockLayerRom,a5/a6,2,a5,1
  268.  
  269. ; SyncSBitMap(l)(a0)
  270.     CREATE    SyncSBitMap,a6,1,a0,1
  271.  
  272. ; CopySBitMap(l)(a0)
  273.     CREATE    CopySBitMap,a6,1,a0,1
  274.  
  275. ; OwnBlitter()()
  276.     CREATE    OwnBlitter,a6,1
  277.  
  278. ; DisownBlitter()()
  279.     CREATE    DisownBlitter,a6,1
  280.  
  281. ; InitTmpRas(tmpras,buff,size)(a0/a1,d0)
  282.     CREATE    InitTmpRas,a6,1,a0-a1,2,d0,1
  283.  
  284. ; AskFont(rastPort,textAttr)(A1,A0)
  285.     CREATE    AskFont,a6,1,a1,1,a0,1
  286.  
  287. ; AddFont(textFont)(A1)
  288.     CREATE    AddFont,a6,1,a1,1
  289.  
  290. ; RemFont(textFont)(A1)
  291.     CREATE    RemFont,a6,1,a1,1
  292.  
  293. ; AllocRaster(width,height)(D0/D1)
  294.     CREATE    AllocRaster,a6,1,d0-d1,2
  295.  
  296. ; FreeRaster(planeptr,width,height)(A0,D0/D1)
  297.     CREATE    FreeRaster,a6,1,a0,1,d0-d1,2
  298.  
  299. ; AndRectRegion(rgn,rect)(A0/A1)
  300.     CREATE    AndRectRegion,a6,1,a0-a1,2
  301.  
  302. ; OrRectRegion(rgn,rect)(A0/A1)
  303.     CREATE    OrRectRegion,a6,1,a0-a1,2
  304.  
  305. ; NewRegion()()
  306.     CREATE    NewRegion,a6,1
  307.  
  308. ; ClearRectRegion(rgn)(A0/A1)
  309.     CREATE    ClearRectRegion,a6,1,a0-a1,2
  310.  
  311. ; ClearRegion(rgn)(A0)
  312.     CREATE    ClearRegion,a6,1,a0,1
  313.  
  314. ; DisposeRegion(rgn)(A0)
  315.     CREATE    DisposeRegion,a6,1,a0,1
  316.  
  317. ; FreeVPortCopLists(viewport)(a0)
  318.     CREATE    FreeVPortCopLists,a6,1,a0,1
  319.  
  320. ; FreeCopList(coplist)(a0)
  321.     CREATE    FreeCopList,a6,1,a0,1
  322.  
  323. ; ClipBlit(srcrp,srcX,srcY,destrp,destX,destY,sizeX,sizeY,minterm)(A0,D0/D1,A1,D2/D3/D4/D5/D6)
  324.     CREATE    ClipBlit,d2-d6/a6,6,a0,1,d0-d1,2,a1,1,d2-d6,5
  325.  
  326. ; XorRectRegion(rgn,rect)(a0/a1)
  327.     CREATE    XorRectRegion,a6,1,a0-a1,2
  328.  
  329. ; FreeCprList(cprlist)(a0)
  330.     CREATE    FreeCprList,a6,1,a0,1
  331.  
  332. ; GetColorMap(entries)(d0)
  333.     CREATE    GetColorMap,a6,1,d0,1
  334.  
  335. ; FreeColorMap(colormap)(a0)
  336.     CREATE    FreeColorMap,a6,1,a0,1
  337.  
  338. ; GetRGB4(colormap,entry)(a0,d0)
  339.     CREATE    GetRGB4,a6,1,a0,1,d0,1
  340.  
  341. ; ScrollVPort(vp)(a0)
  342.     CREATE    ScrollVPort,a6,1,a0,1
  343.  
  344. ; UCopperListInit(copperlist,num)(a0,d0)
  345.     CREATE    UCopperListInit,a6,1,a0,1,d0,1
  346.  
  347. ; FreeGBuffers(animationObj,rastPort,doubleBuffer)(A0/A1,D0)
  348.     CREATE    FreeGBuffers,a6,1,a0-a1,2,d0,1
  349.  
  350. ; BltBitMapRastPort(srcbm,srcx,srcy,destrp,destX,destY,sizeX,sizeY,minterm)(A0,D0/D1,A1,D2/D3/D4/D5/D6)
  351.     CREATE    BltBitMapRastPort,d2-d6/a6,6,a0,1,d0-d1,2,a1,1,d2-d6,5
  352.  
  353. ; OrRegionRegion(src,dst)(a0/a1)
  354.     CREATE    OrRegionRegion,a6,1,a0-a1,2
  355.  
  356. ; XorRegionRegion(src,dst)(a0/a1)
  357.     CREATE    XorRegionRegion,a6,1,a0-a1,2
  358.  
  359. ; AndRegionRegion(src,dst)(a0/a1)
  360.     CREATE    AndRegionRegion,a6,1,a0-a1,2
  361.  
  362. ; SetRGB4CM(cm,i,r,g,b)(a0,d0/d1/d2/d3)
  363.     CREATE    SetRGB4CM,d2-d3/a6,3,a0,1,d0-d3,4
  364.  
  365. ; BltMaskBitMapRastPort(srcbm,srcx,srcy,destrp,destX,destY,sizeX,sizeY,minterm,bltmask)(A0,D0/D1,A1,D2/D3/D4/D5/D6,A2)
  366.     CREATE    BltMaskBitMapRastPort,d2-d6/a2/a6,7,a0,1,d0-d1,2,a1,1,d2-d6/a2,6
  367.  
  368. ;;    GraphicsReserved1()()
  369. ;     CREATE     GraphicsReserved1,a6,1
  370.  
  371. ;;    GraphicsReserved2()()
  372. ;     CREATE     GraphicsReserved2,a6,1
  373.  
  374. ; AttemptLockLayerRom(layer)(a5)
  375.     CREATE    AttemptLockLayerRom,a5/a6,2,a5,1
  376.  
  377.  
  378.  
  379.  
  380.  
  381. ; Offsets
  382.  
  383.     IFD    OFFSETS
  384.  
  385.     XDEF    _LVOBltBitMap
  386.     XDEF    _LVOBltTemplate
  387.     XDEF    _LVOClearEOL
  388.     XDEF    _LVOClearScreen
  389.     XDEF    _LVOTextLength
  390.     XDEF    _LVOText
  391.     XDEF    _LVOSetFont
  392.     XDEF    _LVOOpenFont
  393.     XDEF    _LVOCloseFont
  394.     XDEF    _LVOAskSoftStyle
  395.     XDEF    _LVOSetSoftStyle
  396.     XDEF    _LVOAddBob
  397.     XDEF    _LVOAddVSprite
  398.     XDEF    _LVODoCollision
  399.     XDEF    _LVODrawGList
  400.     XDEF    _LVOInitGels
  401.     XDEF    _LVOInitMasks
  402.     XDEF    _LVORemIBob
  403.     XDEF    _LVORemVSprite
  404.     XDEF    _LVOSetCollision
  405.     XDEF    _LVOSortGList
  406.     XDEF    _LVOAddAnimOb
  407.     XDEF    _LVOAnimate
  408.     XDEF    _LVOGetGBuffers
  409.     XDEF    _LVOInitGMasks
  410.     XDEF    _LVODrawEllipse
  411.     XDEF    _LVOAreaEllipse
  412.     XDEF    _LVOLoadRGB4
  413.     XDEF    _LVOInitRastPort
  414.     XDEF    _LVOInitVPort
  415.     XDEF    _LVOMrgCop
  416.     XDEF    _LVOMakeVPort
  417.     XDEF    _LVOLoadView
  418.     XDEF    _LVOWaitBlit
  419.     XDEF    _LVOSetRast
  420.     XDEF    _LVOMove
  421.     XDEF    _LVODraw
  422.     XDEF    _LVOAreaMove
  423.     XDEF    _LVOAreaDraw
  424.     XDEF    _LVOAreaEnd
  425.     XDEF    _LVOWaitTOF
  426.     XDEF    _LVOQBlit
  427.     XDEF    _LVOInitArea
  428.     XDEF    _LVOSetRGB4
  429.     XDEF    _LVOQBSBlit
  430.     XDEF    _LVOBltClear
  431.     XDEF    _LVORectFill
  432.     XDEF    _LVOBltPattern
  433.     XDEF    _LVOReadPixel
  434.     XDEF    _LVOWritePixel
  435.     XDEF    _LVOFlood
  436.     XDEF    _LVOPolyDraw
  437.     XDEF    _LVOSetAPen
  438.     XDEF    _LVOSetBPen
  439.     XDEF    _LVOSetDrMd
  440.     XDEF    _LVOInitView
  441.     XDEF    _LVOCBump
  442.     XDEF    _LVOCMove
  443.     XDEF    _LVOCWait
  444.     XDEF    _LVOVBeamPos
  445.     XDEF    _LVOInitBitMap
  446.     XDEF    _LVOScrollRaster
  447.     XDEF    _LVOWaitBOVP
  448.     XDEF    _LVOGetSprite
  449.     XDEF    _LVOFreeSprite
  450.     XDEF    _LVOChangeSprite
  451.     XDEF    _LVOMoveSprite
  452.     XDEF    _LVOLockLayerRom
  453.     XDEF    _LVOUnlockLayerRom
  454.     XDEF    _LVOSyncSBitMap
  455.     XDEF    _LVOCopySBitMap
  456.     XDEF    _LVOOwnBlitter
  457.     XDEF    _LVODisownBlitter
  458.     XDEF    _LVOInitTmpRas
  459.     XDEF    _LVOAskFont
  460.     XDEF    _LVOAddFont
  461.     XDEF    _LVORemFont
  462.     XDEF    _LVOAllocRaster
  463.     XDEF    _LVOFreeRaster
  464.     XDEF    _LVOAndRectRegion
  465.     XDEF    _LVOOrRectRegion
  466.     XDEF    _LVONewRegion
  467.     XDEF    _LVOClearRectRegion
  468.     XDEF    _LVOClearRegion
  469.     XDEF    _LVODisposeRegion
  470.     XDEF    _LVOFreeVPortCopLists
  471.     XDEF    _LVOFreeCopList
  472.     XDEF    _LVOClipBlit
  473.     XDEF    _LVOXorRectRegion
  474.     XDEF    _LVOFreeCprList
  475.     XDEF    _LVOGetColorMap
  476.     XDEF    _LVOFreeColorMap
  477.     XDEF    _LVOGetRGB4
  478.     XDEF    _LVOScrollVPort
  479.     XDEF    _LVOUCopperListInit
  480.     XDEF    _LVOFreeGBuffers
  481.     XDEF    _LVOBltBitMapRastPort
  482.     XDEF    _LVOOrRegionRegion
  483.     XDEF    _LVOXorRegionRegion
  484.     XDEF    _LVOAndRegionRegion
  485.     XDEF    _LVOSetRGB4CM
  486.     XDEF    _LVOBltMaskBitMapRastPort
  487. ;    XDEF    _LVOGraphicsReserved1
  488. ;    XDEF    _LVOGraphicsReserved2
  489.     XDEF    _LVOAttemptLockLayerRom
  490.  
  491.     ENDC
  492.  
  493.  
  494.  
  495.  
  496.  
  497.     END
  498.  
  499.