home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 390.lha / SampLibrary / FileInterface.asm < prev    next >
Encoding:
Assembly Source File  |  1990-07-01  |  5.5 KB  |  290 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    _PromptUserEntry,__PromptUserEntry
  132. _PromptUserEntry:
  133.         movea.l  _RequesterBase,a6
  134. __PromptUserEntry:
  135.         movem.l    a2/a3,-(sp)
  136.         movem.l  12(sp),d0/a0/a1/a2/a3
  137.         jsr      _LVOPromptUserEntry(a6)
  138.         bra.s        outf
  139.  
  140.     XDEF    _AutoPrompt3,__AutoPrompt3
  141. _AutoPrompt3:
  142.         movea.l    _RequesterBase,a6
  143. __AutoPrompt3:
  144.         movem.l    a2/a3,-(sp)
  145.         movem.l    12(sp),a1/a2/a3
  146.         movea.l    24(sp),a0
  147.         jsr        _LVOAutoPrompt3(a6)
  148. outf    movem.l    (sp)+,a2/a3
  149.         rts
  150.  
  151.     XDEF    _SetTitle,__SetTitle
  152. _SetTitle:
  153.         movea.l    _RequesterBase,a6
  154. __SetTitle:
  155.         movem.l    a2/a3,-(sp)
  156.         movem.l    12(sp),a0/a1/a2/a3
  157.         jsr        _LVOSetTitle(a6)
  158.         bra.s        outf
  159.  
  160.     XDEF    _ResetTitle,__ResetTitle
  161. _ResetTitle:
  162.         movea.l    _RequesterBase,a6
  163. __ResetTitle:
  164.         movem.l    a2/a3,-(sp)
  165.         movem.l    12(sp),a2/a3
  166.         jsr        _LVOResetTitle(a6)
  167.         bra.s        outf
  168.  
  169.     XDEF    _UserEntry,__UserEntry
  170. _UserEntry:
  171.         movea.l    _RequesterBase,a6
  172. __UserEntry:
  173.         movem.l    a2/a3,-(sp)
  174.         movem.l    12(sp),d0/a0/a2/a3
  175.         jsr        _LVOUserEntry(a6)
  176.         bra.s        outf
  177.  
  178.     XDEF    _GetRawkey,__GetRawkey
  179. _GetRawkey:
  180.         movea.l    _RequesterBase,a6
  181. __GetRawkey:
  182.         move.l    a3,-(sp)
  183.         movea.l    4(sp),a3
  184.         jsr        _LVOGetRawkey(a6)
  185.         movea.l    (sp)+,a3
  186.         rts
  187.  
  188.     XDEF    _DecodeRawkey,__DecodeRawkey
  189. _DecodeRawkey:
  190.         movea.l    _RequesterBase,a6
  191. __DecodeRawkey:
  192.         movea.l    4(sp),a1
  193.         move.l    8(sp),d0
  194.         jmp        _LVODecodeRawkey(a6)
  195.  
  196.     XDEF    _TypeFilename,__TypeFilename
  197. _TypeFilename:
  198.         movea.l    _RequesterBase,a6
  199. __TypeFilename:
  200.         movea.l    4(sp),a0
  201.         movea.l    8(sp),a1
  202.         jmp        _LVOTypeFilename(a6)
  203.  
  204.     XDEF    _ParseString,__ParseString
  205. _ParseString:
  206.         movea.l    _RequesterBase,a6
  207. __ParseString:
  208.         movea.l    4(sp),a0
  209.         movea.l    8(sp),a1
  210.         jmp        _LVOParseString(a6)
  211.  
  212.     XDEF    __NewEntryList,_NewEntryList
  213. _NewEntryList:
  214.         movea.l    _RequesterBase,a6
  215. __NewEntryList:
  216.         movea.l    4(sp),a1
  217.         jmp        _LVONewEntryList(a6)
  218.  
  219.     XDEF    __IsEntryThere,_IsEntryThere
  220. _IsEntryThere:
  221.         movea.l    _RequesterBase,a6
  222. __IsEntryThere:
  223.         movea.l    4(sp),a0
  224.         movea.l    8(sp),a1
  225.         jsr        _LVOIsEntryThere(a6)
  226.         move.l    a0,_ThisEntry
  227.         move.l    d1,_PrevEntry
  228.         rts
  229.  
  230.     XDEF    __AddEntry,_AddEntry
  231. _AddEntry:
  232.         movea.l    _RequesterBase,a6
  233. __AddEntry:
  234.         movem.l    4(sp),d1/a0/a1
  235.         jmp        _LVOAddEntry(a6)
  236.  
  237.     XDEF    __RetrieveEntry,_RetrieveEntry
  238. _RetrieveEntry:
  239.         movea.l    _RequesterBase,a6
  240. __RetrieveEntry:
  241.         movem.l    4(sp),a0/a1
  242.         jsr        _LVORetrieveEntry(a6)
  243.         move.l    d1,_PrevEntry
  244.         rts
  245.  
  246.     XDEF    __ClearEntries,_ClearEntries
  247. _ClearEntries:
  248.         movea.l    _RequesterBase,a6
  249. __ClearEntries:
  250.         jmp        _LVOClearEntries(a6)
  251.  
  252.     XDEF    __PutProjIcon,_PutProjIcon
  253. _PutProjIcon:
  254.         movea.l    _RequesterBase,a6
  255. __PutProjIcon:
  256.         movem.l    4(sp),a0/a1
  257.         jmp        _LVOPutProjIcon(a6)
  258.  
  259.     XDEF    __DeleteEntry,_DeleteEntry
  260. _DeleteEntry:
  261.         movea.l    _RequesterBase,a6
  262. __DeleteEntry:
  263.         movem.l    4(sp),a0/a1
  264.         jmp    _LVODeleteEntry(a6)
  265.  
  266.     XDEF    __FindDeleteEntry,_FindDeleteEntry
  267. _FindDeleteEntry:
  268.         movea.l    _RequesterBase,a6
  269. __FindDeleteEntry:
  270.         movem.l    4(sp),d1/a0/a1
  271.         jmp    _LVOFindDeleteEntry(a6)
  272.  
  273.     XDEF    __AddFileGadgs,_AddFileGadgs
  274. _AddFileGadgs:
  275.         movea.l    _RequesterBase,a6
  276. __AddFileGadgs:
  277.         movem.l    4(sp),a0/a3/a5
  278.         jmp    _LVOAddFileGadgs(a6)
  279.  
  280.     SECTION    fin,DATA
  281.  
  282. StartUpCode    dc.l 0
  283. DICode        dc.l 0
  284. GadgetCode    dc.l 0
  285. KeyCode        dc.l 0
  286. MMCode        dc.l 0
  287.     XDEF    _ThisEntry,_PrevEntry
  288. _ThisEntry    dc.l 0
  289. _PrevEntry    dc.l 0
  290.