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

  1. #include <inline/stub.h>
  2. #ifndef BASE_EXT_DECL
  3. #define BASE_EXT_DECL extern struct IntuitionBase * IntuitionBase;
  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 IntuitionBase
  11. #endif
  12. __inline static void OpenIntuition(BASE_PAR_DECL0)
  13. {
  14.     BASE_EXT_DECL
  15.     register void *a6 __asm ("a6");
  16.     a6 = BASE_NAME;
  17.     __asm volatile ("
  18.     jsr a6@(-0x1e)"
  19.     : /* no output */
  20.     : "g" (a6)
  21.     : "d0", "d1", "a0", "a1");
  22. }
  23. __inline static void Intuition(BASE_PAR_DECL struct InputEvent* iEvent)
  24. {
  25.     BASE_EXT_DECL
  26.     register void *a6 __asm ("a6");
  27.     register struct InputEvent* a0 __asm("a0");
  28.  
  29.     a6 = BASE_NAME;
  30.     a0 = iEvent;
  31.     __asm volatile ("
  32.     jsr a6@(-0x24)"
  33.     : /* no output */
  34.     : "g" (a6), "g" (a0)
  35.     : "d0", "d1", "a0", "a1");
  36. }
  37. __inline static UWORD AddGadget(BASE_PAR_DECL struct Window* window, struct Gadget* gadget, long unsigned int position)
  38. {
  39.     BASE_EXT_DECL
  40.     register UWORD res __asm("d0");
  41.     register void *a6 __asm ("a6");
  42.     register struct Window* a0 __asm("a0");
  43.     register struct Gadget* a1 __asm("a1");
  44.     register long unsigned int d0 __asm("d0");
  45.  
  46.     a6 = BASE_NAME;
  47.     a0 = window;
  48.     a1 = gadget;
  49.     d0 = position;
  50.     __asm volatile ("
  51.     jsr a6@(-0x2a)"
  52.     : "=g" (res)
  53.     : "g" (a6), "g" (a0), "g" (a1), "g" (d0)
  54.     : "d0", "d1", "a0", "a1");
  55.     return res;
  56. }
  57. __inline static BOOL ClearDMRequest(BASE_PAR_DECL struct Window* window)
  58. {
  59.     BASE_EXT_DECL
  60.     register BOOL res __asm("d0");
  61.     register void *a6 __asm ("a6");
  62.     register struct Window* a0 __asm("a0");
  63.  
  64.     a6 = BASE_NAME;
  65.     a0 = window;
  66.     __asm volatile ("
  67.     jsr a6@(-0x30)"
  68.     : "=g" (res)
  69.     : "g" (a6), "g" (a0)
  70.     : "d0", "d1", "a0", "a1");
  71.     return res;
  72. }
  73. __inline static void ClearMenuStrip(BASE_PAR_DECL struct Window* window)
  74. {
  75.     BASE_EXT_DECL
  76.     register void *a6 __asm ("a6");
  77.     register struct Window* a0 __asm("a0");
  78.  
  79.     a6 = BASE_NAME;
  80.     a0 = window;
  81.     __asm volatile ("
  82.     jsr a6@(-0x36)"
  83.     : /* no output */
  84.     : "g" (a6), "g" (a0)
  85.     : "d0", "d1", "a0", "a1");
  86. }
  87. __inline static void ClearPointer(BASE_PAR_DECL struct Window* window)
  88. {
  89.     BASE_EXT_DECL
  90.     register void *a6 __asm ("a6");
  91.     register struct Window* a0 __asm("a0");
  92.  
  93.     a6 = BASE_NAME;
  94.     a0 = window;
  95.     __asm volatile ("
  96.     jsr a6@(-0x3c)"
  97.     : /* no output */
  98.     : "g" (a6), "g" (a0)
  99.     : "d0", "d1", "a0", "a1");
  100. }
  101. __inline static BOOL CloseScreen(BASE_PAR_DECL struct Screen* screen)
  102. {
  103.     BASE_EXT_DECL
  104.     register BOOL res __asm("d0");
  105.     register void *a6 __asm ("a6");
  106.     register struct Screen* a0 __asm("a0");
  107.  
  108.     a6 = BASE_NAME;
  109.     a0 = screen;
  110.     __asm volatile ("
  111.     jsr a6@(-0x42)"
  112.     : "=g" (res)
  113.     : "g" (a6), "g" (a0)
  114.     : "d0", "d1", "a0", "a1");
  115.     return res;
  116. }
  117. __inline static void CloseWindow(BASE_PAR_DECL struct Window* window)
  118. {
  119.     BASE_EXT_DECL
  120.     register void *a6 __asm ("a6");
  121.     register struct Window* a0 __asm("a0");
  122.  
  123.     a6 = BASE_NAME;
  124.     a0 = window;
  125.     __asm volatile ("
  126.     jsr a6@(-0x48)"
  127.     : /* no output */
  128.     : "g" (a6), "g" (a0)
  129.     : "d0", "d1", "a0", "a1");
  130. }
  131. __inline static LONG CloseWorkBench(BASE_PAR_DECL0)
  132. {
  133.     BASE_EXT_DECL
  134.     register LONG res __asm("d0");
  135.     register void *a6 __asm ("a6");
  136.     a6 = BASE_NAME;
  137.     __asm volatile ("
  138.     jsr a6@(-0x4e)"
  139.     : "=g" (res)
  140.     : "g" (a6)
  141.     : "d0", "d1", "a0", "a1");
  142.     return res;
  143. }
  144. __inline static void CurrentTime(BASE_PAR_DECL ULONG* seconds, ULONG* micros)
  145. {
  146.     BASE_EXT_DECL
  147.     register void *a6 __asm ("a6");
  148.     register ULONG* a0 __asm("a0");
  149.     register ULONG* a1 __asm("a1");
  150.  
  151.     a6 = BASE_NAME;
  152.     a0 = seconds;
  153.     a1 = micros;
  154.     __asm volatile ("
  155.     jsr a6@(-0x54)"
  156.     : /* no output */
  157.     : "g" (a6), "g" (a0), "g" (a1)
  158.     : "d0", "d1", "a0", "a1");
  159. }
  160. __inline static BOOL DisplayAlert(BASE_PAR_DECL long unsigned int alertNumber, UBYTE* string, long unsigned int height)
  161. {
  162.     BASE_EXT_DECL
  163.     register BOOL res __asm("d0");
  164.     register void *a6 __asm ("a6");
  165.     register long unsigned int d0 __asm("d0");
  166.     register UBYTE* a0 __asm("a0");
  167.     register long unsigned int d1 __asm("d1");
  168.  
  169.     a6 = BASE_NAME;
  170.     d0 = alertNumber;
  171.     a0 = string;
  172.     d1 = height;
  173.     __asm volatile ("
  174.     jsr a6@(-0x5a)"
  175.     : "=g" (res)
  176.     : "g" (a6), "g" (d0), "g" (a0), "g" (d1)
  177.     : "d0", "d1", "a0", "a1");
  178.     return res;
  179. }
  180. __inline static void DisplayBeep(BASE_PAR_DECL struct Screen* screen)
  181. {
  182.     BASE_EXT_DECL
  183.     register void *a6 __asm ("a6");
  184.     register struct Screen* a0 __asm("a0");
  185.  
  186.     a6 = BASE_NAME;
  187.     a0 = screen;
  188.     __asm volatile ("
  189.     jsr a6@(-0x60)"
  190.     : /* no output */
  191.     : "g" (a6), "g" (a0)
  192.     : "d0", "d1", "a0", "a1");
  193. }
  194. __inline static BOOL DoubleClick(BASE_PAR_DECL long unsigned int sSeconds, long unsigned int sMicros, long unsigned int cSeconds, long unsigned int cMicros)
  195. {
  196.     BASE_EXT_DECL
  197.     register BOOL res __asm("d0");
  198.     register void *a6 __asm ("a6");
  199.     register long unsigned int d0 __asm("d0");
  200.     register long unsigned int d1 __asm("d1");
  201.     register long unsigned int d2 __asm("d2");
  202.     register long unsigned int d3 __asm("d3");
  203.  
  204.     a6 = BASE_NAME;
  205.     d0 = sSeconds;
  206.     d1 = sMicros;
  207.     d2 = cSeconds;
  208.     d3 = cMicros;
  209.     __asm volatile ("
  210.     jsr a6@(-0x66)"
  211.     : "=g" (res)
  212.     : "g" (a6), "g" (d0), "g" (d1), "g" (d2), "g" (d3)
  213.     : "d0", "d1", "a0", "a1", "d2", "d3");
  214.     return res;
  215. }
  216. __inline static void DrawBorder(BASE_PAR_DECL struct RastPort* rp, struct Border* border, long int leftOffset, long int topOffset)
  217. {
  218.     BASE_EXT_DECL
  219.     register void *a6 __asm ("a6");
  220.     register struct RastPort* a0 __asm("a0");
  221.     register struct Border* a1 __asm("a1");
  222.     register long int d0 __asm("d0");
  223.     register long int d1 __asm("d1");
  224.  
  225.     a6 = BASE_NAME;
  226.     a0 = rp;
  227.     a1 = border;
  228.     d0 = leftOffset;
  229.     d1 = topOffset;
  230.     __asm volatile ("
  231.     jsr a6@(-0x6c)"
  232.     : /* no output */
  233.     : "g" (a6), "g" (a0), "g" (a1), "g" (d0), "g" (d1)
  234.     : "d0", "d1", "a0", "a1");
  235. }
  236. __inline static void DrawImage(BASE_PAR_DECL struct RastPort* rp, struct Image* image, long int leftOffset, long int topOffset)
  237. {
  238.     BASE_EXT_DECL
  239.     register void *a6 __asm ("a6");
  240.     register struct RastPort* a0 __asm("a0");
  241.     register struct Image* a1 __asm("a1");
  242.     register long int d0 __asm("d0");
  243.     register long int d1 __asm("d1");
  244.  
  245.     a6 = BASE_NAME;
  246.     a0 = rp;
  247.     a1 = image;
  248.     d0 = leftOffset;
  249.     d1 = topOffset;
  250.     __asm volatile ("
  251.     jsr a6@(-0x72)"
  252.     : /* no output */
  253.     : "g" (a6), "g" (a0), "g" (a1), "g" (d0), "g" (d1)
  254.     : "d0", "d1", "a0", "a1");
  255. }
  256. __inline static void EndRequest(BASE_PAR_DECL struct Requester* requester, struct Window* window)
  257. {
  258.     BASE_EXT_DECL
  259.     register void *a6 __asm ("a6");
  260.     register struct Requester* a0 __asm("a0");
  261.     register struct Window* a1 __asm("a1");
  262.  
  263.     a6 = BASE_NAME;
  264.     a0 = requester;
  265.     a1 = window;
  266.     __asm volatile ("
  267.     jsr a6@(-0x78)"
  268.     : /* no output */
  269.     : "g" (a6), "g" (a0), "g" (a1)
  270.     : "d0", "d1", "a0", "a1");
  271. }
  272. __inline static struct Preferences* GetDefPrefs(BASE_PAR_DECL struct Preferences* preferences, long int size)
  273. {
  274.     BASE_EXT_DECL
  275.     register struct Preferences* res __asm("d0");
  276.     register void *a6 __asm ("a6");
  277.     register struct Preferences* a0 __asm("a0");
  278.     register long int d0 __asm("d0");
  279.  
  280.     a6 = BASE_NAME;
  281.     a0 = preferences;
  282.     d0 = size;
  283.     __asm volatile ("
  284.     jsr a6@(-0x7e)"
  285.     : "=g" (res)
  286.     : "g" (a6), "g" (a0), "g" (d0)
  287.     : "d0", "d1", "a0", "a1");
  288.     return res;
  289. }
  290. __inline static struct Preferences* GetPrefs(BASE_PAR_DECL struct Preferences* preferences, long int size)
  291. {
  292.     BASE_EXT_DECL
  293.     register struct Preferences* res __asm("d0");
  294.     register void *a6 __asm ("a6");
  295.     register struct Preferences* a0 __asm("a0");
  296.     register long int d0 __asm("d0");
  297.  
  298.     a6 = BASE_NAME;
  299.     a0 = preferences;
  300.     d0 = size;
  301.     __asm volatile ("
  302.     jsr a6@(-0x84)"
  303.     : "=g" (res)
  304.     : "g" (a6), "g" (a0), "g" (d0)
  305.     : "d0", "d1", "a0", "a1");
  306.     return res;
  307. }
  308. __inline static void InitRequester(BASE_PAR_DECL struct Requester* requester)
  309. {
  310.     BASE_EXT_DECL
  311.     register void *a6 __asm ("a6");
  312.     register struct Requester* a0 __asm("a0");
  313.  
  314.     a6 = BASE_NAME;
  315.     a0 = requester;
  316.     __asm volatile ("
  317.     jsr a6@(-0x8a)"
  318.     : /* no output */
  319.     : "g" (a6), "g" (a0)
  320.     : "d0", "d1", "a0", "a1");
  321. }
  322. __inline static struct MenuItem* ItemAddress(BASE_PAR_DECL struct Menu* menuStrip, long unsigned int menuNumber)
  323. {
  324.     BASE_EXT_DECL
  325.     register struct MenuItem* res __asm("d0");
  326.     register void *a6 __asm ("a6");
  327.     register struct Menu* a0 __asm("a0");
  328.     register long unsigned int d0 __asm("d0");
  329.  
  330.     a6 = BASE_NAME;
  331.     a0 = menuStrip;
  332.     d0 = menuNumber;
  333.     __asm volatile ("
  334.     jsr a6@(-0x90)"
  335.     : "=g" (res)
  336.     : "g" (a6), "g" (a0), "g" (d0)
  337.     : "d0", "d1", "a0", "a1");
  338.     return res;
  339. }
  340. __inline static BOOL ModifyIDCMP(BASE_PAR_DECL struct Window* window, long unsigned int flags)
  341. {
  342.     BASE_EXT_DECL
  343.     register BOOL res __asm("d0");
  344.     register void *a6 __asm ("a6");
  345.     register struct Window* a0 __asm("a0");
  346.     register long unsigned int d0 __asm("d0");
  347.  
  348.     a6 = BASE_NAME;
  349.     a0 = window;
  350.     d0 = flags;
  351.     __asm volatile ("
  352.     jsr a6@(-0x96)"
  353.     : "=g" (res)
  354.     : "g" (a6), "g" (a0), "g" (d0)
  355.     : "d0", "d1", "a0", "a1");
  356.     return res;
  357. }
  358. __inline static void ModifyProp(BASE_PAR_DECL struct Gadget* gadget, struct Window* window, struct Requester* requester, long unsigned int flags, long unsigned int horizPot, long unsigned int vertPot, long unsigned int horizBody, long unsigned int vertBody)
  359. {
  360.     BASE_EXT_DECL
  361.     register void *a6 __asm ("a6");
  362.     register struct Gadget* a0 __asm("a0");
  363.     register struct Window* a1 __asm("a1");
  364.     register struct Requester* a2 __asm("a2");
  365.     register long unsigned int d0 __asm("d0");
  366.     register long unsigned int d1 __asm("d1");
  367.     register long unsigned int d2 __asm("d2");
  368.     register long unsigned int d3 __asm("d3");
  369.     register long unsigned int d4 __asm("d4");
  370.  
  371.     a6 = BASE_NAME;
  372.     a0 = gadget;
  373.     a1 = window;
  374.     a2 = requester;
  375.     d0 = flags;
  376.     d1 = horizPot;
  377.     d2 = vertPot;
  378.     d3 = horizBody;
  379.     d4 = vertBody;
  380.     __asm volatile ("" : /* no input */
  381.     : "g" (a0));
  382.     __asm volatile ("
  383.     jsr a6@(-0x9c)"
  384.     : /* no output */
  385.     : "g" (a6), "g" (a0), "g" (a1), "g" (a2), "g" (d0), "g" (d1), "g" (d2), "g" (d3)
  386.     : "d0", "d1", "a0", "a1", "a2", "d2", "d3", "d4");
  387. }
  388. __inline static void MoveScreen(BASE_PAR_DECL struct Screen* screen, long int dx, long int dy)
  389. {
  390.     BASE_EXT_DECL
  391.     register void *a6 __asm ("a6");
  392.     register struct Screen* a0 __asm("a0");
  393.     register long int d0 __asm("d0");
  394.     register long int d1 __asm("d1");
  395.  
  396.     a6 = BASE_NAME;
  397.     a0 = screen;
  398.     d0 = dx;
  399.     d1 = dy;
  400.     __asm volatile ("
  401.     jsr a6@(-0xa2)"
  402.     : /* no output */
  403.     : "g" (a6), "g" (a0), "g" (d0), "g" (d1)
  404.     : "d0", "d1", "a0", "a1");
  405. }
  406. __inline static void MoveWindow(BASE_PAR_DECL struct Window* window, long int dx, long int dy)
  407. {
  408.     BASE_EXT_DECL
  409.     register void *a6 __asm ("a6");
  410.     register struct Window* a0 __asm("a0");
  411.     register long int d0 __asm("d0");
  412.     register long int d1 __asm("d1");
  413.  
  414.     a6 = BASE_NAME;
  415.     a0 = window;
  416.     d0 = dx;
  417.     d1 = dy;
  418.     __asm volatile ("
  419.     jsr a6@(-0xa8)"
  420.     : /* no output */
  421.     : "g" (a6), "g" (a0), "g" (d0), "g" (d1)
  422.     : "d0", "d1", "a0", "a1");
  423. }
  424. __inline static void OffGadget(BASE_PAR_DECL struct Gadget* gadget, struct Window* window, struct Requester* requester)
  425. {
  426.     BASE_EXT_DECL
  427.     register void *a6 __asm ("a6");
  428.     register struct Gadget* a0 __asm("a0");
  429.     register struct Window* a1 __asm("a1");
  430.     register struct Requester* a2 __asm("a2");
  431.  
  432.     a6 = BASE_NAME;
  433.     a0 = gadget;
  434.     a1 = window;
  435.     a2 = requester;
  436.     __asm volatile ("
  437.     jsr a6@(-0xae)"
  438.     : /* no output */
  439.     : "g" (a6), "g" (a0), "g" (a1), "g" (a2)
  440.     : "d0", "d1", "a0", "a1", "a2");
  441. }
  442. __inline static void OffMenu(BASE_PAR_DECL struct Window* window, long unsigned int menuNumber)
  443. {
  444.     BASE_EXT_DECL
  445.     register void *a6 __asm ("a6");
  446.     register struct Window* a0 __asm("a0");
  447.     register long unsigned int d0 __asm("d0");
  448.  
  449.     a6 = BASE_NAME;
  450.     a0 = window;
  451.     d0 = menuNumber;
  452.     __asm volatile ("
  453.     jsr a6@(-0xb4)"
  454.     : /* no output */
  455.     : "g" (a6), "g" (a0), "g" (d0)
  456.     : "d0", "d1", "a0", "a1");
  457. }
  458. __inline static void OnGadget(BASE_PAR_DECL struct Gadget* gadget, struct Window* window, struct Requester* requester)
  459. {
  460.     BASE_EXT_DECL
  461.     register void *a6 __asm ("a6");
  462.     register struct Gadget* a0 __asm("a0");
  463.     register struct Window* a1 __asm("a1");
  464.     register struct Requester* a2 __asm("a2");
  465.  
  466.     a6 = BASE_NAME;
  467.     a0 = gadget;
  468.     a1 = window;
  469.     a2 = requester;
  470.     __asm volatile ("
  471.     jsr a6@(-0xba)"
  472.     : /* no output */
  473.     : "g" (a6), "g" (a0), "g" (a1), "g" (a2)
  474.     : "d0", "d1", "a0", "a1", "a2");
  475. }
  476. __inline static void OnMenu(BASE_PAR_DECL struct Window* window, long unsigned int menuNumber)
  477. {
  478.     BASE_EXT_DECL
  479.     register void *a6 __asm ("a6");
  480.     register struct Window* a0 __asm("a0");
  481.     register long unsigned int d0 __asm("d0");
  482.  
  483.     a6 = BASE_NAME;
  484.     a0 = window;
  485.     d0 = menuNumber;
  486.     __asm volatile ("
  487.     jsr a6@(-0xc0)"
  488.     : /* no output */
  489.     : "g" (a6), "g" (a0), "g" (d0)
  490.     : "d0", "d1", "a0", "a1");
  491. }
  492. __inline static struct Screen* OpenScreen(BASE_PAR_DECL struct NewScreen* newScreen)
  493. {
  494.     BASE_EXT_DECL
  495.     register struct Screen* res __asm("d0");
  496.     register void *a6 __asm ("a6");
  497.     register struct NewScreen* a0 __asm("a0");
  498.  
  499.     a6 = BASE_NAME;
  500.     a0 = newScreen;
  501.     __asm volatile ("
  502.     jsr a6@(-0xc6)"
  503.     : "=g" (res)
  504.     : "g" (a6), "g" (a0)
  505.     : "d0", "d1", "a0", "a1");
  506.     return res;
  507. }
  508. __inline static struct Window* OpenWindow(BASE_PAR_DECL struct NewWindow* newWindow)
  509. {
  510.     BASE_EXT_DECL
  511.     register struct Window* res __asm("d0");
  512.     register void *a6 __asm ("a6");
  513.     register struct NewWindow* a0 __asm("a0");
  514.  
  515.     a6 = BASE_NAME;
  516.     a0 = newWindow;
  517.     __asm volatile ("
  518.     jsr a6@(-0xcc)"
  519.     : "=g" (res)
  520.     : "g" (a6), "g" (a0)
  521.     : "d0", "d1", "a0", "a1");
  522.     return res;
  523. }
  524. __inline static BOOL OpenWorkBench(BASE_PAR_DECL0)
  525. {
  526.     BASE_EXT_DECL
  527.     register BOOL res __asm("d0");
  528.     register void *a6 __asm ("a6");
  529.     a6 = BASE_NAME;
  530.     __asm volatile ("
  531.     jsr a6@(-0xd2)"
  532.     : "=g" (res)
  533.     : "g" (a6)
  534.     : "d0", "d1", "a0", "a1");
  535.     return res;
  536. }
  537. __inline static void PrintIText(BASE_PAR_DECL struct RastPort* rp, struct IntuiText* iText, long int left, long int top)
  538. {
  539.     BASE_EXT_DECL
  540.     register void *a6 __asm ("a6");
  541.     register struct RastPort* a0 __asm("a0");
  542.     register struct IntuiText* a1 __asm("a1");
  543.     register long int d0 __asm("d0");
  544.     register long int d1 __asm("d1");
  545.  
  546.     a6 = BASE_NAME;
  547.     a0 = rp;
  548.     a1 = iText;
  549.     d0 = left;
  550.     d1 = top;
  551.     __asm volatile ("
  552.     jsr a6@(-0xd8)"
  553.     : /* no output */
  554.     : "g" (a6), "g" (a0), "g" (a1), "g" (d0), "g" (d1)
  555.     : "d0", "d1", "a0", "a1");
  556. }
  557. __inline static void RefreshGadgets(BASE_PAR_DECL struct Gadget* gadgets, struct Window* window, struct Requester* requester)
  558. {
  559.     BASE_EXT_DECL
  560.     register void *a6 __asm ("a6");
  561.     register struct Gadget* a0 __asm("a0");
  562.     register struct Window* a1 __asm("a1");
  563.     register struct Requester* a2 __asm("a2");
  564.  
  565.     a6 = BASE_NAME;
  566.     a0 = gadgets;
  567.     a1 = window;
  568.     a2 = requester;
  569.     __asm volatile ("
  570.     jsr a6@(-0xde)"
  571.     : /* no output */
  572.     : "g" (a6), "g" (a0), "g" (a1), "g" (a2)
  573.     : "d0", "d1", "a0", "a1", "a2");
  574. }
  575. __inline static UWORD RemoveGadget(BASE_PAR_DECL struct Window* window, struct Gadget* gadget)
  576. {
  577.     BASE_EXT_DECL
  578.     register UWORD res __asm("d0");
  579.     register void *a6 __asm ("a6");
  580.     register struct Window* a0 __asm("a0");
  581.     register struct Gadget* a1 __asm("a1");
  582.  
  583.     a6 = BASE_NAME;
  584.     a0 = window;
  585.     a1 = gadget;
  586.     __asm volatile ("
  587.     jsr a6@(-0xe4)"
  588.     : "=g" (res)
  589.     : "g" (a6), "g" (a0), "g" (a1)
  590.     : "d0", "d1", "a0", "a1");
  591.     return res;
  592. }
  593. __inline static void ReportMouse(BASE_PAR_DECL long int flag, struct Window* window)
  594. {
  595.     BASE_EXT_DECL
  596.     register void *a6 __asm ("a6");
  597.     register long int d0 __asm("d0");
  598.     register struct Window* a0 __asm("a0");
  599.  
  600.     a6 = BASE_NAME;
  601.     d0 = flag;
  602.     a0 = window;
  603.     __asm volatile ("
  604.     jsr a6@(-0xea)"
  605.     : /* no output */
  606.     : "g" (a6), "g" (d0), "g" (a0)
  607.     : "d0", "d1", "a0", "a1");
  608. }
  609. __inline static BOOL Request(BASE_PAR_DECL struct Requester* requester, struct Window* window)
  610. {
  611.     BASE_EXT_DECL
  612.     register BOOL res __asm("d0");
  613.     register void *a6 __asm ("a6");
  614.     register struct Requester* a0 __asm("a0");
  615.     register struct Window* a1 __asm("a1");
  616.  
  617.     a6 = BASE_NAME;
  618.     a0 = requester;
  619.     a1 = window;
  620.     __asm volatile ("
  621.     jsr a6@(-0xf0)"
  622.     : "=g" (res)
  623.     : "g" (a6), "g" (a0), "g" (a1)
  624.     : "d0", "d1", "a0", "a1");
  625.     return res;
  626. }
  627. __inline static void ScreenToBack(BASE_PAR_DECL struct Screen* screen)
  628. {
  629.     BASE_EXT_DECL
  630.     register void *a6 __asm ("a6");
  631.     register struct Screen* a0 __asm("a0");
  632.  
  633.     a6 = BASE_NAME;
  634.     a0 = screen;
  635.     __asm volatile ("
  636.     jsr a6@(-0xf6)"
  637.     : /* no output */
  638.     : "g" (a6), "g" (a0)
  639.     : "d0", "d1", "a0", "a1");
  640. }
  641. __inline static void ScreenToFront(BASE_PAR_DECL struct Screen* screen)
  642. {
  643.     BASE_EXT_DECL
  644.     register void *a6 __asm ("a6");
  645.     register struct Screen* a0 __asm("a0");
  646.  
  647.     a6 = BASE_NAME;
  648.     a0 = screen;
  649.     __asm volatile ("
  650.     jsr a6@(-0xfc)"
  651.     : /* no output */
  652.     : "g" (a6), "g" (a0)
  653.     : "d0", "d1", "a0", "a1");
  654. }
  655. __inline static BOOL SetDMRequest(BASE_PAR_DECL struct Window* window, struct Requester* requester)
  656. {
  657.     BASE_EXT_DECL
  658.     register BOOL res __asm("d0");
  659.     register void *a6 __asm ("a6");
  660.     register struct Window* a0 __asm("a0");
  661.     register struct Requester* a1 __asm("a1");
  662.  
  663.     a6 = BASE_NAME;
  664.     a0 = window;
  665.     a1 = requester;
  666.     __asm volatile ("
  667.     jsr a6@(-0x102)"
  668.     : "=g" (res)
  669.     : "g" (a6), "g" (a0), "g" (a1)
  670.     : "d0", "d1", "a0", "a1");
  671.     return res;
  672. }
  673. __inline static BOOL SetMenuStrip(BASE_PAR_DECL struct Window* window, struct Menu* menu)
  674. {
  675.     BASE_EXT_DECL
  676.     register BOOL res __asm("d0");
  677.     register void *a6 __asm ("a6");
  678.     register struct Window* a0 __asm("a0");
  679.     register struct Menu* a1 __asm("a1");
  680.  
  681.     a6 = BASE_NAME;
  682.     a0 = window;
  683.     a1 = menu;
  684.     __asm volatile ("
  685.     jsr a6@(-0x108)"
  686.     : "=g" (res)
  687.     : "g" (a6), "g" (a0), "g" (a1)
  688.     : "d0", "d1", "a0", "a1");
  689.     return res;
  690. }
  691. __inline static void SetPointer(BASE_PAR_DECL struct Window* window, UWORD* pointer, long int height, long int width, long int xOffset, long int yOffset)
  692. {
  693.     BASE_EXT_DECL
  694.     register void *a6 __asm ("a6");
  695.     register struct Window* a0 __asm("a0");
  696.     register UWORD* a1 __asm("a1");
  697.     register long int d0 __asm("d0");
  698.     register long int d1 __asm("d1");
  699.     register long int d2 __asm("d2");
  700.     register long int d3 __asm("d3");
  701.  
  702.     a6 = BASE_NAME;
  703.     a0 = window;
  704.     a1 = pointer;
  705.     d0 = height;
  706.     d1 = width;
  707.     d2 = xOffset;
  708.     d3 = yOffset;
  709.     __asm volatile ("
  710.     jsr a6@(-0x10e)"
  711.     : /* no output */
  712.     : "g" (a6), "g" (a0), "g" (a1), "g" (d0), "g" (d1), "g" (d2), "g" (d3)
  713.     : "d0", "d1", "a0", "a1", "d2", "d3");
  714. }
  715. __inline static void SetWindowTitles(BASE_PAR_DECL struct Window* window, UBYTE* windowTitle, UBYTE* screenTitle)
  716. {
  717.     BASE_EXT_DECL
  718.     register void *a6 __asm ("a6");
  719.     register struct Window* a0 __asm("a0");
  720.     register UBYTE* a1 __asm("a1");
  721.     register UBYTE* a2 __asm("a2");
  722.  
  723.     a6 = BASE_NAME;
  724.     a0 = window;
  725.     a1 = windowTitle;
  726.     a2 = screenTitle;
  727.     __asm volatile ("
  728.     jsr a6@(-0x114)"
  729.     : /* no output */
  730.     : "g" (a6), "g" (a0), "g" (a1), "g" (a2)
  731.     : "d0", "d1", "a0", "a1", "a2");
  732. }
  733. __inline static void ShowTitle(BASE_PAR_DECL struct Screen* screen, long int showIt)
  734. {
  735.     BASE_EXT_DECL
  736.     register void *a6 __asm ("a6");
  737.     register struct Screen* a0 __asm("a0");
  738.     register long int d0 __asm("d0");
  739.  
  740.     a6 = BASE_NAME;
  741.     a0 = screen;
  742.     d0 = showIt;
  743.     __asm volatile ("
  744.     jsr a6@(-0x11a)"
  745.     : /* no output */
  746.     : "g" (a6), "g" (a0), "g" (d0)
  747.     : "d0", "d1", "a0", "a1");
  748. }
  749. __inline static void SizeWindow(BASE_PAR_DECL struct Window* window, long int dx, long int dy)
  750. {
  751.     BASE_EXT_DECL
  752.     register void *a6 __asm ("a6");
  753.     register struct Window* a0 __asm("a0");
  754.     register long int d0 __asm("d0");
  755.     register long int d1 __asm("d1");
  756.  
  757.     a6 = BASE_NAME;
  758.     a0 = window;
  759.     d0 = dx;
  760.     d1 = dy;
  761.     __asm volatile ("
  762.     jsr a6@(-0x120)"
  763.     : /* no output */
  764.     : "g" (a6), "g" (a0), "g" (d0), "g" (d1)
  765.     : "d0", "d1", "a0", "a1");
  766. }
  767. __inline static struct View* ViewAddress(BASE_PAR_DECL0)
  768. {
  769.     BASE_EXT_DECL
  770.     register struct View* res __asm("d0");
  771.     register void *a6 __asm ("a6");
  772.     a6 = BASE_NAME;
  773.     __asm volatile ("
  774.     jsr a6@(-0x126)"
  775.     : "=g" (res)
  776.     : "g" (a6)
  777.     : "d0", "d1", "a0", "a1");
  778.     return res;
  779. }
  780. __inline static struct ViewPort* ViewPortAddress(BASE_PAR_DECL struct Window* window)
  781. {
  782.     BASE_EXT_DECL
  783.     register struct ViewPort* res __asm("d0");
  784.     register void *a6 __asm ("a6");
  785.     register struct Window* a0 __asm("a0");
  786.  
  787.     a6 = BASE_NAME;
  788.     a0 = window;
  789.     __asm volatile ("
  790.     jsr a6@(-0x12c)"
  791.     : "=g" (res)
  792.     : "g" (a6), "g" (a0)
  793.     : "d0", "d1", "a0", "a1");
  794.     return res;
  795. }
  796. __inline static void WindowToBack(BASE_PAR_DECL struct Window* window)
  797. {
  798.     BASE_EXT_DECL
  799.     register void *a6 __asm ("a6");
  800.     register struct Window* a0 __asm("a0");
  801.  
  802.     a6 = BASE_NAME;
  803.     a0 = window;
  804.     __asm volatile ("
  805.     jsr a6@(-0x132)"
  806.     : /* no output */
  807.     : "g" (a6), "g" (a0)
  808.     : "d0", "d1", "a0", "a1");
  809. }
  810. __inline static void WindowToFront(BASE_PAR_DECL struct Window* window)
  811. {
  812.     BASE_EXT_DECL
  813.     register void *a6 __asm ("a6");
  814.     register struct Window* a0 __asm("a0");
  815.  
  816.     a6 = BASE_NAME;
  817.     a0 = window;
  818.     __asm volatile ("
  819.     jsr a6@(-0x138)"
  820.     : /* no output */
  821.     : "g" (a6), "g" (a0)
  822.     : "d0", "d1", "a0", "a1");
  823. }
  824. __inline static BOOL WindowLimits(BASE_PAR_DECL struct Window* window, long int widthMin, long int heightMin, long unsigned int widthMax, long unsigned int heightMax)
  825. {
  826.     BASE_EXT_DECL
  827.     register BOOL res __asm("d0");
  828.     register void *a6 __asm ("a6");
  829.     register struct Window* a0 __asm("a0");
  830.     register long int d0 __asm("d0");
  831.     register long int d1 __asm("d1");
  832.     register long unsigned int d2 __asm("d2");
  833.     register long unsigned int d3 __asm("d3");
  834.  
  835.     a6 = BASE_NAME;
  836.     a0 = window;
  837.     d0 = widthMin;
  838.     d1 = heightMin;
  839.     d2 = widthMax;
  840.     d3 = heightMax;
  841.     __asm volatile ("
  842.     jsr a6@(-0x13e)"
  843.     : "=g" (res)
  844.     : "g" (a6), "g" (a0), "g" (d0), "g" (d1), "g" (d2), "g" (d3)
  845.     : "d0", "d1", "a0", "a1", "d2", "d3");
  846.     return res;
  847. }
  848. __inline static struct Preferences* SetPrefs(BASE_PAR_DECL struct Preferences* preferences, long int size, long int inform)
  849. {
  850.     BASE_EXT_DECL
  851.     register struct Preferences* res __asm("d0");
  852.     register void *a6 __asm ("a6");
  853.     register struct Preferences* a0 __asm("a0");
  854.     register long int d0 __asm("d0");
  855.     register long int d1 __asm("d1");
  856.  
  857.     a6 = BASE_NAME;
  858.     a0 = preferences;
  859.     d0 = size;
  860.     d1 = inform;
  861.     __asm volatile ("
  862.     jsr a6@(-0x144)"
  863.     : "=g" (res)
  864.     : "g" (a6), "g" (a0), "g" (d0), "g" (d1)
  865.     : "d0", "d1", "a0", "a1");
  866.     return res;
  867. }
  868. __inline static LONG IntuiTextLength(BASE_PAR_DECL struct IntuiText* iText)
  869. {
  870.     BASE_EXT_DECL
  871.     register LONG res __asm("d0");
  872.     register void *a6 __asm ("a6");
  873.     register struct IntuiText* a0 __asm("a0");
  874.  
  875.     a6 = BASE_NAME;
  876.     a0 = iText;
  877.     __asm volatile ("
  878.     jsr a6@(-0x14a)"
  879.     : "=g" (res)
  880.     : "g" (a6), "g" (a0)
  881.     : "d0", "d1", "a0", "a1");
  882.     return res;
  883. }
  884. __inline static BOOL WBenchToBack(BASE_PAR_DECL0)
  885. {
  886.     BASE_EXT_DECL
  887.     register BOOL res __asm("d0");
  888.     register void *a6 __asm ("a6");
  889.     a6 = BASE_NAME;
  890.     __asm volatile ("
  891.     jsr a6@(-0x150)"
  892.     : "=g" (res)
  893.     : "g" (a6)
  894.     : "d0", "d1", "a0", "a1");
  895.     return res;
  896. }
  897. __inline static BOOL WBenchToFront(BASE_PAR_DECL0)
  898. {
  899.     BASE_EXT_DECL
  900.     register BOOL res __asm("d0");
  901.     register void *a6 __asm ("a6");
  902.     a6 = BASE_NAME;
  903.     __asm volatile ("
  904.     jsr a6@(-0x156)"
  905.     : "=g" (res)
  906.     : "g" (a6)
  907.     : "d0", "d1", "a0", "a1");
  908.     return res;
  909. }
  910. __inline static BOOL AutoRequest(BASE_PAR_DECL struct Window* window, struct IntuiText* body, struct IntuiText* posText, struct IntuiText* negText, long unsigned int pFlag, long unsigned int nFlag, long unsigned int width, long unsigned int height)
  911. {
  912.     BASE_EXT_DECL
  913.     register BOOL res __asm("d0");
  914.     register void *a6 __asm ("a6");
  915.     register struct Window* a0 __asm("a0");
  916.     register struct IntuiText* a1 __asm("a1");
  917.     register struct IntuiText* a2 __asm("a2");
  918.     register struct IntuiText* a3 __asm("a3");
  919.     register long unsigned int d0 __asm("d0");
  920.     register long unsigned int d1 __asm("d1");
  921.     register long unsigned int d2 __asm("d2");
  922.     register long unsigned int d3 __asm("d3");
  923.  
  924.     a6 = BASE_NAME;
  925.     a0 = window;
  926.     a1 = body;
  927.     a2 = posText;
  928.     a3 = negText;
  929.     d0 = pFlag;
  930.     d1 = nFlag;
  931.     d2 = width;
  932.     d3 = height;
  933.     __asm volatile ("" : /* no input */
  934.     : "g" (a0), "g" (a1));
  935.     __asm volatile ("
  936.     jsr a6@(-0x15c)"
  937.     : "=g" (res)
  938.     : "g" (a6), "g" (a1), "g" (a2), "g" (a3), "g" (d0), "g" (d1), "g" (d2)
  939.     : "d0", "d1", "a0", "a1", "a2", "a3", "d2", "d3");
  940.     return res;
  941. }
  942. __inline static void BeginRefresh(BASE_PAR_DECL struct Window* window)
  943. {
  944.     BASE_EXT_DECL
  945.     register void *a6 __asm ("a6");
  946.     register struct Window* a0 __asm("a0");
  947.  
  948.     a6 = BASE_NAME;
  949.     a0 = window;
  950.     __asm volatile ("
  951.     jsr a6@(-0x162)"
  952.     : /* no output */
  953.     : "g" (a6), "g" (a0)
  954.     : "d0", "d1", "a0", "a1");
  955. }
  956. __inline static struct Window* BuildSysRequest(BASE_PAR_DECL struct Window* window, struct IntuiText* body, struct IntuiText* posText, struct IntuiText* negText, long unsigned int flags, long unsigned int width, long unsigned int height)
  957. {
  958.     BASE_EXT_DECL
  959.     register struct Window* res __asm("d0");
  960.     register void *a6 __asm ("a6");
  961.     register struct Window* a0 __asm("a0");
  962.     register struct IntuiText* a1 __asm("a1");
  963.     register struct IntuiText* a2 __asm("a2");
  964.     register struct IntuiText* a3 __asm("a3");
  965.     register long unsigned int d0 __asm("d0");
  966.     register long unsigned int d1 __asm("d1");
  967.     register long unsigned int d2 __asm("d2");
  968.  
  969.     a6 = BASE_NAME;
  970.     a0 = window;
  971.     a1 = body;
  972.     a2 = posText;
  973.     a3 = negText;
  974.     d0 = flags;
  975.     d1 = width;
  976.     d2 = height;
  977.     __asm volatile ("" : /* no input */
  978.     : "g" (a0));
  979.     __asm volatile ("
  980.     jsr a6@(-0x168)"
  981.     : "=g" (res)
  982.     : "g" (a6), "g" (a0), "g" (a1), "g" (a2), "g" (a3), "g" (d0), "g" (d1)
  983.     : "d0", "d1", "a0", "a1", "a2", "a3", "d2");
  984.     return res;
  985. }
  986. __inline static void EndRefresh(BASE_PAR_DECL struct Window* window, long int complete)
  987. {
  988.     BASE_EXT_DECL
  989.     register void *a6 __asm ("a6");
  990.     register struct Window* a0 __asm("a0");
  991.     register long int d0 __asm("d0");
  992.  
  993.     a6 = BASE_NAME;
  994.     a0 = window;
  995.     d0 = complete;
  996.     __asm volatile ("
  997.     jsr a6@(-0x16e)"
  998.     : /* no output */
  999.     : "g" (a6), "g" (a0), "g" (d0)
  1000.     : "d0", "d1", "a0", "a1");
  1001. }
  1002. __inline static void FreeSysRequest(BASE_PAR_DECL struct Window* window)
  1003. {
  1004.     BASE_EXT_DECL
  1005.     register void *a6 __asm ("a6");
  1006.     register struct Window* a0 __asm("a0");
  1007.  
  1008.     a6 = BASE_NAME;
  1009.     a0 = window;
  1010.     __asm volatile ("
  1011.     jsr a6@(-0x174)"
  1012.     : /* no output */
  1013.     : "g" (a6), "g" (a0)
  1014.     : "d0", "d1", "a0", "a1");
  1015. }
  1016. __inline static void MakeScreen(BASE_PAR_DECL struct Screen* screen)
  1017. {
  1018.     BASE_EXT_DECL
  1019.     register void *a6 __asm ("a6");
  1020.     register struct Screen* a0 __asm("a0");
  1021.  
  1022.     a6 = BASE_NAME;
  1023.     a0 = screen;
  1024.     __asm volatile ("
  1025.     jsr a6@(-0x17a)"
  1026.     : /* no output */
  1027.     : "g" (a6), "g" (a0)
  1028.     : "d0", "d1", "a0", "a1");
  1029. }
  1030. __inline static void RemakeDisplay(BASE_PAR_DECL0)
  1031. {
  1032.     BASE_EXT_DECL
  1033.     register void *a6 __asm ("a6");
  1034.     a6 = BASE_NAME;
  1035.     __asm volatile ("
  1036.     jsr a6@(-0x180)"
  1037.     : /* no output */
  1038.     : "g" (a6)
  1039.     : "d0", "d1", "a0", "a1");
  1040. }
  1041. __inline static void RethinkDisplay(BASE_PAR_DECL0)
  1042. {
  1043.     BASE_EXT_DECL
  1044.     register void *a6 __asm ("a6");
  1045.     a6 = BASE_NAME;
  1046.     __asm volatile ("
  1047.     jsr a6@(-0x186)"
  1048.     : /* no output */
  1049.     : "g" (a6)
  1050.     : "d0", "d1", "a0", "a1");
  1051. }
  1052. __inline static APTR AllocRemember(BASE_PAR_DECL struct Remember** rememberKey, long unsigned int size, long unsigned int flags)
  1053. {
  1054.     BASE_EXT_DECL
  1055.     register APTR res __asm("d0");
  1056.     register void *a6 __asm ("a6");
  1057.     register struct Remember** a0 __asm("a0");
  1058.     register long unsigned int d0 __asm("d0");
  1059.     register long unsigned int d1 __asm("d1");
  1060.  
  1061.     a6 = BASE_NAME;
  1062.     a0 = rememberKey;
  1063.     d0 = size;
  1064.     d1 = flags;
  1065.     __asm volatile ("
  1066.     jsr a6@(-0x18c)"
  1067.     : "=g" (res)
  1068.     : "g" (a6), "g" (a0), "g" (d0), "g" (d1)
  1069.     : "d0", "d1", "a0", "a1");
  1070.     return res;
  1071. }
  1072. __inline static void AlohaWorkbench(BASE_PAR_DECL long int wbport)
  1073. {
  1074.     BASE_EXT_DECL
  1075.     register void *a6 __asm ("a6");
  1076.     register long int a0 __asm("a0");
  1077.  
  1078.     a6 = BASE_NAME;
  1079.     a0 = wbport;
  1080.     __asm volatile ("
  1081.     jsr a6@(-0x192)"
  1082.     : /* no output */
  1083.     : "g" (a6), "g" (a0)
  1084.     : "d0", "d1", "a0", "a1");
  1085. }
  1086. __inline static void FreeRemember(BASE_PAR_DECL struct Remember** rememberKey, long int reallyForget)
  1087. {
  1088.     BASE_EXT_DECL
  1089.     register void *a6 __asm ("a6");
  1090.     register struct Remember** a0 __asm("a0");
  1091.     register long int d0 __asm("d0");
  1092.  
  1093.     a6 = BASE_NAME;
  1094.     a0 = rememberKey;
  1095.     d0 = reallyForget;
  1096.     __asm volatile ("
  1097.     jsr a6@(-0x198)"
  1098.     : /* no output */
  1099.     : "g" (a6), "g" (a0), "g" (d0)
  1100.     : "d0", "d1", "a0", "a1");
  1101. }
  1102. __inline static ULONG LockIBase(BASE_PAR_DECL long unsigned int dontknow)
  1103. {
  1104.     BASE_EXT_DECL
  1105.     register ULONG res __asm("d0");
  1106.     register void *a6 __asm ("a6");
  1107.     register long unsigned int d0 __asm("d0");
  1108.  
  1109.     a6 = BASE_NAME;
  1110.     d0 = dontknow;
  1111.     __asm volatile ("
  1112.     jsr a6@(-0x19e)"
  1113.     : "=g" (res)
  1114.     : "g" (a6), "g" (d0)
  1115.     : "d0", "d1", "a0", "a1");
  1116.     return res;
  1117. }
  1118. __inline static void UnlockIBase(BASE_PAR_DECL long unsigned int ibLock)
  1119. {
  1120.     BASE_EXT_DECL
  1121.     register void *a6 __asm ("a6");
  1122.     register long unsigned int a0 __asm("a0");
  1123.  
  1124.     a6 = BASE_NAME;
  1125.     a0 = ibLock;
  1126.     __asm volatile ("
  1127.     jsr a6@(-0x1a4)"
  1128.     : /* no output */
  1129.     : "g" (a6), "g" (a0)
  1130.     : "d0", "d1", "a0", "a1");
  1131. }
  1132. __inline static LONG GetScreenData(BASE_PAR_DECL APTR buffer, long unsigned int size, long unsigned int type, struct Screen* screen)
  1133. {
  1134.     BASE_EXT_DECL
  1135.     register LONG res __asm("d0");
  1136.     register void *a6 __asm ("a6");
  1137.     register APTR a0 __asm("a0");
  1138.     register long unsigned int d0 __asm("d0");
  1139.     register long unsigned int d1 __asm("d1");
  1140.     register struct Screen* a1 __asm("a1");
  1141.  
  1142.     a6 = BASE_NAME;
  1143.     a0 = buffer;
  1144.     d0 = size;
  1145.     d1 = type;
  1146.     a1 = screen;
  1147.     __asm volatile ("
  1148.     jsr a6@(-0x1aa)"
  1149.     : "=g" (res)
  1150.     : "g" (a6), "g" (a0), "g" (d0), "g" (d1), "g" (a1)
  1151.     : "d0", "d1", "a0", "a1");
  1152.     return res;
  1153. }
  1154. __inline static void RefreshGList(BASE_PAR_DECL struct Gadget* gadgets, struct Window* window, struct Requester* requester, long int numGad)
  1155. {
  1156.     BASE_EXT_DECL
  1157.     register void *a6 __asm ("a6");
  1158.     register struct Gadget* a0 __asm("a0");
  1159.     register struct Window* a1 __asm("a1");
  1160.     register struct Requester* a2 __asm("a2");
  1161.     register long int d0 __asm("d0");
  1162.  
  1163.     a6 = BASE_NAME;
  1164.     a0 = gadgets;
  1165.     a1 = window;
  1166.     a2 = requester;
  1167.     d0 = numGad;
  1168.     __asm volatile ("
  1169.     jsr a6@(-0x1b0)"
  1170.     : /* no output */
  1171.     : "g" (a6), "g" (a0), "g" (a1), "g" (a2), "g" (d0)
  1172.     : "d0", "d1", "a0", "a1", "a2");
  1173. }
  1174. __inline static UWORD AddGList(BASE_PAR_DECL struct Window* window, struct Gadget* gadget, long unsigned int position, long int numGad, struct Requester* requester)
  1175. {
  1176.     BASE_EXT_DECL
  1177.     register UWORD res __asm("d0");
  1178.     register void *a6 __asm ("a6");
  1179.     register struct Window* a0 __asm("a0");
  1180.     register struct Gadget* a1 __asm("a1");
  1181.     register long unsigned int d0 __asm("d0");
  1182.     register long int d1 __asm("d1");
  1183.     register struct Requester* a2 __asm("a2");
  1184.  
  1185.     a6 = BASE_NAME;
  1186.     a0 = window;
  1187.     a1 = gadget;
  1188.     d0 = position;
  1189.     d1 = numGad;
  1190.     a2 = requester;
  1191.     __asm volatile ("
  1192.     jsr a6@(-0x1b6)"
  1193.     : "=g" (res)
  1194.     : "g" (a6), "g" (a0), "g" (a1), "g" (d0), "g" (d1), "g" (a2)
  1195.     : "d0", "d1", "a0", "a1", "a2");
  1196.     return res;
  1197. }
  1198. __inline static UWORD RemoveGList(BASE_PAR_DECL struct Window* remPtr, struct Gadget* gadget, long int numGad)
  1199. {
  1200.     BASE_EXT_DECL
  1201.     register UWORD res __asm("d0");
  1202.     register void *a6 __asm ("a6");
  1203.     register struct Window* a0 __asm("a0");
  1204.     register struct Gadget* a1 __asm("a1");
  1205.     register long int d0 __asm("d0");
  1206.  
  1207.     a6 = BASE_NAME;
  1208.     a0 = remPtr;
  1209.     a1 = gadget;
  1210.     d0 = numGad;
  1211.     __asm volatile ("
  1212.     jsr a6@(-0x1bc)"
  1213.     : "=g" (res)
  1214.     : "g" (a6), "g" (a0), "g" (a1), "g" (d0)
  1215.     : "d0", "d1", "a0", "a1");
  1216.     return res;
  1217. }
  1218. __inline static LONG ActivateWindow(BASE_PAR_DECL struct Window* window)
  1219. {
  1220.     BASE_EXT_DECL
  1221.     register LONG res __asm("d0");
  1222.     register void *a6 __asm ("a6");
  1223.     register struct Window* a0 __asm("a0");
  1224.  
  1225.     a6 = BASE_NAME;
  1226.     a0 = window;
  1227.     __asm volatile ("
  1228.     jsr a6@(-0x1c2)"
  1229.     : "=g" (res)
  1230.     : "g" (a6), "g" (a0)
  1231.     : "d0", "d1", "a0", "a1");
  1232.     return res;
  1233. }
  1234. __inline static void RefreshWindowFrame(BASE_PAR_DECL struct Window* window)
  1235. {
  1236.     BASE_EXT_DECL
  1237.     register void *a6 __asm ("a6");
  1238.     register struct Window* a0 __asm("a0");
  1239.  
  1240.     a6 = BASE_NAME;
  1241.     a0 = window;
  1242.     __asm volatile ("
  1243.     jsr a6@(-0x1c8)"
  1244.     : /* no output */
  1245.     : "g" (a6), "g" (a0)
  1246.     : "d0", "d1", "a0", "a1");
  1247. }
  1248. __inline static BOOL ActivateGadget(BASE_PAR_DECL struct Gadget* gadgets, struct Window* window, struct Requester* requester)
  1249. {
  1250.     BASE_EXT_DECL
  1251.     register BOOL res __asm("d0");
  1252.     register void *a6 __asm ("a6");
  1253.     register struct Gadget* a0 __asm("a0");
  1254.     register struct Window* a1 __asm("a1");
  1255.     register struct Requester* a2 __asm("a2");
  1256.  
  1257.     a6 = BASE_NAME;
  1258.     a0 = gadgets;
  1259.     a1 = window;
  1260.     a2 = requester;
  1261.     __asm volatile ("
  1262.     jsr a6@(-0x1ce)"
  1263.     : "=g" (res)
  1264.     : "g" (a6), "g" (a0), "g" (a1), "g" (a2)
  1265.     : "d0", "d1", "a0", "a1", "a2");
  1266.     return res;
  1267. }
  1268. __inline static void NewModifyProp(BASE_PAR_DECL struct Gadget* gadget, struct Window* window, struct Requester* requester, long unsigned int flags, long unsigned int horizPot, long unsigned int vertPot, long unsigned int horizBody, long unsigned int vertBody, long int numGad)
  1269. {
  1270.     BASE_EXT_DECL
  1271.     register void *a6 __asm ("a6");
  1272.     register struct Gadget* a0 __asm("a0");
  1273.     register struct Window* a1 __asm("a1");
  1274.     register struct Requester* a2 __asm("a2");
  1275.     register long unsigned int d0 __asm("d0");
  1276.     register long unsigned int d1 __asm("d1");
  1277.     register long unsigned int d2 __asm("d2");
  1278.     register long unsigned int d3 __asm("d3");
  1279.     register long unsigned int d4 __asm("d4");
  1280.     register long int d5 __asm("d5");
  1281.  
  1282.     a6 = BASE_NAME;
  1283.     a0 = gadget;
  1284.     a1 = window;
  1285.     a2 = requester;
  1286.     d0 = flags;
  1287.     d1 = horizPot;
  1288.     d2 = vertPot;
  1289.     d3 = horizBody;
  1290.     d4 = vertBody;
  1291.     d5 = numGad;
  1292.     __asm volatile ("" : /* no input */
  1293.     : "g" (a0), "g" (a1));
  1294.     __asm volatile ("
  1295.     jsr a6@(-0x1d4)"
  1296.     : /* no output */
  1297.     : "g" (a6), "g" (a1), "g" (a2), "g" (d0), "g" (d1), "g" (d2), "g" (d3), "g" (d4)
  1298.     : "d0", "d1", "a0", "a1", "a2", "d2", "d3", "d4", "d5");
  1299. }
  1300. __inline static LONG QueryOverscan(BASE_PAR_DECL long unsigned int displayID, struct Rectangle* rect, long int oScanType)
  1301. {
  1302.     BASE_EXT_DECL
  1303.     register LONG res __asm("d0");
  1304.     register void *a6 __asm ("a6");
  1305.     register long unsigned int a0 __asm("a0");
  1306.     register struct Rectangle* a1 __asm("a1");
  1307.     register long int d0 __asm("d0");
  1308.  
  1309.     a6 = BASE_NAME;
  1310.     a0 = displayID;
  1311.     a1 = rect;
  1312.     d0 = oScanType;
  1313.     __asm volatile ("
  1314.     jsr a6@(-0x1da)"
  1315.     : "=g" (res)
  1316.     : "g" (a6), "g" (a0), "g" (a1), "g" (d0)
  1317.     : "d0", "d1", "a0", "a1");
  1318.     return res;
  1319. }
  1320. __inline static void MoveWindowInFrontOf(BASE_PAR_DECL struct Window* window, struct Window* behindWindow)
  1321. {
  1322.     BASE_EXT_DECL
  1323.     register void *a6 __asm ("a6");
  1324.     register struct Window* a0 __asm("a0");
  1325.     register struct Window* a1 __asm("a1");
  1326.  
  1327.     a6 = BASE_NAME;
  1328.     a0 = window;
  1329.     a1 = behindWindow;
  1330.     __asm volatile ("
  1331.     jsr a6@(-0x1e0)"
  1332.     : /* no output */
  1333.     : "g" (a6), "g" (a0), "g" (a1)
  1334.     : "d0", "d1", "a0", "a1");
  1335. }
  1336. __inline static void ChangeWindowBox(BASE_PAR_DECL struct Window* window, long int left, long int top, long int width, long int height)
  1337. {
  1338.     BASE_EXT_DECL
  1339.     register void *a6 __asm ("a6");
  1340.     register struct Window* a0 __asm("a0");
  1341.     register long int d0 __asm("d0");
  1342.     register long int d1 __asm("d1");
  1343.     register long int d2 __asm("d2");
  1344.     register long int d3 __asm("d3");
  1345.  
  1346.     a6 = BASE_NAME;
  1347.     a0 = window;
  1348.     d0 = left;
  1349.     d1 = top;
  1350.     d2 = width;
  1351.     d3 = height;
  1352.     __asm volatile ("
  1353.     jsr a6@(-0x1e6)"
  1354.     : /* no output */
  1355.     : "g" (a6), "g" (a0), "g" (d0), "g" (d1), "g" (d2), "g" (d3)
  1356.     : "d0", "d1", "a0", "a1", "d2", "d3");
  1357. }
  1358. __inline static struct Hook* SetEditHook(BASE_PAR_DECL struct Hook* hook)
  1359. {
  1360.     BASE_EXT_DECL
  1361.     register struct Hook* res __asm("d0");
  1362.     register void *a6 __asm ("a6");
  1363.     register struct Hook* a0 __asm("a0");
  1364.  
  1365.     a6 = BASE_NAME;
  1366.     a0 = hook;
  1367.     __asm volatile ("
  1368.     jsr a6@(-0x1ec)"
  1369.     : "=g" (res)
  1370.     : "g" (a6), "g" (a0)
  1371.     : "d0", "d1", "a0", "a1");
  1372.     return res;
  1373. }
  1374. __inline static LONG SetMouseQueue(BASE_PAR_DECL struct Window* window, long unsigned int queueLength)
  1375. {
  1376.     BASE_EXT_DECL
  1377.     register LONG res __asm("d0");
  1378.     register void *a6 __asm ("a6");
  1379.     register struct Window* a0 __asm("a0");
  1380.     register long unsigned int d0 __asm("d0");
  1381.  
  1382.     a6 = BASE_NAME;
  1383.     a0 = window;
  1384.     d0 = queueLength;
  1385.     __asm volatile ("
  1386.     jsr a6@(-0x1f2)"
  1387.     : "=g" (res)
  1388.     : "g" (a6), "g" (a0), "g" (d0)
  1389.     : "d0", "d1", "a0", "a1");
  1390.     return res;
  1391. }
  1392. __inline static void ZipWindow(BASE_PAR_DECL struct Window* window)
  1393. {
  1394.     BASE_EXT_DECL
  1395.     register void *a6 __asm ("a6");
  1396.     register struct Window* a0 __asm("a0");
  1397.  
  1398.     a6 = BASE_NAME;
  1399.     a0 = window;
  1400.     __asm volatile ("
  1401.     jsr a6@(-0x1f8)"
  1402.     : /* no output */
  1403.     : "g" (a6), "g" (a0)
  1404.     : "d0", "d1", "a0", "a1");
  1405. }
  1406. __inline static struct Screen* LockPubScreen(BASE_PAR_DECL UBYTE* name)
  1407. {
  1408.     BASE_EXT_DECL
  1409.     register struct Screen* res __asm("d0");
  1410.     register void *a6 __asm ("a6");
  1411.     register UBYTE* a0 __asm("a0");
  1412.  
  1413.     a6 = BASE_NAME;
  1414.     a0 = name;
  1415.     __asm volatile ("
  1416.     jsr a6@(-0x1fe)"
  1417.     : "=g" (res)
  1418.     : "g" (a6), "g" (a0)
  1419.     : "d0", "d1", "a0", "a1");
  1420.     return res;
  1421. }
  1422. __inline static void UnlockPubScreen(BASE_PAR_DECL UBYTE* name, struct Screen* screen)
  1423. {
  1424.     BASE_EXT_DECL
  1425.     register void *a6 __asm ("a6");
  1426.     register UBYTE* a0 __asm("a0");
  1427.     register struct Screen* a1 __asm("a1");
  1428.  
  1429.     a6 = BASE_NAME;
  1430.     a0 = name;
  1431.     a1 = screen;
  1432.     __asm volatile ("
  1433.     jsr a6@(-0x204)"
  1434.     : /* no output */
  1435.     : "g" (a6), "g" (a0), "g" (a1)
  1436.     : "d0", "d1", "a0", "a1");
  1437. }
  1438. __inline static struct List* LockPubScreenList(BASE_PAR_DECL0)
  1439. {
  1440.     BASE_EXT_DECL
  1441.     register struct List* res __asm("d0");
  1442.     register void *a6 __asm ("a6");
  1443.     a6 = BASE_NAME;
  1444.     __asm volatile ("
  1445.     jsr a6@(-0x20a)"
  1446.     : "=g" (res)
  1447.     : "g" (a6)
  1448.     : "d0", "d1", "a0", "a1");
  1449.     return res;
  1450. }
  1451. __inline static void UnlockPubScreenList(BASE_PAR_DECL0)
  1452. {
  1453.     BASE_EXT_DECL
  1454.     register void *a6 __asm ("a6");
  1455.     a6 = BASE_NAME;
  1456.     __asm volatile ("
  1457.     jsr a6@(-0x210)"
  1458.     : /* no output */
  1459.     : "g" (a6)
  1460.     : "d0", "d1", "a0", "a1");
  1461. }
  1462. __inline static UBYTE* NextPubScreen(BASE_PAR_DECL struct Screen* screen, UBYTE* namebuf)
  1463. {
  1464.     BASE_EXT_DECL
  1465.     register UBYTE* res __asm("d0");
  1466.     register void *a6 __asm ("a6");
  1467.     register struct Screen* a0 __asm("a0");
  1468.     register UBYTE* a1 __asm("a1");
  1469.  
  1470.     a6 = BASE_NAME;
  1471.     a0 = screen;
  1472.     a1 = namebuf;
  1473.     __asm volatile ("
  1474.     jsr a6@(-0x216)"
  1475.     : "=g" (res)
  1476.     : "g" (a6), "g" (a0), "g" (a1)
  1477.     : "d0", "d1", "a0", "a1");
  1478.     return res;
  1479. }
  1480. __inline static void SetDefaultPubScreen(BASE_PAR_DECL UBYTE* name)
  1481. {
  1482.     BASE_EXT_DECL
  1483.     register void *a6 __asm ("a6");
  1484.     register UBYTE* a0 __asm("a0");
  1485.  
  1486.     a6 = BASE_NAME;
  1487.     a0 = name;
  1488.     __asm volatile ("
  1489.     jsr a6@(-0x21c)"
  1490.     : /* no output */
  1491.     : "g" (a6), "g" (a0)
  1492.     : "d0", "d1", "a0", "a1");
  1493. }
  1494. __inline static UWORD SetPubScreenModes(BASE_PAR_DECL long unsigned int modes)
  1495. {
  1496.     BASE_EXT_DECL
  1497.     register UWORD res __asm("d0");
  1498.     register void *a6 __asm ("a6");
  1499.     register long unsigned int d0 __asm("d0");
  1500.  
  1501.     a6 = BASE_NAME;
  1502.     d0 = modes;
  1503.     __asm volatile ("
  1504.     jsr a6@(-0x222)"
  1505.     : "=g" (res)
  1506.     : "g" (a6), "g" (d0)
  1507.     : "d0", "d1", "a0", "a1");
  1508.     return res;
  1509. }
  1510. __inline static UWORD PubScreenStatus(BASE_PAR_DECL struct Screen* screen, long unsigned int statusFlags)
  1511. {
  1512.     BASE_EXT_DECL
  1513.     register UWORD res __asm("d0");
  1514.     register void *a6 __asm ("a6");
  1515.     register struct Screen* a0 __asm("a0");
  1516.     register long unsigned int d0 __asm("d0");
  1517.  
  1518.     a6 = BASE_NAME;
  1519.     a0 = screen;
  1520.     d0 = statusFlags;
  1521.     __asm volatile ("
  1522.     jsr a6@(-0x228)"
  1523.     : "=g" (res)
  1524.     : "g" (a6), "g" (a0), "g" (d0)
  1525.     : "d0", "d1", "a0", "a1");
  1526.     return res;
  1527. }
  1528. __inline static struct RastPort* ObtainGIRPort(BASE_PAR_DECL struct GadgetInfo* gInfo)
  1529. {
  1530.     BASE_EXT_DECL
  1531.     register struct RastPort* res __asm("d0");
  1532.     register void *a6 __asm ("a6");
  1533.     register struct GadgetInfo* a0 __asm("a0");
  1534.  
  1535.     a6 = BASE_NAME;
  1536.     a0 = gInfo;
  1537.     __asm volatile ("
  1538.     jsr a6@(-0x22e)"
  1539.     : "=g" (res)
  1540.     : "g" (a6), "g" (a0)
  1541.     : "d0", "d1", "a0", "a1");
  1542.     return res;
  1543. }
  1544. __inline static void ReleaseGIRPort(BASE_PAR_DECL struct RastPort* rp)
  1545. {
  1546.     BASE_EXT_DECL
  1547.     register void *a6 __asm ("a6");
  1548.     register struct RastPort* a0 __asm("a0");
  1549.  
  1550.     a6 = BASE_NAME;
  1551.     a0 = rp;
  1552.     __asm volatile ("
  1553.     jsr a6@(-0x234)"
  1554.     : /* no output */
  1555.     : "g" (a6), "g" (a0)
  1556.     : "d0", "d1", "a0", "a1");
  1557. }
  1558. __inline static void GadgetMouse(BASE_PAR_DECL struct Gadget* gadget, struct GadgetInfo* gInfo, WORD* mousePoint)
  1559. {
  1560.     BASE_EXT_DECL
  1561.     register void *a6 __asm ("a6");
  1562.     register struct Gadget* a0 __asm("a0");
  1563.     register struct GadgetInfo* a1 __asm("a1");
  1564.     register WORD* a2 __asm("a2");
  1565.  
  1566.     a6 = BASE_NAME;
  1567.     a0 = gadget;
  1568.     a1 = gInfo;
  1569.     a2 = mousePoint;
  1570.     __asm volatile ("
  1571.     jsr a6@(-0x23a)"
  1572.     : /* no output */
  1573.     : "g" (a6), "g" (a0), "g" (a1), "g" (a2)
  1574.     : "d0", "d1", "a0", "a1", "a2");
  1575. }
  1576. #ifdef PRIVATE
  1577. #endif
  1578. __inline static void GetDefaultPubScreen(BASE_PAR_DECL UBYTE* nameBuffer)
  1579. {
  1580.     BASE_EXT_DECL
  1581.     register void *a6 __asm ("a6");
  1582.     register UBYTE* a0 __asm("a0");
  1583.  
  1584.     a6 = BASE_NAME;
  1585.     a0 = nameBuffer;
  1586.     __asm volatile ("
  1587.     jsr a6@(-0x246)"
  1588.     : /* no output */
  1589.     : "g" (a6), "g" (a0)
  1590.     : "d0", "d1", "a0", "a1");
  1591. }
  1592. __inline static LONG EasyRequestArgs(BASE_PAR_DECL struct Window* window, struct EasyStruct* easyStruct, ULONG* idcmpPtr, APTR args)
  1593. {
  1594.     BASE_EXT_DECL
  1595.     register LONG res __asm("d0");
  1596.     register void *a6 __asm ("a6");
  1597.     register struct Window* a0 __asm("a0");
  1598.     register struct EasyStruct* a1 __asm("a1");
  1599.     register ULONG* a2 __asm("a2");
  1600.     register APTR a3 __asm("a3");
  1601.  
  1602.     a6 = BASE_NAME;
  1603.     a0 = window;
  1604.     a1 = easyStruct;
  1605.     a2 = idcmpPtr;
  1606.     a3 = args;
  1607.     __asm volatile ("
  1608.     jsr a6@(-0x24c)"
  1609.     : "=g" (res)
  1610.     : "g" (a6), "g" (a0), "g" (a1), "g" (a2), "g" (a3)
  1611.     : "d0", "d1", "a0", "a1", "a2", "a3");
  1612.     return res;
  1613. }
  1614. __inline static struct Window* BuildEasyRequestArgs(BASE_PAR_DECL struct Window* window, struct EasyStruct* easyStruct, long unsigned int idcmp, APTR args)
  1615. {
  1616.     BASE_EXT_DECL
  1617.     register struct Window* res __asm("d0");
  1618.     register void *a6 __asm ("a6");
  1619.     register struct Window* a0 __asm("a0");
  1620.     register struct EasyStruct* a1 __asm("a1");
  1621.     register long unsigned int d0 __asm("d0");
  1622.     register APTR a3 __asm("a3");
  1623.  
  1624.     a6 = BASE_NAME;
  1625.     a0 = window;
  1626.     a1 = easyStruct;
  1627.     d0 = idcmp;
  1628.     a3 = args;
  1629.     __asm volatile ("
  1630.     jsr a6@(-0x252)"
  1631.     : "=g" (res)
  1632.     : "g" (a6), "g" (a0), "g" (a1), "g" (d0), "g" (a3)
  1633.     : "d0", "d1", "a0", "a1", "a3");
  1634.     return res;
  1635. }
  1636. __inline static LONG SysReqHandler(BASE_PAR_DECL struct Window* window, ULONG* idcmpPtr, long int waitInput)
  1637. {
  1638.     BASE_EXT_DECL
  1639.     register LONG res __asm("d0");
  1640.     register void *a6 __asm ("a6");
  1641.     register struct Window* a0 __asm("a0");
  1642.     register ULONG* a1 __asm("a1");
  1643.     register long int d0 __asm("d0");
  1644.  
  1645.     a6 = BASE_NAME;
  1646.     a0 = window;
  1647.     a1 = idcmpPtr;
  1648.     d0 = waitInput;
  1649.     __asm volatile ("
  1650.     jsr a6@(-0x258)"
  1651.     : "=g" (res)
  1652.     : "g" (a6), "g" (a0), "g" (a1), "g" (d0)
  1653.     : "d0", "d1", "a0", "a1");
  1654.     return res;
  1655. }
  1656. __inline static struct Window* OpenWindowTagList(BASE_PAR_DECL struct NewWindow* newWindow, struct TagItem* tagList)
  1657. {
  1658.     BASE_EXT_DECL
  1659.     register struct Window* res __asm("d0");
  1660.     register void *a6 __asm ("a6");
  1661.     register struct NewWindow* a0 __asm("a0");
  1662.     register struct TagItem* a1 __asm("a1");
  1663.  
  1664.     a6 = BASE_NAME;
  1665.     a0 = newWindow;
  1666.     a1 = tagList;
  1667.     __asm volatile ("
  1668.     jsr a6@(-0x25e)"
  1669.     : "=g" (res)
  1670.     : "g" (a6), "g" (a0), "g" (a1)
  1671.     : "d0", "d1", "a0", "a1");
  1672.     return res;
  1673. }
  1674. __inline static struct Screen* OpenScreenTagList(BASE_PAR_DECL struct NewScreen* newScreen, struct TagItem* tagList)
  1675. {
  1676.     BASE_EXT_DECL
  1677.     register struct Screen* res __asm("d0");
  1678.     register void *a6 __asm ("a6");
  1679.     register struct NewScreen* a0 __asm("a0");
  1680.     register struct TagItem* a1 __asm("a1");
  1681.  
  1682.     a6 = BASE_NAME;
  1683.     a0 = newScreen;
  1684.     a1 = tagList;
  1685.     __asm volatile ("
  1686.     jsr a6@(-0x264)"
  1687.     : "=g" (res)
  1688.     : "g" (a6), "g" (a0), "g" (a1)
  1689.     : "d0", "d1", "a0", "a1");
  1690.     return res;
  1691. }
  1692. __inline static void DrawImageState(BASE_PAR_DECL struct RastPort* rp, struct Image* image, long int leftOffset, long int topOffset, long unsigned int state, struct DrawInfo* drawInfo)
  1693. {
  1694.     BASE_EXT_DECL
  1695.     register void *a6 __asm ("a6");
  1696.     register struct RastPort* a0 __asm("a0");
  1697.     register struct Image* a1 __asm("a1");
  1698.     register long int d0 __asm("d0");
  1699.     register long int d1 __asm("d1");
  1700.     register long unsigned int d2 __asm("d2");
  1701.     register struct DrawInfo* a2 __asm("a2");
  1702.  
  1703.     a6 = BASE_NAME;
  1704.     a0 = rp;
  1705.     a1 = image;
  1706.     d0 = leftOffset;
  1707.     d1 = topOffset;
  1708.     d2 = state;
  1709.     a2 = drawInfo;
  1710.     __asm volatile ("
  1711.     jsr a6@(-0x26a)"
  1712.     : /* no output */
  1713.     : "g" (a6), "g" (a0), "g" (a1), "g" (d0), "g" (d1), "g" (d2), "g" (a2)
  1714.     : "d0", "d1", "a0", "a1", "d2", "a2");
  1715. }
  1716. __inline static BOOL PointInImage(BASE_PAR_DECL long unsigned int point, struct Image* image)
  1717. {
  1718.     BASE_EXT_DECL
  1719.     register BOOL res __asm("d0");
  1720.     register void *a6 __asm ("a6");
  1721.     register long unsigned int d0 __asm("d0");
  1722.     register struct Image* a0 __asm("a0");
  1723.  
  1724.     a6 = BASE_NAME;
  1725.     d0 = point;
  1726.     a0 = image;
  1727.     __asm volatile ("
  1728.     jsr a6@(-0x270)"
  1729.     : "=g" (res)
  1730.     : "g" (a6), "g" (d0), "g" (a0)
  1731.     : "d0", "d1", "a0", "a1");
  1732.     return res;
  1733. }
  1734. __inline static void EraseImage(BASE_PAR_DECL struct RastPort* rp, struct Image* image, long int leftOffset, long int topOffset)
  1735. {
  1736.     BASE_EXT_DECL
  1737.     register void *a6 __asm ("a6");
  1738.     register struct RastPort* a0 __asm("a0");
  1739.     register struct Image* a1 __asm("a1");
  1740.     register long int d0 __asm("d0");
  1741.     register long int d1 __asm("d1");
  1742.  
  1743.     a6 = BASE_NAME;
  1744.     a0 = rp;
  1745.     a1 = image;
  1746.     d0 = leftOffset;
  1747.     d1 = topOffset;
  1748.     __asm volatile ("
  1749.     jsr a6@(-0x276)"
  1750.     : /* no output */
  1751.     : "g" (a6), "g" (a0), "g" (a1), "g" (d0), "g" (d1)
  1752.     : "d0", "d1", "a0", "a1");
  1753. }
  1754. __inline static APTR NewObjectA(BASE_PAR_DECL struct IClass* class, UBYTE* classID, struct TagItem* tagList)
  1755. {
  1756.     BASE_EXT_DECL
  1757.     register APTR res __asm("d0");
  1758.     register void *a6 __asm ("a6");
  1759.     register struct IClass* a0 __asm("a0");
  1760.     register UBYTE* a1 __asm("a1");
  1761.     register struct TagItem* a2 __asm("a2");
  1762.  
  1763.     a6 = BASE_NAME;
  1764.     a0 = class;
  1765.     a1 = classID;
  1766.     a2 = tagList;
  1767.     __asm volatile ("
  1768.     jsr a6@(-0x27c)"
  1769.     : "=g" (res)
  1770.     : "g" (a6), "g" (a0), "g" (a1), "g" (a2)
  1771.     : "d0", "d1", "a0", "a1", "a2");
  1772.     return res;
  1773. }
  1774. __inline static void DisposeObject(BASE_PAR_DECL APTR object)
  1775. {
  1776.     BASE_EXT_DECL
  1777.     register void *a6 __asm ("a6");
  1778.     register APTR a0 __asm("a0");
  1779.  
  1780.     a6 = BASE_NAME;
  1781.     a0 = object;
  1782.     __asm volatile ("
  1783.     jsr a6@(-0x282)"
  1784.     : /* no output */
  1785.     : "g" (a6), "g" (a0)
  1786.     : "d0", "d1", "a0", "a1");
  1787. }
  1788. __inline static ULONG SetAttrsA(BASE_PAR_DECL APTR object, struct TagItem* tagList)
  1789. {
  1790.     BASE_EXT_DECL
  1791.     register ULONG res __asm("d0");
  1792.     register void *a6 __asm ("a6");
  1793.     register APTR a0 __asm("a0");
  1794.     register struct TagItem* a1 __asm("a1");
  1795.  
  1796.     a6 = BASE_NAME;
  1797.     a0 = object;
  1798.     a1 = tagList;
  1799.     __asm volatile ("
  1800.     jsr a6@(-0x288)"
  1801.     : "=g" (res)
  1802.     : "g" (a6), "g" (a0), "g" (a1)
  1803.     : "d0", "d1", "a0", "a1");
  1804.     return res;
  1805. }
  1806. __inline static ULONG GetAttr(BASE_PAR_DECL long unsigned int attrID, APTR object, ULONG* storagePtr)
  1807. {
  1808.     BASE_EXT_DECL
  1809.     register ULONG res __asm("d0");
  1810.     register void *a6 __asm ("a6");
  1811.     register long unsigned int d0 __asm("d0");
  1812.     register APTR a0 __asm("a0");
  1813.     register ULONG* a1 __asm("a1");
  1814.  
  1815.     a6 = BASE_NAME;
  1816.     d0 = attrID;
  1817.     a0 = object;
  1818.     a1 = storagePtr;
  1819.     __asm volatile ("
  1820.     jsr a6@(-0x28e)"
  1821.     : "=g" (res)
  1822.     : "g" (a6), "g" (d0), "g" (a0), "g" (a1)
  1823.     : "d0", "d1", "a0", "a1");
  1824.     return res;
  1825. }
  1826. __inline static ULONG SetGadgetAttrsA(BASE_PAR_DECL struct Gadget* gadget, struct Window* window, struct Requester* requester, struct TagItem* tagList)
  1827. {
  1828.     BASE_EXT_DECL
  1829.     register ULONG res __asm("d0");
  1830.     register void *a6 __asm ("a6");
  1831.     register struct Gadget* a0 __asm("a0");
  1832.     register struct Window* a1 __asm("a1");
  1833.     register struct Requester* a2 __asm("a2");
  1834.     register struct TagItem* a3 __asm("a3");
  1835.  
  1836.     a6 = BASE_NAME;
  1837.     a0 = gadget;
  1838.     a1 = window;
  1839.     a2 = requester;
  1840.     a3 = tagList;
  1841.     __asm volatile ("
  1842.     jsr a6@(-0x294)"
  1843.     : "=g" (res)
  1844.     : "g" (a6), "g" (a0), "g" (a1), "g" (a2), "g" (a3)
  1845.     : "d0", "d1", "a0", "a1", "a2", "a3");
  1846.     return res;
  1847. }
  1848. __inline static APTR NextObject(BASE_PAR_DECL APTR objectPtrPtr)
  1849. {
  1850.     BASE_EXT_DECL
  1851.     register APTR res __asm("d0");
  1852.     register void *a6 __asm ("a6");
  1853.     register APTR a0 __asm("a0");
  1854.  
  1855.     a6 = BASE_NAME;
  1856.     a0 = objectPtrPtr;
  1857.     __asm volatile ("
  1858.     jsr a6@(-0x29a)"
  1859.     : "=g" (res)
  1860.     : "g" (a6), "g" (a0)
  1861.     : "d0", "d1", "a0", "a1");
  1862.     return res;
  1863. }
  1864. #ifdef PRIVATE
  1865. #endif
  1866. __inline static struct IClass* MakeClass(BASE_PAR_DECL UBYTE* classID, UBYTE* superClassID, struct IClass* superClassPtr, long unsigned int instanceSize, long unsigned int flags)
  1867. {
  1868.     BASE_EXT_DECL
  1869.     register struct IClass* res __asm("d0");
  1870.     register void *a6 __asm ("a6");
  1871.     register UBYTE* a0 __asm("a0");
  1872.     register UBYTE* a1 __asm("a1");
  1873.     register struct IClass* a2 __asm("a2");
  1874.     register long unsigned int d0 __asm("d0");
  1875.     register long unsigned int d1 __asm("d1");
  1876.  
  1877.     a6 = BASE_NAME;
  1878.     a0 = classID;
  1879.     a1 = superClassID;
  1880.     a2 = superClassPtr;
  1881.     d0 = instanceSize;
  1882.     d1 = flags;
  1883.     __asm volatile ("
  1884.     jsr a6@(-0x2a6)"
  1885.     : "=g" (res)
  1886.     : "g" (a6), "g" (a0), "g" (a1), "g" (a2), "g" (d0), "g" (d1)
  1887.     : "d0", "d1", "a0", "a1", "a2");
  1888.     return res;
  1889. }
  1890. __inline static void AddClass(BASE_PAR_DECL struct IClass* class)
  1891. {
  1892.     BASE_EXT_DECL
  1893.     register void *a6 __asm ("a6");
  1894.     register struct IClass* a0 __asm("a0");
  1895.  
  1896.     a6 = BASE_NAME;
  1897.     a0 = class;
  1898.     __asm volatile ("
  1899.     jsr a6@(-0x2ac)"
  1900.     : /* no output */
  1901.     : "g" (a6), "g" (a0)
  1902.     : "d0", "d1", "a0", "a1");
  1903. }
  1904. __inline static struct DrawInfo* GetScreenDrawInfo(BASE_PAR_DECL struct Screen* screen)
  1905. {
  1906.     BASE_EXT_DECL
  1907.     register struct DrawInfo* res __asm("d0");
  1908.     register void *a6 __asm ("a6");
  1909.     register struct Screen* a0 __asm("a0");
  1910.  
  1911.     a6 = BASE_NAME;
  1912.     a0 = screen;
  1913.     __asm volatile ("
  1914.     jsr a6@(-0x2b2)"
  1915.     : "=g" (res)
  1916.     : "g" (a6), "g" (a0)
  1917.     : "d0", "d1", "a0", "a1");
  1918.     return res;
  1919. }
  1920. __inline static void FreeScreenDrawInfo(BASE_PAR_DECL struct Screen* screen, struct DrawInfo* drawInfo)
  1921. {
  1922.     BASE_EXT_DECL
  1923.     register void *a6 __asm ("a6");
  1924.     register struct Screen* a0 __asm("a0");
  1925.     register struct DrawInfo* a1 __asm("a1");
  1926.  
  1927.     a6 = BASE_NAME;
  1928.     a0 = screen;
  1929.     a1 = drawInfo;
  1930.     __asm volatile ("
  1931.     jsr a6@(-0x2b8)"
  1932.     : /* no output */
  1933.     : "g" (a6), "g" (a0), "g" (a1)
  1934.     : "d0", "d1", "a0", "a1");
  1935. }
  1936. __inline static BOOL ResetMenuStrip(BASE_PAR_DECL struct Window* window, struct Menu* menu)
  1937. {
  1938.     BASE_EXT_DECL
  1939.     register BOOL res __asm("d0");
  1940.     register void *a6 __asm ("a6");
  1941.     register struct Window* a0 __asm("a0");
  1942.     register struct Menu* a1 __asm("a1");
  1943.  
  1944.     a6 = BASE_NAME;
  1945.     a0 = window;
  1946.     a1 = menu;
  1947.     __asm volatile ("
  1948.     jsr a6@(-0x2be)"
  1949.     : "=g" (res)
  1950.     : "g" (a6), "g" (a0), "g" (a1)
  1951.     : "d0", "d1", "a0", "a1");
  1952.     return res;
  1953. }
  1954. __inline static void RemoveClass(BASE_PAR_DECL struct IClass* classPtr)
  1955. {
  1956.     BASE_EXT_DECL
  1957.     register void *a6 __asm ("a6");
  1958.     register struct IClass* a0 __asm("a0");
  1959.  
  1960.     a6 = BASE_NAME;
  1961.     a0 = classPtr;
  1962.     __asm volatile ("
  1963.     jsr a6@(-0x2c4)"
  1964.     : /* no output */
  1965.     : "g" (a6), "g" (a0)
  1966.     : "d0", "d1", "a0", "a1");
  1967. }
  1968. __inline static BOOL FreeClass(BASE_PAR_DECL struct IClass* classPtr)
  1969. {
  1970.     BASE_EXT_DECL
  1971.     register BOOL res __asm("d0");
  1972.     register void *a6 __asm ("a6");
  1973.     register struct IClass* a0 __asm("a0");
  1974.  
  1975.     a6 = BASE_NAME;
  1976.     a0 = classPtr;
  1977.     __asm volatile ("
  1978.     jsr a6@(-0x2ca)"
  1979.     : "=g" (res)
  1980.     : "g" (a6), "g" (a0)
  1981.     : "d0", "d1", "a0", "a1");
  1982.     return res;
  1983. }
  1984. #ifdef PRIVATE
  1985. #endif
  1986. #undef BASE_EXT_DECL
  1987. #undef BASE_PAR_DECL
  1988. #undef BASE_PAR_DECL0
  1989. #undef BASE_NAME
  1990.