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

  1. ;AAsm header file for Podule
  2. ;written by DefMod (Jul  1 1994) on Fri Jul  1 16:19:04 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: Podule_Hdr
  21.         GBLS    Podule_Hdr
  22.  
  23. ;Symbols for constants
  24. Podule_SectionSystemROM         *       -1
  25. Podule_SectionExpansionCard0    *       0
  26. Podule_SectionExpansionCard1    *       1
  27. Podule_SectionExpansionCard2    *       2
  28. Podule_SectionExpansionCard3    *       3
  29. Podule_SectionExtensionROM1     *       -2
  30. Error_PoduleBadPod              *       &500
  31. Error_PoduleBadSpeed            *       &501
  32. Error_PoduleNoPod               *       &502
  33. Error_PoduleNotExt              *       &503
  34. Error_PoduleNotAcrn             *       &504
  35. Error_PoduleNoLdr               *       &505
  36. Error_PoduleInLdr               *       &506
  37. Error_PoduleBadChnk             *       &507
  38. Error_PoduleBadDeviceNumber     *       &508
  39. Error_PoduleBadDeviceType       *       &509
  40. Error_PoduleRAMConfigSyntax     *       &50A
  41. Error_PoduleWrongPoduleType     *       &50B
  42. Error_PoduleROMBoardSyntax      *       &50C
  43. Error_PoduleBadRead             *       &50D
  44. Error_PoduleBdSpeed             *       &50E
  45. Error_PoduleNotEASI             *       &50F
  46. Error_PoduleSpeedNo             *       &510
  47. Error_PoduleECNoSpd             *       &511
  48. Error_PoduleECNoNet             *       &512
  49. Error_PoduleNDallas             *       &513
  50. Error_PoduleNotWritable         *       &580
  51. Error_PoduleAddressRange        *       &581
  52. Error_PoduleDeviceNotWritable   *       &582
  53. Error_PodulePoduleReadOnly      *       &583
  54. Error_PoduleAddressTooBig       *       &584
  55.  
  56. ;Symbols for structure offsets and sizes
  57.                                 ^       0
  58. Podule_Header_b                 #       16*Byte
  59. Podule_Header                   *       @
  60.  
  61.  
  62. ;Symbols for SWI's and SWI reason codes
  63. XPodule_ReadID                  *       &60280
  64. Podule_ReadID                   *       &40280
  65.    ;Entry
  66.    ;  R3 = section (Int)
  67.    ;Exit
  68.    ;  R0 = ec_id (Int)
  69.  
  70. XPodule_ReadHeader              *       &60281
  71. Podule_ReadHeader               *       &40281
  72.    ;Entry
  73.    ;  R2 = header (pointer to Podule_Header)
  74.    ;  R3 = section (Int)
  75.  
  76. XPodule_EnumerateChunks         *       &60282
  77. Podule_EnumerateChunks          *       &40282
  78.    ;Entry
  79.    ;  R0 = context (Int)
  80.    ;  R3 = section (Int)
  81.    ;Exit
  82.    ;  R0 = context_out (Int)
  83.    ;  R1 = size (Int)
  84.    ;  R2 = os_id (Byte)
  85.    ;  R4 -> module_name (String)
  86.  
  87. XPodule_ReadChunk               *       &60283
  88. Podule_ReadChunk                *       &40283
  89.    ;Entry
  90.    ;  R0 = chunk_no (Int)
  91.    ;  R2 = buffer (pointer to data)
  92.    ;  R3 = section (Int)
  93.  
  94. XPodule_ReadBytes               *       &60284
  95. Podule_ReadBytes                *       &40284
  96.    ;Entry
  97.    ;  R0 = start_offset (Int)
  98.    ;  R1 = size (Int)
  99.    ;  R2 = buffer (pointer to data)
  100.    ;  R3 = slot_no (Int)
  101.  
  102. XPodule_WriteBytes              *       &60285
  103. Podule_WriteBytes               *       &40285
  104.    ;Entry
  105.    ;  R0 = start_offset (Int)
  106.    ;  R1 = size (Int)
  107.    ;  R2 -> buffer (data)
  108.    ;  R3 = slot_no (Int)
  109.  
  110. XPodule_CallLoader              *       &60286
  111. Podule_CallLoader               *       &40286
  112.    ;Entry
  113.    ;  R0 = arg0 (Int)
  114.    ;  R1 = arg1 (Int)
  115.    ;  R2 = arg2 (Int)
  116.    ;  R3 = slot_no (Int)
  117.    ;Exit
  118.    ;  R0 = arg0_out (Int)
  119.    ;  R1 = arg1_out (Int)
  120.    ;  R2 = arg2_out (Int)
  121.  
  122. XPodule_RawRead                 *       &60287
  123. Podule_RawRead                  *       &40287
  124.    ;Entry
  125.    ;  R0 = start_offset (Int)
  126.    ;  R1 = size (Int)
  127.    ;  R2 = buffer (pointer to data)
  128.    ;  R3 = slot_no (Int)
  129.  
  130. XPodule_RawWrite                *       &60288
  131. Podule_RawWrite                 *       &40288
  132.    ;Entry
  133.    ;  R0 = start_offset (Int)
  134.    ;  R1 = size (Int)
  135.    ;  R2 -> buffer (data)
  136.    ;  R3 = slot_no (Int)
  137.  
  138. XPodule_HardwareAddress         *       &60289
  139. Podule_HardwareAddress          *       &40289
  140.    ;Entry
  141.    ;  R3 = section (Int)
  142.    ;Exit
  143.    ;  R3 = combined_addr (pointer to Int)
  144.  
  145. XPodule_EnumerateChunksWithInfo *       &6028A
  146. Podule_EnumerateChunksWithInfo  *       &4028A
  147.    ;Entry
  148.    ;  R0 = context (Int)
  149.    ;  R3 = section (Int)
  150.    ;  R6 = &1
  151.    ;Exit
  152.    ;  R0 = context_out (Int)
  153.    ;  R1 = size (Int)
  154.    ;  R2 = os_id (Byte)
  155.    ;  R4 -> module_name (String)
  156.    ;  R5 -> help_text (String)
  157.    ;  R6 = module_base (pointer to Int)
  158.  
  159. XPodule_HardwareAddresses       *       &6028B
  160. Podule_HardwareAddresses        *       &4028B
  161.    ;Entry
  162.    ;  R3 = section (Int)
  163.    ;Exit
  164.    ;  R0 = base_addr (pointer to Int)
  165.    ;  R1 = combined_addr (pointer to Int)
  166.  
  167. XPodule_ReturnNumber            *       &6028C
  168. Podule_ReturnNumber             *       &4028C
  169.    ;Exit
  170.    ;  R0 = expansion_card_count (Int)
  171.    ;  R1 = extension_rom_count (Int)
  172.  
  173. XPodule_ReadInfo                *       &6028D
  174. Podule_ReadInfo                 *       &4028D
  175.    ;Entry
  176.    ;  R0 = mask (Bits)
  177.    ;  R1 = buffer (pointer to data)
  178.    ;  R2 = size (Int)
  179.    ;  R3 = section (Int)
  180.    ;Exit
  181.    ;  R2 = used (Int)
  182.  
  183. XPodule_SetSpeed                *       &6028E
  184. Podule_SetSpeed                 *       &4028E
  185.    ;Entry
  186.    ;  R0 = speed (Int)
  187.    ;  R3 = section (Int)
  188.    ;Exit
  189.    ;  R0 = old_speed (Int)
  190.  
  191. Service_PreReset                *       &45
  192.    ;Entry
  193.    ;  R1 = &45
  194.  
  195. Service_ADFSPodule              *       &10800
  196.    ;Entry
  197.    ;  R1 = &10800
  198.    ;  R2 = controller (pointer to data)
  199.    ;  R3 = status_location (pointer to Int)
  200.    ;  R4 = status_bits (Bits)
  201.    ;  R5 = irq_location (pointer to Int)
  202.    ;  R6 = irq_bits (Bits)
  203.    ;Exit
  204.    ;  R1 = unclaimed (Bool)
  205.    ;  R2 = controller_out (pointer to data)
  206.    ;  R3 = status_location_out (pointer to Int)
  207.    ;  R4 = status_bits_out (Bits)
  208.    ;  R5 = irq_location_out (pointer to Int)
  209.    ;  R6 = irq_bits_out (Bits)
  210.  
  211. Service_ADFSPoduleIDE           *       &10801
  212.    ;Entry
  213.    ;  R1 = &10801
  214.    ;  R2 = controller (pointer to data)
  215.    ;  R3 = status_location (pointer to Int)
  216.    ;  R4 = status_bits (Bits)
  217.    ;  R5 = irq_location (pointer to Int)
  218.    ;  R6 = irq_bits (Bits)
  219.    ;  R7 -> read_code (code)
  220.    ;  R8 -> write_code (code)
  221.    ;Exit
  222.    ;  R1 = unclaimed (Bool)
  223.    ;  R2 = controller_out (pointer to data)
  224.    ;  R3 = status_location_out (pointer to Int)
  225.    ;  R4 = status_bits_out (Bits)
  226.    ;  R5 = irq_location_out (pointer to Int)
  227.    ;  R6 = irq_bits_out (Bits)
  228.    ;  R7 -> read_code_out (code)
  229.    ;  R8 -> write_code_out (code)
  230.  
  231. Service_ADFSPoduleIDEDying      *       &10802
  232.    ;Entry
  233.    ;  R1 = &10802
  234.  
  235.         ]
  236.         END
  237.