home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 19 / AACD19.BIN / AACD / Programming / YAEC / externs / amigalib.ext < prev    next >
Encoding:
Text File  |  2001-02-23  |  4.0 KB  |  258 lines

  1. ; yaec amigalib.ext !!! Jan 2001 / Leif
  2.  
  3. ; REMEMBER : .ext files are machine and OS specific!
  4.  
  5. ; small.lib should do here..
  6. LINK e:linklib/amiga.lib
  7.  
  8. SECT 3
  9. _amigalib_hookentry_:
  10.   movem.l d2-d7/a2-a6,-(a7)  -> save regs
  11.   move.l  a2, d0             -> save a2 in d0
  12.   link    a2, -#400            -> init a2-space
  13.   move.l  a1,-(a7)           -> parameters on stack
  14.   move.l  d0,-(a7)
  15.   move.l  a0,-(a7)
  16.   move.l  a4storage, a4      -> get a4
  17.   move.l  12(a0),a0          -> get sub-entry
  18.   jsr     (a0)               -> execute function
  19.   unlk    a2
  20.   movem.l (a7)+,d2-d7/a2-a6  -> restore regs
  21.   rts
  22. ENDSECT
  23.  
  24. EXT HookEntry 0
  25.    lea _amigalib_hookentry_, a0
  26.    move.l a0, d0
  27. ENDEXT
  28.  
  29. EXT Acrypt 3 ; buffer, password, username
  30.    xref _ACrypt
  31.    bsr _ACrypt
  32.    lea 12(a7), a7
  33. ENDEXT
  34.  
  35. EXT AddTOF 3 ; i, p, a
  36.    xref _AddTOF
  37.    bsr _AddTOF
  38.    addq.l #8, a7
  39. ENDEXT
  40.  
  41. EXT BeginIO 1 ; ioreq
  42.    xref _BeginIO
  43.    bsr _BeginIO
  44.    addq.l #4, a7
  45. ENDEXT
  46.  
  47. EXT CallHookA 3 ; hook, obj, msg
  48.    xref _CallHookA
  49.    bsr _CallHookA
  50.    lea 12(a7), a7
  51. ENDEXT
  52.  
  53. EXT CheckRexxMsg 1 ; rexxmsg
  54.    xref _CheckRexxMsg
  55.    bsr _CheckRexxMsg
  56.    addq.l #4, a7
  57. ENDEXT
  58.  
  59. EXT CoerceMethodA 3 ; cl, obj, msg
  60.    xref _CoerceMethodA
  61.    bsr _CoerceMethodA
  62.    lea 12(a7), a7
  63. ENDEXT
  64.  
  65. EXT CreateExtIO 2 ; port, iosize
  66.    xref _CreateExtIO
  67.    bsr _CreateExtIO
  68.    addq.l #8, a7
  69. ENDEXT
  70.  
  71. EXT CreatePort 2 ; name, pri
  72.    xref _CreatePort
  73.    bsr _CreatePort
  74.    addq.l #8, a7
  75. ENDEXT
  76.  
  77. EXT CreateStdIO 1 ; port
  78.    xref _CreateStdIO
  79.    bsr _CreateStdIO
  80.    addq.l #4, a7
  81. ENDEXT
  82.  
  83. EXT CreateTask 4 ; name, pri, initpc, stacksize
  84.    xref _CreateTask
  85.    bsr _CreateTask
  86.    lea 16(a7), a7
  87. ENDEXT
  88.  
  89. EXT CxCustom 2 ; action, id
  90.    xref _CxCustom
  91.    bsr _CxCustom
  92.    addq.l #8, a7
  93. ENDEXT
  94.  
  95. EXT CxDebug 1 ; id
  96.    xref _CxDebug
  97.    bsr _CxDebug
  98.    addq.l #4, a7
  99. ENDEXT
  100.  
  101. EXT CxFilter 1 ; description
  102.    xref _CxFilter
  103.    bsr _CxFilter
  104.    addq.l #4, a7
  105. ENDEXT
  106.  
  107. EXT CxSender 2 ; port, id
  108.    xref _CxSender
  109.    bsr _CxSender
  110.    addq.l #8, a7
  111. ENDEXT
  112.  
  113. EXT CxSignal 2 ; task, signal
  114.    xref _CxSignal
  115.    bsr _CxSignal
  116.    addq.l #8, a7
  117. ENDEXT
  118.  
  119. EXT CxTranslate 1 ; ie
  120.    xref _CxTranslate
  121.    bsr _CxTranslate
  122.    addq.l #8, a7
  123. ENDEXT
  124.  
  125. EXT DeleteExtIO 1 ; ioreq
  126.    xref _DeleteExtIO
  127.    bsr _DeleteExtIO
  128.    addq.l #4, a7
  129. ENDEXT
  130.  
  131. EXT DeletePort 1 ; port
  132.    xref _DeletePort
  133.    bsr _DeletePort
  134.    addq.l #4, a7
  135. ENDEXT
  136.  
  137. EXT DeleteStdIO 1 ; ioreq
  138.    xref _DeleteStdIO
  139.    bsr _DeleteStdIO
  140.    addq.l #4, a7
  141. ENDEXT
  142.  
  143. EXT DeleteTask 1 ; task
  144.    xref _DeleteTask
  145.    bsr _DeleteTask
  146.    addq.l #4, a7
  147. ENDEXT
  148.  
  149. EXT DoMethodA 2 ; obj, msg
  150.    xref _DoMethodA
  151.    bsr _DoMethodA
  152.    addq.l #8, a7
  153. ENDEXT
  154.  
  155. EXT DoSuperMethodA 3 ; cl, obj, msg
  156.    xref _DoSuperMethodA
  157.    bsr _DoSuperMethodA
  158.    lea 12(a7), a7
  159. ENDEXT
  160.  
  161. EXT FastRand 1 ; seed
  162.    xref _FastRand
  163.    bsr _FastRand
  164.    addq.l #4, a7
  165. ENDEXT
  166.  
  167. EXT FreeIEvents 1 ; events
  168.    xref _FreeIEvents
  169.    bsr _FreeIEvents
  170.    addq.l #4, a7
  171. ENDEXT
  172.  
  173. EXT GetRexxVar 3 ; msg, varname, bufptr
  174.    xref _GetRexxVar
  175.    bsr _GetRexxVar
  176.    lea 12(a7), a7
  177. ENDEXT
  178.  
  179. EXT HotKey 3 ; desc, port, id
  180.    xref _HotKey
  181.    bsr _HotKey
  182.    addq.l #8, a7
  183. ENDEXT
  184.  
  185. EXT InvertStr 2 ; str, km
  186.    xref _InvertStr
  187.    bsr _InvertStr
  188.    addq.l #8, a7
  189. ENDEXT
  190.  
  191. EXT NewList 1 ; list
  192.    xref _NewList
  193.    bsr _NewList
  194.    addq.l #4, a7
  195. ENDEXT
  196.  
  197. EXT RangeRand 1 ; maxval
  198.    xref _RangeRand
  199.    bsr _RangeRand
  200.    addq.l #4, a7
  201. ENDEXT
  202.  
  203. ; this function supports RangeRand().. returns oldseed
  204. EXT SetRangeSeed 1 ; newseed
  205.    xref _RangeSeed
  206.    move.l _RangeSeed(a4), d0
  207.    move.l (a7)+, _RangeSeed(a4)
  208. ENDEXT
  209.  
  210. EXT RemTOF 1 ; i
  211.    xref _RemTOF
  212.    bsr _RemTOF
  213.    addq.l #4, a7
  214. ENDEXT
  215.  
  216. EXT SetRexxVar 4 ; msg, varname, value, length
  217.    xref _SetRexxVar
  218.    bsr _SetRexxVar
  219.    lea 16(a7), a7
  220. ENDEXT
  221.  
  222. EXT SetSuperAttrs 3 ; cl, obj, tags
  223.    xref _DoSuperMethod
  224.    move.l (a7)+, d0 ; cl
  225.    move.l (a7)+, d1 ; obj
  226.    move.l (a7)+, a0 ; tags
  227.  
  228.    move.l #0, -(a7) ; NULL
  229.    move.l a0, -(a7) ; tags
  230.    move.l #$103, -(a7) ; OM_SET
  231.    move.l d1, -(a7) ; obj
  232.    move.l d0, -(a7) ; cl
  233.    bsr _DoSuperMethod
  234.    lea 20(a7), a7
  235. ENDEXT
  236.  
  237. EXT TimeDelay 3 ; unit, seconds, micros
  238.    xref _TimeDelay
  239.    bsr _TimeDelay
  240.    lea 12(a7), a7
  241. ENDEXT
  242.  
  243. EOF
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.