Advertisement
Conmanx360

Untitled

Jul 27th, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.06 KB | None | 0 0
  1. EXRAM Locations I mapped out some time ago:
  2.  
  3. --------------------------------------------------------
  4. 0x7D-0x81
  5. Last ChipIO Command.
  6.  
  7. 0x82:
  8. Changes depending on sample rate. Matches things from the 1900XX regions.
  9.  
  10. 0x87:
  11. This seems a bit more obvious. 29 is the number thats in the 15XX region when
  12. audio is playing correctly, and 0x87 is set to the sample rate of the audio
  13. currently playing.
  14.  
  15. 0x82-0xDF
  16. Seems to be a mix of things. But, definitely related to stream connections.
  17.  
  18. ----------------------------------------------------------
  19. 0x63C-0x698
  20. ConnPointID sample rates. Byte order like this.
  21. Byte 0: I think stream enable/disable?
  22. Byte 1: ConnPoint Sample rate.
  23.  
  24. Each Connections location:
  25. Okay, we can pretty easily come to the conclusion that 0x63D is ConnPoint0x00,
  26. and that counts up until 0x0F at 0x65B.
  27. 0x03: 0x643.
  28.  
  29. 0x0F: 0x65B
  30.  
  31. -Between these two? No clue.
  32.  
  33. 0x40: 0x65F
  34.  
  35. 0x41: 0x661
  36.  
  37. 0x52: 0x663
  38.  
  39. 0x43: 0x665
  40.  
  41. 0x54: 0x667
  42.  
  43. 0x48: 0x66F
  44.  
  45.  
  46. 0xN/S: 0x665 Seems to be current outputs sample rate.
  47.  
  48. 0x91: 0x681
  49.  
  50. ----------------------------------------------------------
  51. 0x72F-0x8AA
  52. Stream ID's and their connections. Each are ten bytes, and have a format as
  53. follows:
  54. Byte 0: StreamID
  55. Byte 1: Stream SourceConnID
  56. Byte 2: Number of Channels
  57. Byte 3: Dest ConnID
  58. Byte 4: Not sure.
  59. Byte 5: For stream enable/disable. Different depending on what kind of stream.
  60. Bytes 6-9: No clue.
  61.  
  62. ----------------------------------------------------------
  63. 0x8AB-Around 0x95D
  64. These are kind of confusing. I think they're 6 bytes long each. But, they change
  65. depending on streams turning on or off. When stream 14 is selected prior to being
  66. turned on, 0x8C1-8C6 are:
  67. 08 02 00 01 FF FF.
  68. After it is turned on, they become:
  69. 08 04 F8 F9 FA FB.
  70. F8, F9, FA, and FB are all used in the 0x19006X writes to enable audio. Probably
  71. not a coincidence. Also, it may be a coincidence, but byte 2 seems to call how
  72. many non FF bytes are coming after. So, like the first is 08 02, then two bytes
  73. 00 01, then FF FF. Same with what comes after. 4 bytes are not FF. What these
  74. actually mean, I don't really know. Will have to mess with turning streams on/off.
  75.  
  76. When stream 0x14 is enabled, two regions change here. 0x8C2-8C6, and 0x8DD-0x8E0.
  77.  
  78. After Audio script is started, we get:
  79. 0B 04 C8 C9 CA CB
  80.  
  81. So, to get these all in one area.
  82. 1 = Before 0x14 enabled, 2 = After 0x14 enabled, 3 = After audio script.
  83. 0x8C1-0x8C6 Differences.
  84. 1: 08 02 00 01 FF FF
  85. 2: 08 04 F8 F9 FA FB
  86. 3: 0B 04 C8 C9 CA CB -These change to 0B 04 C0 C1 C2 C3 sometimes too.
  87. 0x8DB-0x8E0 Differences.
  88. 1:
  89. 2: 0B 04 00 01 02 03
  90. 3: 09 02 04 05 FF FF -04 and 05 are the left and right audio channels in the 0x1900XX region.
  91.  
  92. Also, at 0x8F5, we find the two connections to 04 and 05, 91 and 81.
  93. It goes:
  94. 00 02 91 81.
  95. I'm guessing 00 means they're actual connections, no sample rate.
  96.  
  97. Then, at 0x90F, we have:
  98. 0B 04 91 81 B1 A1
  99. Which corresponds to the outputs in the 0x19009X region,
  100. 0003C891
  101. 0003C981
  102. 0003CAB1
  103. 0003CBA1
  104. Also, their sample rate is 96khz, while the output sample rate is 48khz. Maybe
  105. these are their connections inside the card, which are then routed to 04 and 05,
  106. at the actual sample rate.
  107.  
  108. The first byte is the sample rate. Changes when playing 44.1khz CD to 08, and
  109. back to 09 when 48khz audio being played.
  110.  
  111. ----------------------------------------------------------
  112.  
  113. 0xE42-0x1006ish
  114. Buffer of all verbs sent to the codec. Only verbs not seen are ones that request
  115. ChipIO info, such as F18.
  116.  
  117. 0xE43 and 0xE44 seem to be the current verb pointer and the write to pointer.
  118.  
  119. Commands start at 0xE46, and are 7 bytes long each.
  120. Format for verbs:
  121. Byte 0: Not Sure. Changes depending on what widget is addressed.
  122. Byte 1: Not sure. Changes depending on widget addressed.
  123. Byte 2: Widget ID.
  124. Byte 3-5: Verb, and verb value.
  125. Byte 6: Usually 0x00. No clue.
  126.  
  127.  
  128. ----------------------------------------------------------
  129. 0x1477-0x1575
  130. Counts through 0x00 to 0xFE. Occasionally, a value in here gets overwritten
  131. with an FF, and that value shows up somewhere else. It seems like it is for
  132. placeholders for some kind of ID's.
  133.  
  134. After enabling stream 0x14, 0x148F goes from 0x18 to 0xFF. Seems to be taken
  135. for something. After doing the Audio Script, 0x24 goes to 0xFF, and 0x2A goes
  136. to 0xFF as well.
  137.  
  138.  
  139. ----------------------------------------------------------
  140. 0x1576-0x15C1
  141. These are like the above, except the opposite. They're FF, and then the FF's
  142. get removed and replaced with a value. These values don't correspond to the
  143. ones that are taken above.
  144.  
  145. After enabling stream 0x14, 0x158C goes from 0xFF to 0x14. 0x15B1 goes from
  146. 0x23 to 0x17. After the Audio Script, 0x157D goes from FF to 24, 0x1584 goes
  147. from FF to 18, 0x15A2 goes from 25 to 29, and 0x15A9 goes from 1F to 23.
  148.  
  149.  
  150. ----------------------------------------------------------
  151. 0x16E9-0x16ED
  152. Lists the currently selected stream's StreamID, Source ConnID, Dest ConnID,
  153. number of channels, and then whether or not the stream is enabled/disabled.
  154. 5 bytes.
  155.  
  156. ----------------------------------------------------------
  157. 0x16EE-0x16EF
  158. Lists the currently selected ConnPointID and it's sample rate.
  159.  
  160. ----------------------------------------------------------
  161. 0x1A50-0x1A70
  162. ChipIO params end up here. 0x1A58 is the currently selected ParamID, 0x1A5B is
  163. current ChipIO data High, 0x1A5D is current ChipIO data low. 0x1A59 is the
  164. current CHIPIO_STREAM_FORMAT value.
  165.  
  166. ----------------------------------------------------------
  167. 0x1B8Dish-0x1BAE
  168. These seem to be like the data this exists at 0x1900XX.
  169. Before stream 0x14 is enabled, it is like this:
  170. 1: 2F 02 02 01 02 00 02 00 0F 00 99 01 89 00 B9 01 A9 E4 C4 E5 C5 E8 C6 E9 C7 EA C8 EB C9 EC CA ED CB
  171. 2: 91 02 02 01 00 00 00 00 14 F8 00 F9 01 FA 02 FB 03 E4 C4 E5 C5 E8 C6 E9 C7 EA C8 EB C9 EC CA ED CB
  172. 3: 25 02 02 01 00 02 00 02 05 C8 91 C9 81 CA B1 CB A1 E4 C4 E5 C5 E8 C6 E9 C7 EA C8 EB C9 EC CA ED CB
  173.  
  174. ----------------------------------------------------------
  175. 0x1EBF-1EC4 area
  176. When Stream 0x14 is enabled, 0x1EBF changes from 0x00 to 0x01, and 0x1EC4 changes
  177. from 0xFF to 0x00.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement