home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / gnu / os-include / inline / graphics.h < prev    next >
C/C++ Source or Header  |  1994-09-22  |  76KB  |  2,266 lines

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