home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Pascal / HISOFTPASCAL2,0-3.DMS / in.adf / Units / Graphics_2.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1992-05-20  |  33.8 KB  |  2,184 lines

  1. unit Graphics_2;
  2.  
  3. INTERFACE
  4. uses Exec, Graphics, Hardware, Utility;
  5.  
  6.  
  7. type
  8.     ppAnimOb = ^pAnimOb;
  9.  
  10.  
  11. var
  12.     GfxBase: pGfxBase;
  13.  
  14.  
  15. function BltBitMap
  16.         (srcBitMap: pBitMap;
  17.         xSrc: integer;
  18.         ySrc: integer;
  19.         destBitMap: pBitMap;
  20.         xDest: integer;
  21.         yDest: integer;
  22.         xSize: integer;
  23.         ySize: integer;
  24.         minterm: byte;
  25.         mask: byte;
  26.         tempA: PLANEPTR): long;
  27.  
  28. procedure BltTemplate
  29.         (source: PLANEPTR;
  30.         xSrc: integer;
  31.         srcMod: integer;
  32.         destRP: pRastPort;
  33.         xDest: integer;
  34.         yDest: integer;
  35.         xSize: integer;
  36.         ySize: integer);
  37.  
  38. procedure ClearEOL (rp: pRastPort);
  39. procedure ClearScreen (rp: pRastPort);
  40. function TextLength
  41.         (rp: pRastPort;
  42.         string_: STRPTR;
  43.         count: integer): integer;
  44.  
  45. procedure Text_
  46.         (rp: pRastPort;
  47.         string_: STRPTR;
  48.         count: integer);
  49.  
  50. procedure SetFont
  51.         (rp: pRastPort;
  52.         textFont: pTextFont);
  53.  
  54. function OpenFont (textAttr: pTextAttr): pTextFont;
  55. procedure CloseFont (textFont: pTextFont);
  56. function AskSoftStyle (rp: pRastPort): long;
  57. function SetSoftStyle
  58.         (rp: pRastPort;
  59.         style: long;
  60.         enable: long): long;
  61.  
  62. procedure AddBob
  63.         (bob: pBob;
  64.         rp: pRastPort);
  65.  
  66. procedure AddVSprite
  67.         (vSprite: pVSprite;
  68.         rp: pRastPort);
  69.  
  70. procedure DoCollision (rp: pRastPort);
  71. procedure DrawGList
  72.         (rp: pRastPort;
  73.         vp: pViewPort);
  74.  
  75. procedure InitGels
  76.         (head: pVSprite;
  77.         tail: pVSprite;
  78.         gelsInfo: pGelsInfo);
  79.  
  80. procedure InitMasks (vSprite: pVSprite);
  81. procedure RemIBob
  82.         (bob: pBob;
  83.         rp: pRastPort;
  84.         vp: pViewPort);
  85.  
  86. procedure RemVSprite (vSprite: pVSprite);
  87. procedure SetCollision
  88.         (num: long;
  89.         routine: pointer;
  90.         gelsInfo: pGelsInfo);
  91.  
  92. procedure SortGList (rp: pRastPort);
  93. procedure AddAnimOb
  94.         (anOb: pAnimOb;
  95.         anKey: ppAnimOb;
  96.         rp: pRastPort);
  97.  
  98. procedure Animate
  99.         (anKey: ppAnimOb;
  100.         rp: pRastPort);
  101.  
  102. function GetGBuffers
  103.         (anOb: pAnimOb;
  104.         rp: pRastPort;
  105.         flag: boolean): boolean;
  106.  
  107. procedure InitGMasks (anOb: pAnimOb);
  108. procedure DrawEllipse
  109.         (rp: pRastPort;
  110.         xCenter: integer;
  111.         yCenter: integer;
  112.         a: integer;
  113.         b: integer);
  114.  
  115. function AreaEllipse
  116.         (rp: pRastPort;
  117.         xCenter: integer;
  118.         yCenter: integer;
  119.         a: integer;
  120.         b: integer): longint;
  121.  
  122. procedure LoadRGB4
  123.         (vp: pViewPort;
  124.         colors: pword;
  125.         count: integer);
  126.  
  127. procedure InitRastPort (rp: pRastPort);
  128. procedure InitVPort (vp: pViewPort);
  129. procedure MrgCop (view: pView);
  130. procedure MakeVPort
  131.         (view: pView;
  132.         vp: pViewPort);
  133.  
  134. procedure LoadView (view: pView);
  135. procedure WaitBlit;
  136. procedure SetRast
  137.         (rp: pRastPort;
  138.         pen: byte);
  139.  
  140. procedure Move_
  141.         (rp: pRastPort;
  142.         x: integer;
  143.         y: integer);
  144.  
  145. procedure Draw
  146.         (rp: pRastPort;
  147.         x: integer;
  148.         y: integer);
  149.  
  150. function AreaMove
  151.         (rp: pRastPort;
  152.         x: integer;
  153.         y: integer): longint;
  154.  
  155. function AreaDraw
  156.         (rp: pRastPort;
  157.         x: integer;
  158.         y: integer): long;
  159.  
  160. function AreaEnd (rp: pRastPort): longint;
  161. procedure WaitTOF;
  162. procedure QBlit (blit: pbltnode);
  163. procedure InitArea
  164.         (areaInfo: pAreaInfo;
  165.         vectorBuffer: pointer;
  166.         maxVectors: integer);
  167.  
  168. procedure SetRGB4
  169.         (vp: pViewPort;
  170.         index: integer;
  171.         red: byte;
  172.         green: byte;
  173.         blue: byte);
  174.  
  175. procedure QBSBlit (blit: pbltnode);
  176. procedure BltClear
  177.         (memBlock: PLANEPTR;
  178.         byteCount: long;
  179.         flags: long);
  180.  
  181. procedure RectFill
  182.         (rp: pRastPort;
  183.         xMin: integer;
  184.         yMin: integer;
  185.         xMax: integer;
  186.         yMax: integer);
  187.  
  188. procedure BltPattern
  189.         (rp: pRastPort;
  190.         mask: PLANEPTR;
  191.         xMin: integer;
  192.         yMin: integer;
  193.         xMax: integer;
  194.         yMax: integer;
  195.         maskBPR: integer);
  196.  
  197. function ReadPixel
  198.         (rp: pRastPort;
  199.         x: integer;
  200.         y: integer): longint;
  201.  
  202. function WritePixel
  203.         (rp: pRastPort;
  204.         x: integer;
  205.         y: integer): longint;
  206.  
  207. function Flood
  208.         (rp: pRastPort;
  209.         mode: long;
  210.         x: integer;
  211.         y: integer): boolean;
  212.  
  213. procedure PolyDraw
  214.         (rp: pRastPort;
  215.         count: integer;
  216.         polyTable: pinteger);
  217.  
  218. procedure SetAPen
  219.         (rp: pRastPort;
  220.         pen: byte);
  221.  
  222. procedure SetBPen
  223.         (rp: pRastPort;
  224.         pen: byte);
  225.  
  226. procedure SetDrMd
  227.         (rp: pRastPort;
  228.         drawMode: byte);
  229.  
  230. procedure InitView (view: pView);
  231. procedure CBump (copList: pUCopList);
  232. procedure CMove_
  233.         (copList: pUCopList;
  234.         destination: pointer;
  235.         data: integer);
  236.  
  237. procedure CWait_
  238.         (copList: pUCopList;
  239.         v: integer;
  240.         h: integer);
  241.  
  242. function VBeamPos: longint;
  243. procedure InitBitMap
  244.         (bitMap: pBitMap;
  245.         depth: shortint;
  246.         width: word;
  247.         height: word);
  248.  
  249. procedure ScrollRaster
  250.         (rp: pRastPort;
  251.         dx: integer;
  252.         dy: integer;
  253.         xMin: integer;
  254.         yMin: integer;
  255.         xMax: integer;
  256.         yMax: integer);
  257.  
  258. procedure WaitBOVP (vp: pViewPort);
  259. function GetSprite
  260.         (sprite: pSimpleSprite;
  261.         num: integer): integer;
  262.  
  263. procedure FreeSprite (num: integer);
  264. procedure ChangeSprite
  265.         (vp: pViewPort;
  266.         sprite: pSimpleSprite;
  267.         newData: PLANEPTR);
  268.  
  269. procedure MoveSprite
  270.         (vp: pViewPort;
  271.         sprite: pSimpleSprite;
  272.         x: integer;
  273.         y: integer);
  274.  
  275. procedure LockLayerRom (layer: pLayer);
  276. procedure UnlockLayerRom (layer: pLayer);
  277. procedure SyncSBitMap (layer: pLayer);
  278. procedure CopySBitMap (layer: pLayer);
  279. procedure OwnBlitter;
  280. procedure DisownBlitter;
  281. procedure InitTmpRas
  282.         (tmpRas: pTmpRas;
  283.         buffer: PLANEPTR;
  284.         size: long);
  285.  
  286. procedure AskFont
  287.         (rp: pRastPort;
  288.         textAttr: pTextAttr);
  289.  
  290. procedure AddFont (textFont: pTextFont);
  291. procedure RemFont (textFont: pTextFont);
  292. function AllocRaster
  293.         (width: word;
  294.         height: word): PLANEPTR;
  295.  
  296. procedure FreeRaster
  297.         (p: PLANEPTR;
  298.         width: word;
  299.         height: word);
  300.  
  301. procedure AndRectRegion
  302.         (region: pRegion;
  303.         rectangle: pRectangle);
  304.  
  305. function OrRectRegion
  306.         (region: pRegion;
  307.         rectangle: pRectangle): boolean;
  308.  
  309. function NewRegion: pRegion;
  310. function ClearRectRegion
  311.         (region: pRegion;
  312.         rectangle: pRectangle): boolean;
  313.  
  314. procedure ClearRegion (region: pRegion);
  315. procedure DisposeRegion (region: pRegion);
  316. procedure FreeVPortCopLists (vp: pViewPort);
  317. procedure FreeCopList (copList: pCopList);
  318. procedure ClipBlit
  319.         (srcRP: pRastPort;
  320.         xSrc: integer;
  321.         ySrc: integer;
  322.         destRP: pRastPort;
  323.         xDest: integer;
  324.         yDest: integer;
  325.         xSize: integer;
  326.         ySize: integer;
  327.         minterm: byte);
  328.  
  329. function XorRectRegion
  330.         (region: pRegion;
  331.         rectangle: pRectangle): boolean;
  332.  
  333. procedure FreeCprList (cprList: pcprlist);
  334. function GetColorMap (entries: long): pColorMap;
  335. procedure FreeColorMap (colorMap: pColorMap);
  336. function GetRGB4
  337.         (colorMap: pColorMap;
  338.         entry: longint): long;
  339.  
  340. procedure ScrollVPort (vp: pViewPort);
  341. function UCopperListInit
  342.         (uCopList: pUCopList;
  343.         n: word): pCopList;
  344.  
  345. procedure FreeGBuffers
  346.         (anOb: pAnimOb;
  347.         rp: pRastPort;
  348.         flag: boolean);
  349.  
  350. function BltBitMapRastPort
  351.         (srcBitMap: pBitMap;
  352.         xSrc: integer;
  353.         ySrc: integer;
  354.         destRP: pRastPort;
  355.         xDest: integer;
  356.         yDest: integer;
  357.         xSize: integer;
  358.         ySize: integer;
  359.         minterm: byte): boolean;
  360.  
  361. function OrRegionRegion
  362.         (srcRegion: pRegion;
  363.         destRegion: pRegion): boolean;
  364.  
  365. function XorRegionRegion
  366.         (srcRegion: pRegion;
  367.         destRegion: pRegion): boolean;
  368.  
  369. function AndRegionRegion
  370.         (srcRegion: pRegion;
  371.         destRegion: pRegion): boolean;
  372.  
  373. procedure SetRGB4CM
  374.         (colorMap: pColorMap;
  375.         index: integer;
  376.         red: byte;
  377.         green: byte;
  378.         blue: byte);
  379.  
  380. procedure BltMaskBitMapRastPort
  381.         (srcBitMap: pBitMap;
  382.         xSrc: integer;
  383.         ySrc: integer;
  384.         destRP: pRastPort;
  385.         xDest: integer;
  386.         yDest: integer;
  387.         xSize: integer;
  388.         ySize: integer;
  389.         minterm: byte;
  390.         bltMask: PLANEPTR);
  391.  
  392. function AttemptLockLayerRom (layer: pLayer): boolean;
  393. function GfxNew (gfxNodeType: long): pExtendedNode;
  394. procedure GfxFree (gfxNodePtr: pExtendedNode);
  395. procedure GfxAssociate
  396.         (associateNode: pointer;
  397.         gfxNodePtr: pExtendedNode);
  398.  
  399. procedure BitMapScale (bitScaleArgs: pBitScaleArgs);
  400. function ScalerDiv
  401.         (factor: word;
  402.         numerator: word;
  403.         denominator: word): word;
  404.  
  405. procedure TextExtent
  406.         (rp: pRastPort;
  407.         string_: STRPTR;
  408.         count: integer;
  409.         textExtent: pTextExtent);
  410.  
  411. function TextFit
  412.         (rp: pRastPort;
  413.         string_: STRPTR;
  414.         strLen: word;
  415.         textExtent: pTextExtent;
  416.         constrainingExtent: pTextExtent;
  417.         strDirection: integer;
  418.         constrainingBitWidth: word;
  419.         constrainingBitHeight: word): long;
  420.  
  421. function GfxLookUp (associateNode: pointer): pExtendedNode;
  422. function VideoControl
  423.         (colorMap: pColorMap;
  424.         tagarray: pTagItem): long;
  425.  
  426. function OpenMonitor
  427.         (monitorName: STRPTR;
  428.         displayID: long): pMonitorSpec;
  429.  
  430. function CloseMonitor (monitorSpec: pMonitorSpec): longint;
  431. function FindDisplayInfo (displayID: long): DisplayInfoHandle;
  432. function NextDisplayInfo (displayID: long): long;
  433. function GetDisplayInfoData
  434.         (handle: DisplayInfoHandle;
  435.         buf: pbyte;
  436.         size: long;
  437.         tagID: long;
  438.         displayID: long): long;
  439.  
  440. procedure FontExtent
  441.         (font: pTextFont;
  442.         fontExtent: pTextExtent);
  443.  
  444. function ReadPixelLine8
  445.         (rp: pRastPort;
  446.         xstart: word;
  447.         ystart: word;
  448.         width: word;
  449.         array_: pbyte;
  450.         tempRP: pRastPort): longint;
  451.  
  452. function WritePixelLine8
  453.         (rp: pRastPort;
  454.         xstart: word;
  455.         ystart: word;
  456.         width: word;
  457.         array_: pbyte;
  458.         tempRP: pRastPort): longint;
  459.  
  460. function ReadPixelArray8
  461.         (rp: pRastPort;
  462.         xstart: word;
  463.         ystart: word;
  464.         xstop: word;
  465.         ystop: word;
  466.         array_: pbyte;
  467.         temprp: pRastPort): longint;
  468.  
  469. function WritePixelArray8
  470.         (rp: pRastPort;
  471.         xstart: word;
  472.         ystart: word;
  473.         xstop: word;
  474.         ystop: word;
  475.         array_: pbyte;
  476.         temprp: pRastPort): longint;
  477.  
  478. function GetVPModeID (vp: pViewPort): long;
  479. function ModeNotAvailable (modeID: long): long;
  480. function WeighTAMatch
  481.         (reqTextAttr: pTTextAttr;
  482.         targetTextAttr: pTextAttr;
  483.         targetTags: pTagItem): integer;
  484.  
  485. procedure EraseRect
  486.         (rp: pRastPort;
  487.         xMin: integer;
  488.         yMin: integer;
  489.         xMax: integer;
  490.         yMax: integer);
  491.  
  492. function ExtendFont
  493.         (font: pTextFont;
  494.         fontTags: pTagItem): long;
  495.  
  496. procedure StripFont (font: pTextFont);
  497.  
  498.  
  499. function AreaCircle
  500.             (rastPort: pRastPort;
  501.             cx: integer;
  502.             cy: integer;
  503.             r: integer): longint;
  504.  
  505. procedure DrawCircle
  506.             (rastPort: pRastPort;
  507.             cx: integer;
  508.             cy: integer;
  509.             r: integer);
  510.  
  511. procedure SetOPen
  512.             (w: pRastPort;
  513.             c: shortint);
  514.  
  515. procedure SetWrMsk
  516.             (w: pRastPort;
  517.             m: Byte);
  518.  
  519. procedure SetDrPt
  520.             (w: pRastPort;
  521.             p: word);
  522.  
  523. procedure SetAfPt
  524.             (w: pRastPort;
  525.             p: pWord;
  526.             n: shortint);
  527.  
  528. function RASSIZE
  529.             (w: integer;
  530.             h: integer): longint;
  531.  
  532. procedure CINIT
  533.             (copperlist: pUCopList;
  534.             num: word);
  535.  
  536. procedure CMOVE
  537.             (copperList: pUCopList;
  538.             var destination: pointer;
  539.             data: integer);
  540.  
  541. procedure CWAIT
  542.             (copperList: pUCopList;
  543.             x: integer;
  544.             y: integer);
  545.  
  546. procedure CEND (copperList: pUCopList);
  547. procedure BNDRYOFF (w: pRastPort);
  548. procedure OFF_DISPLAY (custom: pCustom);
  549. procedure ON_DISPLAY (custom: pCustom);
  550. procedure OFF_SPRITE (custom: pCustom);
  551. procedure ON_SPRITE (custom: pCustom);
  552. procedure OFF_VBLANK (custom: pCustom);
  553. procedure ON_VBLANK (custom: pCustom);
  554. procedure InitAnimate (animkey: ppAnimOb);
  555. procedure RemBob (bob: pBob);
  556.  
  557.  
  558. IMPLEMENTATION
  559. procedure BNDRYOFF;
  560. begin
  561.     with w^ do
  562.         Flags := Flags and (not AREAOUTLINE)
  563. end;
  564.  
  565. procedure InitAnimate;
  566. begin
  567.     animkey^ := NIL
  568. end;
  569.  
  570. procedure RemBob;
  571. begin
  572.     with bob^ do
  573.         Flags := Flags or BOBSAWAY
  574. end;
  575.  
  576. procedure SetAfPt;
  577. begin
  578.     with w^ do
  579.     begin
  580.         AreaPtrn := p;
  581.         AreaPtSz := n
  582.     end
  583. end;
  584.  
  585. procedure SetDrPt;
  586. begin
  587.     with w^ do
  588.     begin
  589.         LinePtrn    := p;
  590.         Flags        := Flags or FRST_DOT;
  591.         linpatcnt    := 15
  592.     end
  593. end;
  594.  
  595. procedure SetOPen;
  596. begin
  597.     with w^ do
  598.     begin
  599.         AOlPen    := c;
  600.         Flags    := Flags or AREAOUTLINE
  601.     end
  602. end;
  603.  
  604. procedure SetWrMsk;
  605. begin
  606.     w^.Mask := m
  607. end;
  608.  
  609. procedure OFF_DISPLAY;
  610. begin
  611.     custom^.dmacon := BITCLR or DMAF_RASTER
  612. end;
  613.  
  614. procedure ON_DISPLAY;
  615. begin
  616.     custom^.dmacon := BITSET or DMAF_RASTER
  617. end;
  618.  
  619. procedure OFF_SPRITE;
  620. begin
  621.     custom^.dmacon := BITCLR or DMAF_SPRITE
  622. end;
  623.  
  624. procedure ON_SPRITE;
  625. begin
  626.     custom^.dmacon := BITSET or DMAF_SPRITE
  627. end;
  628.  
  629. procedure OFF_VBLANK;
  630. begin
  631.     custom^.intena := BITCLR or INTF_VERTB
  632. end;
  633.  
  634. procedure ON_VBLANK;
  635. begin
  636.     custom^.intena := BITSET or INTF_VERTB
  637. end;
  638.  
  639. function AreaCircle;
  640. begin
  641.     AreaCircle := AreaEllipse(rastPort, cx, cy, r, r)
  642. end;
  643.  
  644. procedure DrawCircle;
  645. begin
  646.     DrawEllipse(rastPort, cx, cy, r, r)
  647. end;
  648.  
  649. function RASSIZE;
  650. var
  651.     result: Longint;
  652. begin
  653.     result := ((w + 15) shr 3) and $FFFE;
  654.     RASSIZE := h * result
  655. end;
  656.  
  657. procedure CINIT;
  658. var
  659.     junk: pCopList;
  660. begin
  661.     junk := UCopperListInit(copperlist,num)
  662. end;
  663.  
  664. procedure CMOVE;
  665. begin
  666.     CMove_(copperList, @destination, data);
  667.     CBump(copperList)
  668. end;
  669.  
  670. procedure CWAIT;
  671. begin
  672.     CWait_(copperList, x, y);
  673.     CBump(copperList)
  674. end;
  675.     
  676. procedure CEND;
  677. begin
  678.     CWAIT(copperlist, 10000, 255)
  679. end;
  680.  
  681. function BltBitMap; xassembler;
  682. asm
  683.     movem.l    d3-d7/a2/a6,-(sp)
  684.     lea        $20(sp),a6
  685.     move.l    (a6)+,a2
  686.     move.b    (a6)+,d7
  687.     addq.l    #1,a6
  688.     move.b    (a6)+,d6
  689.     addq.l    #1,a6
  690.     move.w    (a6)+,d5
  691.     move.w    (a6)+,d4
  692.     move.w    (a6)+,d3
  693.     move.w    (a6)+,d2
  694.     move.l    (a6)+,a1
  695.     move.w    (a6)+,d1
  696.     move.w    (a6)+,d0
  697.     move.l    (a6)+,a0
  698.     move.l    GfxBase,a6
  699.     jsr        -$1E(a6)
  700.     move.l    d0,$3C(sp)
  701.     movem.l    (sp)+,d3-d7/a2/a6
  702. end;
  703.  
  704. procedure BltTemplate; xassembler;
  705. asm
  706.     movem.l    d3-d5/a6,-(sp)
  707.     lea        $14(sp),a6
  708.     move.w    (a6)+,d5
  709.     move.w    (a6)+,d4
  710.     move.w    (a6)+,d3
  711.     move.w    (a6)+,d2
  712.     move.l    (a6)+,a1
  713.     move.w    (a6)+,d1
  714.     move.w    (a6)+,d0
  715.     move.l    (a6)+,a0
  716.     move.l    GfxBase,a6
  717.     jsr        -$24(a6)
  718.     movem.l    (sp)+,d3-d5/a6
  719. end;
  720.  
  721. procedure ClearEOL; xassembler;
  722. asm
  723.     move.l    a6,-(sp)
  724.     move.l    8(sp),a1
  725.     move.l    GfxBase,a6
  726.     jsr        -$2A(a6)
  727.     move.l    (sp)+,a6
  728. end;
  729.  
  730. procedure ClearScreen; xassembler;
  731. asm
  732.     move.l    a6,-(sp)
  733.     move.l    8(sp),a1
  734.     move.l    GfxBase,a6
  735.     jsr        -$30(a6)
  736.     move.l    (sp)+,a6
  737. end;
  738.  
  739. function TextLength; xassembler;
  740. asm
  741.     move.l    a6,-(sp)
  742.     lea        8(sp),a6
  743.     move.w    (a6)+,d0
  744.     move.l    (a6)+,a0
  745.     move.l    (a6)+,a1
  746.     move.l    GfxBase,a6
  747.     jsr        -$36(a6)
  748.     move.w    d0,$12(sp)
  749.     move.l    (sp)+,a6
  750. end;
  751.  
  752. procedure Text_; xassembler;
  753. asm
  754.     move.l    a6,-(sp)
  755.     lea        8(sp),a6
  756.     move.w    (a6)+,d0
  757.     move.l    (a6)+,a0
  758.     move.l    (a6)+,a1
  759.     move.l    GfxBase,a6
  760.     jsr        -$3C(a6)
  761.     move.l    (sp)+,a6
  762. end;
  763.  
  764. procedure SetFont; xassembler;
  765. asm
  766.     move.l    a6,-(sp)
  767.     movem.l    8(sp),a0-a1
  768.     move.l    GfxBase,a6
  769.     jsr        -$42(a6)
  770.     move.l    (sp)+,a6
  771. end;
  772.  
  773. function OpenFont; xassembler;
  774. asm
  775.     move.l    a6,-(sp)
  776.     move.l    8(sp),a0
  777.     move.l    GfxBase,a6
  778.     jsr        -$48(a6)
  779.     move.l    d0,$C(sp)
  780.     move.l    (sp)+,a6
  781. end;
  782.  
  783. procedure CloseFont; xassembler;
  784. asm
  785.     move.l    a6,-(sp)
  786.     move.l    8(sp),a1
  787.     move.l    GfxBase,a6
  788.     jsr        -$4E(a6)
  789.     move.l    (sp)+,a6
  790. end;
  791.  
  792. function AskSoftStyle; xassembler;
  793. asm
  794.     move.l    a6,-(sp)
  795.     move.l    8(sp),a1
  796.     move.l    GfxBase,a6
  797.     jsr        -$54(a6)
  798.     move.l    d0,$C(sp)
  799.     move.l    (sp)+,a6
  800. end;
  801.  
  802. function SetSoftStyle; xassembler;
  803. asm
  804.     move.l    a6,-(sp)
  805.     lea        8(sp),a6
  806.     move.l    (a6)+,d1
  807.     move.l    (a6)+,d0
  808.     move.l    (a6)+,a1
  809.     move.l    GfxBase,a6
  810.     jsr        -$5A(a6)
  811.     move.l    d0,$14(sp)
  812.     move.l    (sp)+,a6
  813. end;
  814.  
  815. procedure AddBob; xassembler;
  816. asm
  817.     move.l    a6,-(sp)
  818.     lea        8(sp),a6
  819.     move.l    (a6)+,a1
  820.     move.l    (a6)+,a0
  821.     move.l    GfxBase,a6
  822.     jsr        -$60(a6)
  823.     move.l    (sp)+,a6
  824. end;
  825.  
  826. procedure AddVSprite; xassembler;
  827. asm
  828.     move.l    a6,-(sp)
  829.     lea        8(sp),a6
  830.     move.l    (a6)+,a1
  831.     move.l    (a6)+,a0
  832.     move.l    GfxBase,a6
  833.     jsr        -$66(a6)
  834.     move.l    (sp)+,a6
  835. end;
  836.  
  837. procedure DoCollision; xassembler;
  838. asm
  839.     move.l    a6,-(sp)
  840.     move.l    8(sp),a1
  841.     move.l    GfxBase,a6
  842.     jsr        -$6C(a6)
  843.     move.l    (sp)+,a6
  844. end;
  845.  
  846. procedure DrawGList; xassembler;
  847. asm
  848.     move.l    a6,-(sp)
  849.     movem.l    8(sp),a0-a1
  850.     move.l    GfxBase,a6
  851.     jsr        -$72(a6)
  852.     move.l    (sp)+,a6
  853. end;
  854.  
  855. procedure InitGels; xassembler;
  856. asm
  857.     movem.l    a2/a6,-(sp)
  858.     lea        $C(sp),a6
  859.     move.l    (a6)+,a2
  860.     move.l    (a6)+,a1
  861.     move.l    (a6)+,a0
  862.     move.l    GfxBase,a6
  863.     jsr        -$78(a6)
  864.     movem.l    (sp)+,a2/a6
  865. end;
  866.  
  867. procedure InitMasks; xassembler;
  868. asm
  869.     move.l    a6,-(sp)
  870.     move.l    8(sp),a0
  871.     move.l    GfxBase,a6
  872.     jsr        -$7E(a6)
  873.     move.l    (sp)+,a6
  874. end;
  875.  
  876. procedure RemIBob; xassembler;
  877. asm
  878.     movem.l    a2/a6,-(sp)
  879.     lea        $C(sp),a6
  880.     move.l    (a6)+,a2
  881.     move.l    (a6)+,a1
  882.     move.l    (a6)+,a0
  883.     move.l    GfxBase,a6
  884.     jsr        -$84(a6)
  885.     movem.l    (sp)+,a2/a6
  886. end;
  887.  
  888. procedure RemVSprite; xassembler;
  889. asm
  890.     move.l    a6,-(sp)
  891.     move.l    8(sp),a0
  892.     move.l    GfxBase,a6
  893.     jsr        -$8A(a6)
  894.     move.l    (sp)+,a6
  895. end;
  896.  
  897. procedure SetCollision; xassembler;
  898. asm
  899.     move.l    a6,-(sp)
  900.     lea        8(sp),a6
  901.     move.l    (a6)+,a1
  902.     move.l    (a6)+,a0
  903.     move.l    (a6)+,d0
  904.     move.l    GfxBase,a6
  905.     jsr        -$90(a6)
  906.     move.l    (sp)+,a6
  907. end;
  908.  
  909. procedure SortGList; xassembler;
  910. asm
  911.     move.l    a6,-(sp)
  912.     move.l    8(sp),a1
  913.     move.l    GfxBase,a6
  914.     jsr        -$96(a6)
  915.     move.l    (sp)+,a6
  916. end;
  917.  
  918. procedure AddAnimOb; xassembler;
  919. asm
  920.     movem.l    a2/a6,-(sp)
  921.     lea        $C(sp),a6
  922.     move.l    (a6)+,a2
  923.     move.l    (a6)+,a1
  924.     move.l    (a6)+,a0
  925.     move.l    GfxBase,a6
  926.     jsr        -$9C(a6)
  927.     movem.l    (sp)+,a2/a6
  928. end;
  929.  
  930. procedure Animate; xassembler;
  931. asm
  932.     move.l    a6,-(sp)
  933.     lea        8(sp),a6
  934.     move.l    (a6)+,a1
  935.     move.l    (a6)+,a0
  936.     move.l    GfxBase,a6
  937.     jsr        -$A2(a6)
  938.     move.l    (sp)+,a6
  939. end;
  940.  
  941. function GetGBuffers; xassembler;
  942. asm
  943.     move.l    a6,-(sp)
  944.     moveq    #0,d0
  945.     lea        8(sp),a6
  946.     move.b    (a6)+,d0
  947.     addq.l    #1,a6
  948.     move.l    (a6)+,a1
  949.     move.l    (a6)+,a0
  950.     move.l    GfxBase,a6
  951.     jsr        -$A8(a6)
  952.     tst.l    d0
  953.     sne        d0
  954.     neg.b    d0
  955.     move.b    d0,$12(sp)
  956.     move.l    (sp)+,a6
  957. end;
  958.  
  959. procedure InitGMasks; xassembler;
  960. asm
  961.     move.l    a6,-(sp)
  962.     move.l    8(sp),a0
  963.     move.l    GfxBase,a6
  964.     jsr        -$AE(a6)
  965.     move.l    (sp)+,a6
  966. end;
  967.  
  968. procedure DrawEllipse; xassembler;
  969. asm
  970.     movem.l    d3/a6,-(sp)
  971.     lea        $C(sp),a6
  972.     move.w    (a6)+,d3
  973.     move.w    (a6)+,d2
  974.     move.w    (a6)+,d1
  975.     move.w    (a6)+,d0
  976.     move.l    (a6)+,a1
  977.     move.l    GfxBase,a6
  978.     jsr        -$B4(a6)
  979.     movem.l    (sp)+,d3/a6
  980. end;
  981.  
  982. function AreaEllipse; xassembler;
  983. asm
  984.     movem.l    d3/a6,-(sp)
  985.     lea        $C(sp),a6
  986.     move.w    (a6)+,d3
  987.     move.w    (a6)+,d2
  988.     move.w    (a6)+,d1
  989.     move.w    (a6)+,d0
  990.     move.l    (a6)+,a1
  991.     move.l    GfxBase,a6
  992.     jsr        -$BA(a6)
  993.     move.l    d0,$18(sp)
  994.     movem.l    (sp)+,d3/a6
  995. end;
  996.  
  997. procedure LoadRGB4; xassembler;
  998. asm
  999.     move.l    a6,-(sp)
  1000.     lea        8(sp),a6
  1001.     move.w    (a6)+,d0
  1002.     move.l    (a6)+,a1
  1003.     move.l    (a6)+,a0
  1004.     move.l    GfxBase,a6
  1005.     jsr        -$C0(a6)
  1006.     move.l    (sp)+,a6
  1007. end;
  1008.  
  1009. procedure InitRastPort; xassembler;
  1010. asm
  1011.     move.l    a6,-(sp)
  1012.     move.l    8(sp),a1
  1013.     move.l    GfxBase,a6
  1014.     jsr        -$C6(a6)
  1015.     move.l    (sp)+,a6
  1016. end;
  1017.  
  1018. procedure InitVPort; xassembler;
  1019. asm
  1020.     move.l    a6,-(sp)
  1021.     move.l    8(sp),a0
  1022.     move.l    GfxBase,a6
  1023.     jsr        -$CC(a6)
  1024.     move.l    (sp)+,a6
  1025. end;
  1026.  
  1027. procedure MrgCop; xassembler;
  1028. asm
  1029.     move.l    a6,-(sp)
  1030.     move.l    8(sp),a1
  1031.     move.l    GfxBase,a6
  1032.     jsr        -$D2(a6)
  1033.     move.l    (sp)+,a6
  1034. end;
  1035.  
  1036. procedure MakeVPort; xassembler;
  1037. asm
  1038.     move.l    a6,-(sp)
  1039.     lea        8(sp),a6
  1040.     move.l    (a6)+,a1
  1041.     move.l    (a6)+,a0
  1042.     move.l    GfxBase,a6
  1043.     jsr        -$D8(a6)
  1044.     move.l    (sp)+,a6
  1045. end;
  1046.  
  1047. procedure LoadView; xassembler;
  1048. asm
  1049.     move.l    a6,-(sp)
  1050.     move.l    8(sp),a1
  1051.     move.l    GfxBase,a6
  1052.     jsr        -$DE(a6)
  1053.     move.l    (sp)+,a6
  1054. end;
  1055.  
  1056. procedure WaitBlit; xassembler;
  1057. asm
  1058.     move.l    a6,-(sp)
  1059.     move.l    GfxBase,a6
  1060.     jsr        -$E4(a6)
  1061.     move.l    (sp)+,a6
  1062. end;
  1063.  
  1064. procedure SetRast; xassembler;
  1065. asm
  1066.     move.l    a6,-(sp)
  1067.     move.b    8(sp),d0
  1068.     move.l    $A(sp),a1
  1069.     move.l    GfxBase,a6
  1070.     jsr        -$EA(a6)
  1071.     move.l    (sp)+,a6
  1072. end;
  1073.  
  1074. procedure Move_; xassembler;
  1075. asm
  1076.     move.l    a6,-(sp)
  1077.     lea        8(sp),a6
  1078.     move.w    (a6)+,d1
  1079.     move.w    (a6)+,d0
  1080.     move.l    (a6)+,a1
  1081.     move.l    GfxBase,a6
  1082.     jsr        -$F0(a6)
  1083.     move.l    (sp)+,a6
  1084. end;
  1085.  
  1086. procedure Draw; xassembler;
  1087. asm
  1088.     move.l    a6,-(sp)
  1089.     lea        8(sp),a6
  1090.     move.w    (a6)+,d1
  1091.     move.w    (a6)+,d0
  1092.     move.l    (a6)+,a1
  1093.     move.l    GfxBase,a6
  1094.     jsr        -$F6(a6)
  1095.     move.l    (sp)+,a6
  1096. end;
  1097.  
  1098. function AreaMove; xassembler;
  1099. asm
  1100.     move.l    a6,-(sp)
  1101.     lea        8(sp),a6
  1102.     move.w    (a6)+,d1
  1103.     move.w    (a6)+,d0
  1104.     move.l    (a6)+,a1
  1105.     move.l    GfxBase,a6
  1106.     jsr        -$FC(a6)
  1107.     move.l    d0,$10(sp)
  1108.     move.l    (sp)+,a6
  1109. end;
  1110.  
  1111. function AreaDraw; xassembler;
  1112. asm
  1113.     move.l    a6,-(sp)
  1114.     lea        8(sp),a6
  1115.     move.w    (a6)+,d1
  1116.     move.w    (a6)+,d0
  1117.     move.l    (a6)+,a1
  1118.     move.l    GfxBase,a6
  1119.     jsr        -$102(a6)
  1120.     move.l    d0,$10(sp)
  1121.     move.l    (sp)+,a6
  1122. end;
  1123.  
  1124. function AreaEnd; xassembler;
  1125. asm
  1126.     move.l    a6,-(sp)
  1127.     move.l    8(sp),a1
  1128.     move.l    GfxBase,a6
  1129.     jsr        -$108(a6)
  1130.     move.l    d0,$C(sp)
  1131.     move.l    (sp)+,a6
  1132. end;
  1133.  
  1134. procedure WaitTOF; xassembler;
  1135. asm
  1136.     move.l    a6,-(sp)
  1137.     move.l    GfxBase,a6
  1138.     jsr        -$10E(a6)
  1139.     move.l    (sp)+,a6
  1140. end;
  1141.  
  1142. procedure QBlit; xassembler;
  1143. asm
  1144.     move.l    a6,-(sp)
  1145.     move.l    8(sp),a1
  1146.     move.l    GfxBase,a6
  1147.     jsr        -$114(a6)
  1148.     move.l    (sp)+,a6
  1149. end;
  1150.  
  1151. procedure InitArea; xassembler;
  1152. asm
  1153.     move.l    a6,-(sp)
  1154.     lea        8(sp),a6
  1155.     move.w    (a6)+,d0
  1156.     move.l    (a6)+,a1
  1157.     move.l    (a6)+,a0
  1158.     move.l    GfxBase,a6
  1159.     jsr        -$11A(a6)
  1160.     move.l    (sp)+,a6
  1161. end;
  1162.  
  1163. procedure SetRGB4; xassembler;
  1164. asm
  1165.     movem.l    d3/a6,-(sp)
  1166.     lea        $C(sp),a6
  1167.     move.b    (a6)+,d3
  1168.     addq.l    #1,a6
  1169.     move.b    (a6)+,d2
  1170.     addq.l    #1,a6
  1171.     move.b    (a6)+,d1
  1172.     addq.l    #1,a6
  1173.     move.w    (a6)+,d0
  1174.     move.l    (a6)+,a0
  1175.     move.l    GfxBase,a6
  1176.     jsr        -$120(a6)
  1177.     movem.l    (sp)+,d3/a6
  1178. end;
  1179.  
  1180. procedure QBSBlit; xassembler;
  1181. asm
  1182.     move.l    a6,-(sp)
  1183.     move.l    8(sp),a1
  1184.     move.l    GfxBase,a6
  1185.     jsr        -$126(a6)
  1186.     move.l    (sp)+,a6
  1187. end;
  1188.  
  1189. procedure BltClear; xassembler;
  1190. asm
  1191.     move.l    a6,-(sp)
  1192.     lea        8(sp),a6
  1193.     move.l    (a6)+,d1
  1194.     move.l    (a6)+,d0
  1195.     move.l    (a6)+,a1
  1196.     move.l    GfxBase,a6
  1197.     jsr        -$12C(a6)
  1198.     move.l    (sp)+,a6
  1199. end;
  1200.  
  1201. procedure RectFill; xassembler;
  1202. asm
  1203.     movem.l    d3/a6,-(sp)
  1204.     lea        $C(sp),a6
  1205.     move.w    (a6)+,d3
  1206.     move.w    (a6)+,d2
  1207.     move.w    (a6)+,d1
  1208.     move.w    (a6)+,d0
  1209.     move.l    (a6)+,a1
  1210.     move.l    GfxBase,a6
  1211.     jsr        -$132(a6)
  1212.     movem.l    (sp)+,d3/a6
  1213. end;
  1214.  
  1215. procedure BltPattern; xassembler;
  1216. asm
  1217.     movem.l    d3-d4/a6,-(sp)
  1218.     lea        $10(sp),a6
  1219.     move.w    (a6)+,d4
  1220.     move.w    (a6)+,d3
  1221.     move.w    (a6)+,d2
  1222.     move.w    (a6)+,d1
  1223.     move.w    (a6)+,d0
  1224.     move.l    (a6)+,a0
  1225.     move.l    (a6)+,a1
  1226.     move.l    GfxBase,a6
  1227.     jsr        -$138(a6)
  1228.     movem.l    (sp)+,d3-d4/a6
  1229. end;
  1230.  
  1231. function ReadPixel; xassembler;
  1232. asm
  1233.     move.l    a6,-(sp)
  1234.     lea        8(sp),a6
  1235.     move.w    (a6)+,d1
  1236.     move.w    (a6)+,d0
  1237.     move.l    (a6)+,a1
  1238.     move.l    GfxBase,a6
  1239.     jsr        -$13E(a6)
  1240.     move.l    d0,$10(sp)
  1241.     move.l    (sp)+,a6
  1242. end;
  1243.  
  1244. function WritePixel; xassembler;
  1245. asm
  1246.     move.l    a6,-(sp)
  1247.     lea        8(sp),a6
  1248.     move.w    (a6)+,d1
  1249.     move.w    (a6)+,d0
  1250.     move.l    (a6)+,a1
  1251.     move.l    GfxBase,a6
  1252.     jsr        -$144(a6)
  1253.     move.l    d0,$10(sp)
  1254.     move.l    (sp)+,a6
  1255. end;
  1256.  
  1257. function Flood; xassembler;
  1258. asm
  1259.     move.l    a6,-(sp)
  1260.     lea        8(sp),a6
  1261.     move.w    (a6)+,d1
  1262.     move.w    (a6)+,d0
  1263.     move.l    (a6)+,d2
  1264.     move.l    (a6)+,a1
  1265.     move.l    GfxBase,a6
  1266.     jsr        -$14A(a6)
  1267.     tst.l    d0
  1268.     sne        d0
  1269.     neg.b    d0
  1270.     move.b    d0,$14(sp)
  1271.     move.l    (sp)+,a6
  1272. end;
  1273.  
  1274. procedure PolyDraw; xassembler;
  1275. asm
  1276.     move.l    a6,-(sp)
  1277.     lea        8(sp),a6
  1278.     move.l    (a6)+,a0
  1279.     move.w    (a6)+,d0
  1280.     move.l    (a6)+,a1
  1281.     move.l    GfxBase,a6
  1282.     jsr        -$150(a6)
  1283.     move.l    (sp)+,a6
  1284. end;
  1285.  
  1286. procedure SetAPen; xassembler;
  1287. asm
  1288.     move.l    a6,-(sp)
  1289.     move.b    8(sp),d0
  1290.     move.l    $A(sp),a1
  1291.     move.l    GfxBase,a6
  1292.     jsr        -$156(a6)
  1293.     move.l    (sp)+,a6
  1294. end;
  1295.  
  1296. procedure SetBPen; xassembler;
  1297. asm
  1298.     move.l    a6,-(sp)
  1299.     move.b    8(sp),d0
  1300.     move.l    $A(sp),a1
  1301.     move.l    GfxBase,a6
  1302.     jsr        -$15C(a6)
  1303.     move.l    (sp)+,a6
  1304. end;
  1305.  
  1306. procedure SetDrMd; xassembler;
  1307. asm
  1308.     move.l    a6,-(sp)
  1309.     move.b    8(sp),d0
  1310.     move.l    $A(sp),a1
  1311.     move.l    GfxBase,a6
  1312.     jsr        -$162(a6)
  1313.     move.l    (sp)+,a6
  1314. end;
  1315.  
  1316. procedure InitView; xassembler;
  1317. asm
  1318.     move.l    a6,-(sp)
  1319.     move.l    8(sp),a1
  1320.     move.l    GfxBase,a6
  1321.     jsr        -$168(a6)
  1322.     move.l    (sp)+,a6
  1323. end;
  1324.  
  1325. procedure CBump; xassembler;
  1326. asm
  1327.     move.l    a6,-(sp)
  1328.     move.l    8(sp),a1
  1329.     move.l    GfxBase,a6
  1330.     jsr        -$16E(a6)
  1331.     move.l    (sp)+,a6
  1332. end;
  1333.  
  1334. procedure CMove_; xassembler;
  1335. asm
  1336.     move.l    a6,-(sp)
  1337.     lea        8(sp),a6
  1338.     move.w    (a6)+,d1
  1339.     move.l    (a6)+,d0
  1340.     move.l    (a6)+,a1
  1341.     move.l    GfxBase,a6
  1342.     jsr        -$174(a6)
  1343.     move.l    (sp)+,a6
  1344. end;
  1345.  
  1346. procedure CWait_; xassembler;
  1347. asm
  1348.     move.l    a6,-(sp)
  1349.     lea        8(sp),a6
  1350.     move.w    (a6)+,d1
  1351.     move.w    (a6)+,d0
  1352.     move.l    (a6)+,a1
  1353.     move.l    GfxBase,a6
  1354.     jsr        -$17A(a6)
  1355.     move.l    (sp)+,a6
  1356. end;
  1357.  
  1358. function VBeamPos; xassembler;
  1359. asm
  1360.     move.l    a6,-(sp)
  1361.     move.l    GfxBase,a6
  1362.     jsr        -$180(a6)
  1363.     move.l    d0,8(sp)
  1364.     move.l    (sp)+,a6
  1365. end;
  1366.  
  1367. procedure InitBitMap; xassembler;
  1368. asm
  1369.     move.l    a6,-(sp)
  1370.     lea        8(sp),a6
  1371.     move.w    (a6)+,d2
  1372.     move.w    (a6)+,d1
  1373.     move.b    (a6)+,d0
  1374.     addq.l    #1,a6
  1375.     move.l    (a6)+,a0
  1376.     move.l    GfxBase,a6
  1377.     jsr        -$186(a6)
  1378.     move.l    (sp)+,a6
  1379. end;
  1380.  
  1381. procedure ScrollRaster; xassembler;
  1382. asm
  1383.     movem.l    d3-d5/a6,-(sp)
  1384.     lea        $14(sp),a6
  1385.     move.w    (a6)+,d5
  1386.     move.w    (a6)+,d4
  1387.     move.w    (a6)+,d3
  1388.     move.w    (a6)+,d2
  1389.     move.w    (a6)+,d1
  1390.     move.w    (a6)+,d0
  1391.     move.l    (a6)+,a1
  1392.     move.l    GfxBase,a6
  1393.     jsr        -$18C(a6)
  1394.     movem.l    (sp)+,d3-d5/a6
  1395. end;
  1396.  
  1397. procedure WaitBOVP; xassembler;
  1398. asm
  1399.     move.l    a6,-(sp)
  1400.     move.l    8(sp),a0
  1401.     move.l    GfxBase,a6
  1402.     jsr        -$192(a6)
  1403.     move.l    (sp)+,a6
  1404. end;
  1405.  
  1406. function GetSprite; xassembler;
  1407. asm
  1408.     move.l    a6,-(sp)
  1409.     lea        8(sp),a6
  1410.     move.w    (a6)+,d0
  1411.     move.l    (a6)+,a0
  1412.     move.l    GfxBase,a6
  1413.     jsr        -$198(a6)
  1414.     move.w    d0,$E(sp)
  1415.     move.l    (sp)+,a6
  1416. end;
  1417.  
  1418. procedure FreeSprite; xassembler;
  1419. asm
  1420.     move.l    a6,-(sp)
  1421.     move.w    8(sp),d0
  1422.     move.l    GfxBase,a6
  1423.     jsr        -$19E(a6)
  1424.     move.l    (sp)+,a6
  1425. end;
  1426.  
  1427. procedure ChangeSprite; xassembler;
  1428. asm
  1429.     movem.l    a2/a6,-(sp)
  1430.     lea        $C(sp),a6
  1431.     move.l    (a6)+,a2
  1432.     move.l    (a6)+,a1
  1433.     move.l    (a6)+,a0
  1434.     move.l    GfxBase,a6
  1435.     jsr        -$1A4(a6)
  1436.     movem.l    (sp)+,a2/a6
  1437. end;
  1438.  
  1439. procedure MoveSprite; xassembler;
  1440. asm
  1441.     move.l    a6,-(sp)
  1442.     lea        8(sp),a6
  1443.     move.w    (a6)+,d1
  1444.     move.w    (a6)+,d0
  1445.     move.l    (a6)+,a1
  1446.     move.l    (a6)+,a0
  1447.     move.l    GfxBase,a6
  1448.     jsr        -$1AA(a6)
  1449.     move.l    (sp)+,a6
  1450. end;
  1451.  
  1452. procedure LockLayerRom; xassembler;
  1453. asm
  1454.     movem.l    a5-a6,-(sp)
  1455.     move.l    $C(sp),a5
  1456.     move.l    GfxBase,a6
  1457.     jsr        -$1B0(a6)
  1458.     movem.l    (sp)+,a5-a6
  1459. end;
  1460.  
  1461. procedure UnlockLayerRom; xassembler;
  1462. asm
  1463.     movem.l    a5-a6,-(sp)
  1464.     move.l    $C(sp),a5
  1465.     move.l    GfxBase,a6
  1466.     jsr        -$1B6(a6)
  1467.     movem.l    (sp)+,a5-a6
  1468. end;
  1469.  
  1470. procedure SyncSBitMap; xassembler;
  1471. asm
  1472.     move.l    a6,-(sp)
  1473.     move.l    8(sp),a0
  1474.     move.l    GfxBase,a6
  1475.     jsr        -$1BC(a6)
  1476.     move.l    (sp)+,a6
  1477. end;
  1478.  
  1479. procedure CopySBitMap; xassembler;
  1480. asm
  1481.     move.l    a6,-(sp)
  1482.     move.l    8(sp),a0
  1483.     move.l    GfxBase,a6
  1484.     jsr        -$1C2(a6)
  1485.     move.l    (sp)+,a6
  1486. end;
  1487.  
  1488. procedure OwnBlitter; xassembler;
  1489. asm
  1490.     move.l    a6,-(sp)
  1491.     move.l    GfxBase,a6
  1492.     jsr        -$1C8(a6)
  1493.     move.l    (sp)+,a6
  1494. end;
  1495.  
  1496. procedure DisownBlitter; xassembler;
  1497. asm
  1498.     move.l    a6,-(sp)
  1499.     move.l    GfxBase,a6
  1500.     jsr        -$1CE(a6)
  1501.     move.l    (sp)+,a6
  1502. end;
  1503.  
  1504. procedure InitTmpRas; xassembler;
  1505. asm
  1506.     move.l    a6,-(sp)
  1507.     lea        8(sp),a6
  1508.     move.l    (a6)+,d0
  1509.     move.l    (a6)+,a1
  1510.     move.l    (a6)+,a0
  1511.     move.l    GfxBase,a6
  1512.     jsr        -$1D4(a6)
  1513.     move.l    (sp)+,a6
  1514. end;
  1515.  
  1516. procedure AskFont; xassembler;
  1517. asm
  1518.     move.l    a6,-(sp)
  1519.     movem.l    8(sp),a0-a1
  1520.     move.l    GfxBase,a6
  1521.     jsr        -$1DA(a6)
  1522.     move.l    (sp)+,a6
  1523. end;
  1524.  
  1525. procedure AddFont; xassembler;
  1526. asm
  1527.     move.l    a6,-(sp)
  1528.     move.l    8(sp),a1
  1529.     move.l    GfxBase,a6
  1530.     jsr        -$1E0(a6)
  1531.     move.l    (sp)+,a6
  1532. end;
  1533.  
  1534. procedure RemFont; xassembler;
  1535. asm
  1536.     move.l    a6,-(sp)
  1537.     move.l    8(sp),a1
  1538.     move.l    GfxBase,a6
  1539.     jsr        -$1E6(a6)
  1540.     move.l    (sp)+,a6
  1541. end;
  1542.  
  1543. function AllocRaster; xassembler;
  1544. asm
  1545.     move.l    a6,-(sp)
  1546.     lea        8(sp),a6
  1547.     move.w    (a6)+,d1
  1548.     move.w    (a6)+,d0
  1549.     move.l    GfxBase,a6
  1550.     jsr        -$1EC(a6)
  1551.     move.l    d0,$C(sp)
  1552.     move.l    (sp)+,a6
  1553. end;
  1554.  
  1555. procedure FreeRaster; xassembler;
  1556. asm
  1557.     move.l    a6,-(sp)
  1558.     lea        8(sp),a6
  1559.     move.w    (a6)+,d1
  1560.     move.w    (a6)+,d0
  1561.     move.l    (a6)+,a0
  1562.     move.l    GfxBase,a6
  1563.     jsr        -$1F2(a6)
  1564.     move.l    (sp)+,a6
  1565. end;
  1566.  
  1567. procedure AndRectRegion; xassembler;
  1568. asm
  1569.     move.l    a6,-(sp)
  1570.     lea        8(sp),a6
  1571.     move.l    (a6)+,a1
  1572.     move.l    (a6)+,a0
  1573.     move.l    GfxBase,a6
  1574.     jsr        -$1F8(a6)
  1575.     move.l    (sp)+,a6
  1576. end;
  1577.  
  1578. function OrRectRegion; xassembler;
  1579. asm
  1580.     move.l    a6,-(sp)
  1581.     lea        8(sp),a6
  1582.     move.l    (a6)+,a1
  1583.     move.l    (a6)+,a0
  1584.     move.l    GfxBase,a6
  1585.     jsr        -$1FE(a6)
  1586.     tst.l    d0
  1587.     sne        d0
  1588.     neg.b    d0
  1589.     move.b    d0,$10(sp)
  1590.     move.l    (sp)+,a6
  1591. end;
  1592.  
  1593. function NewRegion; xassembler;
  1594. asm
  1595.     move.l    a6,-(sp)
  1596.     move.l    GfxBase,a6
  1597.     jsr        -$204(a6)
  1598.     move.l    d0,8(sp)
  1599.     move.l    (sp)+,a6
  1600. end;
  1601.  
  1602. function ClearRectRegion; xassembler;
  1603. asm
  1604.     move.l    a6,-(sp)
  1605.     lea        8(sp),a6
  1606.     move.l    (a6)+,a1
  1607.     move.l    (a6)+,a0
  1608.     move.l    GfxBase,a6
  1609.     jsr        -$20A(a6)
  1610.     tst.l    d0
  1611.     sne        d0
  1612.     neg.b    d0
  1613.     move.b    d0,$10(sp)
  1614.     move.l    (sp)+,a6
  1615. end;
  1616.  
  1617. procedure ClearRegion; xassembler;
  1618. asm
  1619.     move.l    a6,-(sp)
  1620.     move.l    8(sp),a0
  1621.     move.l    GfxBase,a6
  1622.     jsr        -$210(a6)
  1623.     move.l    (sp)+,a6
  1624. end;
  1625.  
  1626. procedure DisposeRegion; xassembler;
  1627. asm
  1628.     move.l    a6,-(sp)
  1629.     move.l    8(sp),a0
  1630.     move.l    GfxBase,a6
  1631.     jsr        -$216(a6)
  1632.     move.l    (sp)+,a6
  1633. end;
  1634.  
  1635. procedure FreeVPortCopLists; xassembler;
  1636. asm
  1637.     move.l    a6,-(sp)
  1638.     move.l    8(sp),a0
  1639.     move.l    GfxBase,a6
  1640.     jsr        -$21C(a6)
  1641.     move.l    (sp)+,a6
  1642. end;
  1643.  
  1644. procedure FreeCopList; xassembler;
  1645. asm
  1646.     move.l    a6,-(sp)
  1647.     move.l    8(sp),a0
  1648.     move.l    GfxBase,a6
  1649.     jsr        -$222(a6)
  1650.     move.l    (sp)+,a6
  1651. end;
  1652.  
  1653. procedure ClipBlit; xassembler;
  1654. asm
  1655.     movem.l    d3-d6/a6,-(sp)
  1656.     lea        $18(sp),a6
  1657.     move.b    (a6)+,d6
  1658.     addq.l    #1,a6
  1659.     move.w    (a6)+,d5
  1660.     move.w    (a6)+,d4
  1661.     move.w    (a6)+,d3
  1662.     move.w    (a6)+,d2
  1663.     move.l    (a6)+,a1
  1664.     move.w    (a6)+,d1
  1665.     move.w    (a6)+,d0
  1666.     move.l    (a6)+,a0
  1667.     move.l    GfxBase,a6
  1668.     jsr        -$228(a6)
  1669.     movem.l    (sp)+,d3-d6/a6
  1670. end;
  1671.  
  1672. function XorRectRegion; xassembler;
  1673. asm
  1674.     move.l    a6,-(sp)
  1675.     lea        8(sp),a6
  1676.     move.l    (a6)+,a1
  1677.     move.l    (a6)+,a0
  1678.     move.l    GfxBase,a6
  1679.     jsr        -$22E(a6)
  1680.     tst.l    d0
  1681.     sne        d0
  1682.     neg.b    d0
  1683.     move.b    d0,$10(sp)
  1684.     move.l    (sp)+,a6
  1685. end;
  1686.  
  1687. procedure FreeCprList; xassembler;
  1688. asm
  1689.     move.l    a6,-(sp)
  1690.     move.l    8(sp),a0
  1691.     move.l    GfxBase,a6
  1692.     jsr        -$234(a6)
  1693.     move.l    (sp)+,a6
  1694. end;
  1695.  
  1696. function GetColorMap; xassembler;
  1697. asm
  1698.     move.l    a6,-(sp)
  1699.     move.l    8(sp),d0
  1700.     move.l    GfxBase,a6
  1701.     jsr        -$23A(a6)
  1702.     move.l    d0,$C(sp)
  1703.     move.l    (sp)+,a6
  1704. end;
  1705.  
  1706. procedure FreeColorMap; xassembler;
  1707. asm
  1708.     move.l    a6,-(sp)
  1709.     move.l    8(sp),a0
  1710.     move.l    GfxBase,a6
  1711.     jsr        -$240(a6)
  1712.     move.l    (sp)+,a6
  1713. end;
  1714.  
  1715. function GetRGB4; xassembler;
  1716. asm
  1717.     move.l    a6,-(sp)
  1718.     movem.l    8(sp),d0/a0
  1719.     move.l    GfxBase,a6
  1720.     jsr        -$246(a6)
  1721.     move.l    d0,$10(sp)
  1722.     move.l    (sp)+,a6
  1723. end;
  1724.  
  1725. procedure ScrollVPort; xassembler;
  1726. asm
  1727.     move.l    a6,-(sp)
  1728.     move.l    8(sp),a0
  1729.     move.l    GfxBase,a6
  1730.     jsr        -$24C(a6)
  1731.     move.l    (sp)+,a6
  1732. end;
  1733.  
  1734. function UCopperListInit; xassembler;
  1735. asm
  1736.     move.l    a6,-(sp)
  1737.     lea        8(sp),a6
  1738.     move.w    (a6)+,d0
  1739.     move.l    (a6)+,a0
  1740.     move.l    GfxBase,a6
  1741.     jsr        -$252(a6)
  1742.     move.l    d0,$E(sp)
  1743.     move.l    (sp)+,a6
  1744. end;
  1745.  
  1746. procedure FreeGBuffers; xassembler;
  1747. asm
  1748.     move.l    a6,-(sp)
  1749.     moveq    #0,d0
  1750.     lea        8(sp),a6
  1751.     move.b    (a6)+,d0
  1752.     addq.l    #1,a6
  1753.     move.l    (a6)+,a1
  1754.     move.l    (a6)+,a0
  1755.     move.l    GfxBase,a6
  1756.     jsr        -$258(a6)
  1757.     move.l    (sp)+,a6
  1758. end;
  1759.  
  1760. function BltBitMapRastPort; xassembler;
  1761. asm
  1762.     movem.l    d3-d6/a6,-(sp)
  1763.     lea        $18(sp),a6
  1764.     move.b    (a6)+,d6
  1765.     addq.l    #1,a6
  1766.     move.w    (a6)+,d5
  1767.     move.w    (a6)+,d4
  1768.     move.w    (a6)+,d3
  1769.     move.w    (a6)+,d2
  1770.     move.l    (a6)+,a1
  1771.     move.w    (a6)+,d1
  1772.     move.w    (a6)+,d0
  1773.     move.l    (a6)+,a0
  1774.     move.l    GfxBase,a6
  1775.     jsr        -$25E(a6)
  1776.     tst.l    d0
  1777.     sne        d0
  1778.     neg.b    d0
  1779.     move.b    d0,$2E(sp)
  1780.     movem.l    (sp)+,d3-d6/a6
  1781. end;
  1782.  
  1783. function OrRegionRegion; xassembler;
  1784. asm
  1785.     move.l    a6,-(sp)
  1786.     lea        8(sp),a6
  1787.     move.l    (a6)+,a1
  1788.     move.l    (a6)+,a0
  1789.     move.l    GfxBase,a6
  1790.     jsr        -$264(a6)
  1791.     tst.l    d0
  1792.     sne        d0
  1793.     neg.b    d0
  1794.     move.b    d0,$10(sp)
  1795.     move.l    (sp)+,a6
  1796. end;
  1797.  
  1798. function XorRegionRegion; xassembler;
  1799. asm
  1800.     move.l    a6,-(sp)
  1801.     lea        8(sp),a6
  1802.     move.l    (a6)+,a1
  1803.     move.l    (a6)+,a0
  1804.     move.l    GfxBase,a6
  1805.     jsr        -$26A(a6)
  1806.     tst.l    d0
  1807.     sne        d0
  1808.     neg.b    d0
  1809.     move.b    d0,$10(sp)
  1810.     move.l    (sp)+,a6
  1811. end;
  1812.  
  1813. function AndRegionRegion; xassembler;
  1814. asm
  1815.     move.l    a6,-(sp)
  1816.     lea        8(sp),a6
  1817.     move.l    (a6)+,a1
  1818.     move.l    (a6)+,a0
  1819.     move.l    GfxBase,a6
  1820.     jsr        -$270(a6)
  1821.     tst.l    d0
  1822.     sne        d0
  1823.     neg.b    d0
  1824.     move.b    d0,$10(sp)
  1825.     move.l    (sp)+,a6
  1826. end;
  1827.  
  1828. procedure SetRGB4CM; xassembler;
  1829. asm
  1830.     movem.l    d3/a6,-(sp)
  1831.     lea        $C(sp),a6
  1832.     move.b    (a6)+,d3
  1833.     addq.l    #1,a6
  1834.     move.b    (a6)+,d2
  1835.     addq.l    #1,a6
  1836.     move.b    (a6)+,d1
  1837.     addq.l    #1,a6
  1838.     move.w    (a6)+,d0
  1839.     move.l    (a6)+,a0
  1840.     move.l    GfxBase,a6
  1841.     jsr        -$276(a6)
  1842.     movem.l    (sp)+,d3/a6
  1843. end;
  1844.  
  1845. procedure BltMaskBitMapRastPort; xassembler;
  1846. asm
  1847.     movem.l    d3-d6/a2/a6,-(sp)
  1848.     lea        $1C(sp),a6
  1849.     move.l    (a6)+,a2
  1850.     move.b    (a6)+,d6
  1851.     addq.l    #1,a6
  1852.     move.w    (a6)+,d5
  1853.     move.w    (a6)+,d4
  1854.     move.w    (a6)+,d3
  1855.     move.w    (a6)+,d2
  1856.     move.l    (a6)+,a1
  1857.     move.w    (a6)+,d1
  1858.     move.w    (a6)+,d0
  1859.     move.l    (a6)+,a0
  1860.     move.l    GfxBase,a6
  1861.     jsr        -$27C(a6)
  1862.     movem.l    (sp)+,d3-d6/a2/a6
  1863. end;
  1864.  
  1865. function AttemptLockLayerRom; xassembler;
  1866. asm
  1867.     movem.l    a5-a6,-(sp)
  1868.     move.l    $C(sp),a5
  1869.     move.l    GfxBase,a6
  1870.     jsr        -$28E(a6)
  1871.     tst.l    d0
  1872.     sne        d0
  1873.     neg.b    d0
  1874.     move.b    d0,$10(sp)
  1875.     movem.l    (sp)+,a5-a6
  1876. end;
  1877.  
  1878. function GfxNew; xassembler;
  1879. asm
  1880.     move.l    a6,-(sp)
  1881.     move.l    8(sp),d0
  1882.     move.l    GfxBase,a6
  1883.     jsr        -$294(a6)
  1884.     move.l    d0,$C(sp)
  1885.     move.l    (sp)+,a6
  1886. end;
  1887.  
  1888. procedure GfxFree; xassembler;
  1889. asm
  1890.     move.l    a6,-(sp)
  1891.     move.l    8(sp),a0
  1892.     move.l    GfxBase,a6
  1893.     jsr        -$29A(a6)
  1894.     move.l    (sp)+,a6
  1895. end;
  1896.  
  1897. procedure GfxAssociate; xassembler;
  1898. asm
  1899.     move.l    a6,-(sp)
  1900.     lea        8(sp),a6
  1901.     move.l    (a6)+,a1
  1902.     move.l    (a6)+,a0
  1903.     move.l    GfxBase,a6
  1904.     jsr        -$2A0(a6)
  1905.     move.l    (sp)+,a6
  1906. end;
  1907.  
  1908. procedure BitMapScale; xassembler;
  1909. asm
  1910.     move.l    a6,-(sp)
  1911.     move.l    8(sp),a0
  1912.     move.l    GfxBase,a6
  1913.     jsr        -$2A6(a6)
  1914.     move.l    (sp)+,a6
  1915. end;
  1916.  
  1917. function ScalerDiv; xassembler;
  1918. asm
  1919.     move.l    a6,-(sp)
  1920.     lea        8(sp),a6
  1921.     move.w    (a6)+,d2
  1922.     move.w    (a6)+,d1
  1923.     move.w    (a6)+,d0
  1924.     move.l    GfxBase,a6
  1925.     jsr        -$2AC(a6)
  1926.     move.w    d0,$E(sp)
  1927.     move.l    (sp)+,a6
  1928. end;
  1929.  
  1930. procedure TextExtent; xassembler;
  1931. asm
  1932.     movem.l    a2/a6,-(sp)
  1933.     lea        $C(sp),a6
  1934.     move.l    (a6)+,a2
  1935.     move.w    (a6)+,d0
  1936.     move.l    (a6)+,a0
  1937.     move.l    (a6)+,a1
  1938.     move.l    GfxBase,a6
  1939.     jsr        -$2B2(a6)
  1940.     movem.l    (sp)+,a2/a6
  1941. end;
  1942.  
  1943. function TextFit; xassembler;
  1944. asm
  1945.     movem.l    d3/a2-a3/a6,-(sp)
  1946.     lea        $14(sp),a6
  1947.     move.w    (a6)+,d3
  1948.     move.w    (a6)+,d2
  1949.     move.w    (a6)+,d1
  1950.     move.l    (a6)+,a3
  1951.     move.l    (a6)+,a2
  1952.     move.w    (a6)+,d0
  1953.     move.l    (a6)+,a0
  1954.     move.l    (a6)+,a1
  1955.     move.l    GfxBase,a6
  1956.     jsr        -$2B8(a6)
  1957.     move.l    d0,$2C(sp)
  1958.     movem.l    (sp)+,d3/a2-a3/a6
  1959. end;
  1960.  
  1961. function GfxLookUp; xassembler;
  1962. asm
  1963.     move.l    a6,-(sp)
  1964.     move.l    8(sp),a0
  1965.     move.l    GfxBase,a6
  1966.     jsr        -$2BE(a6)
  1967.     move.l    d0,$C(sp)
  1968.     move.l    (sp)+,a6
  1969. end;
  1970.  
  1971. function VideoControl; xassembler;
  1972. asm
  1973.     move.l    a6,-(sp)
  1974.     lea        8(sp),a6
  1975.     move.l    (a6)+,a1
  1976.     move.l    (a6)+,a0
  1977.     move.l    GfxBase,a6
  1978.     jsr        -$2C4(a6)
  1979.     move.l    d0,$10(sp)
  1980.     move.l    (sp)+,a6
  1981. end;
  1982.  
  1983. function OpenMonitor; xassembler;
  1984. asm
  1985.     move.l    a6,-(sp)
  1986.     movem.l    8(sp),d0/a1
  1987.     move.l    GfxBase,a6
  1988.     jsr        -$2CA(a6)
  1989.     move.l    d0,$10(sp)
  1990.     move.l    (sp)+,a6
  1991. end;
  1992.  
  1993. function CloseMonitor; xassembler;
  1994. asm
  1995.     move.l    a6,-(sp)
  1996.     move.l    8(sp),a0
  1997.     move.l    GfxBase,a6
  1998.     jsr        -$2D0(a6)
  1999.     move.l    d0,$C(sp)
  2000.     move.l    (sp)+,a6
  2001. end;
  2002.  
  2003. function FindDisplayInfo; xassembler;
  2004. asm
  2005.     move.l    a6,-(sp)
  2006.     move.l    8(sp),d0
  2007.     move.l    GfxBase,a6
  2008.     jsr        -$2D6(a6)
  2009.     move.l    d0,$C(sp)
  2010.     move.l    (sp)+,a6
  2011. end;
  2012.  
  2013. function NextDisplayInfo; xassembler;
  2014. asm
  2015.     move.l    a6,-(sp)
  2016.     move.l    8(sp),d0
  2017.     move.l    GfxBase,a6
  2018.     jsr        -$2DC(a6)
  2019.     move.l    d0,$C(sp)
  2020.     move.l    (sp)+,a6
  2021. end;
  2022.  
  2023. function GetDisplayInfoData; xassembler;
  2024. asm
  2025.     move.l    a6,-(sp)
  2026.     lea        8(sp),a6
  2027.     move.l    (a6)+,d2
  2028.     move.l    (a6)+,d1
  2029.     move.l    (a6)+,d0
  2030.     move.l    (a6)+,a1
  2031.     move.l    (a6)+,a0
  2032.     move.l    GfxBase,a6
  2033.     jsr        -$2F4(a6)
  2034.     move.l    d0,$1C(sp)
  2035.     move.l    (sp)+,a6
  2036. end;
  2037.  
  2038. procedure FontExtent; xassembler;
  2039. asm
  2040.     move.l    a6,-(sp)
  2041.     lea        8(sp),a6
  2042.     move.l    (a6)+,a1
  2043.     move.l    (a6)+,a0
  2044.     move.l    GfxBase,a6
  2045.     jsr        -$2FA(a6)
  2046.     move.l    (sp)+,a6
  2047. end;
  2048.  
  2049. function ReadPixelLine8; xassembler;
  2050. asm
  2051.     movem.l    a2/a6,-(sp)
  2052.     lea        $C(sp),a6
  2053.     move.l    (a6)+,a1
  2054.     move.l    (a6)+,a2
  2055.     move.w    (a6)+,d2
  2056.     move.w    (a6)+,d1
  2057.     move.w    (a6)+,d0
  2058.     move.l    (a6)+,a0
  2059.     move.l    GfxBase,a6
  2060.     jsr        -$300(a6)
  2061.     move.l    d0,$1E(sp)
  2062.     movem.l    (sp)+,a2/a6
  2063. end;
  2064.  
  2065. function WritePixelLine8; xassembler;
  2066. asm
  2067.     movem.l    a2/a6,-(sp)
  2068.     lea        $C(sp),a6
  2069.     move.l    (a6)+,a1
  2070.     move.l    (a6)+,a2
  2071.     move.w    (a6)+,d2
  2072.     move.w    (a6)+,d1
  2073.     move.w    (a6)+,d0
  2074.     move.l    (a6)+,a0
  2075.     move.l    GfxBase,a6
  2076.     jsr        -$306(a6)
  2077.     move.l    d0,$1E(sp)
  2078.     movem.l    (sp)+,a2/a6
  2079. end;
  2080.  
  2081. function ReadPixelArray8; xassembler;
  2082. asm
  2083.     movem.l    d3/a2/a6,-(sp)
  2084.     lea        $10(sp),a6
  2085.     move.l    (a6)+,a1
  2086.     move.l    (a6)+,a2
  2087.     move.w    (a6)+,d3
  2088.     move.w    (a6)+,d2
  2089.     move.w    (a6)+,d1
  2090.     move.w    (a6)+,d0
  2091.     move.l    (a6)+,a0
  2092.     move.l    GfxBase,a6
  2093.     jsr        -$30C(a6)
  2094.     move.l    d0,$24(sp)
  2095.     movem.l    (sp)+,d3/a2/a6
  2096. end;
  2097.  
  2098. function WritePixelArray8; xassembler;
  2099. asm
  2100.     movem.l    d3/a2/a6,-(sp)
  2101.     lea        $10(sp),a6
  2102.     move.l    (a6)+,a1
  2103.     move.l    (a6)+,a2
  2104.     move.w    (a6)+,d3
  2105.     move.w    (a6)+,d2
  2106.     move.w    (a6)+,d1
  2107.     move.w    (a6)+,d0
  2108.     move.l    (a6)+,a0
  2109.     move.l    GfxBase,a6
  2110.     jsr        -$312(a6)
  2111.     move.l    d0,$24(sp)
  2112.     movem.l    (sp)+,d3/a2/a6
  2113. end;
  2114.  
  2115. function GetVPModeID; xassembler;
  2116. asm
  2117.     move.l    a6,-(sp)
  2118.     move.l    8(sp),a0
  2119.     move.l    GfxBase,a6
  2120.     jsr        -$318(a6)
  2121.     move.l    d0,$C(sp)
  2122.     move.l    (sp)+,a6
  2123. end;
  2124.  
  2125. function ModeNotAvailable; xassembler;
  2126. asm
  2127.     move.l    a6,-(sp)
  2128.     move.l    8(sp),d0
  2129.     move.l    GfxBase,a6
  2130.     jsr        -$31E(a6)
  2131.     move.l    d0,$C(sp)
  2132.     move.l    (sp)+,a6
  2133. end;
  2134.  
  2135. function WeighTAMatch; xassembler;
  2136. asm
  2137.     movem.l    a2/a6,-(sp)
  2138.     lea        $C(sp),a6
  2139.     move.l    (a6)+,a2
  2140.     move.l    (a6)+,a1
  2141.     move.l    (a6)+,a0
  2142.     move.l    GfxBase,a6
  2143.     jsr        -$324(a6)
  2144.     move.w    d0,$18(sp)
  2145.     movem.l    (sp)+,a2/a6
  2146. end;
  2147.  
  2148. procedure EraseRect; xassembler;
  2149. asm
  2150.     movem.l    d3/a6,-(sp)
  2151.     lea        $C(sp),a6
  2152.     move.w    (a6)+,d3
  2153.     move.w    (a6)+,d2
  2154.     move.w    (a6)+,d1
  2155.     move.w    (a6)+,d0
  2156.     move.l    (a6)+,a1
  2157.     move.l    GfxBase,a6
  2158.     jsr        -$32A(a6)
  2159.     movem.l    (sp)+,d3/a6
  2160. end;
  2161.  
  2162. function ExtendFont; xassembler;
  2163. asm
  2164.     move.l    a6,-(sp)
  2165.     lea        8(sp),a6
  2166.     move.l    (a6)+,a1
  2167.     move.l    (a6)+,a0
  2168.     move.l    GfxBase,a6
  2169.     jsr        -$330(a6)
  2170.     move.l    d0,$10(sp)
  2171.     move.l    (sp)+,a6
  2172. end;
  2173.  
  2174. procedure StripFont; xassembler;
  2175. asm
  2176.     move.l    a6,-(sp)
  2177.     move.l    8(sp),a0
  2178.     move.l    GfxBase,a6
  2179.     jsr        -$336(a6)
  2180.     move.l    (sp)+,a6
  2181. end;
  2182.  
  2183. end.
  2184.