Sleipnir17

Spanish RS Arbitrary Code Execution

Dec 2nd, 2022 (edited)
398
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 63.23 KB | None | 0 0
  1. This guide will allow you to setup Arbitrary Code Execution on Pokémon Ruby / Sapphire Spanish versions, provided that you can perform some glitches on a Pokémon Emerald of any language and you have a way to trade Pokémon from said Emerald to the target game
  2.  
  3.  
  4. | Requirements |
  5.  
  6. In order to correctly follow this procedure there are some mandatory requiremens:
  7. Required skills:
  8. - Knowing how to perform Merrp's ACE, which basically means:
  9. - Knowing how to EV train a Pokémon to get exact amounts
  10. - Knowing how to perform a cloning glitch of any kind
  11. - Being able to perfrom a basic single corruption on a Pokémon
  12. Required hardware:
  13. If you play on console:
  14. - A Pokémon Emerald cartridge of any language. You'll need to perform glitches on this game
  15. - A Pokémon Ruby or Sapphire cartridge, Spanish version (if you're instead playing on a non-Spanish RS, you're reading the wrong
  16. guide, go here for Japanese: https://pastebin.com/D3GULLe6 or here for non-Japanese non-Spanish: https://pastebin.com/17168wi3)
  17. - Two consoles and something to trade between them. Only one trade is needed thus the second console and the trading hardware are only
  18. needed for a few minutes: if you need the help of a friend to get this stuff you'll be able to give them back immediately without
  19. the need of actually borrow the material
  20. If you play on emulator:
  21. - A computer (everything else is just software so you'll be able to get it in any case). To my knowledge, emulation on different
  22. devices don't allow trading: if I'm wrong, any emulator that allows trading should be ok
  23.  
  24.  
  25. | Overview |
  26.  
  27. This method can be split in three steps:
  28.  
  29. Step 1: on Emerald, by performing a single Arbitrary Code Execution, an egg containing a Crobat with the ACE move will be generated. For information only, said ACE move is 0X30BD for Spanish Ruby and Sapphire games
  30.  
  31. Step 2: on Emerald, the bootstrap (which is a Banette and a Pokémon of your choice) will be generated via ACE. Step 2 is different depending on Emerald language: on Japanese version you'll need one code, on all non-jap versions you'll need two codes. If you have the privilege of choosing your Emerald language (this is always the case for emulator users), chosing Japanse will make your life a bit easier
  32.  
  33. Step 3: Crobat egg and the bootstrap will be traded from Emerald to the target RS game. RS will be set up for allowing ACE to be performed
  34.  
  35.  
  36. | Step 1: Get the move |
  37.  
  38. -Setup your Pokémon Emerald game in order to perform Merrp's ACE
  39. -Leave Box 9 slot 27 empty
  40. -Execute the right code from this list. Choose depending on your Emerald language:
  41.  
  42. English Emerald:
  43. movs r11, A9 E3B0B0A9 %% R11=A9=species
  44. sbc r12,pc,3040 E2CFCDC1 %% R12=PC-3040-1
  45. movs r10, 3FC000 E3B0A9FF %% R10=3FC000=egg halfword
  46. strh r10 [r12, **] E1CCA*B* %% Store egg halfword ** = 60 on old emulators, 5E on console/new emulators
  47. -filler- BFBFFF00
  48. strh r11 [r12, 3*] E1CCB3B* %% Store species * = 6 on old emulators, 4 on console/new emulators
  49. -filler- BFFF0000
  50. movs r11, 3000 E3B0BDC0 %% R11=3000
  51. -filler- FF000000
  52. adc r11,r11, BD E2ABB0BD %% R11=R11+BD=30BD=ACE move
  53. strh r11 [r12, 4*] E1CCB4B* %% Store ACE move * = 2 on old emulators, 0 on console/new emulators
  54. adc r10,r11, 3FC000 E2ABA9FF %% R10=R11+3FC000=3FF0BD
  55. adc r11,r10, A9 E2AAB0A9 %% R11=R10+A9=3FF166=new checksum
  56. -filler- BFBFFF00
  57. strh r11 [r12, 3*] E1CCB3B* %% Store checksum * = 2 on old emulators, 0 on console/new emulators
  58. -filler- BFFF0000
  59. -filler- BFBFBFBF
  60. -filler- FFBFBFBF
  61. mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
  62. sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
  63. sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
  64. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  65. -filler- BFBFFF00
  66. str r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  67. -filler- BFFF0000
  68. adc r12,lr, DC0 E2AECEDC %% R12=LR+DC0
  69. -filler- FF000000
  70. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  71. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  72. -filler- BFBFBFFF
  73. adc r0,r12, D6 E2AC00D6 %% R0=R12+D6=SetCB2WhiteOutENG
  74.  
  75. Box names:
  76. Box 1: (8……oGSUn) [two …]
  77. Box 2: (8…o*°Rm ) [one …; ends with space] *° = …5 [one …] on old emulators, D4 on console/new emulators
  78. Box 3: (EE*'Rm ) [lefty '; ends with two spaces] * = ♀ on new emulators, ' [righty '] on console/new emulators
  79. Box 4: (EFC…o ) [one …; ends with three spaces]
  80. Box 5: (C…!n*'Rm) [one …; righty '] * = " [righty "] on old emulators, … [one …] on console/new emulators
  81. Box 6: (8!n8…9n ) [one …; ends with space]
  82. Box 7: (EE*'Rm ) [lefty '; ends with two spaces] * = " [righty "] on old emulators, … [one …] on console/new emulators
  83. Box 8: (EEEEEEEE)
  84. Box 9: (z♀loy…Qn) [lower case L; one …]
  85. Box 10: (♀QnFGEn ) [ends with space]
  86. Box 11: (EE …?q ) [one space after E; one …; ends with two spaces]
  87. Box 12: (EhT-n ) [ends with three spaces]
  88. Box 13: (YN?nFNRo)
  89. Box 14: (EEEb ?n ) [one space after b; ends with space]
  90. _______________________________
  91. Italian Emerald:
  92. movs r11, A9 E3B0B0A9 %% R11=A9=species
  93. sbc r12,pc,3040 E2CFCDC1 %% R12=PC-3040-1
  94. movs r10, 3FC000 E3B0A9FF %% R10=3FC000=egg halfword
  95. strh r10 [r12, **] E1CCA*B* %% Store egg halfword ** = 60 on old emulators, 5E on console/new emulators
  96. -filler- BFBFFF00
  97. strh r11 [r12, 3*] E1CCB3B* %% Store species * = 6 on old emulators, 4 on console/new emulators
  98. -filler- BFFF0000
  99. movs r11, 3000 E3B0BDC0 %% R11=3000
  100. -filler- FF000000
  101. adc r11,r11, BD E2ABB0BD %% R11=R11+BD=30BD=ACE move
  102. strh r11 [r12, 4*] E1CCB4B* %% Store ACE move * = 2 on old emulators, 0 on console/new emulators
  103. adc r10,r11, 3FC000 E2ABA9FF %% R10=R11+3FC000=3FF0BD
  104. adc r11,r10, A9 E2AAB0A9 %% R11=R10+A9=3FF166=new checksum
  105. -filler- BFBFFF00
  106. strh r11 [r12, 3*] E1CCB3B* %% Store checksum * = 2 on old emulators, 0 on console/new emulators
  107. -filler- BFFF0000
  108. -filler- BFBFBFBF
  109. -filler- FFBFBFBF
  110. mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
  111. sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
  112. sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
  113. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  114. -filler- BFBFFF00
  115. str r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  116. -filler- BFFF0000
  117. adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
  118. -filler- FF000000
  119. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  120. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  121. -filler- B2AC00FF
  122. sbc r0,r12, DD E2CC00DD %% R0=R12-DD=SetCB2WhiteOutITA
  123.  
  124. Box names:
  125. Box 1: (8……oGSUn) [two …]
  126. Box 2: (8…o*°Rm ) [one …; ends with space] *° = …5 [one …] on old emulators, D4 on console/new emulators
  127. Box 3: (EE*'Rm ) [lefty '; ends with two spaces] * = ♀ on new emulators, ' [righty '] on console/new emulators
  128. Box 4: (EFC…o ) [one …; ends with three spaces]
  129. Box 5: (C…!n*'Rm) [one …; righty '] * = " [righty "] on old emulators, … [one …] on console/new emulators
  130. Box 6: (8!n8…9n ) [one …; ends with space]
  131. Box 7: (EE*'Rm ) [lefty '; ends with two spaces] * = " [righty "] on old emulators, … [one …] on console/new emulators
  132. Box 8: (EEEEEEEE)
  133. Box 9: (z♀loy…Qn) [lower case L; one …]
  134. Box 10: (♀QnFGEn ) [ends with space]
  135. Box 11: (?" …?q ) [righty "; one space after "; ends with two spaces]
  136. Box 12: (E,T-n ) [ends with three spaces]
  137. Box 13: (YN?nFNRo)
  138. Box 14: ( ?"i Rn ) [starts with space, righty "; one space after i; ends with space]
  139. _______________________________
  140. German Emerald:
  141. movs r11, A9 E3B0B0A9 %% R11=A9=species
  142. sbc r12,pc,3040 E2CFCDC1 %% R12=PC-3040-1
  143. movs r10, 3FC000 E3B0A9FF %% R10=3FC000=egg halfword
  144. strh r10 [r12, **] E1CCA*B* %% Store egg halfword ** = 60 on old emulators, 5E on console/new emulators
  145. -filler- BFBFFF00
  146. strh r11 [r12, 3*] E1CCB3B* %% Store species * = 6 on old emulators, 4 on console/new emulators
  147. -filler- BFFF0000
  148. movs r11, 3000 E3B0BDC0 %% R11=3000
  149. -filler- FF000000
  150. adc r11,r11, BD E2ABB0BD %% R11=R11+BD=30BD=ACE move
  151. strh r11 [r12, 4*] E1CCB4B* %% Store ACE move * = 2 on old emulators, 0 on console/new emulators
  152. adc r10,r11, 3FC000 E2ABA9FF %% R10=R11+3FC000=3FF0BD
  153. adc r11,r10, A9 E2AAB0A9 %% R11=R10+A9=3FF166=new checksum
  154. -filler- BFBFFF00
  155. strh r11 [r12, 3*] E1CCB3B* %% Store checksum * = 2 on old emulators, 0 on console/new emulators
  156. -filler- BFFF0000
  157. -filler- BFBFBFBF
  158. -filler- FFBFBFBF
  159. mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
  160. sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
  161. sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
  162. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  163. -filler- BFBFFF00
  164. str r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  165. -filler- BFFF0000
  166. adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
  167. -filler- FF000000
  168. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  169. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  170. -filler- B2AC00FF
  171. adc r0,r12, A8 E2AC00A8 %% R0=R12+A8=SetCB2WhiteOutGER
  172.  
  173. Box names:
  174. Box 1: (8……oGSUn) [two …]
  175. Box 2: (8…o*°Rm ) [one …; ends with space] *° = …5 [one …] on old emulators, D4 on console/new emulators
  176. Box 3: (EE*'Rm ) [lefty '; ends with two spaces] * = ♀ on new emulators, ' [righty '] on console/new emulators
  177. Box 4: (EFC…o ) [one …; ends with three spaces]
  178. Box 5: (C…!n*'Rm) [one …; righty '] * = " [righty "] on old emulators, … [one …] on console/new emulators
  179. Box 6: (8!n8…9n ) [one …; ends with space]
  180. Box 7: (EE*'Rm ) [lefty '; ends with two spaces] * = " [righty "] on old emulators, … [one …] on console/new emulators
  181. Box 8: (EEEEEEEE)
  182. Box 9: (z♀loy…Qn) [lower case L; one …]
  183. Box 10: (♀QnFGEn ) [ends with space]
  184. Box 11: (?" …?q ) [righty "; one space after "; ends with two spaces]
  185. Box 12: (E0T-n ) [zero; ends with three spaces]
  186. Box 13: (YN?nFNRo)
  187. Box 14: ( ?"7 ?n ) [starts with space, righty "; one space after 7; ends with space]
  188. _______________________________
  189. Spanish Emerald:
  190. movs r11, A9 E3B0B0A9 %% R11=A9=species
  191. sbc r12,pc,3040 E2CFCDC1 %% R12=PC-3040-1
  192. movs r10, 3FC000 E3B0A9FF %% R10=3FC000=egg halfword
  193. strh r10 [r12, **] E1CCA*B* %% Store egg halfword ** = 60 on old emulators, 5E on console/new emulators
  194. -filler- BFBFFF00
  195. strh r11 [r12, 3*] E1CCB3B* %% Store species * = 6 on old emulators, 4 on console/new emulators
  196. -filler- BFFF0000
  197. movs r11, 3000 E3B0BDC0 %% R11=3000
  198. -filler- FF000000
  199. adc r11,r11, BD E2ABB0BD %% R11=R11+BD=30BD=ACE move
  200. strh r11 [r12, 4*] E1CCB4B* %% Store ACE move * = 2 on old emulators, 0 on console/new emulators
  201. adc r10,r11, 3FC000 E2ABA9FF %% R10=R11+3FC000=3FF0BD
  202. adc r11,r10, A9 E2AAB0A9 %% R11=R10+A9=3FF166=new checksum
  203. -filler- BFBFFF00
  204. strh r11 [r12, 3*] E1CCB3B* %% Store checksum * = 2 on old emulators, 0 on console/new emulators
  205. -filler- BFFF0000
  206. -filler- BFBFBFBF
  207. -filler- FFBFBFBF
  208. mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
  209. sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
  210. sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
  211. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  212. -filler- BFBFFF00
  213. str r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  214. -filler- BFFF0000
  215. adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
  216. -filler- FF000000
  217. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  218. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  219. -filler- B2AC00FF
  220. sbc r0,r12, D5 E2CC00D5 %% R0=R12-D5=SetCB2WhiteOutSPA
  221.  
  222. Box names:
  223. Box 1: (8……oGSUn) [two …]
  224. Box 2: (8…o*°Rm ) [one …; ends with space] *° = …5 [one …] on old emulators, D4 on console/new emulators
  225. Box 3: (EE*'Rm ) [lefty '; ends with two spaces] * = ♀ on new emulators, ' [righty '] on console/new emulators
  226. Box 4: (EFC…o ) [one …; ends with three spaces]
  227. Box 5: (C…!n*'Rm) [one …; righty '] * = " [righty "] on old emulators, … [one …] on console/new emulators
  228. Box 6: (8!n8…9n ) [one …; ends with space]
  229. Box 7: (EE*'Rm ) [lefty '; ends with two spaces] * = " [righty "] on old emulators, … [one …] on console/new emulators
  230. Box 8: (EEEEEEEE)
  231. Box 9: (z♀loy…Qn) [lower case L; one …]
  232. Box 10: (♀QnFGEn ) [ends with space]
  233. Box 11: (?" …?q ) [righty "; one space after "; ends with two spaces]
  234. Box 12: (E,T-n ) [ends with three spaces]
  235. Box 13: (YN?nFNRo)
  236. Box 14: ( ?"a Rn ) [starts with space, righty "; one space after a; ends with space]
  237. _______________________________
  238. French Emerald:
  239. movs r11, A9 E3B0B0A9 %% R11=A9=species
  240. sbc r12,pc,3040 E2CFCDC1 %% R12=PC-3040-1
  241. movs r10, 3FC000 E3B0A9FF %% R10=3FC000=egg halfword
  242. strh r10 [r12, **] E1CCA*B* %% Store egg halfword ** = 60 on old emulators, 5E on console/new emulators
  243. -filler- BFBFFF00
  244. strh r11 [r12, 3*] E1CCB3B* %% Store species * = 6 on old emulators, 4 on console/new emulators
  245. -filler- BFFF0000
  246. movs r11, 3000 E3B0BDC0 %% R11=3000
  247. -filler- FF000000
  248. adc r11,r11, BD E2ABB0BD %% R11=R11+BD=30BD=ACE move
  249. strh r11 [r12, 4*] E1CCB4B* %% Store ACE move * = 2 on old emulators, 0 on console/new emulators
  250. adc r10,r11, 3FC000 E2ABA9FF %% R10=R11+3FC000=3FF0BD
  251. adc r11,r10, A9 E2AAB0A9 %% R11=R10+A9=3FF166=new checksum
  252. -filler- BFBFFF00
  253. strh r11 [r12, 3*] E1CCB3B* %% Store checksum * = 2 on old emulators, 0 on console/new emulators
  254. -filler- BFFF0000
  255. -filler- BFBFBFBF
  256. -filler- FFBFBFBF
  257. mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
  258. sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
  259. sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
  260. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  261. -filler- BFBFFF00
  262. str r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  263. -filler- BFFF0000
  264. adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
  265. -filler- FF000000
  266. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  267. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  268. -filler- B2AC00FF
  269. adc r0,r12, C8 E2AC00C8 %% R0=R12+C8=SetCB2WhiteOutFRA
  270.  
  271. Box names:
  272. Box 1: (8……oGSUn) [two …]
  273. Box 2: (8…o*°Rm ) [one …; ends with space] *° = …5 [one …] on old emulators, D4 on console/new emulators
  274. Box 3: (EE*'Rm ) [lefty '; ends with two spaces] * = ♀ on new emulators, ' [righty '] on console/new emulators
  275. Box 4: (EFC…o ) [one …; ends with three spaces]
  276. Box 5: (C…!n*'Rm) [one …; righty '] * = " [righty "] on old emulators, … [one …] on console/new emulators
  277. Box 6: (8!n8…9n ) [one …; ends with space]
  278. Box 7: (EE*'Rm ) [lefty '; ends with two spaces] * = " [righty "] on old emulators, … [one …] on console/new emulators
  279. Box 8: (EEEEEEEE)
  280. Box 9: (z♀loy…Qn) [lower case L; one …]
  281. Box 10: (♀QnFGEn ) [ends with space]
  282. Box 11: (?" …?q ) [righty "; one space after "; ends with two spaces]
  283. Box 12: (E0T-n ) [zero; ends with three spaces]
  284. Box 13: (YN?nFNRo)
  285. Box 14: ( ?"N ?n ) [starts with space, righty "; one space after N; ends with space]
  286. _______________________________
  287. Japanese Emerald (0x0615-like execution):
  288. movs r11, A9 E3B0B0A9 %% R11=A9=species
  289. sbc r12,pc,3040 E2CFCDC1 %% R12=PC-3040-1
  290. movs r10, 3FC000 E3B0A9FF %% R10=3FC000=egg halfword
  291. strh r10 [r12, **]! E1ECA*B* %% Store egg halfword ** = 60 on old emulators, 5E on console/new emulators
  292. -filler- BFBFFF00
  293. strh r11 [r12, -2A] E14CB2BA %% Store species
  294. -filler- BFFF0000
  295. movs r11, 3000 E3B0BDC0 %% R11=3000
  296. -filler- FF000000
  297. adc r11,r11, BD E2ABB0BD %% R11=R11+BD=30BD=ACE move
  298. strh r11 [r12, -1E] E14CB1BE %% Store ACE move
  299. adc r10,r11, 3FC000 E2ABA9FF %% R10=R11+3FC000=3FF0BD
  300. adc r11,r10, A9 E2AAB0A9 %% R11=R10+A9=3FF166=new checksum
  301. -filler- BFBFFF00
  302. strh r11 [r12, -2E] E14CB2BE %% Store checksum
  303. -filler- BFFF0000
  304. -filler- 00000000
  305. -filler- FF000000
  306. -filler- 000000BF
  307. -filler- 00000000
  308. -filler- 000000FF
  309. lrd r0 [pc, -*] E51F000* %% R0=081378ED=SetCB2WhiteOutJAP * = 0 on old emulators, 2 on console/new emulators
  310. bx r0 E12FFF10 %% Exit the execution
  311. -data- 081378ED
  312.  
  313. Box names:
  314. Box 1: (8……oGSUn) [two …]
  315. Box 2: (8…o*°xm ) [one …; ends with space] *° = …5 [one …] on old emulators, D4 on console/new emulators
  316. Box 3: (EE/』ぴm ) [ends with two spaces]
  317. Box 4: (EFC…o ) [one …; ends with three spaces]
  318. Box 5: (C…!nD『ぴm) [one …]
  319. Box 6: (8!n8…9n ) [one …; ends with space]
  320. Box 7: (EED』ぴm ) [ends with two spaces]
  321. Box 8: (E ) [ends with seven spaces]
  322. Box 9: (E ) [ends with seven spaces]
  323. Box 10: ( * まqた) [starts with three spaces; one space after *] * = [space] on old emulators, い on console/new emulators
  324. Box 11: (ぁmyリてく ) [リ not り; ends with two spaces]
  325. Box 12 onwards: anything
  326. _______________________________
  327. Japanese Emerald (0x085F-like execution):
  328. mov r1,pc 4679 %% R1=PC+4
  329. ldr r0 pc+20 4808 %% R0=3008
  330. sub r1,r1,r0 1A09 %% R1=R1-R0=checksum location
  331. ldr r0 pc+18 4806 %% R0=FF007166=checksum
  332. -filler- 00FF
  333. strh r0,[r1] 8008 %% Store checksum
  334. ldr r0 pc+18 4806 %% R0=A9=species
  335. b pc,4 E000 %% Skip bad filler
  336. -bad filler- FF00
  337. strh r0,[r1,4] 8088 %% Store species
  338. ldr r0 pc+18 4806 %% R0=30BD=ACE move
  339. strh r0,[r1,10] 8208 %% Store ACE move
  340. ldr r0 pc+1C 4807 %% R0=4000=egg halfword
  341. -filler- 00FF
  342. strh r0,[r1,2E] 85C8 %% Store egg halfword
  343. bx lr 4770
  344. -data- 7166
  345. -data- FF00
  346. -data- 3008
  347. -data- 0000
  348. -data- 00A9
  349. -data- 0000
  350. -filler- 00FF
  351. -filler- 0000
  352. -data- 30BD
  353. -data- 0000
  354. -filler- FF00
  355. -filler- 0000
  356. -data- 4000
  357. -data- 0000
  358.  
  359. Box names:
  360. Box 1: (ルばくぶけはかぶ)
  361. Box 2: ( くィかぶ l ) [starts with space; one space after ぶ; lower case L; ends with space]
  362. Box 3: (ギィかぶくェきぶ) [ィ not イ]
  363. Box 4: ( Nュミびニム ) [starts with space; ends with space]
  364. Box 5: (くぃ 8 ) [two spaces after ぃ; ends with three spaces]
  365. Box 6: ( Cぃ ) [starts with three spaces; ぃ not い; ends with three spaces]
  366. Box 7: ( ぞ ) [starts with three spaces; ends with four spaces]
  367. Box 8 onwards: Anything
  368. _______________________________________________________________________________________________________________________________________
  369. Result: 00000000 00000000 00000000 00000000
  370. 00000000 00000000 00000000 0000F166
  371. 000000A9 00000000 00000000 000030BD
  372. 00000000 00000000 00000000 00000000
  373. 00000000 00000000 C0000000 00000000
  374.  
  375. After the execution there should be a regular egg in box 9 slot 27: if so, keep that egg in safe (you can move it if you want but don't put it in your team) and save the game. If you get any different result (like a Bad egg), the code didn't work: softreset and check for mistakes in box names before trying again
  376.  
  377. | Step 2: Get the bootstrap |
  378.  
  379. Step 2 requires some more code executions. If your Emerald game is any non-Japanese version you'll need to follow Step 2-B, where 2 executions in a row will be necessary. If you're instead using a Japanese Emerald you'll need to follow Step 2-A, where only one code execution is needed. In all cases, the resulting bootstrap will be the same and will work both on Ruby and Sapphire (Spanish)
  380.  
  381. | Step 2-A (Japanese Emerald only) |
  382.  
  383. Write the box names for this code (choose the right one depending on the type of execution you wish to trigger, 0x085F-like or 0x0615-like). Make sure that box 1 slot 1 is empty.
  384. In the Day Care place either:
  385. -a female specimen of any species (you can choose freely as long as it can be female), or
  386. -a Ditto and a specimen of any species (you can freely choose it) regardless of its gender
  387. then execute this code. The Pokémon placed in the Day Care will be fine.
  388. If everything works out you should find a shiny Banette in box 1 slot 1. Look at Banette's summary: it should be female, Lv.0, in a Pokeball, hardy nature, obtained in a trade, its OT should be blank, its TID should be 00000 and its nickname should be blank.
  389. If so, talk to the old man outside the Day Care: even if he is in his regular position he should hand you an egg. If so, save the game. If anything is different from what stated, softreset and check for mistakes in box names before trying again.
  390. Hatch the egg (it will have the species you chose) and place the newborn somewhere in your PC. You can keep Banette where it is or place it wherever you want but don't put it in your team yet. You're now ready for Step 3
  391.  
  392. 0x0615-like execution:
  393.  
  394. adc r2,pc,* E2AF200* %% R2=PC+*+8 * = D on old emulators, B on console/new emulators
  395. adc r1,pc,** E2AF10** %% R1=PC+8+** ** = 11 on old emulators, 0F on console/new emulators
  396. adc r1,r1,3FC0 E2A11DFF %% R1=R1+3FC0
  397. sbc r1,r1,C300 E2C11CC3 %% R1=R1-C300-1
  398. bx r2 E12FFF12 %% switch to THUMB execution
  399. mov r0,49 2049 %% R0=49
  400. strb r0,[r1,1] 7048
  401. ldr r0 pc+20 4808 %% R0=FF017A
  402. -filler- 00FF
  403. strh r0,[r1,4] 8088
  404. ldr r0 pc+18 4806 %% R0=03834403
  405. b pc,4 E000 %% Skip bad filler
  406. -Bad filler- FF00
  407. str r0,[r1,30] 6308
  408. ldr r0 pc+18 4806 %% R0=CE0
  409. sub r1,r1,r0 1A09 %% R1=R1-R0
  410. ldr r0 pc+8 4802 %% R0=0800FF02
  411. -filler- 00FF
  412. str r0,[r1] 6008
  413. ldr r2 pc+14 4A05 %% R2=081378ED
  414. bx r2 4710
  415. -data- FF02
  416. -data- 0800
  417. -data- 4403
  418. -data- 0383
  419. -data- 017A
  420. -data- 00FF
  421. -data- 0CE0
  422. -data- 0000
  423. -filler- 0000
  424. -filler- FF00
  425. -data- 78ED
  426. -data- 0813
  427.  
  428. Box 1: (*み・n°た・n)
  429. * = す on old emulators, さ on console/new emulators ; ° = ち on old emulators, そ on console/new emulators
  430.  
  431. Box 2: (へ0nIふGnつ) [へ not ヘ; zero; upper case i; つ not っ]
  432. Box 3: (ぁmべみぶミくぶ) [べ not ベ; ぁ not あ]
  433. Box 4: ( ギィかぶ l ) [starts with space; ィ not イ ; one space afer ぶ; lower case L; ends with space]
  434. Box 5: (くテかぶけはいぶ) [い not ぃ]
  435. Box 6: ( くタおぼたびい) [starts with space; お not ぉ; い not ぃ]
  436. Box 7: ( くうでォうレあ) [starts with space; う not ぅ; ォ not オ; う not ぅ; あ noy ぁ]
  437. Box 8: ( lし ) [starts with space; lower case L; ends with 5 spaces]
  438. Box 9: (yリてく ) [リ not り; ends with four spaces]
  439. Box 10 onwards: Anything
  440. _______________________________________________________________________________________________________________________________________
  441.  
  442. 0x085F-like execution:
  443.  
  444. mov r1,pc 4679 %% R1=PC+2
  445. ldr r0 pc+24 4809 %% R0=8328
  446. sub r1,r1,r0 1A09 %% R1=R1-R0=starting position
  447. mov r0,49 2049 %% R0=49
  448. -filler- 00FF
  449. strb r0,[r1,1] 7048
  450. ldr r0 pc+2C 480B %% R0=FF017A
  451. b pc,4 E000 %% Skip bad filler
  452. -Bad filler- FF00
  453. strh r0,[r1,4] 8088
  454. ldr r0 pc+20 4808 %% R0=03834403
  455. str r0,[r1,30] 6308
  456. ldr r0 pc+14 4805 %% R0=CE0
  457. -filler- 00FF
  458. sub r1,r1,r0 1A09 %% R1=R1-R0
  459. ldr r0 pc+14 4805 %% R0=0800FF02
  460. b pc,4 E000 %% Skip bad filler
  461. -Bad filler- FF00
  462. str r0,[r1] 6008
  463. bx lr 4770
  464. -data- 8328
  465. -data- 0000
  466. -filler- 00FF
  467. -filler- 0000
  468. -data- 0CE0
  469. -data- 0000
  470. -data- FF02
  471. -data- 0800
  472. -data- 4403
  473. -data- 0383
  474. -data- 017A
  475. -filler- 00FF
  476.  
  477. Box names:
  478. Box 1: (ルばけぶけはべみ) [べ not ベ]
  479. Box 2: ( ぶミさぶ l ) [starts with space; one space after ぶ; lower case L; ends with space]
  480. Box 3: (ギィくぶくテおぶ) [ィ not イ; お not ぉ]
  481. Box 4: ( けはおぶ l ) [starts with space; お not ぉ; one space after ぶ; lower case L; ends with space]
  482. Box 5: (くタミびりォ ) [り not リ; ォ not オ; ends with two spaces]
  483. Box 6: ( lし い) [starts with three spaces; lower case L; two spaces after し; い not ぃ]
  484. Box 7: ( くうでォうレあ) [starts with space; う not ぅ; ォ not オ; う not ぅ; あ not ぁ]
  485. Box 8 onwards: Anything
  486. _______________________________________________________________________________________________________________________________________
  487. Result: 00000000 00000000 00000000 00000000
  488. 00000000 00000000 00000000 00004900
  489. 0000017A 00000000 00000000 00000000
  490. 00000000 00000000 00000000 00000000
  491. 00000000 00000000 00000000 03834403 in box 1 slot 1
  492. and: 0800FF02 in daycare egg PID
  493.  
  494.  
  495. | Step 2-B (non-Japanese Emerald only) |
  496.  
  497. Execute these two codes in the order you find them. Use the right version of the codes according to your Emerald language.
  498. Carefully read the notes you find before each code before executing them.
  499.  
  500. Note: Write the box names for this code, choosing the right version depending on Emerald language. In the Day Care place either:
  501. -a female specimen of any species (you can choose freely as long as it can be female), or
  502. -a Ditto and a specimen of any species (you can freely choose it) regardless of its gender
  503. then execute this code. The Pokémon placed in the Day Care will be fine
  504.  
  505. _____________________________________________________________________________________________________________________________________
  506. | |
  507. | Code 1 |
  508. |_____________________________________________________________________________________________________________________________________|
  509.  
  510. English version:
  511.  
  512. sbc r10, pc, A300 E2CFACA3 %% R10=PC-A300-1
  513. movs r12, 8000003 E3B0C3C2 %% R12=8000003
  514. adc r12, r12, FF00 E2ACCCFF %% R12=R12+FF00=800FF03
  515. sbc r12, r12, 0 E2CCC000 %% R12=R12-0-1=800FF02
  516. -filler- BFBFFF00
  517. adc r10,r10, E20 E2AAAEE2 %% R10=R10+E20
  518. -filler- BFFF0000
  519. str r12, [r10, 4D3]! E5AAC4D3
  520. -filler- FF000000
  521. -filler- BFBFBFBF
  522. -filler- BFBFBFBF
  523. -filler- BFBFBFFF
  524. -filler- BFBFBFBF
  525. -filler- BFBFFFBF
  526. mvn r11, E1 E3E0B0E1 %% R11=notE1=FFFFFF1E
  527. -filler- BFFF0000
  528. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  529. -filler- FF000000
  530. bic r11,r11, ED00000 E3CBB6ED %% R11=R11 and notED00000=F12FFF1E
  531. bic r11,r11, 1000000E E3CBB2E1 %% R11=R11 and not1000000E=E12FFF10=bx r0 opcode
  532. -filler- BFBFBFFF
  533. str r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  534. -filler- BFBFFF00
  535. adc r12,lr, DC0 E2AECEDC %% R12=LR+DC0
  536. -filler- BFFF0000
  537. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  538. -filler- FF000000
  539. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  540. adc r0,r12, D6 E2AC00D6 %% R0=R12+D6=SetCB2WhiteOutENG
  541. -filler- 0000BFFF
  542. -filler- 00000000 %% Will be overwritten with bx r0
  543.  
  544.  
  545. Box names:
  546. Box 1: (2?UnHI…o) [upper case i; one …]
  547. Box 2: (R?n FRn ) [one space after n; ends with space]
  548. Box 3: (EEn-9n ) [ends with two spaces]
  549. Box 4: (EaJ9q ) [ends with three spaces]
  550. Box 5: (EEEEEEEE)
  551. Box 6: (EEEEEEEE)
  552. Box 7: (EEm…lo ) [one …; lower case L; ends with two spaces]
  553. Box 8: (EFGEn ) [ends with three spaces]
  554. Box 9: (y♀Qom"Qo) [righty "]
  555. Box 10: (EEE …?q ) [one space after E; one …; ends with space]
  556. Box 11: (EEhT-n ) [ends with two spaces]
  557. Box 12: (EYN?n ) [ends with three spaces]
  558. Box 13: (FNRob ?n) [one space after b]
  559. Box 14: (E ) [ends with seven spaces]
  560. _______________________________________________________________________________________________________________________________________
  561.  
  562. Italian version:
  563.  
  564. sbc r10, pc, A300 E2CFACA3 %% R10=PC-A300-1
  565. movs r12, 8000003 E3B0C3C2 %% R12=8000003
  566. adc r12, r12, FF00 E2ACCCFF %% R12=R12+FF00=800FF03
  567. sbc r12, r12, 0 E2CCC000 %% R12=R12-0-1=800FF02
  568. -filler- BFBFFF00
  569. adc r10,r10, E20 E2AAAEE2 %% R10=R10+E20
  570. -filler- BFFF0000
  571. str r12, [r10, 4D3]! E5AAC4D3
  572. -filler- FF000000
  573. -filler- BFBFBFBF
  574. -filler- BFBFBFBF
  575. -filler- BFBFBFFF
  576. -filler- BFBFBFBF
  577. -filler- BFBFFFBF
  578. mvn r11, E1 E3E0B0E1 %% R11=notE1=FFFFFF1E
  579. -filler- BFFF0000
  580. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  581. -filler- FF000000
  582. bic r11,r11, ED00000 E3CBB6ED %% R11=R11 and notED00000=F12FFF1E
  583. bic r11,r11, 1000000E E3CBB2E1 %% R11=R11 and not1000000E=E12FFF10=bx r0 opcode
  584. -filler- BFBFBFFF
  585. str r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  586. -filler- BFBFFF00
  587. adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
  588. -filler- BFFF0000
  589. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  590. -filler- FF000000
  591. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  592. sbc r0,r12, DD E2CC00DD %% R0=R12-DD-1=SetCB2WhiteOutITA
  593. -filler- 0000BFFF
  594. -filler- 00000000 %% Will be overwritten with bx r0
  595.  
  596.  
  597. Box names:
  598. Box 1: (2?UnHI…o) [upper case i; one …]
  599. Box 2: (R?n FRn ) [one space after n; ends with space]
  600. Box 3: (EEn-9n ) [ends with two spaces]
  601. Box 4: (EaJ9q ) [ends with three spaces]
  602. Box 5: (EEEEEEEE)
  603. Box 6: (EEEEEEEE)
  604. Box 7: (EEm…lo ) [one …; lower case L; ends with two spaces]
  605. Box 8: (EFGEn ) [ends with three spaces]
  606. Box 9: (y♀Qom"Qo) [righty "]
  607. Box 10: (EEE …?q ) [one space after E; one …; ends with space]
  608. Box 11: (EE,T-n ) [ends with two spaces]
  609. Box 12: (EYN?n ) [ends with three spaces]
  610. Box 13: (FNRoi Rn) [one space after i]
  611. Box 14: (E ) [ends with seven spaces]
  612. _______________________________________________________________________________________________________________________________________
  613.  
  614. German version:
  615.  
  616. sbc r10, pc, A300 E2CFACA3 %% R10=PC-A300-1
  617. movs r12, 8000003 E3B0C3C2 %% R12=8000003
  618. adc r12, r12, FF00 E2ACCCFF %% R12=R12+FF00=800FF03
  619. sbc r12, r12, 0 E2CCC000 %% R12=R12-0-1=800FF02
  620. -filler- BFBFFF00
  621. adc r10,r10, E20 E2AAAEE2 %% R10=R10+E20
  622. -filler- BFFF0000
  623. str r12, [r10, 4D3]! E5AAC4D3
  624. -filler- FF000000
  625. -filler- BFBFBFBF
  626. -filler- BFBFBFBF
  627. -filler- BFBFBFFF
  628. -filler- BFBFBFBF
  629. -filler- BFBFFFBF
  630. mvn r11, E1 E3E0B0E1 %% R11=notE1=FFFFFF1E
  631. -filler- BFFF0000
  632. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  633. -filler- FF000000
  634. bic r11,r11, ED00000 E3CBB6ED %% R11=R11 and notED00000=F12FFF1E
  635. bic r11,r11, 1000000E E3CBB2E1 %% R11=R11 and not1000000E=E12FFF10=bx r0 opcode
  636. -filler- BFBFBFFF
  637. str r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  638. -filler- BFBFFF00
  639. adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
  640. -filler- BFFF0000
  641. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  642. -filler- FF000000
  643. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  644. adc r0,r12, A8 E2AC00A8 %% R0=R12+A8=SetCB2WhiteOutGER
  645. -filler- 0000BFFF
  646. -filler- 00000000 %% Will be overwritten with bx r0
  647.  
  648.  
  649. Box names:
  650. Box 1: (2?UnHI…o) [upper case i; one …]
  651. Box 2: (R?n FRn ) [one space after n; ends with space]
  652. Box 3: (EEn-9n ) [ends with two spaces]
  653. Box 4: (EaJ9q ) [ends with three spaces]
  654. Box 5: (EEEEEEEE)
  655. Box 6: (EEEEEEEE)
  656. Box 7: (EEm…lo ) [one …; lower case L; ends with two spaces]
  657. Box 8: (EFGEn ) [ends with three spaces]
  658. Box 9: (y♀Qom"Qo) [righty "]
  659. Box 10: (EEE …?q ) [one space after E; one …; ends with space]
  660. Box 11: (EE0T-n ) [zero; ends with two spaces]
  661. Box 12: (EYN?n ) [ends with three spaces]
  662. Box 13: (FNRo7 ?n) [one space after 7]
  663. Box 14: (E ) [ends with seven spaces]
  664. _______________________________________________________________________________________________________________________________________
  665.  
  666. Spanish version:
  667.  
  668. sbc r10, pc, A300 E2CFACA3 %% R10=PC-A300-1
  669. movs r12, 8000003 E3B0C3C2 %% R12=8000003
  670. adc r12, r12, FF00 E2ACCCFF %% R12=R12+FF00=800FF03
  671. sbc r12, r12, 0 E2CCC000 %% R12=R12-0-1=800FF02
  672. -filler- BFBFFF00
  673. adc r10,r10, E20 E2AAAEE2 %% R10=R10+E20
  674. -filler- BFFF0000
  675. str r12, [r10, 4D3]! E5AAC4D3
  676. -filler- FF000000
  677. -filler- BFBFBFBF
  678. -filler- BFBFBFBF
  679. -filler- BFBFBFFF
  680. -filler- BFBFBFBF
  681. -filler- BFBFFFBF
  682. mvn r11, E1 E3E0B0E1 %% R11=notE1=FFFFFF1E
  683. -filler- BFFF0000
  684. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  685. -filler- FF000000
  686. bic r11,r11, ED00000 E3CBB6ED %% R11=R11 and notED00000=F12FFF1E
  687. bic r11,r11, 1000000E E3CBB2E1 %% R11=R11 and not1000000E=E12FFF10=bx r0 opcode
  688. -filler- BFBFBFFF
  689. str r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  690. -filler- BFBFFF00
  691. adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
  692. -filler- BFFF0000
  693. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  694. -filler- FF000000
  695. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  696. sbc r0,r12, D5 E2CC00D5 %% R0=R12-D5=SetCB2WhiteOutSPA
  697. -filler- 0000BFFF
  698. -filler- 00000000 %% Will be overwritten with bx r0
  699.  
  700.  
  701. Box names:
  702. Box 1: (2?UnHI…o) [upper case i; one …]
  703. Box 2: (R?n FRn ) [one space after n; ends with space]
  704. Box 3: (EEn-9n ) [ends with two spaces]
  705. Box 4: (EaJ9q ) [ends with three spaces]
  706. Box 5: (EEEEEEEE)
  707. Box 6: (EEEEEEEE)
  708. Box 7: (EEm…lo ) [one …; lower case L; ends with two spaces]
  709. Box 8: (EFGEn ) [ends with three spaces]
  710. Box 9: (y♀Qom"Qo) [righty "]
  711. Box 10: (EEE …?q ) [one space after E; one …; ends with space]
  712. Box 11: (EE,T-n ) [ends with two spaces]
  713. Box 12: (EYN?n ) [ends with three spaces]
  714. Box 13: (FNRoa Rn) [one space after a]
  715. Box 14: (E ) [ends with seven spaces]
  716. _______________________________________________________________________________________________________________________________________
  717.  
  718. French version:
  719.  
  720. sbc r10, pc, A300 E2CFACA3 %% R10=PC-A300-1
  721. movs r12, 8000003 E3B0C3C2 %% R12=8000003
  722. adc r12, r12, FF00 E2ACCCFF %% R12=R12+FF00=800FF03
  723. sbc r12, r12, 0 E2CCC000 %% R12=R12-0-1=800FF02
  724. -filler- BFBFFF00
  725. adc r10,r10, E20 E2AAAEE2 %% R10=R10+E20
  726. -filler- BFFF0000
  727. str r12, [r10, 4D3]! E5AAC4D3
  728. -filler- FF000000
  729. -filler- BFBFBFBF
  730. -filler- BFBFBFBF
  731. -filler- BFBFBFFF
  732. -filler- BFBFBFBF
  733. -filler- BFBFFFBF
  734. mvn r11, E1 E3E0B0E1 %% R11=notE1=FFFFFF1E
  735. -filler- BFFF0000
  736. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  737. -filler- FF000000
  738. bic r11,r11, ED00000 E3CBB6ED %% R11=R11 and notED00000=F12FFF1E
  739. bic r11,r11, 1000000E E3CBB2E1 %% R11=R11 and not1000000E=E12FFF10=bx r0 opcode
  740. -filler- BFBFBFFF
  741. str r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  742. -filler- BFBFFF00
  743. adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
  744. -filler- BFFF0000
  745. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  746. -filler- FF000000
  747. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  748. adc r0,r12, C8 E2AC00C8 %% R0=R12+C8=SetCB2WhiteOutFRA
  749. -filler- 0000BFFF
  750. -filler- 00000000 %% Will be overwritten with bx r0
  751.  
  752.  
  753. Box names:
  754. Box 1: (2?UnHI…o) [upper case i; one …]
  755. Box 2: (R?n FRn ) [one space after n; ends with space]
  756. Box 3: (EEn-9n ) [ends with two spaces]
  757. Box 4: (EaJ9q ) [ends with three spaces]
  758. Box 5: (EEEEEEEE)
  759. Box 6: (EEEEEEEE)
  760. Box 7: (EEm…lo ) [one …; lower case L; ends with two spaces]
  761. Box 8: (EFGEn ) [ends with three spaces]
  762. Box 9: (y♀Qom"Qo) [righty "]
  763. Box 10: (EEE …?q ) [one space after E; one …; ends with space]
  764. Box 11: (EE0T-n ) [zero; ends with two spaces]
  765. Box 12: (EYN?n ) [ends with three spaces]
  766. Box 13: (FNRoN ?n) [one space after N]
  767. Box 14: (E ) [ends with seven spaces]
  768. _______________________________________________________________________________________________________________________________________
  769.  
  770. Note: after executing "Code 1" look at box 14: in its name you should see something like this: (E Œ), without the brackets. If you don't, reset and try again "Code 1" checking for mistakes in box names; if you do, keep reading but do not save yet.
  771. Talk to the old man outside the Day Care: even if he is in his regular position he should hand you an egg. If so take it and save the game. Hatch the egg (it will have the species you chose) and place the newborn somewhere in your PC.
  772. Write box names for "Code 2", you'll only need to change box 1-10. Make sure box 10 slot 2 is empty. Save the game before executing "Code 2"
  773.  
  774.  
  775. _____________________________________________________________________________________________________________________________________
  776. | |
  777. | Code 2 |
  778. |_____________________________________________________________________________________________________________________________________|
  779.  
  780. All non-Japanese version:
  781.  
  782. sbc r10, pc, 2F00 E2CFADBC %% R10=PC-2F00
  783. movs r12, 3800000 E3B0C7E0 %% R12=3800000
  784. -filler- BFBFBFFF
  785. adc r12, r12, 34400 E2ACCBD1 %% R12=R12+34400=3834400
  786. -filler- BFBFFF00
  787. adc r12, r12, 3 E2ACC3C0 %% R12=R12+3=3834403
  788. -filler- BFFF0000
  789. movs r11, D5 E3B0B0D5 %% R11=D5
  790. -filler- FF000000
  791. add r11,r11, A5 E2ABB0A5 %% R11=R11+A2=17A
  792. strh r11, [r10, 8*] E1CAB8B* * = A on old emulators, 8 on console/new emulators
  793. -filler- BFBFBFFF
  794. movs r11, E900 E3B0BCE9 %% R11=E900
  795. -filler- BFBFFF00
  796. bic r11,r11, B000 E3CBBCB0 %% R11=R11 and notB000=4900
  797. -filler- BFFF0000
  798. strh r11, [r10, 8*] E1CAB8B* * = 6 on old emulators, 4 on console/new emulators
  799. -filler- FF000000
  800. strt r12, [r10, B4]! E5AAC0B4
  801. -filler- BFBFBFBF
  802. -filler- BFBFBFFF
  803. -filler- BFBFBFBF
  804.  
  805. Box names:
  806. Box 1: (B.UnlM…o) [lower case L; one …]
  807. Box 2: (EEEWQ?n ) [ends with space]
  808. Box 3: (EEFI?n ) [upper case i; ends with two spaces]
  809. Box 4: (Ea……o ) [two …; ends with three spaces]
  810. Box 5: (4…!n*,Pm) [one …] * = / on old emulators, , on console/new emulators
  811. Box 6: (EEEuB…o ) [one …; ends with space]
  812. Box 7: (EE…BQo ) [one …; ends with two spaces]
  813. Box 8: (E*,Pm ) [ends with three spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
  814. Box 9: ('F9qEEEE) [righty ']
  815. Box 10: (EEEEEEEE)
  816. Box 11: leave as it is
  817. Box 12: leave as it is
  818. Box 13: leave as it is
  819. Box 14: leave as it is
  820. _______________________________________________________________________________________________________________________________________
  821. Result: 00000000 00000000 00000000 00000000
  822. 00000000 00000000 00000000 00004900
  823. 0000017A 00000000 00000000 00000000
  824. 00000000 00000000 00000000 00000000
  825. 00000000 00000000 00000000 03834403 in box 10 slot 2
  826. and: 0800FF02 in daycare egg PID
  827.  
  828. Now look at box 10: you should find a shiny Banette in slot 2. Look at its summaries: Banette should be female, Lv.0, in a Poke Ball, hardy nature, obtained in a trade, its OT should be blank, its TID should be 00000 and its nickname should be blank.
  829. If so, save the game. If you see anything different than that, softreset and check for mistakes in box names before trying Code 2 again.
  830. You can keep Banette there or place it wherever you want but don't put it in your team yet. You're now ready for Step 3
  831.  
  832. | Step 3: trade and RS setup |
  833.  
  834. On Emerald, clone the Crobat egg from Step 1 and Banette and the hatched egg from Step 2 as a backup and also to take a copy in case you want to trade ACE to other Spanish RS games. Put one copy of the three Pokémon somewhere in safe.
  835. Prepare everyhing you need to trade between Emerald and Ruby/Sapphire. Go in the second floor of a Pokémon Center on Emerald and withdraw a copy of the three Pokémon from the second floor PC. Trade the three above-mentioned Pokémon to Ruby/Sapphire. From now on, you'll not need Emerald nor the trading hardware anymore (assuming you did everything correctly, of course).
  836. On Ruby/Sapphire enter the second floor PC. Place the bootstrap in your boxes: the hatched egg from Step 2 goes in box 1 slot 15 Banette from Step 2 goes in box 1 slot 14.
  837. Make sure that box 14 slot 29 and 30 are empty.
  838. Hatch Crobat: it should have only one glitch move, which is the ACE move for Spanish Ruby and Sapphire.
  839. Save the game: you're now ready to perform ACE. To test if everything works fine choose a code from the list (https://pastebin.com/dpXjMcAR) and try execute it. To execute a code, after writing the correct box names simply place your Crobat in your first party slot, go near tall grass in an early game route in order to find weak opponents, make sure you have battle animations on and save the game. After saving enter a wild battle and use the glitch move: this will trigger the code execution.
  840. That's pretty much it, if you have any problem feel free to contact me using Twitter (Sleipnir_17), Reddit (Sleipnir17), Discord (Sleipnir17#2146) or Youtube (https://www.youtube.com/channel/UCwip3k3SfjMlFMm2_ZTZStg?)
  841.  
  842.  
  843. Troubleshooting
  844.  
  845. If you have problems during the process, this section may help you. If this isn't enough feel free to contact me using any of the contacts I left above.
  846.  
  847. (General non-Japanese Emerald problem)
  848. -Q: after executing a code on Emerald all summary sprites are glitched
  849. -A: that's a normal side effect of the 0x0611 hatching technique. After a reset or a battle this issue will solve itself
  850.  
  851. (General non-Japanese Emerald problem)
  852. -Q: after executing a code on Emerald my money amount changes
  853. -A: that's a normal secondary effect of non-Japanese codes that warp you in front of a Pokémon Center. However, you have access to ACE, that should not be that big of a deal
  854.  
  855. (General non-Japanese Emerald problem)
  856. -Q: after executing a code on Emerald some data of my Trainer Card's back is corrupted
  857. -A: that's a side effect of the 0x0611 hatching technique that happens about 50% of times. You should be able to reverse the effect by triggering it again using any other code (you'll again have a 50/50 shot)
  858.  
  859. (Step 1 non-Japanese Emerald problem)
  860. -Q: my game crashes/freezes as soon as/immediately after I press A at the hatching message, before displaying the hatching screen
  861. -A: most likely your egg is wrong, meaning that you gave wrong EVs to the Pokémon you used to generate it. Try to generate the egg again. Also make sure said Pokémon doesn't have Pokérus while EV training
  862.  
  863. (Step 1 non-Japanese Emerald problem)
  864. -Q: my game crashes/freezes as soon as/immediately after the glitch Pokémon animation starts (from the egg if you're using the hatching techique, in the summary screen if you're using an advanced ACE method, in the contest display if you're using the contest technique)
  865. -A: there may be five reasons why this is happening, I'll list them in order of likelihood:
  866. 1- you typed your box names wrong, most likely box 7 to 14. Try to rewrite box names or at least check for visible mistakes
  867. 2- you have some Pokémon/invisible Bad Egg/invisible data in box 12, 13, 14 or in the last row of box 11. If you can't see anything in those boxes, try to put a Pokémon in each and every one of the slot I mentioned, even using a group selection (if you have a full box you can select all the 30 Pokémon and place them in the boxes that should be empty to speed up the process): if an invisible Bad Egg is there you'll realize it since that will be an actual filled slot, if some invisible data is there you'll not notice that but the act of placing a Pokémon over invisible data automatically deletes it. Consider that invisible data is generated when you transfer Pokémon to gen 4 or to GameCube games
  868. 3- you're using a wrong language version of the code. Check if you're looking at the code version you need
  869. 4- you're using the special box wallpaper from Wanda, the crying baby living in Rustboro City, in box 2, 6, 10 or 14. That wallpaper is forbidden for those four boxes but you can use it in any other box. Also, any other wallpaper will be fine
  870. 5- your egg/glitch Pokémon is wrong. Try to generate the egg/glitch Pokémon again
  871.  
  872. (Step 1 non-Japanese Emerald problem)
  873. -Q: after executing the code I get a Bad Egg in box 9 slot 27
  874. -A: there may be two reasons why this is happening, I'll list them in order of likelihood:
  875. 1- you typed your box names wrong making a mistake somewhere in box 1 to 7. Try to rewrite box names or at least check for visible mistakes
  876. 2- you left some Pokémon/invisible Bad Egg/invisible data in box 9 slot 27 before executing the code. Check that slot, if it seems empty try to put any Pokémon in that slot to delete any potential invisible data stored there. Consider that invisible data is generated when you transfer Pokémon to gen 4 or to GameCube games
  877.  
  878. (Step 1 non-Japanese Emerald problem)
  879. -Q: after executing the code I get no noticeable effect/something not related to box 9 slot 27
  880. -A: you most likely typed your box names wrong making a mistake somewhere in box 1 to 7. Try to rewrite box names or at least check for visible mistakes
  881.  
  882. (Step 1 Japanese Emerald 0x085F problem)
  883. -Q: my game crashes/freezes as soon as/immediately after the glitch Pokémon animation in the summary screen starts
  884. -A: there may be four reasons why this is happening, I'll list them in order of likelihood:
  885. 1- you typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  886. 2- your glitch Pokémon is wrong. Try to generate the glitch Pokémon again
  887. 3- you have some Pokémon/invisible Bad Egg/invisible data in box 12, 13, 14 or in the last row of box 11. If you can't see anything in those boxes, try to put a Pokémon in each and every one of the slot I mentioned, even using a group selection (if you have a full box you can select all the 30 Pokémon and place them in the boxes that should be empty to speed up the process): if an invisible Bad Egg is there you'll realize it since that will be an actual filled slot, if some invisible data is there you'll not notice that but the act of placing a Pokémon over invisible data automatically deletes it. Consider that invisible data is generated when you transfer Pokémon to gen 4 or to GameCube games
  888. 4- you're trying to trigger an Arm execution. The codes I listed are Thumb codes so you have to use a Thumb ACE (0x085F) or, if necessary for some weird reason, a Thumb-bootstrapped Arm ACE
  889.  
  890. (Step 1 Japanese Emerald 0x0615 problem)
  891. -Q: my game crashes/freezes as soon as/immediately after the glitch Pokémon animation starts (from the egg if you're using the hatching techique, in the contest display if you're using the contest technique)
  892. -A: there may be four reasons why this is happening, I'll list them in order of likelihood:
  893. 1- you typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  894. 2- your glitch Pokémon is wrong. Try to generate the glitch Pokémon egg again
  895. 3- you have some Pokémon/invisible Bad Egg/invisible data in box 12, 13, 14 or in the last row of box 11. If you can't see anything in those boxes, try to put a Pokémon in each and every one of the slot I mentioned, even using a group selection (if you have a full box you can select all the 30 Pokémon and place them in the boxes that should be empty to speed up the process): if an invisible Bad Egg is there you'll realize it since that will be an actual filled slot, if some invisible data is there you'll not notice that but the act of placing a Pokémon over invisible data automatically deletes it. Consider that invisible data is generated when you transfer Pokémon to gen 4 or to GameCube games
  896. 4- you're trying to trigger a Thumb execution. The codes I listed are Arm codes so you have to use an Arm ACE (0x0615) or, if necessary for some weird reason, an Arm-bootstrapped Thumb ACE
  897.  
  898. (Step 1 Japanese Emerald problem)
  899. -Q: after executing the code I get a Bad Egg in box 9 slot 27
  900. -A: there may be two reasons why this is happening, I'll list them in order of likelihood:
  901. 1- you typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  902. 2- you left some Pokémon/invisible Bad Egg/invisible data in box 9 slot 27 before executing the code. Check that slot, if it seems empty try to put any Pokémon in that slot to delete any potential invisible data stored there. Consider that invisible data is generated when you transfer Pokémon to gen 4 or to GameCube games
  903.  
  904. (Step 1 Japanese Emerald problem)
  905. -Q: after executing the code I get no noticeable effect/something not related to box 9 slot 27
  906. -A: you most likely typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  907.  
  908. (Step 2 non-Japanese Emerald problem)
  909. -Q: when executing any of the 2 codes my game crashes/freezes as soon as/immediately after the glitch Pokémon animation starts (from the egg if you're using the hatching techique, in the summary screen if you're using an advanced ACE method, in the contest display if you're using the contest technique)
  910. -A: there may be three reasons why this is happening, I'll list them in order of likelihood:
  911. 1- you typed your box names wrong, most likely somewhere in box 7 to 14 for "Code 1". Try to rewrite box names or at least check for visible mistakes
  912. 2- for "Code 1", you're using a wrong language version of the code. Check if you're looking at the code version you need
  913. 3- after Step 1 you placed something back in box 12, 13, 14 or in the last row of box 11. Just look at those boxes to verify
  914.  
  915. (Step 2 non-Japanese Emerald problem)
  916. -Q: after executing "Code 1" box name 14 didn't turn into (E Œ)
  917. -A: you most likely typed your box names wrong making a mistake somewhere in box 7 to 10. Try to rewrite box names or at least check for visible mistakes
  918.  
  919. (Step 2 non-Japanese Emerald problem)
  920. -Q: after executing "Code 1" the old man has no egg
  921. -A: you most lilely typed your box names wrong making a mistake somewhere in box 1 to 4. You'll have to start back from "Code 1"
  922.  
  923. (Step 2 non-Japanese Emerald problem)
  924. -Q: after executing "Code 1" trying to get the egg from the old man causes a game freeze
  925. -A: there may be two reasons why this is happening, I'll list them in order of likelihood:
  926. 1- you typed your box names wrong making a mistake somewhere in box 1 to 4. You'll have to start back from "Code 1"
  927. 2- you didn't place the correct Pokémon in the Day Care before executing the code, just check if that's the case
  928.  
  929. (Step 2 non-Japanese Emerald problem)
  930. -Q: after executing "Code 2" I don't get what is described in the notes
  931. -A: there may be two reasons why this is happening, I'll list them in order of likelihood:
  932. 1- you typed your box names wrong. You'll have to start back from "Code 2"
  933. 2- you left some Pokémon/invisible Bad Egg/invisible data in box 10 slot 2 before executing the code. Check that slot, if it seems empty try to put any Pokémon in that slot to delete any potential invisible data stored there. Consider that invisible data is generated when you transfer Pokémon to gen 4 or to GameCube games
  934.  
  935. (Step 2 Japanese Emerald 0x085F problem)
  936. -Q: my game crashes/freezes as soon as/immediately after the glitch Pokémon animation in the summary screen starts
  937. -A: there may be three reasons why this is happening, I'll list them in order of likelihood:
  938. 1- you typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  939. 2- after Step 1 you placed something back in box 12, 13, 14 or in the last row of box 11. Just look at those boxes to verify
  940. 3- you're trying to trigger an Arm execution. That code is a Thumb code so you have to use a Thumb ACE (0x085F) or, if necessary for some weird reason, a Thumb-bootstrapped Arm ACE
  941.  
  942. (Step 2 Japanese Emerald 0x0615 problem)
  943. -Q: my game crashes/freezes as soon as/immediately after the glitch Pokémon animation starts (from the egg if you're using the hatching techique, in the contest display if you're using the contest technique, in the summary if you're using a stable Arm executor)
  944. -A: there may be three reasons why this is happening, I'll list them in order of likelihood:
  945. 1- you typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  946. 2- after Step 1 you placed something back in box 12, 13, 14 or in the last row of box 11. Just look at those boxes to verify
  947. 3- you're trying to trigger a Thumb execution. That code is an Arm codes so you have to use an Arm ACE (0x0615) or, if necessary for some weird reason, an Arm-bootstrapped Thumb ACE
  948.  
  949. (Step 2 Japanese Emerald problem)
  950. -Q: after executing the code the old man has no egg
  951. -A: you most lilely typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  952.  
  953. (Step 2 Japanese Emerald problem)
  954. -Q: after executing the code trying to get the egg from the old man causes a game freeze
  955. -A: there may be two reasons why this is happening, I'll list them in order of likelihood:
  956. 1- you typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  957. 2- you didn't place the correct Pokémon in the Day Care before executing the code, just check if that's the case
  958.  
  959. (Step 2 Japanese Emerald problem)
  960. -Q: after executing the code I get a Bad Egg in box 1 slot 1
  961. -A: there may be two reasons why this is happening, I'll list them in order of likelihood:
  962. 1- you typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  963. 2- you left some Pokémon/invisible Bad Egg/invisible data in box 1 slot 1 before executing the code. Check that slot, if it seems empty try to put any Pokémon in that slot to delete any potential invisible data stored there. Consider that invisible data is generated when you transfer Pokémon to gen 4 or to GameCube games
  964.  
  965. (Step 2 Japanese Emerald problem)
  966. -Q: after executing the code I get no noticeable effect/something not related to box 1 slot 1
  967. -A: you most likely typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  968.  
  969. (Step 3)
  970. -Q: when I try to hatch the bootstrap egg my game crashes
  971. -A: you didn't place the correct Pokémon in the Day Care before executing the code, just check if that's the case
  972.  
  973. (Step 3)
  974. -Q: when I try to hatch the Crobat egg my game crashes
  975. -A: you made a mistake in Step 1, you'll have to repeat that step and trade the new egg. You'll not need to redo Step 2 of course
  976.  
  977. (Step 3)
  978. -Q: when I try to hatch the Crobat egg I get a different Pokémon (regular or double question, not Decamark)
  979. -A: you must have made a mistake in Step 1. Having a different species though is not a big deal, as long as the move is correct. My suggestion is to keep this Pokémon and try Step 4 and repeating Step 1 only if that fails
  980.  
  981. (Step 3)
  982. -Q: when I try to hatch the Crobat egg I get a Decamark from it
  983. -A: you made a mistake in Step 1. While you can still use this Decamark to perform ACE as long as the move is correct, having to rely on a Decamark type glitch Pokémon can be tedious, I suggest to repeat Step 1 and trade the egg. You'll not need to redo Step 2
  984.  
  985. (Step 3)
  986. -Q: when I try to execute a code for RS ACE the move works like a normal move would and no particular effect shows up
  987. -A: there may be two reasons why this is happening, I'll list them in order of likelihood:
  988. 1- you made some kind of mistake when generating the Crobat egg in Step 1. You'll need to repeat Step 1 and trade the correct egg to RS
  989. 2- you forgot to turn battle animations on
  990.  
  991. (Step 3)
  992. -Q: when I try to execute a code for RS ACE the game crashes before using the glitch move
  993. -A: you made some kind of mistake when generating the Crobat egg in Step 1. You'll need to repeat Step 1 and trade the correct egg to RS
  994.  
  995. (Step 3)
  996. -Q: immediately after I use the glitch move trying to execute a code for RS ACE my game crashes
  997. -A: there may be five reasons why this is happening, I'll list them in order of likelihood:
  998. 1- you typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  999. 2- you made some kind of mistake when generating the Bootstrap in Step 2. You'll need to repeat Step 2 and trade the correct bootstrap to RS
  1000. 3- you made some kind of mistake when generating the Crobat egg in Step 1. You'll need to repeat Step 1 and trade the correct egg to RS
  1001. 4- box 14 slot 29-30 are not empty. Check if there's anything visible there, if not try to place two Pokémon there then take them back to delete any potential garbage data sitting there
  1002. 5- you placed the bootstrap in the wrong slots. Simply check if that's the case
Add Comment
Please, Sign In to add comment