Advertisement
Doesnt

dexbst.asm

Sep 1st, 2015
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.18 KB | None | 0 0
  1.  
  2. .thumb
  3. .thumb_func
  4.  
  5. #.org 0x10611e
  6. #b 0x1061a8
  7.  
  8. #.org 0x106370
  9. #ldr r0, .MethodAddr
  10. #bx r0
  11.  
  12. #.MethodAddr: .word 0x08C83401
  13.  
  14. #.org 0x106530
  15. #b 0x1066d0
  16.  
  17. #x10611e: 43 E0
  18. #x106370: 00 48 00 47 <ptr to code+1>
  19. #x106530: CE E0
  20. #x452200: 0A
  21.  
  22.  
  23. mov r5, r1
  24. ldr r0, .StringPtr1
  25. ldr r1, .RAMHPSpePtr
  26. mov r2, #0x12
  27. bl strcpy
  28.  
  29. ldr r0, .StringPtr2
  30. ldr r1, .RAMAtkPtr
  31. mov r2, #0x12
  32. bl strcpy
  33.  
  34. ldr r0, .StringPtr3
  35. ldr r1, .RAMDefPtr
  36. mov r2, #0x12
  37. bl strcpy
  38.  
  39.  
  40. #HP
  41. ldr r4, .PokemonTable
  42. ldr r3, [sp, #0x1C]
  43. mov r0, #0x1c
  44. mul r3, r3, r0
  45. add r4, r4, r3
  46. ldrb r0, [r4, #0x0]
  47. ldr r1, .HPAddr
  48. bl WriteStat
  49.  
  50. #Atk
  51. ldrb r0, [r4, #0x1]
  52. ldr r1, .AtkAddr
  53. bl WriteStat
  54.  
  55. #Def
  56. ldrb r0, [r4, #0x2]
  57. ldr r1, .DefAddr
  58. bl WriteStat
  59.  
  60. #Speed
  61. ldrb r0, [r4, #0x3]
  62. ldr r1, .SpeedAddr
  63. bl WriteStat
  64.  
  65. #SpAtk
  66. ldrb r0, [r4, #0x4]
  67. ldr r1, .SpAtkAddr
  68. bl WriteStat
  69.  
  70. #SpDef
  71. ldrb r0, [r4, #0x5]
  72. ldr r1, .SpDefAddr
  73. bl WriteStat
  74.  
  75.  
  76. ldr r0, .RAMStoragePtr
  77. str r5, [r0, #0x0]
  78.  
  79. mov r3, #0x8
  80. str r3, [sp, #0x0]
  81. str r6, [sp, #0x4]
  82. mov r0, r5
  83. mov r1, #0x0
  84. ldr r2, .RAMHPSpePtr
  85. mov r3, #0x0
  86. bl WriteMethod
  87.  
  88. ldr r2, .RAMStoragePtr
  89. ldr r5, [r2, #0x0]
  90. mov r3, #0x14
  91. str r3, [sp, #0x0]
  92. str r6, [sp, #0x4]
  93. mov r0, r5
  94. mov r1, #0x0
  95. ldr r2, .RAMAtkPtr
  96. mov r3, #0x0
  97. bl WriteMethod
  98.  
  99. ldr r2, .RAMStoragePtr
  100. ldr r5, [r2, #0x0]
  101. mov r3, #0x20
  102. str r3, [sp, #0x0]
  103. str r6, [sp, #0x4]
  104. mov r0, r5
  105. mov r1, #0x0
  106. ldr r2, .RAMDefPtr
  107. mov r3, #0x0
  108. bl WriteMethod
  109.  
  110.  
  111. ldr r2, .RAMStoragePtr
  112. ldr r5, [r2, #0x0]
  113.  
  114.  
  115. ldr r0, [sp, #0x1C]
  116. mov r3, #0x1c
  117. mul r0, r3
  118. ldr r1, .PokemonTable
  119. mov r3, #0x16
  120. add r1, r1, r3
  121. add r1, r0, r1
  122. ldr r3, .AbilityTable
  123. ldrb r2, [r1, #0x0]
  124. mov r1, #0xd
  125. mul r1, r2
  126. add r2, r1, r3
  127.  
  128.  
  129. mov r3, #0x2c
  130. str r3, [sp, #0x0]
  131. str r6, [sp, #0x4]
  132. mov r0, r5
  133. mov r1, #0x0
  134. mov r3, #0x0
  135. bl WriteMethod
  136.  
  137. ldr r0, [sp, #0x1C]
  138. mov r3, #0x1c
  139. mul r0, r3
  140. ldr r1, .PokemonTable
  141. mov r3, #0x16
  142. add r1, r1, r3
  143. add r1, r0, r1
  144. ldrb r2, [r1, #0x1]
  145. ldrb r5, [r1, #0x0]
  146. ldr r3, .AbilityTable
  147. cmp r2, r5
  148. beq SkipAbilTwo
  149. cmp r2, #0x0
  150. beq SkipAbilTwo
  151. mov r1, #0xd
  152. mul r1, r2
  153. add r2, r1, r3
  154.  
  155.  
  156. ldr r0, .RAMStoragePtr
  157. ldr r5, [r0, #0x0]
  158.  
  159. mov r3, #0x38
  160. str r3, [sp, #0x0]
  161. str r6, [sp, #0x4]
  162. mov r0, r5
  163. mov r1, #0x0
  164. mov r3, #0x0
  165. bl WriteMethod
  166.  
  167. SkipAbilTwo:
  168. End:
  169. mov r5, #0x4
  170. ldr r0, .EndAddr
  171. bx r0
  172.  
  173. WriteMethod:
  174. ldr r5, .WriteMethodOffset
  175. bx r5
  176.  
  177.  
  178. WriteStat:
  179. ldr r2, .StringTable
  180. lsl r0, r0, #0x2
  181. add r0, r0, r2
  182. mov r2, #0x4
  183. #fall through
  184.  
  185. strcpy:
  186. loop:
  187. ldrb r3, [r0, #0x0]
  188. strb r3, [r1, #0x0]
  189.  
  190. add r0, r0, #0x1
  191. add r1, r1, #0x1
  192. sub r2, r2, #0x1
  193.  
  194. cmp r2, #0x0
  195. bne loop
  196. bx lr
  197.  
  198.  
  199.  
  200. .align 2
  201. .WriteMethodOffset: .word 0x081047c9
  202. .RAMHPSpePtr: .word 0x02023be4
  203. .RAMAtkPtr: .word 0x02023bf8
  204. .RAMDefPtr: .word 0x02023c0c
  205. .RAMStoragePtr: .word 0x02023c20
  206. .HPAddr: .word 0x02023be8
  207. .SpeedAddr: .word 0x02023bf1
  208. .AtkAddr: .word 0x02023bfc
  209. .SpAtkAddr: .word 0x02023c05
  210. .DefAddr: .word 0x02023c10
  211. .SpDefAddr: .word 0x02023c19
  212. .EndAddr: .word 0x08106381
  213.  
  214.  
  215. #Update these!!
  216. .PokemonTable: .word 0x08254784
  217. .AbilityTable: .word 0x08C8D370
  218. .StringTable: .word 0x085B26F0
  219. .StringPtr1: .word 0x085B2AF0
  220. .StringPtr2: .word 0x085B2B10
  221. .StringPtr3: .word 0x085B2B30
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement