home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 1 / RISC_DISC_1.iso / pd_share / code / oslib / Hdr / DMA < prev    next >
Encoding:
Text File  |  1994-07-01  |  3.0 KB  |  109 lines

  1. ;AAsm header file for DMA
  2. ;written by DefMod (Jul  1 1994) on Fri Jul  1 16:25:37 1994
  3.  
  4.         [       :LNOT: :DEF: Get_Types
  5.         GBLS    Get_Types
  6. Get_Types                       SETS    "GET OS:Hdr.Types"
  7.         |
  8. Get_Types                       SETS    ""
  9.         ]
  10.         $Get_Types
  11.  
  12.         [       :LNOT: :DEF: Get_OS
  13.         GBLS    Get_OS
  14. Get_OS                          SETS    "GET OS:Hdr.OS"
  15.         |
  16. Get_OS                          SETS    ""
  17.         ]
  18.         $Get_OS
  19.  
  20.         [       :LNOT: :DEF: DMA_Hdr
  21.         GBLS    DMA_Hdr
  22.  
  23. ;Symbols for constants
  24. DMA_QueueWrite                  *       &1
  25. DMA_QueueCircularList           *       &2
  26. DMA_QueueUseSync                *       &4
  27. DMA_SuspendStartNext            *       &1
  28.  
  29. ;Symbols for structure offsets and sizes
  30. DMA_C                           *       4 ;abstract type
  31. DMA_Tag                         *       4 ;abstract type
  32.                                 ^       0
  33. DMA_Routines_enable             #       Ptr
  34. DMA_Routines_disable            #       Ptr
  35. DMA_Routines_start              #       Ptr
  36. DMA_Routines_completed          #       Ptr
  37. DMA_Routines_sync               #       Ptr
  38. DMA_Routines                    *       @
  39.  
  40.                                 ^       0
  41. DMA_Scatter_address             #       Ptr
  42. DMA_Scatter_size                #       Int
  43. DMA_Scatter                     *       @
  44.  
  45.                                 ^       0
  46. DMA_ScatterList_s               #       DMA_Scatter
  47. DMA_ScatterList                 *       @
  48.  
  49.  
  50. ;Symbols for SWI's and SWI reason codes
  51. XDMA_RegisterChannel            *       &66140
  52. DMA_RegisterChannel             *       &46140
  53.    ;Entry
  54.    ;  R0 = flags (Bits)
  55.    ;  R1 = log_channel (Int)
  56.    ;  R2 = cycle_speed (Int)
  57.    ;  R3 = transfer_size (Int)
  58.    ;  R4 -> control_routines (DMA_Routines)
  59.    ;  R5 = workspace (pointer to Void)
  60.    ;Exit
  61.    ;  R0 = channel (DMA_C)
  62.  
  63. XDMA_DeregisterChannel          *       &66141
  64. DMA_DeregisterChannel           *       &46141
  65.    ;Entry
  66.    ;  R0 = channel (DMA_C)
  67.  
  68. XDMA_QueueTransfer              *       &66142
  69. DMA_QueueTransfer               *       &46142
  70.    ;Entry
  71.    ;  R0 = flags (Bits)
  72.    ;  R1 = channel (DMA_C)
  73.    ;  R2 = workspace (pointer to Void)
  74.    ;  R3 -> scatter_list (DMA_ScatterList)
  75.    ;  R4 = transfer_size (Int)
  76.    ;  R5 = buffer_size (Int)
  77.    ;  R6 = sync_size (Int)
  78.    ;Exit
  79.    ;  R0 = tag (DMA_Tag)
  80.  
  81. XDMA_TerminateTransfer          *       &66143
  82. DMA_TerminateTransfer           *       &46143
  83.    ;Entry
  84.    ;  R0 -> error (OS_Error)
  85.    ;  R1 = tag (DMA_Tag)
  86.  
  87. XDMA_SuspendTransfer            *       &66144
  88. DMA_SuspendTransfer             *       &46144
  89.    ;Entry
  90.    ;  R0 = flags (Bits)
  91.    ;  R1 = tag (DMA_Tag)
  92.  
  93. XDMA_ResumeTransfer             *       &66145
  94. DMA_ResumeTransfer              *       &46145
  95.    ;Entry
  96.    ;  R0 = flags (Bits)
  97.    ;  R1 = tag (DMA_Tag)
  98.  
  99. XDMA_ExamineTransfer            *       &66146
  100. DMA_ExamineTransfer             *       &46146
  101.    ;Entry
  102.    ;  R0 = flags (Bits)
  103.    ;  R1 = tag (DMA_Tag)
  104.    ;Exit
  105.    ;  R0 = transferred_size (Int)
  106.  
  107.         ]
  108.         END
  109.