home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / programm / programi / gcc_9112.lzh / include20 / inline / graphics.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-12-15  |  56.4 KB  |  2,316 lines

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