home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 200-299 / ff257.lzh / FileIO / FileInterface.asm < prev    next >
Assembly Source File  |  1989-10-19  |  5KB  |  256 lines

  1.   SECTION FileIOCode,CODE
  2.   XREF    _RequesterBase  ;base variable as opened by the C application
  3.  
  4.   INCLUDE "FileIO.i"
  5.  
  6.       XDEF  _SetFileIOHandlers
  7. _SetFileIOHandlers:
  8.       movea.l   4(sp),a0     ;HandlerBlock
  9.       move.l    a2,-(sp)
  10.       lea       StartUpCode,a2
  11.       move.l    (a0)+,(a2)+
  12.       beq.s     n1
  13.       lea       StartHandler,a1
  14.       move.l    a1,-4(a0)
  15. n1    move.l    (a0)+,(a2)+
  16.       beq.s     n2
  17.       lea       DIHandler,a1
  18.       move.l    a1,-4(a0)
  19. n2    move.l    (a0)+,(a2)+
  20.       beq.s     n3
  21.       lea       GadgetHandler,a1
  22.       move.l    a1,-4(a0)
  23. n3    move.l    (a0)+,(a2)+
  24.       beq.s     n4
  25.       lea       KeyHandler,a1
  26.       move.l    a1,-4(a0)
  27. n4    move.l    (a0),(a2)
  28.       beq.s     n5
  29.       lea       MMHandler,a1
  30.       move.l    a1,(a0)
  31. n5    movea.l   (sp)+,a2
  32.       rts
  33.  
  34. DIHandler:
  35.      movea.l    DICode,a0
  36.      bra.s      handle
  37. MMHandler:
  38.      movea.l    MMCode,a0
  39.      bra.s      handle
  40. GadgetHandler:
  41.      movea.l    GadgetCode,a0
  42. handle:
  43.      movem.l    d0/d2/d5/d6/d7/a2/a3/a4,-(sp)
  44.      jsr        (a0)
  45.      movem.l    (sp)+,d1/d2/d5/d6/d7/a2/a3/a4
  46.      rts
  47. StartHandler:
  48.      movea.l    StartUpCode,a0
  49.      bra.s      handle
  50. KeyHandler:
  51.      movea.l    KeyCode,a0
  52.      bra.s      handle
  53.  
  54.       XDEF  _SetWaitPointer,__SetWaitPointer
  55. _SetWaitPointer:
  56.   movea.l _RequesterBase,a6
  57. __SetWaitPointer:
  58.   movea.l 4(sp),a0
  59.   jmp     _LVOSetWaitPointer(a6)
  60.  
  61.       XDEF   _AutoMessage,__AutoMessage
  62. _AutoMessage:
  63.   movea.l _RequesterBase,a6
  64. __AutoMessage:
  65.   move.l  4(sp),d0
  66.   movea.l 8(sp),a0
  67.   jmp     _LVOAutoMessage(a6)
  68.  
  69.       XDEF   _AutoMessageLen,__AutoMessageLen
  70. _AutoMessageLen:
  71.   movea.l _RequesterBase,a6
  72. __AutoMessageLen:
  73.   move.l  4(sp),d0
  74.   movea.l 8(sp),a0
  75.   move.l  12(sp),d1
  76.   jmp     _LVOAutoMessageLen(a6)
  77.  
  78.       XDEF _AutoFileMessage,__AutoFileMessage
  79. _AutoFileMessage:
  80.    movea.l _RequesterBase,a6
  81. __AutoFileMessage:
  82.    move.w  6(sp),d1
  83.    movea.l 8(sp),a0
  84.    jmp     _LVOAutoFileMessage(a6)
  85.  
  86.      XDEF _ResetBuffer,__ResetBuffer
  87. _ResetBuffer:
  88.    movea.l _RequesterBase,a6
  89. __ResetBuffer:
  90.    movea.l 4(sp),a0
  91.    move.b  11(sp),d0
  92.    jmp     _LVOResetBuffer(a6)
  93.  
  94.      XDEF _GetFileIO,__GetFileIO
  95. _GetFileIO:
  96.       movea.l _RequesterBase,a6
  97. __GetFileIO:
  98.       jmp     _LVOGetFileIO(a6)
  99.  
  100.    XDEF   _DoFileIO,__DoFileIO
  101. _DoFileIO:
  102.    movea.l _RequesterBase,a6
  103. __DoFileIO:
  104.    movea.l 4(sp),a0
  105.    movea.l 8(sp),a1
  106.    jmp     _LVODoFileIO(a6)
  107.  
  108.    XDEF   _DoFileIOWindow,__DoFileIOWindow
  109. _DoFileIOWindow:
  110.   movea.l _RequesterBase,a6
  111. __DoFileIOWindow:
  112.   movea.l 4(sp),a0
  113.   movea.l 8(sp),a1
  114.   jmp     _LVODoFileIOWindow(a6)
  115.  
  116.    XDEF   _GetFullPathname,__GetFullPathname
  117. _GetFullPathname:
  118.        movea.l _RequesterBase,a6
  119. __GetFullPathname:
  120.        movea.l 4(sp),a0
  121.        movea.l 8(sp),a1
  122.        jmp     _LVOGetFullPathname(a6)
  123.  
  124.      XDEF   _ReleaseFileIO,__ReleaseFileIO
  125. _ReleaseFileIO:
  126.        movea.l _RequesterBase,a6
  127. __ReleaseFileIO:
  128.        movea.l 4(sp),a1
  129.        jmp     _LVOReleaseFileIO(a6)
  130.  
  131.      XDEF _AutoPrompt3,__AutoPrompt3
  132. _AutoPrompt3:
  133.   movea.l _RequesterBase,a6
  134. __AutoPrompt3:
  135.   movem.l a2/a3,-(sp)
  136.   movea.l 12(sp),a1
  137.   movea.l 16(sp),a2
  138.   movea.l 20(sp),a3
  139.   movea.l 24(sp),a0
  140.   jsr     _LVOAutoPrompt3(a6)
  141.   movem.l (sp)+,a2/a3
  142.   rts
  143.  
  144.   XDEF _PromptUserEntry,__PromptUserEntry
  145. _PromptUserEntry:
  146.   movea.l  _RequesterBase,a6
  147. __PromptUserEntry:
  148.   move.l   a2,-(sp)
  149.   move.l   a3,-(sp)
  150.   movem.l  12(sp),d0/a0/a1/a2/a3
  151.   jsr      _LVOPromptUserEntry(a6)
  152.   movea.l  (sp)+,a3
  153.   movea.l  (sp)+,a2
  154.   rts
  155.  
  156.   XDEF _SetTitle,__SetTitle
  157. _SetTitle:
  158.   movea.l  _RequesterBase,a6
  159. __SetTitle:
  160.   move.l   a2,-(sp)
  161.   move.l   a3,-(sp)
  162.   movem.l  12(sp),a0/a1/a2/a3
  163.   jsr      _LVOSetTitle(a6)
  164.   movea.l  (sp)+,a3
  165.   movea.l  (sp)+,a2
  166.   rts
  167.  
  168.   XDEF _ResetTitle,__ResetTitle
  169. _ResetTitle:
  170.   movea.l  _RequesterBase,a6
  171. __ResetTitle:
  172.   move.l   a2,-(sp)
  173.   move.l   a3,-(sp)
  174.   movem.l  12(sp),a2/a3
  175.   jsr      _LVOResetTitle(a6)
  176.   movea.l  (sp)+,a3
  177.   movea.l  (sp)+,a2
  178.   rts
  179.  
  180.   XDEF _UserEntry,__UserEntry
  181. _UserEntry:
  182.   movea.l  _RequesterBase,a6
  183. __UserEntry:
  184.   move.l   a2,-(sp)
  185.   move.l   a3,-(sp)
  186.   movem.l  12(sp),d0/a0/a2/a3
  187.   jsr      _LVOUserEntry(a6)
  188.   movea.l  (sp)+,a3
  189.   movea.l  (sp)+,a2
  190.   rts
  191.  
  192.   XDEF _GetRawkey,__GetRawkey
  193. _GetRawkey:
  194.    movea.l  _RequesterBase,a6
  195. __GetRawkey:
  196.    move.l   a3,-(sp)
  197.    movea.l  4(sp),a3
  198.    jsr      _LVOGetRawkey(a6)
  199.    movea.l  (sp)+,a3
  200.    rts
  201.  
  202.   XDEF _DecodeRawkey,__DecodeRawkey
  203. _DecodeRawkey:
  204.    movea.l  _RequesterBase,a6
  205. __DecodeRawkey:
  206.    movea.l  4(sp),a1
  207.    move.l   8(sp),d0
  208.    jmp      _LVODecodeRawkey(a6)
  209.  
  210.   XDEF _TypeFilename,__TypeFilename
  211. _TypeFilename:
  212.    movea.l  _RequesterBase,a6
  213. __TypeFilename:
  214.    movea.l  4(sp),a0
  215.    movea.l  8(sp),a1
  216.    jmp      _LVOTypeFilename(a6)
  217.  
  218.   XDEF _ParseString,__ParseString
  219. _ParseString:
  220.    movea.l  _RequesterBase,a6
  221. __ParseString:
  222.    movea.l  4(sp),a0
  223.    movea.l  8(sp),a1
  224.    jmp      _LVOParseString(a6)
  225.  
  226.    XDEF __NewEntryList,_NewEntryList
  227. _NewEntryList:
  228.    movea.l  _RequesterBase,a6
  229. __NewEntryList:
  230.    movea.l  4(sp),a1
  231.    jmp      _LVONewEntryList(a6)
  232.  
  233.    XDEF __IsEntryThere,_IsEntryThere
  234. _IsEntryThere:
  235.    movea.l  _RequesterBase,a6
  236. __IsEntryThere:
  237.     movea.l    4(sp),a0
  238.    movea.l  8(sp),a1
  239.    jmp      _LVOIsEntryThere(a6)
  240.  
  241.    XDEF __AddEntry,_AddEntry
  242. _AddEntry:
  243.    movea.l  _RequesterBase,a6
  244. __AddEntry:
  245.    movem.l  4(sp),d1/a0/a1
  246.    jmp      _LVOAddEntry(a6)
  247.  
  248.   SECTION fin,DATA
  249.  
  250. StartUpCode dc.l 0
  251. DICode      dc.l 0
  252. GadgetCode  dc.l 0
  253. KeyCode     dc.l 0
  254. MMCode      dc.l 0
  255.  
  256.