Advertisement
Bond697

fullscreenTexCopyAssignmentHandler()

May 20th, 2012
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 17.32 KB | None | 0 0
  1. RAM_ARM9:0202E578             @ =============== S U B R O U T I N E =======================================
  2. RAM_ARM9:0202E578
  3. RAM_ARM9:0202E578
  4. RAM_ARM9:0202E578             fullscreenTexCopyAssignmentHandler__:
  5. RAM_ARM9:0202E578
  6. RAM_ARM9:0202E578             var_20          = -0x20
  7. RAM_ARM9:0202E578             var_1C          = -0x1C
  8. RAM_ARM9:0202E578
  9. RAM_ARM9:0202E578 F8 B5                       PUSH    {R3-R7,LR}
  10. RAM_ARM9:0202E57A 82 B0                       SUB     SP, SP, #8
  11. RAM_ARM9:0202E57C 06 1C                       MOVS    R6, R0
  12. RAM_ARM9:0202E57E 0D 1C                       MOVS    R5, R1
  13. RAM_ARM9:0202E580 18 F0 94 EB                 BLX     setVar8__
  14. RAM_ARM9:0202E584 01 1C                       MOVS    R1, R0
  15. RAM_ARM9:0202E586 3B 20                       MOVS    R0, #0x3B @ ';'
  16. RAM_ARM9:0202E588 00 90                       STR     R0, [SP]
  17. RAM_ARM9:0202E58A 25 4B                       LDR     R3, =aScreentex_c @ "screentex.c"
  18. RAM_ARM9:0202E58C 30 1C                       MOVS    R0, R6
  19. RAM_ARM9:0202E58E 00 22                       MOVS    R2, #0
  20. RAM_ARM9:0202E590 00 24                       MOVS    R4, #0
  21. RAM_ARM9:0202E592 02 F0 DC E8                 BLX     allocateBlockFromArena__
  22. RAM_ARM9:0202E596 07 1C                       MOVS    R7, R0
  23. RAM_ARM9:0202E598 3C 20                       MOVS    R0, #0x3C @ '<'
  24. RAM_ARM9:0202E59A 00 90                       STR     R0, [SP]
  25. RAM_ARM9:0202E59C 20 4B                       LDR     R3, =aScreentex_c @ "screentex.c"
  26. RAM_ARM9:0202E59E 30 1C                       MOVS    R0, R6
  27. RAM_ARM9:0202E5A0 8C 21                       MOVS    R1, #0x8C @ 'î'
  28. RAM_ARM9:0202E5A2 00 22                       MOVS    R2, #0
  29. RAM_ARM9:0202E5A4 02 F0 D2 E8                 BLX     allocateBlockFromArena__
  30. RAM_ARM9:0202E5A8 06 1C                       MOVS    R6, R0
  31. RAM_ARM9:0202E5AA 1E 48                       LDR     R0, =aBtx0      @ "BTX0"
  32. RAM_ARM9:0202E5AC 31 1C                       MOVS    R1, R6          @ pDest
  33. RAM_ARM9:0202E5AE 8C 22                       MOVS    R2, #0x8C @ 'î' @ dataSize
  34. RAM_ARM9:0202E5B0 54 F0 D4 EB                 BLX     MI_CpuCopy8__
  35. RAM_ARM9:0202E5B4 38 1C                       MOVS    R0, R7
  36. RAM_ARM9:0202E5B6 02 21                       MOVS    R1, #2
  37. RAM_ARM9:0202E5B8 32 1C                       MOVS    R2, R6
  38. RAM_ARM9:0202E5BA 18 F0 7C EB                 BLX     structureSetupTexSystemAlloc__
  39. RAM_ARM9:0202E5BE 30 1C                       MOVS    R0, R6
  40. RAM_ARM9:0202E5C0 40 F0 DC E9                 BLX     texAllocParametersCheck__
  41. RAM_ARM9:0202E5C4 01 90                       STR     R0, [SP,#4]
  42. RAM_ARM9:0202E5C6 3B F0 10 ED                 BLX     NNS_G3dTexGetRequiredSize__
  43. RAM_ARM9:0202E5CA 06 1C                       MOVS    R6, R0
  44. RAM_ARM9:0202E5CC 52 F0 46 EB                 BLX     GX_GetBankForTex__
  45. RAM_ARM9:0202E5D0 03 2D                       CMP     R5, #3
  46. RAM_ARM9:0202E5D2 18 D8                       BHI     loc_202E606
  47. RAM_ARM9:0202E5D4 69 19                       ADDS    R1, R5, R5
  48. RAM_ARM9:0202E5D6 79 44                       ADD     R1, PC
  49. RAM_ARM9:0202E5D8 C9 88                       LDRH    R1, [R1,#6]
  50. RAM_ARM9:0202E5DA 09 04                       LSLS    R1, R1, #0x10
  51. RAM_ARM9:0202E5DC 09 14                       ASRS    R1, R1, #0x10
  52. RAM_ARM9:0202E5DE 8F 44                       ADD     PC, R1
  53. RAM_ARM9:0202E5DE             @ ---------------------------------------------------------------------------
  54. RAM_ARM9:0202E5E0 24 00                       .short 0x24
  55. RAM_ARM9:0202E5E2 1A 00                       .short 0x1A
  56. RAM_ARM9:0202E5E4 10 00                       .short 0x10
  57. RAM_ARM9:0202E5E6 06 00                       .short 6
  58. RAM_ARM9:0202E5E8             @ ---------------------------------------------------------------------------
  59. RAM_ARM9:0202E5E8 04 21                       MOVS    R1, #4
  60. RAM_ARM9:0202E5EA 08 43                       ORRS    R0, R1
  61. RAM_ARM9:0202E5EC 01 D0                       BEQ     loc_202E5F2
  62. RAM_ARM9:0202E5EE C9 03                       LSLS    R1, R1, #0xF
  63. RAM_ARM9:0202E5F0 64 18                       ADDS    R4, R4, R1
  64. RAM_ARM9:0202E5F2
  65. RAM_ARM9:0202E5F2             loc_202E5F2:                            @ CODE XREF: texCopyAssignmentHandler__+74j
  66. RAM_ARM9:0202E5F2 02 21                       MOVS    R1, #2
  67. RAM_ARM9:0202E5F4 08 43                       ORRS    R0, R1
  68. RAM_ARM9:0202E5F6 01 D0                       BEQ     loc_202E5FC
  69. RAM_ARM9:0202E5F8 09 04                       LSLS    R1, R1, #0x10
  70. RAM_ARM9:0202E5FA 64 18                       ADDS    R4, R4, R1
  71. RAM_ARM9:0202E5FC
  72. RAM_ARM9:0202E5FC             loc_202E5FC:                            @ CODE XREF: texCopyAssignmentHandler__+7Ej
  73. RAM_ARM9:0202E5FC 01 21                       MOVS    R1, #1
  74. RAM_ARM9:0202E5FE 08 43                       ORRS    R0, R1
  75. RAM_ARM9:0202E600 01 D0                       BEQ     loc_202E606
  76. RAM_ARM9:0202E602 48 04                       LSLS    R0, R1, #0x11
  77. RAM_ARM9:0202E604 24 18                       ADDS    R4, R4, R0
  78. RAM_ARM9:0202E606
  79. RAM_ARM9:0202E606             loc_202E606:                            @ CODE XREF: texCopyAssignmentHandler__+5Aj
  80. RAM_ARM9:0202E606                                                     @ texCopyAssignmentHandler__+88j
  81. RAM_ARM9:0202E606 31 09                       LSRS    R1, R6, #4
  82. RAM_ARM9:0202E608 0A 04                       LSLS    R2, R1, #0x10
  83. RAM_ARM9:0202E60A 61 03                       LSLS    R1, R4, #0xD
  84. RAM_ARM9:0202E60C 09 0C                       LSRS    R1, R1, #0x10
  85. RAM_ARM9:0202E60E 11 43                       ORRS    R1, R2          @ texKey
  86. RAM_ARM9:0202E610 01 98                       LDR     R0, [SP,#4]     @ pTex
  87. RAM_ARM9:0202E612 00 22                       MOVS    R2, #0          @ tex4x4Key
  88. RAM_ARM9:0202E614 3B F0 FC EC                 BLX     NNS_G3dTexSetTexKey__
  89. RAM_ARM9:0202E618 38 1C                       MOVS    R0, R7
  90. RAM_ARM9:0202E61A 02 B0                       ADD     SP, SP, #8
  91. RAM_ARM9:0202E61C F8 BD                       POP     {R3-R7,PC}
  92. RAM_ARM9:0202E61C             @ End of function texCopyAssignmentHandler__
  93. RAM_ARM9:0202E61C
  94. RAM_ARM9:0202E61E             @ ---------------------------------------------------------------------------
  95. RAM_ARM9:0202E61E C0 46                       NOP
  96. RAM_ARM9:0202E61E             @ ---------------------------------------------------------------------------
  97. RAM_ARM9:0202E620 00 78 0A 02 off_202E620:    .long aScreentex_c      @ DATA XREF: texCopyAssignmentHandler__+12r
  98. RAM_ARM9:0202E620                                                     @ texCopyAssignmentHandler__+24r
  99. RAM_ARM9:0202E620                                                     @ "screentex.c"
  100. RAM_ARM9:0202E624             @ unsigned int *off_202E624
  101. RAM_ARM9:0202E624 54 03 0A 02 off_202E624:    .long aBtx0             @ DATA XREF: texCopyAssignmentHandler__+32r
  102. RAM_ARM9:0202E624                                                     @ "BTX0"
  103.  
  104. RAM_ARM9:02046CAC             @ =============== S U B R O U T I N E =======================================
  105. RAM_ARM9:02046CAC
  106. RAM_ARM9:02046CAC
  107. RAM_ARM9:02046CAC             setVar8__:                              @ CODE XREF: fullscreenTexCopyAssignmentHandler__+8p
  108. RAM_ARM9:02046CAC                                                     @ sub_2048138:loc_20481D8p ...
  109. RAM_ARM9:02046CAC 08 00 A0 E3                 MOV     R0, #8
  110. RAM_ARM9:02046CB0 1E FF 2F E1                 BX      LR
  111. RAM_ARM9:02046CB0             @ End of function setVar8_
  112.  
  113.  
  114. RAM_ARM9:0203074C             allocateBlockFromArena__:               @ CODE XREF: sub_200545C+EEp
  115. RAM_ARM9:0203074C                                                     @ sub_200545C+10Ap ...
  116. RAM_ARM9:0203074C
  117. RAM_ARM9:0203074C             arg_0           =  0
  118. RAM_ARM9:0203074C
  119. RAM_ARM9:0203074C F0 41 2D E9                 STMFD   SP!, {R4-R8,LR} @ d
  120. RAM_ARM9:02030750 00 80 A0 E1                 MOV     R8, R0
  121. RAM_ARM9:02030754 01 70 A0 E1                 MOV     R7, R1
  122. RAM_ARM9:02030758 02 60 A0 E1                 MOV     R6, R2
  123. RAM_ARM9:0203075C 03 50 A0 E1                 MOV     R5, R3
  124. RAM_ARM9:02030760 52 FE FF EB                 BL      getNewHeap__
  125. RAM_ARM9:02030764 00 40 B0 E1                 MOVS    R4, R0
  126. RAM_ARM9:02030768 07 00 00 1A                 BNE     bank1
  127. RAM_ARM9:0203076C 72 FF FF EB                 BL      getHeapID__
  128. RAM_ARM9:02030770 B8 31 DD E1                 LDRH    R3, [SP,#0x18]
  129. RAM_ARM9:02030774 08 00 A0 E1                 MOV     R0, R8
  130. RAM_ARM9:02030778 07 10 A0 E1                 MOV     R1, R7
  131. RAM_ARM9:0203077C 05 20 A0 E1                 MOV     R2, R5
  132. RAM_ARM9:02030780 7A 00 00 EB                 BL      sub_2030970
  133. RAM_ARM9:02030784 B0 5E 01 EB                 BL      OSi_Panic__
  134. RAM_ARM9:02030788 0C 00 00 EA                 B       bank2
  135. RAM_ARM9:0203078C             @ ---------------------------------------------------------------------------
  136. RAM_ARM9:0203078C
  137. RAM_ARM9:0203078C             bank1:                                  @ CODE XREF: allocateBlockFromArena__+1Cj
  138. RAM_ARM9:0203078C B8 21 DD E1                 LDRH    R2, [SP,#0x18]
  139. RAM_ARM9:02030790 05 10 A0 E1                 MOV     R1, R5
  140. RAM_ARM9:02030794 3F 00 00 EB                 BL      sub_2030898
  141. RAM_ARM9:02030798 08 00 A0 E1                 MOV     R0, R8
  142. RAM_ARM9:0203079C 04 10 A0 E1                 MOV     R1, R4
  143. RAM_ARM9:020307A0 07 20 A0 E1                 MOV     R2, R7
  144. RAM_ARM9:020307A4 9B 00 00 EB                 BL      sub_2030A18
  145. RAM_ARM9:020307A8 00 00 56 E3                 CMP     R6, #0
  146. RAM_ARM9:020307AC 03 00 00 0A                 BEQ     bank2
  147. RAM_ARM9:020307B0 04 10 A0 E1                 MOV     R1, R4          @ pSrc
  148. RAM_ARM9:020307B4 07 20 A0 E1                 MOV     R2, R7          @ dataSize
  149. RAM_ARM9:020307B8 00 00 A0 E3                 MOV     R0, #0          @ data
  150. RAM_ARM9:020307BC B4 48 01 EB                 BL      MIi_CpuClear32__
  151. RAM_ARM9:020307C0
  152. RAM_ARM9:020307C0             bank2:                                  @ CODE XREF: allocateBlockFromArena__+3Cj
  153. RAM_ARM9:020307C0                                                     @ allocateBlockFromArena__+60j
  154. RAM_ARM9:020307C0 04 00 A0 E1                 MOV     R0, R4
  155. RAM_ARM9:020307C4 F0 81 BD E8                 LDMFD   SP!, {R4-R8,PC}
  156. RAM_ARM9:020307C4             @ End of function allocateBlockFromArena__
  157. RAM_ARM9:020307C4
  158.  
  159.  
  160. RAM_ARM9:02046CB4             @ =============== S U B R O U T I N E =======================================
  161. RAM_ARM9:02046CB4
  162. RAM_ARM9:02046CB4
  163. RAM_ARM9:02046CB4             structureSetupTexSystemAlloc__:         @ CODE XREF: fullscreenTexCopyAssignmentHandler__+42p
  164. RAM_ARM9:02046CB4 01 00 51 E3                 CMP     R1, #1          @ if
  165. RAM_ARM9:02046CB8 05 00 00 0A                 BEQ     loc_2046CD4
  166. RAM_ARM9:02046CBC 02 00 51 E3                 CMP     R1, #2          @ else if
  167. RAM_ARM9:02046CC0 05 00 00 0A                 BEQ     loc_2046CDC
  168. RAM_ARM9:02046CC4 03 00 51 E3                 CMP     R1, #3          @ else if
  169. RAM_ARM9:02046CC8 04 10 A0 03                 MOVEQ   R1, #4
  170. RAM_ARM9:02046CCC B2 10 C0 01                 STRHEQ  R1, [R0,#2]
  171. RAM_ARM9:02046CD0 03 00 00 EA                 B       loc_2046CE4     @ else
  172. RAM_ARM9:02046CD4             @ ---------------------------------------------------------------------------
  173. RAM_ARM9:02046CD4
  174. RAM_ARM9:02046CD4             loc_2046CD4:                            @ CODE XREF: structureSetupTexSystemAlloc__+4j
  175. RAM_ARM9:02046CD4 02 10 A0 E3                 MOV     R1, #2
  176. RAM_ARM9:02046CD8 00 00 00 EA                 B       loc_2046CE0
  177. RAM_ARM9:02046CDC             @ ---------------------------------------------------------------------------
  178. RAM_ARM9:02046CDC
  179. RAM_ARM9:02046CDC             loc_2046CDC:                            @ CODE XREF: structureSetupTexSystemAlloc__+Cj
  180. RAM_ARM9:02046CDC 03 10 A0 E3                 MOV     R1, #3
  181. RAM_ARM9:02046CE0
  182. RAM_ARM9:02046CE0             loc_2046CE0:                            @ CODE XREF: structureSetupTexSystemAlloc__+24j
  183. RAM_ARM9:02046CE0 B2 10 C0 E1                 STRH    R1, [R0,#2]
  184. RAM_ARM9:02046CE4
  185. RAM_ARM9:02046CE4             loc_2046CE4:                            @ CODE XREF: structureSetupTexSystemAlloc__+1Cj
  186. RAM_ARM9:02046CE4 08 10 9F E5                 LDR     R1, =0x48BF
  187. RAM_ARM9:02046CE8 04 20 80 E5                 STR     R2, [R0,#4]
  188. RAM_ARM9:02046CEC B0 10 C0 E1                 STRH    R1, [R0]
  189. RAM_ARM9:02046CF0 1E FF 2F E1                 BX      LR
  190. RAM_ARM9:02046CF0             @ End of function structureSetupTexSystemAlloc__
  191. RAM_ARM9:02046CF0
  192. RAM_ARM9:02046CF0             @ ---------------------------------------------------------------------------
  193. RAM_ARM9:02046CF4 BF 48 00 00 dword_2046CF4:  .long 0x48BF            @ DATA XREF: structureSetupTexSystemAlloc__:loc_2046CE4r
  194. RAM_ARM9:02046CF8
  195.  
  196.  
  197. RAM_ARM9:0206E97C             @ =============== S U B R O U T I N E =======================================
  198. RAM_ARM9:0206E97C
  199. RAM_ARM9:0206E97C
  200. RAM_ARM9:0206E97C             texAllocParametersCheck__:              @ CODE XREF: fullscreenTexCopyAssignmentHandler__+48p
  201. RAM_ARM9:0206E97C                                                     @ sub_2046CF8+84p ...
  202. RAM_ARM9:0206E97C BC 20 D0 E1                 LDRH    R2, [R0,#0xC]
  203. RAM_ARM9:0206E980 BE 10 D0 E1                 LDRH    R1, [R0,#0xE]
  204. RAM_ARM9:0206E984 02 30 80 E0                 ADD     R3, R0, R2
  205. RAM_ARM9:0206E988 01 00 51 E3                 CMP     R1, #1          @ use this to allocate?
  206. RAM_ARM9:0206E98C 06 00 00 1A                 BNE     loc_206E9AC
  207. RAM_ARM9:0206E990 00 20 90 E5                 LDR     R2, [R0]
  208. RAM_ARM9:0206E994 1C 10 9F E5                 LDR     R1, =0x30585442 @ BTX0
  209. RAM_ARM9:0206E998 01 00 52 E1                 CMP     R2, R1          @ is BTX0?
  210. RAM_ARM9:0206E99C 00 10 93 05                 LDREQ   R1, [R3]
  211. RAM_ARM9:0206E9A0 01 00 80 00                 ADDEQ   R0, R0, R1
  212. RAM_ARM9:0206E9A4 00 00 A0 13                 MOVNE   R0, #0
  213. RAM_ARM9:0206E9A8 1E FF 2F E1                 BX      LR
  214. RAM_ARM9:0206E9AC             @ ---------------------------------------------------------------------------
  215. RAM_ARM9:0206E9AC
  216. RAM_ARM9:0206E9AC             loc_206E9AC:                            @ CODE XREF: texAllocParametersCheck__+10j
  217. RAM_ARM9:0206E9AC 04 10 93 E5                 LDR     R1, [R3,#4]
  218. RAM_ARM9:0206E9B0 01 00 80 E0                 ADD     R0, R0, R1
  219. RAM_ARM9:0206E9B4 1E FF 2F E1                 BX      LR
  220. RAM_ARM9:0206E9B4             @ End of function texAllocParametersCheck__
  221. RAM_ARM9:0206E9B4
  222. RAM_ARM9:0206E9B4             @ ---------------------------------------------------------------------------
  223. RAM_ARM9:0206E9B8 42 54 58 30 dword_206E9B8:  .long 0x30585442        @ DATA XREF: texAllocParametersCheck__+18r
  224. RAM_ARM9:0206E9BC
  225.  
  226.  
  227. RAM_ARM9:02069FE8             @ =============== S U B R O U T I N E =======================================
  228. RAM_ARM9:02069FE8
  229. RAM_ARM9:02069FE8
  230. RAM_ARM9:02069FE8             @ unsigned int __fastcall NNS_G3dTexGetRequiredSize__(const struct NNSG3dResTex *pTex)
  231. RAM_ARM9:02069FE8             NNS_G3dTexGetRequiredSize__:            @ CODE XREF: fullscreenTexCopyAssignmentHandler__+4Ep
  232. RAM_ARM9:02069FE8                                                     @ sub_2047278+10p
  233. RAM_ARM9:02069FE8 00 00 50 E3                 CMP     R0, #0
  234. RAM_ARM9:02069FEC BC 00 D0 11                 LDRHNE  R0, [R0,#0xC]
  235. RAM_ARM9:02069FF0 80 01 A0 11                 MOVNE   R0, R0,LSL#3
  236. RAM_ARM9:02069FF4 00 00 A0 03                 MOVEQ   R0, #0
  237. RAM_ARM9:02069FF8 1E FF 2F E1                 BX      LR
  238. RAM_ARM9:02069FF8             @ End of function NNS_G3dTexGetRequiredSize__
  239. RAM_ARM9:02069FF8
  240. RAM_ARM9:02069FFC
  241.  
  242.  
  243. RAM_ARM9:02080C5C             @ =============== S U B R O U T I N E =======================================
  244. RAM_ARM9:02080C5C
  245. RAM_ARM9:02080C5C
  246. RAM_ARM9:02080C5C             GX_GetBankForTex__:                     @ CODE XREF: fullscreenTexCopyAssignmentHandler__+54p
  247. RAM_ARM9:02080C5C                                                     @ screenChange__+6p
  248. RAM_ARM9:02080C5C 04 00 9F E5                 LDR     R0, =0x2150E6C
  249. RAM_ARM9:02080C60 B8 00 D0 E1                 LDRH    R0, [R0,#8]
  250. RAM_ARM9:02080C64 1E FF 2F E1                 BX      LR
  251. RAM_ARM9:02080C64             @ End of function GX_GetBankForTex__
  252. RAM_ARM9:02080C64
  253. RAM_ARM9:02080C64             @ ---------------------------------------------------------------------------
  254. RAM_ARM9:02080C68 6C 0E 15 02 dword_2080C68:  .long 0x2150E6C         @ DATA XREF: GX_GetBankForTex__r
  255. RAM_ARM9:02080C6C
  256.  
  257.  
  258. RAM_ARM9:0206A010             @ =============== S U B R O U T I N E =======================================
  259. RAM_ARM9:0206A010
  260. RAM_ARM9:0206A010
  261. RAM_ARM9:0206A010             @ void __fastcall NNS_G3dTexSetTexKey__(struct NNSG3dResTex *pTex, struct NNSG3dTexKey *texKey, struct NNSG3dTexKey *tex4x4Key)
  262. RAM_ARM9:0206A010             NNS_G3dTexSetTexKey__:                  @ CODE XREF: fullscreenTexCopyAssignmentHandler__+9Cp
  263. RAM_ARM9:0206A010                                                     @ sub_2047010+60p ...
  264. RAM_ARM9:0206A010 00 00 51 E3                 CMP     R1, #0
  265. RAM_ARM9:0206A014 08 10 80 15                 STRNE   R1, [R0,#8]
  266. RAM_ARM9:0206A018 00 00 52 E3                 CMP     R2, #0
  267. RAM_ARM9:0206A01C 18 20 80 15                 STRNE   R2, [R0,#0x18]
  268. RAM_ARM9:0206A020 1E FF 2F E1                 BX      LR
  269. RAM_ARM9:0206A020             @ End of function NNS_G3dTexSetTexKey__
  270. RAM_ARM9:0206A020
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement