home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 364b.lha / PCQ_v1.1 / Runtime / System / Graphics.asm < prev    next >
Encoding:
Assembly Source File  |  1990-04-08  |  6.1 KB  |  358 lines

  1.  
  2. *    Graphics.asm (of PCQ Pascal runtime library)
  3. *    Copyright (c) 1989 Patrick Quaid
  4.  
  5. *    These stubs implement the routines defined in Graphics.i.
  6. *    Note that we are referencing something called _GfxBase.
  7. *    This is the variable defined in Graphics.i that's supposed
  8. *    to hold the library.  This is why you have to open the graphics
  9. *    library and put a valid pointer in GfxBase before using these
  10. *    routines.
  11. *
  12. *    These routines try to save all registers except d0,d1,a0
  13. *    and a1.
  14.  
  15.     XREF    _GfxBase
  16.  
  17.     section    one
  18.  
  19.     XDEF    _AllocRaster
  20. _AllocRaster
  21.     move.l    8(sp),d0
  22.     move.l    4(sp),d1
  23.     move.l    _GfxBase,a6
  24.     jmp    _LVOAllocRaster(a6)
  25.  
  26.     XDEF    _AreaDraw
  27. _AreaDraw
  28.     move.l    12(sp),a1
  29.     move.l    8(sp),d0
  30.     move.l    4(sp),d1
  31.     move.l    _GfxBase,a6
  32.     jmp    _LVOAreaDraw(a6)
  33.  
  34.     XDEF    _AreaEnd
  35. _AreaEnd
  36.     move.l    4(sp),a1
  37.     move.l    _GfxBase,a6
  38.     jmp    _LVOAreaEnd(a6)
  39.  
  40.     XDEF    _AreaMove
  41. _AreaMove
  42.     move.l    12(sp),a1
  43.     move.l    8(sp),d0
  44.     move.l    4(sp),d1
  45.     move.l    _GfxBase,a6
  46.     jmp    _LVOAreaMove(a6)
  47.  
  48.     XDEF    _BltClear
  49. _BltClear
  50.     move.l    12(sp),a1
  51.     move.l    8(sp),d0
  52.     move.l    4(sp),d1
  53.     move.l    _GfxBase,a6
  54.     jmp    _LVOBltClear(a6)
  55.  
  56.     XDEF    _Draw
  57. _Draw
  58.     move.l    12(sp),a1
  59.     move.l    8(sp),d0
  60.     move.l    4(sp),d1
  61.     move.l    _GfxBase,a6
  62.     jmp    _LVODraw(a6)
  63.  
  64.     XDEF    _DrawCircle
  65. _DrawCircle
  66.     movem.l    d2/d3,-(sp)
  67.     move.w    12(sp),d3
  68.     move.w    d3,d2
  69.     move.w    14(sp),d1
  70.     move.w    16(sp),d0
  71.     move.l    18(sp),a1
  72.     move.l    _GfxBase,a6
  73.     jsr    _LVODrawEllipse(a6)
  74.     movem.l    (sp)+,d2/d3
  75.     rts
  76.  
  77.     XDEF    _DrawEllipse
  78. _DrawEllipse
  79.     movem.l    d2/d3,-(sp)
  80.     move.w    12(sp),d3
  81.     move.w    14(sp),d2
  82.     move.w    16(sp),d1
  83.     move.w    18(sp),d0
  84.     move.l    20(sp),a1
  85.     move.l    _GfxBase,a6
  86.     jsr    _LVODrawEllipse(a6)
  87.     movem.l    (sp)+,d2/d3
  88.     rts
  89.  
  90.     XDEF    _Flood
  91. _Flood
  92.     move.l    d2,-(sp)
  93.     move.l    16(sp),a1
  94.     move.l    12(sp),d2
  95.     move.l    8(sp),d0
  96.     move.l    4(sp),d1
  97.     move.l    _GfxBase,a6
  98.     jsr    _LVOFlood(a6)
  99.     move.l    (sp)+,d2
  100.     rts
  101.  
  102.     XDEF    _FreeRaster
  103. _FreeRaster
  104.     move.l    12(sp),a0
  105.     move.l    8(sp),d0
  106.     move.l    4(sp),d1
  107.     move.l    _GfxBase,a6
  108.     jmp    _LVOFreeRaster(a6)
  109.  
  110.     XDEF    _InitBitMap
  111. _InitBitMap
  112.     move.l    d2,-(sp)
  113.     move.l    16(sp),a0
  114.     move.l    12(sp),d0
  115.     move.l    8(sp),d1
  116.     move.l    4(sp),d2
  117.     move.l    _GfxBase,a6
  118.     jsr    _LVOInitBitMap(a6)
  119.     move.l    (sp)+,d2
  120.     rts
  121.  
  122.     XDEF    _InitRastPort
  123. _InitRastPort
  124.     move.l    4(sp),a1
  125.     move.l    _GfxBase,a6
  126.     jmp    _LVOInitRastPort(a6)
  127.  
  128.     XDEF    _Move
  129. _Move
  130.     move.l    12(sp),a1
  131.     move.l    8(sp),d0
  132.     move.l    4(sp),d1
  133.     move.l    _GfxBase,a6
  134.     jmp    _LVOMove(a6)
  135.  
  136.     XDEF    _OwnBlitter
  137. _OwnBlitter
  138.     move.l    _GfxBase,a6
  139.     jmp    _LVOOwnBlitter(a6)
  140.  
  141.     XDEF    _DisownBlitter
  142. _DisownBlitter
  143.     move.l    _GfxBase,a6
  144.     jmp    _LVODisownBlitter(a6)
  145.  
  146.     XDEF    _PolyDraw
  147. _PolyDraw
  148.     move.l    12(sp),a0
  149.     move.l    8(sp),d0
  150.     move.l    4(sp),a1
  151.     move.l    _GfxBase,a6
  152.     jmp    _LVOPolyDraw(a6)
  153.  
  154.     XDEF    _ReadPixel
  155. _ReadPixel
  156.     move.l    12(sp),a1
  157.     move.l    8(sp),d0
  158.     move.l    4(sp),d1
  159.     move.l    _GfxBase,a6
  160.     jmp    _LVOReadPixel(a6)
  161.  
  162.     XDEF    _RectFill
  163. _RectFill
  164.     movem.l    d2-d3,-(sp)
  165.     move.l    28(sp),a1
  166.     move.l    24(sp),d0
  167.     move.l    20(sp),d1
  168.     move.l    16(sp),d2
  169.     move.l    12(sp),d3
  170.     move.l    _GfxBase,a6
  171.     jsr    _LVORectFill(a6)
  172.     movem.l    (sp)+,d2-d3
  173.     rts
  174.  
  175.     XDEF    _ScrollRaster
  176. _ScrollRaster
  177.     movem.l    d2-d5,-(sp)
  178.     move.l    44(sp),a1
  179.     move.l    40(sp),d0
  180.     move.l    36(sp),d1
  181.     move.l    32(sp),d2
  182.     move.l    28(sp),d3
  183.     move.l    24(sp),d4
  184.     move.l    20(sp),d5
  185.     move.l    _GfxBase,a6
  186.     jsr    _LVOScrollRaster(a6)
  187.     movem.l    (sp)+,d2-d5
  188.     rts
  189.  
  190.     XDEF    _ScrollVPort
  191. _ScrollVPort
  192.     move.l    4(sp),a0
  193.     move.l    _GfxBase,a6
  194.     jmp    _LVOScrollVPort(a6)
  195.  
  196.     XDEF    _SetAPen
  197. _SetAPen
  198.     move.l    8(sp),a1
  199.     move.l    4(sp),d0
  200.     move.l    _GfxBase,a6
  201.     jmp    _LVOSetAPen(a6)
  202.  
  203.     XDEF    _SetBPen
  204. _SetBPen
  205.     move.l    8(sp),a1
  206.     move.l    4(sp),d0
  207.     move.l    _GfxBase,a6
  208.     jmp    _LVOSetBPen(a6)
  209.  
  210.     XDEF    _SetDrMd
  211. _SetDrMd
  212.     move.l    8(sp),a1
  213.     move.l    4(sp),d0
  214.     move.l    _GfxBase,a6
  215.     jmp    _LVOSetDrMd(a6)
  216.  
  217.     XDEF    _SetRast
  218. _SetRast
  219.     move.l    8(sp),a1
  220.     move.l    4(sp),d0
  221.     move.l    _GfxBase,a6
  222.     jmp    _LVOSetRast(a6)
  223.  
  224.     XDEF    _SetRGB4
  225. _SetRGB4
  226.     movem.l    d2/d3,-(sp)
  227.     move.l    28(sp),a0
  228.     move.l    24(sp),d0
  229.     move.l    20(sp),d1
  230.     move.l    16(sp),d2
  231.     move.l    12(sp),d3
  232.     move.l    _GfxBase,a6
  233.     jsr    _LVOSetRGB4(a6)
  234.     movem.l    (sp)+,d2/d3
  235.     rts
  236.  
  237.     XDEF    _VBeamPos
  238. _VBeamPos
  239.     move.l    _GfxBase,a6
  240.     jmp    _LVOVBeamPos(a6)
  241.  
  242.     XDEF    _WaitTOF
  243. _WaitTOF
  244.     move.l    _GfxBase,a6
  245.     jmp    _LVOWaitTOF(a6)
  246.  
  247.     XDEF    _WritePixel
  248. _WritePixel
  249.     move.l    12(sp),a1
  250.     move.l    8(sp),d0
  251.     move.l    4(sp),d1
  252.     move.l    _GfxBase,a6
  253.     jmp    _LVOWritePixel(a6)
  254.  
  255.  
  256. *    XREF    _LVOAttemptLockLayerRom
  257. *    XREF    _LVOGraphicsReserved2
  258. *    XREF    _LVOGraphicsReserved1
  259. *    XREF    _LVOBltBitMapRastPort
  260. *    XREF    _LVOFreeGBuffers
  261. *    XREF    _LVOUCopperListInit
  262.     XREF    _LVOScrollVPort
  263. *    XREF    _LVOGetRGB4
  264. *    XREF    _LVOFreeColorMap
  265. *    XREF    _LVOGetColorMap
  266. *    XREF    _LVOFreeCprList
  267. *    XREF    _LVOXorRectRegion
  268. *    XREF    _LVOClipBlit
  269. *    XREF    _LVOFreeCopList
  270. *    XREF    _LVOFreeVPortCopLists
  271. *    XREF    _LVODisposeRegion
  272. *    XREF    _LVOClearRegion
  273. *    XREF    _LVONotRegion
  274. *    XREF    _LVONewRegion
  275. *    XREF    _LVOOrRectRegion
  276. *    XREF    _LVOAndRectRegion
  277.     XREF    _LVOFreeRaster
  278.     XREF    _LVOAllocRaster
  279. *    XREF    _LVORemFont
  280. *    XREF    _LVOAddFont
  281. *    XREF    _LVOAskFont
  282. *    XREF    _LVOInitTmpRas
  283.     XREF    _LVODisownBlitter
  284.     XREF    _LVOOwnBlitter
  285. *    XREF    _LVOCopySBitMap
  286. *    XREF    _LVOSyncSBitMap
  287. *    XREF    _LVOUnlockLayerRom
  288. *    XREF    _LVOLockLayerRom
  289. *    XREF    _LVOMoveSprite
  290. *    XREF    _LVOChangeSprite
  291. *    XREF    _LVOFreeSprite
  292. *    XREF    _LVOGetSprite
  293. *    XREF    _LVOWaitBOVP
  294.     XREF    _LVOScrollRaster
  295.     XREF    _LVOInitBitMap
  296.     XREF    _LVOVBeamPos
  297. *    XREF    _LVOCWait
  298. *    XREF    _LVOCMove
  299. *    XREF    _LVOCBump
  300. *    XREF    _LVOInitView
  301.     XREF    _LVOSetDrMd
  302.     XREF    _LVOSetBPen
  303.     XREF    _LVOSetAPen
  304.     XREF    _LVOPolyDraw
  305.     XREF    _LVOFlood
  306.     XREF    _LVOWritePixel
  307.     XREF    _LVOReadPixel
  308. *    XREF    _LVOBltPattern
  309.     XREF    _LVORectFill
  310.     XREF    _LVOBltClear
  311. *    XREF    _LVOQBSBlit
  312.     XREF    _LVOSetRGB4
  313. *    XREF    _LVOInitArea
  314. *    XREF    _LVOQBlit
  315.     XREF    _LVOWaitTOF
  316.     XREF    _LVOAreaEnd
  317.     XREF    _LVOAreaDraw
  318.     XREF    _LVOAreaMove
  319.     XREF    _LVODraw
  320.     XREF    _LVOMove
  321.     XREF    _LVOSetRast
  322. *    XREF    _LVOWaitBlit
  323. *    XREF    _LVOLoadView
  324. *    XREF    _LVOMakeVPort
  325. *    XREF    _LVOMrgCop
  326. *    XREF    _LVOInitVPort
  327.     XREF    _LVOInitRastPort
  328. *    XREF    _LVOLoadRGB4
  329. *    XREF    _LVOAreaEllipse
  330.     XREF    _LVODrawEllipse
  331. *    XREF    _LVOInitGMasks
  332. *    XREF    _LVOGetGBuffers
  333. *    XREF    _LVOAnimate
  334. *    XREF    _LVOAddAnimOb
  335. *    XREF    _LVOSortGList
  336. *    XREF    _LVOSetCollision
  337. *    XREF    _LVORemVSprite
  338. *    XREF    _LVORemIBob
  339. *    XREF    _LVOInitMasks
  340. *    XREF    _LVOInitGels
  341. *    XREF    _LVODrawGList
  342. *    XREF    _LVODoCollision
  343. *    XREF    _LVOAddVSprite
  344. *    XREF    _LVOAddBob
  345. *    XREF    _LVOSetSoftStyle
  346. *    XREF    _LVOAskSoftStyle
  347. *    XREF    _LVOCloseFont
  348. *    XREF    _LVOOpenFont
  349. *    XREF    _LVOSetFont
  350.     XREF    _LVOText
  351.     XREF    _LVOTextLength
  352. *    XREF    _LVOClearScreen
  353. *    XREF    _LVOClearEOL
  354. *    XREF    _LVOBltTemplate
  355. *    XREF    _LVOBltBitMap
  356.  
  357.     END
  358.