Advertisement
Sleipnir17

Non-Jap non-Spa RS Arbitrary Code Execution

Dec 2nd, 2022 (edited)
2,338
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 82.54 KB | None | 0 0
  1. This guide will allow you to setup Arbitrary Code Execution on Pokémon Ruby / Sapphire non-Japanese and non-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, non-Japanese and non-Spanish version (if you're instead playing on a Japanese or Spanish RS,
  16. you're reading the wrong guide, go here for Japanese: https://pastebin.com/D3GULLe6 or here for Spanish:
  17. https://pastebin.com/TbTKC0kH)
  18. - Two consoles and something to trade between them. Only one trade is needed thus the second console and the trading hardware are only
  19. 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
  20. the need of actually borrow the material
  21. If you play on emulator:
  22. - A computer (everything else is just software so you'll be able to get it in any case). To my knowledge, emulation on different
  23. devices don't allow trading: if I'm wrong, any emulator that allows trading should be ok
  24.  
  25.  
  26. | Overview |
  27.  
  28. This method can be split in three steps:
  29.  
  30. 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 0X6D83 for all English Ruby and Sapphire games, 0x2D56 for all Italian, German and French Ruby and Sapphire games.
  31.  
  32. Step 2: on Emerald, the bootstrap (which is an Absol) 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
  33.  
  34. 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
  35.  
  36.  
  37. | Step 1: Get the move |
  38.  
  39. -Setup your Pokémon Emerald game in order to perform Merrp's ACE
  40. -Leave Box 9 slot 27 empty
  41. -Execute the right code from this list. Choose depending on your Emerald and Ruby/Sapphire language:
  42.  
  43. English Emerald; English Ruby/Sapphire:
  44. movs r11, A9 E3B0B0A9 %% R11=A9=species
  45. sbc r12,pc,3040 E2CFCDC1 %% R12=PC-3040-1
  46. movs r10, 3FC000 E3B0A9FF %% R10=3FC000=egg halfword
  47. strh r10 [r12, **] E1CCA*B* %% Store egg halfword ** = 60 on old emulators, 5E on console/new emulators
  48. -filler- BFBFFF00
  49. strh r11 [r12, 3*] E1CCB3B* %% Store species * = 6 on old emulators, 4 on console/new emulators
  50. -filler- BFFF0000
  51. movs r11, 3B80 E3B0BDEE %% R11=3B80
  52. -filler- FF000000
  53. adc r11,r11, 3200 E2ABBDC8 %% R11=R11+3200=6D80
  54. adc r11,r11, 3 E2ABB3C0 %% R11=R11+3=6D83=ACE move
  55. adc r10,r11, 3FC000 E2ABA9FF %% R10=R11+3FC000=402D83
  56. strh r11 [r12, 4*] E1CCB4B* %% Store ACE move * = 2 on old emulators, 0 on console/new emulators
  57. -filler- BFBFFF00
  58. adc r11,r10, A9 E2AAB0A9 %% R11=R10+A9=402E2C=new checksum
  59. -filler- BFFF0000
  60. strh r11 [r12, 3*] E1CCB3B* %% Store checksum * = 2 on old emulators, 0 on console/new emulators
  61. -filler- FF000000
  62. mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
  63. sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
  64. sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
  65. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  66. -filler- BFBFFF00
  67. strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  68. -filler- BFFF0000
  69. adc r12,lr, DC0 E2AECEDC %% R12=LR+DC0
  70. -filler- FF000000
  71. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  72. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  73. -filler- BFBFBFFF
  74. adc r0,r12, D6 E2AC00D6 %% R0=R12+D6=SetCB2WhiteOutENG
  75.  
  76. Box names:
  77. Box 1: (8……oGSUn) [two …]
  78. Box 2: (8…o*°Rm ) [one …; ends with space] *° = …5 [one …] on old emulators, D4 on console/new emulators
  79. Box 3: (EE*'Rm ) [lefty '; ends with two spaces] * = ♀ on new emulators, ' [righty '] on console/new emulators
  80. Box 4: (EzC…o ) [one …; ends with three spaces]
  81. Box 5: (NC!nF'!n) [lefty ']
  82. Box 6: (8!n*'Rm ) [righty '; ends with space] * = " [righty "] on old emulators, … [one …] on console/new emulators
  83. Box 7: (EE8…9n ) [one …; ends with two spaces]
  84. Box 8: (E*'Rm ) [lefty '; ends with three spaces] * = " [righty "] on old emulators, … [one …] on console/new emulators
  85. Box 9: (z♀loy…Qn) [lower case L; one …]
  86. Box 10: (♀QnFGEn ) [ends with space]
  87. Box 11: (EE …?q ) [one space after E; one …; ends with two spaces]
  88. Box 12: (EhT-n ) [ends with three spaces]
  89. Box 13: (YN?nFNRo)
  90. Box 14: (EEEb ?n ) [one space after b; ends with space]
  91. _______________________________
  92. Italian Emerald; English Ruby/Sapphire:
  93. movs r11, A9 E3B0B0A9 %% R11=A9=species
  94. sbc r12,pc,3040 E2CFCDC1 %% R12=PC-3040-1
  95. movs r10, 3FC000 E3B0A9FF %% R10=3FC000=egg halfword
  96. strh r10 [r12, **] E1CCA*B* %% Store egg halfword ** = 60 on old emulators, 5E on console/new emulators
  97. -filler- BFBFFF00
  98. strh r11 [r12, 3*] E1CCB3B* %% Store species * = 6 on old emulators, 4 on console/new emulators
  99. -filler- BFFF0000
  100. movs r11, 3B80 E3B0BDEE %% R11=3B80
  101. -filler- FF000000
  102. adc r11,r11, 3200 E2ABBDC8 %% R11=R11+3200=6D80
  103. adc r11,r11, 3 E2ABB3C0 %% R11=R11+3=6D83=ACE move
  104. adc r10,r11, 3FC000 E2ABA9FF %% R10=R11+3FC000=402D83
  105. strh r11 [r12, 4*] E1CCB4B* %% Store ACE move * = 2 on old emulators, 0 on console/new emulators
  106. -filler- BFBFFF00
  107. adc r11,r10, A9 E2AAB0A9 %% R11=R10+A9=402E2C=new checksum
  108. -filler- BFFF0000
  109. strh r11 [r12, 3*] E1CCB3B* %% Store checksum * = 2 on old emulators, 0 on console/new emulators
  110. -filler- FF000000
  111. mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
  112. sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
  113. sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
  114. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  115. -filler- BFBFFF00
  116. strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  117. -filler- BFFF0000
  118. adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
  119. -filler- FF000000
  120. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  121. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  122. -filler- B2AC00FF
  123. sbc r0,r12, DD E2CC00DD %% R0=R12-DD=SetCB2WhiteOutITA
  124.  
  125. Box names:
  126. Box 1: (8……oGSUn) [two …]
  127. Box 2: (8…o*°Rm ) [one …; ends with space] *° = …5 [one …] on old emulators, D4 on console/new emulators
  128. Box 3: (EE*'Rm ) [lefty '; ends with two spaces] * = ♀ on new emulators, ' [righty '] on console/new emulators
  129. Box 4: (EzC…o ) [one …; ends with three spaces]
  130. Box 5: (NC!nF'!n) [lefty ']
  131. Box 6: (8!n*'Rm ) [righty '; ends with space] * = " [righty "] on old emulators, … [one …] on console/new emulators
  132. Box 7: (EE8…9n ) [one …; ends with two spaces]
  133. Box 8: (E*'Rm ) [lefty '; ends with three spaces] * = " [righty "] on old emulators, … [one …] on console/new emulators
  134. Box 9: (z♀loy…Qn) [lower case L; one …]
  135. Box 10: (♀QnFGEn ) [ends with space]
  136. Box 11: (?" …?q ) [righty "; one space after "; ends with two spaces]
  137. Box 12: (E,T-n ) [ends with three spaces]
  138. Box 13: (YN?nFNRo)
  139. Box 14: ( ?"i Rn ) [starts with space, righty "; one space after i; ends with space]
  140. _______________________________
  141. German Emerald; English Ruby/Sapphire:
  142. movs r11, A9 E3B0B0A9 %% R11=A9=species
  143. sbc r12,pc,3040 E2CFCDC1 %% R12=PC-3040-1
  144. movs r10, 3FC000 E3B0A9FF %% R10=3FC000=egg halfword
  145. strh r10 [r12, **] E1CCA*B* %% Store egg halfword ** = 60 on old emulators, 5E on console/new emulators
  146. -filler- BFBFFF00
  147. strh r11 [r12, 3*] E1CCB3B* %% Store species * = 6 on old emulators, 4 on console/new emulators
  148. -filler- BFFF0000
  149. movs r11, 3B80 E3B0BDEE %% R11=3B80
  150. -filler- FF000000
  151. adc r11,r11, 3200 E2ABBDC8 %% R11=R11+3200=6D80
  152. adc r11,r11, 3 E2ABB3C0 %% R11=R11+3=6D83=ACE move
  153. adc r10,r11, 3FC000 E2ABA9FF %% R10=R11+3FC000=402D83
  154. strh r11 [r12, 4*] E1CCB4B* %% Store ACE move * = 2 on old emulators, 0 on console/new emulators
  155. -filler- BFBFFF00
  156. adc r11,r10, A9 E2AAB0A9 %% R11=R10+A9=402E2C=new checksum
  157. -filler- BFFF0000
  158. strh r11 [r12, 3*] E1CCB3B* %% Store checksum * = 2 on old emulators, 0 on console/new emulators
  159. -filler- FF000000
  160. mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
  161. sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
  162. sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
  163. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  164. -filler- BFBFFF00
  165. strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  166. -filler- BFFF0000
  167. adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
  168. -filler- FF000000
  169. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  170. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  171. -filler- B2AC00FF
  172. adc r0,r12, A8 E2AC00A8 %% R0=R12+A8=SetCB2WhiteOutGER
  173.  
  174. Box names:
  175. Box 1: (8……oGSUn) [two …]
  176. Box 2: (8…o*°Rm ) [one …; ends with space] *° = …5 [one …] on old emulators, D4 on console/new emulators
  177. Box 3: (EE*'Rm ) [lefty '; ends with two spaces] * = ♀ on new emulators, ' [righty '] on console/new emulators
  178. Box 4: (EzC…o ) [one …; ends with three spaces]
  179. Box 5: (NC!nF'!n) [lefty ']
  180. Box 6: (8!n*'Rm ) [righty '; ends with space] * = " [righty "] on old emulators, … [one …] on console/new emulators
  181. Box 7: (EE8…9n ) [one …; ends with two spaces]
  182. Box 8: (E*'Rm ) [lefty '; ends with three spaces] * = " [righty "] on old emulators, … [one …] on console/new emulators
  183. Box 9: (z♀loy…Qn) [lower case L; one …]
  184. Box 10: (♀QnFGEn ) [ends with space]
  185. Box 11: (?" …?q ) [righty "; one space after "; ends with two spaces]
  186. Box 12: (E0T-n ) [zero; ends with three spaces]
  187. Box 13: (YN?nFNRo)
  188. Box 14: ( ?"7 ?n ) [starts with space, righty "; one space after 7; ends with space]
  189. _______________________________
  190. Spanish Emerald; English Ruby/Sapphire:
  191. movs r11, A9 E3B0B0A9 %% R11=A9=species
  192. sbc r12,pc,3040 E2CFCDC1 %% R12=PC-3040-1
  193. movs r10, 3FC000 E3B0A9FF %% R10=3FC000=egg halfword
  194. strh r10 [r12, **] E1CCA*B* %% Store egg halfword ** = 60 on old emulators, 5E on console/new emulators
  195. -filler- BFBFFF00
  196. strh r11 [r12, 3*] E1CCB3B* %% Store species * = 6 on old emulators, 4 on console/new emulators
  197. -filler- BFFF0000
  198. movs r11, 3B80 E3B0BDEE %% R11=3B80
  199. -filler- FF000000
  200. adc r11,r11, 3200 E2ABBDC8 %% R11=R11+3200=6D80
  201. adc r11,r11, 3 E2ABB3C0 %% R11=R11+3=6D83=ACE move
  202. adc r10,r11, 3FC000 E2ABA9FF %% R10=R11+3FC000=402D83
  203. strh r11 [r12, 4*] E1CCB4B* %% Store ACE move * = 2 on old emulators, 0 on console/new emulators
  204. -filler- BFBFFF00
  205. adc r11,r10, A9 E2AAB0A9 %% R11=R10+A9=402E2C=new checksum
  206. -filler- BFFF0000
  207. strh r11 [r12, 3*] E1CCB3B* %% Store checksum * = 2 on old emulators, 0 on console/new emulators
  208. -filler- FF000000
  209. mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
  210. sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
  211. sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
  212. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  213. -filler- BFBFFF00
  214. strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  215. -filler- BFFF0000
  216. adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
  217. -filler- FF000000
  218. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  219. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  220. -filler- B2AC00FF
  221. sbc r0,r12, D5 E2CC00D5 %% R0=R12-D5=SetCB2WhiteOutSPA
  222.  
  223. Box names:
  224. Box 1: (8……oGSUn) [two …]
  225. Box 2: (8…o*°Rm ) [one …; ends with space] *° = …5 [one …] on old emulators, D4 on console/new emulators
  226. Box 3: (EE*'Rm ) [lefty '; ends with two spaces] * = ♀ on new emulators, ' [righty '] on console/new emulators
  227. Box 4: (EzC…o ) [one …; ends with three spaces]
  228. Box 5: (NC!nF'!n) [lefty ']
  229. Box 6: (8!n*'Rm ) [righty '; ends with space] * = " [righty "] on old emulators, … [one …] on console/new emulators
  230. Box 7: (EE8…9n ) [one …; ends with two spaces]
  231. Box 8: (E*'Rm ) [lefty '; ends with three spaces] * = " [righty "] on old emulators, … [one …] on console/new emulators
  232. Box 9: (z♀loy…Qn) [lower case L; one …]
  233. Box 10: (♀QnFGEn ) [ends with space]
  234. Box 11: (?" …?q ) [righty "; one space after "; ends with two spaces]
  235. Box 12: (E,T-n ) [ends with three spaces]
  236. Box 13: (YN?nFNRo)
  237. Box 14: ( ?"a Rn ) [starts with space, righty "; one space after a; ends with space]
  238. _______________________________
  239. French Emerald; English Ruby/Sapphire:
  240. movs r11, A9 E3B0B0A9 %% R11=A9=species
  241. sbc r12,pc,3040 E2CFCDC1 %% R12=PC-3040-1
  242. movs r10, 3FC000 E3B0A9FF %% R10=3FC000=egg halfword
  243. strh r10 [r12, **] E1CCA*B* %% Store egg halfword ** = 60 on old emulators, 5E on console/new emulators
  244. -filler- BFBFFF00
  245. strh r11 [r12, 3*] E1CCB3B* %% Store species * = 6 on old emulators, 4 on console/new emulators
  246. -filler- BFFF0000
  247. movs r11, 3B80 E3B0BDEE %% R11=3B80
  248. -filler- FF000000
  249. adc r11,r11, 3200 E2ABBDC8 %% R11=R11+3200=6D80
  250. adc r11,r11, 3 E2ABB3C0 %% R11=R11+3=6D83=ACE move
  251. adc r10,r11, 3FC000 E2ABA9FF %% R10=R11+3FC000=402D83
  252. strh r11 [r12, 4*] E1CCB4B* %% Store ACE move * = 2 on old emulators, 0 on console/new emulators
  253. -filler- BFBFFF00
  254. adc r11,r10, A9 E2AAB0A9 %% R11=R10+A9=402E2C=new checksum
  255. -filler- BFFF0000
  256. strh r11 [r12, 3*] E1CCB3B* %% Store checksum * = 2 on old emulators, 0 on console/new emulators
  257. -filler- FF000000
  258. mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
  259. sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
  260. sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
  261. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  262. -filler- BFBFFF00
  263. strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  264. -filler- BFFF0000
  265. adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
  266. -filler- FF000000
  267. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  268. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  269. -filler- B2AC00FF
  270. adc r0,r12, C8 E2AC00C8 %% R0=R12+C8=SetCB2WhiteOutFRA
  271.  
  272. Box names:
  273. Box 1: (8……oGSUn) [two …]
  274. Box 2: (8…o*°Rm ) [one …; ends with space] *° = …5 [one …] on old emulators, D4 on console/new emulators
  275. Box 3: (EE*'Rm ) [lefty '; ends with two spaces] * = ♀ on new emulators, ' [righty '] on console/new emulators
  276. Box 4: (EzC…o ) [one …; ends with three spaces]
  277. Box 5: (NC!nF'!n) [lefty ']
  278. Box 6: (8!n*'Rm ) [righty '; ends with space] * = " [righty "] on old emulators, … [one …] on console/new emulators
  279. Box 7: (EE8…9n ) [one …; ends with two spaces]
  280. Box 8: (E*'Rm ) [lefty '; ends with three spaces] * = " [righty "] on old emulators, … [one …] on console/new emulators
  281. Box 9: (z♀loy…Qn) [lower case L; one …]
  282. Box 10: (♀QnFGEn ) [ends with space]
  283. Box 11: (?" …?q ) [righty "; one space after "; ends with two spaces]
  284. Box 12: (E0T-n ) [zero; ends with three spaces]
  285. Box 13: (YN?nFNRo)
  286. Box 14: ( ?"N ?n ) [starts with space, righty "; one space after N; ends with space]
  287. _______________________________
  288. Japanese Emerald (0x0615-like execution); English Ruby/Sapphire:
  289. movs r11, A9 E3B0B0A9 %% R11=A9=species
  290. sbc r12,pc,3040 E2CFCDC1 %% R12=PC-3040-1
  291. movs r10, 3FC000 E3B0A9FF %% R10=3FC000=egg halfword
  292. strh r10 [r12, **]! E1ECA*B* %% Store egg halfword ** = 60 on old emulators, 5E on console/new emulators
  293. -filler- BFBFFF00
  294. strh r11 [r12, -2A] E14CB2BA %% Store species
  295. -filler- BFFF0000
  296. movs r11, 6D00 E3B0BC6D %% R11=6D00
  297. -filler- FF000000
  298. adc r11,r11, 83 E2ABB083 %% R11=R11+83=6D83=ACE move
  299. strh r11 [r12, -1E] E14CB1BE %% Store ACE move
  300. adc r10,r11, 3FC000 E2ABA9FF %% R10=R11+3FC000=402D83
  301. adc r11,r10, A9 E2AAB0A9 %% R11=R10+A9=402E2C=new checksum
  302. -filler- BFBFFF00
  303. strh r11 [r12, -2E] E14CB2BE %% Store checksum
  304. -filler- BFFF0000
  305. -filler- 00000000
  306. -filler- FF000000
  307. -filler- 000000BF
  308. -filler- 00000000
  309. -filler- 000000FF
  310. lrd r0 [pc, -*] E51F000* %% R0=081378ED=SetCB2WhiteOutJAP * = 0 on old emulators, 2 on console/new emulators
  311. bx r0 E12FFF10 %% Exit the execution
  312. -data- 081378ED
  313.  
  314. Box names:
  315. Box 1: (8……oGSUn) [two …]
  316. Box 2: (8…o*°xm ) [one …; ends with space] *° = …5 [one …] on old emulators, D4 on console/new emulators
  317. Box 3: (EE/』ぴm ) [ends with two spaces]
  318. Box 4: (EヘB…o ) [ヘ not へ; one …; ends with three spaces]
  319. Box 5: (ォ…!nD『ぴm) [ォ not オ; one …]
  320. Box 6: (8!n8…9n ) [one …; ends with space]
  321. Box 7: (EED』ぴm ) [ends with two spaces]
  322. Box 8: (E ) [ends with seven spaces]
  323. Box 9: (E ) [ends with seven spaces]
  324. Box 10: ( * まqた) [starts with three spaces; one space after *] * = [space] on old emulators, い on console/new emulators
  325. Box 11: (ぁmyリてく )[リ not り; ends with two spaces]
  326. Box 12 onwards: anything
  327. _______________________________
  328. Japanese Emerald (0x085F-like execution); English Ruby/Sapphire:
  329. mov r1,pc 4679 %% R1=PC+4
  330. ldr r0 pc+20 4808 %% R0=3008
  331. sub r1,r1,r0 1A09 %% R1=R1-R0=checksum location
  332. ldr r0 pc+18 4806 %% R0=FF00AE2C=checksum
  333. -filler- 00FF
  334. strh r0,[r1] 8008 %% Store checksum
  335. ldr r0 pc+18 4806 %% R0=A9=species
  336. b pc,4 E000 %% Skip bad filler
  337. -bad filler- FF00
  338. strh r0,[r1,4] 8088 %% Store species
  339. ldr r0 pc+18 4806 %% R0=6D83=ACE move
  340. strh r0,[r1,10] 8208 %% Store ACE move
  341. ldr r0 pc+1C 4807 %% R0=4000=egg halfword
  342. -filler- 00FF
  343. strh r0,[r1,2E] 85C8 %% Store egg halfword
  344. bx lr 4770
  345. -data- AE2C
  346. -data- FF00
  347. -data- 3008
  348. -data- 0000
  349. -data- 00A9
  350. -data- 0000
  351. -filler- 00FF
  352. -filler- 0000
  353. -data- 6D83
  354. -data- 0000
  355. -filler- FF00
  356. -filler- 0000
  357. -data- 4000
  358. -data- 0000
  359.  
  360. Box names:
  361. Box 1: (ルばくぶけはかぶ)
  362. Box 2: ( くィかぶ l ) [starts with space; one space after ぶ; lower case L; ends with space]
  363. Box 3: (ギィかぶくェきぶ)
  364. Box 4: ( Nュミびわー ) [starts with space; ends with space]
  365. Box 5: (くぃ 8 ) [two spaces after ぃ; ends with three spaces]
  366. Box 6: ( ォヘ ) [starts with three spaces; ォ not オ; ヘ not へ; ends with three spaces]
  367. Box 7: ( ぞ ) [starts with three spaces; ends with four spaces]
  368. Box 8 onwards: Anything
  369. _______________________________
  370. English Emerald; Italian and German and French Ruby/Sapphire:
  371. movs r11, A9 E3B0B0A9 %% R11=A9=species
  372. sbc r12,pc,3040 E2CFCDC1 %% R12=PC-3040-1
  373. movs r10, 3FC000 E3B0A9FF %% R10=3FC000=egg halfword
  374. strh r10 [r12, **] E1CCA*B* %% Store egg halfword ** = 60 on old emulators, 5E on console/new emulators
  375. -filler- BFBFFF00
  376. strh r11 [r12, 3*] E1CCB3B* %% Store species * = 6 on old emulators, 4 on console/new emulators
  377. -filler- BFFF0000
  378. -filler- 00000000
  379. -filler- FF000000
  380. movs r11, 2C80 E3B0BDB2 %% R11=2C80
  381. adc r11,r11, D6 E2ABB0D6 %% R11=R11+D6=2D56=ACE move
  382. adc r10,r11, 3FC000 E2ABA9FF %% R10=R11+3FC000=3FED56
  383. strh r11 [r12, 4*] E1CCB4B* %% Store ACE move * = 2 on old emulators, 0 on console/new emulators
  384. -filler- BFBFFF00
  385. adc r11,r10, A9 E2AAB0A9 %% R11=R10+A9=3FEDFF=new checksum
  386. -filler- BFFF0000
  387. strh r11 [r12, 3*] E1CCB3B* %% Store checksum * = 2 on old emulators, 0 on console/new emulators
  388. -filler- FF000000
  389. mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
  390. sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
  391. sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
  392. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  393. -filler- BFBFFF00
  394. strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  395. -filler- BFFF0000
  396. adc r12,lr, DC0 E2AECEDC %% R12=LR+DC0
  397. -filler- FF000000
  398. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  399. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  400. -filler- BFBFBFFF
  401. adc r0,r12, D6 E2AC00D6 %% R0=R12+D6=SetCB2WhiteOutENG
  402.  
  403. Box names:
  404. Box 1: (8……oGSUn) [two …]
  405. Box 2: (8…o*°Rm ) [one …; ends with space] *° = …5 [one …] on old emulators, D4 on console/new emulators
  406. Box 3: (EE*'Rm ) [lefty '; ends with two spaces] * = ♀ on new emulators, ' [righty '] on console/new emulators
  407. Box 4: (E ) [ends with seven spaces]
  408. Box 5: ("C…ob…!n) [righty "; one …; one …]
  409. Box 6: (8!n*'Rm ) [righty '; ends with space] * = " [righty "] on old emulators, … [one …] on console/new emulators
  410. Box 7: (EE8…9n ) [one …; ends with two spaces]
  411. Box 8: (E*'Rm ) [lefty '; ends with three spaces] * = " [righty "] on old emulators, … [one …] on console/new emulators
  412. Box 9: (z♀loy…Qn) [lower case L; one …]
  413. Box 10: (♀QnFGEn ) [ends with space]
  414. Box 11: (EE …?q ) [one space after E; one …; ends with two spaces]
  415. Box 12: (EhT-n ) [ends with three spaces]
  416. Box 13: (YN?nFNRo)
  417. Box 14: (EEEb ?n ) [one space after b; ends with space]
  418. _______________________________
  419. Italian Emerald; Italian and German and French Ruby/Sapphire:
  420. movs r11, A9 E3B0B0A9 %% R11=A9=species
  421. sbc r12,pc,3040 E2CFCDC1 %% R12=PC-3040-1
  422. movs r10, 3FC000 E3B0A9FF %% R10=3FC000=egg halfword
  423. strh r10 [r12, **] E1CCA*B* %% Store egg halfword ** = 60 on old emulators, 5E on console/new emulators
  424. -filler- BFBFFF00
  425. strh r11 [r12, 3*] E1CCB3B* %% Store species * = 6 on old emulators, 4 on console/new emulators
  426. -filler- BFFF0000
  427. -filler- 00000000
  428. -filler- FF000000
  429. movs r11, 2C80 E3B0BDB2 %% R11=2C80
  430. adc r11,r11, D6 E2ABB0D6 %% R11=R11+D6=2D56=ACE move
  431. adc r10,r11, 3FC000 E2ABA9FF %% R10=R11+3FC000=3FED56
  432. strh r11 [r12, 4*] E1CCB4B* %% Store ACE move * = 2 on old emulators, 0 on console/new emulators
  433. -filler- BFBFFF00
  434. adc r11,r10, A9 E2AAB0A9 %% R11=R10+A9=3FEDFF=new checksum
  435. -filler- BFFF0000
  436. strh r11 [r12, 3*] E1CCB3B* %% Store checksum * = 2 on old emulators, 0 on console/new emulators
  437. -filler- FF000000
  438. mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
  439. sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
  440. sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
  441. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  442. -filler- BFBFFF00
  443. strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  444. -filler- BFFF0000
  445. adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
  446. -filler- FF000000
  447. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  448. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  449. -filler- B2AC00FF
  450. sbc r0,r12, DD E2CC00DD %% R0=R12-DD=SetCB2WhiteOutITA
  451.  
  452. Box names:
  453. Box 1: (8……oGSUn) [two …]
  454. Box 2: (8…o*°Rm ) [one …; ends with space] *° = …5 [one …] on old emulators, D4 on console/new emulators
  455. Box 3: (EE*'Rm ) [lefty '; ends with two spaces] * = ♀ on new emulators, ' [righty '] on console/new emulators
  456. Box 4: (E ) [ends with seven spaces]
  457. Box 5: ("C…ob…!n) [righty "; one …; one …]
  458. Box 6: (8!n*'Rm ) [righty '; ends with space] * = " [righty "] on old emulators, … [one …] on console/new emulators
  459. Box 7: (EE8…9n ) [one …; ends with two spaces]
  460. Box 8: (E*'Rm ) [lefty '; ends with three spaces] * = " [righty "] on old emulators, … [one …] on console/new emulators
  461. Box 9: (z♀loy…Qn) [lower case L; one …]
  462. Box 10: (♀QnFGEn ) [ends with space]
  463. Box 11: (?" …?q ) [righty "; one space after "; ends with two spaces]
  464. Box 12: (E,T-n ) [ends with three spaces]
  465. Box 13: (YN?nFNRo)
  466. Box 14: ( ?"i Rn ) [starts with space, righty "; one space after i; ends with space]
  467. _______________________________
  468. German Emerald; Italian and German and French Ruby/Sapphire:
  469. movs r11, A9 E3B0B0A9 %% R11=A9=species
  470. sbc r12,pc,3040 E2CFCDC1 %% R12=PC-3040-1
  471. movs r10, 3FC000 E3B0A9FF %% R10=3FC000=egg halfword
  472. strh r10 [r12, **] E1CCA*B* %% Store egg halfword ** = 60 on old emulators, 5E on console/new emulators
  473. -filler- BFBFFF00
  474. strh r11 [r12, 3*] E1CCB3B* %% Store species * = 6 on old emulators, 4 on console/new emulators
  475. -filler- BFFF0000
  476. -filler- 00000000
  477. -filler- FF000000
  478. movs r11, 2C80 E3B0BDB2 %% R11=2C80
  479. adc r11,r11, D6 E2ABB0D6 %% R11=R11+D6=2D56=ACE move
  480. adc r10,r11, 3FC000 E2ABA9FF %% R10=R11+3FC000=3FED56
  481. strh r11 [r12, 4*] E1CCB4B* %% Store ACE move * = 2 on old emulators, 0 on console/new emulators
  482. -filler- BFBFFF00
  483. adc r11,r10, A9 E2AAB0A9 %% R11=R10+A9=3FEDFF=new checksum
  484. -filler- BFFF0000
  485. strh r11 [r12, 3*] E1CCB3B* %% Store checksum * = 2 on old emulators, 0 on console/new emulators
  486. -filler- FF000000
  487. mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
  488. sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
  489. sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
  490. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  491. -filler- BFBFFF00
  492. strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  493. -filler- BFFF0000
  494. adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
  495. -filler- FF000000
  496. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  497. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  498. -filler- B2AC00FF
  499. adc r0,r12, A8 E2AC00A8 %% R0=R12+A8=SetCB2WhiteOutGER
  500.  
  501. Box names:
  502. Box 1: (8……oGSUn) [two …]
  503. Box 2: (8…o*°Rm ) [one …; ends with space] *° = …5 [one …] on old emulators, D4 on console/new emulators
  504. Box 3: (EE*'Rm ) [lefty '; ends with two spaces] * = ♀ on new emulators, ' [righty '] on console/new emulators
  505. Box 4: (E ) [ends with seven spaces]
  506. Box 5: ("C…ob…!n) [righty "; one …; one …]
  507. Box 6: (8!n*'Rm ) [righty '; ends with space] * = " [righty "] on old emulators, … [one …] on console/new emulators
  508. Box 7: (EE8…9n ) [one …; ends with two spaces]
  509. Box 8: (E*'Rm ) [lefty '; ends with three spaces] * = " [righty "] on old emulators, … [one …] on console/new emulators
  510. Box 9: (z♀loy…Qn) [lower case L; one …]
  511. Box 10: (♀QnFGEn ) [ends with space]
  512. Box 11: (?" …?q ) [righty "; one space after "; ends with two spaces]
  513. Box 12: (E0T-n ) [zero; ends with three spaces]
  514. Box 13: (YN?nFNRo)
  515. Box 14: ( ?"7 ?n ) [starts with space, righty "; one space after 7; ends with space]
  516. _______________________________
  517. Spanish Emerald; Italian and German and French Ruby/Sapphire:
  518. movs r11, A9 E3B0B0A9 %% R11=A9=species
  519. sbc r12,pc,3040 E2CFCDC1 %% R12=PC-3040-1
  520. movs r10, 3FC000 E3B0A9FF %% R10=3FC000=egg halfword
  521. strh r10 [r12, **] E1CCA*B* %% Store egg halfword ** = 60 on old emulators, 5E on console/new emulators
  522. -filler- BFBFFF00
  523. strh r11 [r12, 3*] E1CCB3B* %% Store species * = 6 on old emulators, 4 on console/new emulators
  524. -filler- BFFF0000
  525. -filler- 00000000
  526. -filler- FF000000
  527. movs r11, 2C80 E3B0BDB2 %% R11=2C80
  528. adc r11,r11, D6 E2ABB0D6 %% R11=R11+D6=2D56=ACE move
  529. adc r10,r11, 3FC000 E2ABA9FF %% R10=R11+3FC000=3FED56
  530. strh r11 [r12, 4*] E1CCB4B* %% Store ACE move * = 2 on old emulators, 0 on console/new emulators
  531. -filler- BFBFFF00
  532. adc r11,r10, A9 E2AAB0A9 %% R11=R10+A9=3FEDFF=new checksum
  533. -filler- BFFF0000
  534. strh r11 [r12, 3*] E1CCB3B* %% Store checksum * = 2 on old emulators, 0 on console/new emulators
  535. -filler- FF000000
  536. mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
  537. sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
  538. sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
  539. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  540. -filler- BFBFFF00
  541. strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  542. -filler- BFFF0000
  543. adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
  544. -filler- FF000000
  545. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  546. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  547. -filler- B2AC00FF
  548. sbc r0,r12, D5 E2CC00D5 %% R0=R12-D5=SetCB2WhiteOutSPA
  549.  
  550. Box names:
  551. Box 1: (8……oGSUn) [two …]
  552. Box 2: (8…o*°Rm ) [one …; ends with space] *° = …5 [one …] on old emulators, D4 on console/new emulators
  553. Box 3: (EE*'Rm ) [lefty '; ends with two spaces] * = ♀ on new emulators, ' [righty '] on console/new emulators
  554. Box 4: (E ) [ends with seven spaces]
  555. Box 5: ("C…ob…!n) [righty "; one …; one …]
  556. Box 6: (8!n*'Rm ) [righty '; ends with space] * = " [righty "] on old emulators, … [one …] on console/new emulators
  557. Box 7: (EE8…9n ) [one …; ends with two spaces]
  558. Box 8: (E*'Rm ) [lefty '; ends with three spaces] * = " [righty "] on old emulators, … [one …] on console/new emulators
  559. Box 9: (z♀loy…Qn) [lower case L; one …]
  560. Box 10: (♀QnFGEn ) [ends with space]
  561. Box 11: (?" …?q ) [righty "; one space after "; ends with two spaces]
  562. Box 12: (E,T-n ) [ends with three spaces]
  563. Box 13: (YN?nFNRo)
  564. Box 14: ( ?"a Rn ) [starts with space, righty "; one space after a; ends with space]
  565. _______________________________
  566. French Emerald; Italian and German and French Ruby/Sapphire:
  567. movs r11, A9 E3B0B0A9 %% R11=A9=species
  568. sbc r12,pc,3040 E2CFCDC1 %% R12=PC-3040-1
  569. movs r10, 3FC000 E3B0A9FF %% R10=3FC000=egg halfword
  570. strh r10 [r12, **] E1CCA*B* %% Store egg halfword ** = 60 on old emulators, 5E on console/new emulators
  571. -filler- BFBFFF00
  572. strh r11 [r12, 3*] E1CCB3B* %% Store species * = 6 on old emulators, 4 on console/new emulators
  573. -filler- BFFF0000
  574. -filler- 00000000
  575. -filler- FF000000
  576. movs r11, 2C80 E3B0BDB2 %% R11=2C80
  577. adc r11,r11, D6 E2ABB0D6 %% R11=R11+D6=2D56=ACE move
  578. adc r10,r11, 3FC000 E2ABA9FF %% R10=R11+3FC000=3FED56
  579. strh r11 [r12, 4*] E1CCB4B* %% Store ACE move * = 2 on old emulators, 0 on console/new emulators
  580. -filler- BFBFFF00
  581. adc r11,r10, A9 E2AAB0A9 %% R11=R10+A9=3FEDFF=new checksum
  582. -filler- BFFF0000
  583. strh r11 [r12, 3*] E1CCB3B* %% Store checksum * = 2 on old emulators, 0 on console/new emulators
  584. -filler- FF000000
  585. mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
  586. sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
  587. sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
  588. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  589. -filler- BFBFFF00
  590. strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  591. -filler- BFFF0000
  592. adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
  593. -filler- FF000000
  594. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  595. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  596. -filler- B2AC00FF
  597. adc r0,r12, C8 E2AC00C8 %% R0=R12+C8=SetCB2WhiteOutFRA
  598.  
  599. Box names:
  600. Box 1: (8……oGSUn) [two …]
  601. Box 2: (8…o*°Rm ) [one …; ends with space] *° = …5 [one …] on old emulators, D4 on console/new emulators
  602. Box 3: (EE*'Rm ) [lefty '; ends with two spaces] * = ♀ on new emulators, ' [righty '] on console/new emulators
  603. Box 4: (E ) [ends with seven spaces]
  604. Box 5: ("C…ob…!n) [righty "; one …; one …]
  605. Box 6: (8!n*'Rm ) [righty '; ends with space] * = " [righty "] on old emulators, … [one …] on console/new emulators
  606. Box 7: (EE8…9n ) [one …; ends with two spaces]
  607. Box 8: (E*'Rm ) [lefty '; ends with three spaces] * = " [righty "] on old emulators, … [one …] on console/new emulators
  608. Box 9: (z♀loy…Qn) [lower case L; one …]
  609. Box 10: (♀QnFGEn ) [ends with space]
  610. Box 11: (?" …?q ) [righty "; one space after "; ends with two spaces]
  611. Box 12: (E0T-n ) [zero; ends with three spaces]
  612. Box 13: (YN?nFNRo)
  613. Box 14: ( ?"N ?n ) [starts with space, righty "; one space after N; ends with space]
  614. _______________________________
  615. Japanese Emerald (0x0615-like execution); Italian and German and French Ruby/Sapphire:
  616. movs r11, A9 E3B0B0A9 %% R11=A9=species
  617. sbc r12,pc,3040 E2CFCDC1 %% R12=PC-3040-1
  618. movs r10, 3FC000 E3B0A9FF %% R10=3FC000=egg halfword
  619. strh r10 [r12, **]! E1ECA*B* %% Store egg halfword ** = 60 on old emulators, 5E on console/new emulators
  620. -filler- BFBFFF00
  621. strh r11 [r12, -2A] E14CB2BA %% Store species
  622. -filler- BFFF0000
  623. movs r11, 2C80 E3B0BDB2 %% R11=2C80
  624. -filler- FF000000
  625. adc r11,r11, D6 E2ABB0D6 %% R11=R11+D6=2D56=ACE move
  626. strh r11 [r12, -1E] E14CB1BE %% Store ACE move
  627. adc r10,r11, 3FC000 E2ABA9FF %% R10=R11+3FC000=3FED56
  628. adc r11,r10, A9 E2AAB0A9 %% R11=R10+A9=3FEDFF=new checksum
  629. -filler- BFBFFF00
  630. strh r11 [r12, -2E] E14CB2BE %% Store checksum
  631. -filler- BFFF0000
  632. -filler- 00000000
  633. -filler- FF000000
  634. -filler- 000000BF
  635. -filler- 00000000
  636. -filler- 000000FF
  637. lrd r0 [pc, -*] E51F000* %% R0=081378ED=SetCB2WhiteOutJAP * = 0 on old emulators, 2 on console/new emulators
  638. bx r0 E12FFF10 %% Exit the execution
  639. -data- 081378ED
  640.  
  641. Box names:
  642. Box 1: (8……oGSUn) [two …]
  643. Box 2: (8…o*°xm ) [one …; ends with space] *° = …5 [one …] on old emulators, D4 on console/new emulators
  644. Box 3: (EE/』ぴm ) [ends with two spaces]
  645. Box 4: (E』C…o ) [one …; ends with three spaces]
  646. Box 5: (b…!nD『ぴm) [one …]
  647. Box 6: (8!n8…9n ) [one …; ends with space]
  648. Box 7: (EED』ぴm ) [ends with two spaces]
  649. Box 8: (E ) [ends with seven spaces]
  650. Box 9: (E ) [ends with seven spaces]
  651. Box 10: ( * まqた) [starts with three spaces; one space after *] * = [space] on old emulators, い on console/new emulators
  652. Box 11: (ぁmyリてく )[リ not り; ends with two spaces]
  653. Box 12 onwards: anything
  654. _______________________________
  655. Japanese Emerald (0x085F-like execution); Italian and German and French Ruby/Sapphire:
  656. mov r1,pc 4679 %% R1=PC+4
  657. ldr r0 pc+20 4808 %% R0=3008
  658. sub r1,r1,r0 1A09 %% R1=R1-R0=checksum location
  659. ldr r0 pc+24 4809 %% R0=FF006DFF=checksum
  660. -filler- 00FF
  661. strh r0,[r1] 8008 %% Store checksum
  662. ldr r0 pc+18 4806 %% R0=A9=species
  663. b pc,4 E000 %% Skip bad filler
  664. -bad filler- FF00
  665. strh r0,[r1,4] 8088 %% Store species
  666. ldr r0 pc+18 4806 %% R0=2D56=ACE move
  667. strh r0,[r1,10] 8208 %% Store ACE move
  668. ldr r0 pc+1C 4807 %% R0=4000=egg halfword
  669. -filler- 00FF
  670. strh r0,[r1,2E] 85C8 %% Store egg halfword
  671. bx lr 4770
  672. -filler- 0000
  673. -filler- FF00
  674. -data- 3008
  675. -data- 0000
  676. -data- 00A9
  677. -data- 0000
  678. -data- 6DFF
  679. -data- 0000
  680. -data- 2D56
  681. -data- 0000
  682. -filler- FF00
  683. -filler- 0000
  684. -data- 4000
  685. -data- 0000
  686.  
  687. Box names:
  688. Box 1: (ルばくぶけはかぶ)
  689. Box 2: ( くィかぶ l ) [starts with space; one space after ぶ; lower case L; ends with space]
  690. Box 3: (ギィかぶくェきぶ)
  691. Box 4: ( Nュミびわー ) [starts with space; ends with space]
  692. Box 5: (くぃ 8 ) [two spaces after ぃ; ends with three spaces]
  693. Box 6: ( ォヘ ) [starts with three spaces; ォ not オ; ヘ not へ; ends with three spaces]
  694. Box 7: ( ぞ ) [starts with three spaces; ends with four spaces]
  695. Box 8 onwards: Anything
  696. _______________________________________________________________________________________________________________________________________
  697. Result: 00000000 00000000 00000000 00000000
  698. 00000000 00000000 00000000 00002E2C
  699. 000000A9 00000000 00000000 00006D83
  700. 00000000 00000000 00000000 00000000
  701. 00000000 00000000 C0000000 00000000
  702.  
  703. 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
  704.  
  705. | Step 2: Get the bootstrap |
  706.  
  707. 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 (non-Japanese and non-Spanish)
  708.  
  709. | Step 2-A (Japanese Emerald only) |
  710.  
  711. Make sure that box 10 slot 2 is empty, then execute this code. If everything works out you should find a shiny Absol in slot 2. Look at its summaries: Absol should be female, Lv.0, in a Master Ball, hardy nature, obtained in a trade, have Pokérus, its OT should be blank, its TID should be 00000 and its nickname should be blank.
  712. If so, save the game. If you see anything different than that, softreset and check for mistakes in box names before trying again.
  713. You can keep Absol there or place it wherever you want but don't put it in your team yet. You're now ready for Step 3
  714.  
  715. 0x0615-like execution:
  716.  
  717. adc r2,pc,* E2AF200* %% R2=PC+*+8 * = D on old emulators, B on console/new emulators
  718. adc r1,pc,** E2AF10** %% R1=PC+8+** ** = 81 on old emulators, 7F on console/new emulators
  719. -filler- BFBFBFFF
  720. sbc r1,r1,2F00 E2C11DBC %% R1=R1-2F00-1
  721. bx r2 E12FFF12 %% switch to THUMB execution
  722. mov r0,50 2050 %% R0=50
  723. strb r0,[r1,1] 7048
  724. ldr r0 pc+1C 4807 %% R0=178
  725. -filler- 00FF
  726. strh r0,[r1,4] 8088
  727. ldr r0 pc+10 4804 %% R0=03834403
  728. b pc,4 E000 %% Skip bad filler
  729. -Bad filler- FF00
  730. str r0,[r1,24] 6248
  731. ldr r0 pc+18 4803 %% R0=0800FF02
  732. str r0,[r1,28] 6288
  733. ldr r2 pc+14 4A05 %% R2=081378ED
  734. -filler- 00FF
  735. bx r2 4710
  736. -data- 4403
  737. -data- 0383
  738. -data- FF02
  739. -data- 0800
  740. -data- 0178
  741. -data- 0000
  742. -filler- 0000
  743. -filler- 00FF
  744. -data- 78ED
  745. -data- 0813
  746.  
  747. Box names:
  748. Box 1: (*み・n°た・n)
  749. * = す on old emulators, さ on console/new emulators ; ° = ゥ [ゥ not ウ] on old emulators, ァ [ァ not ア] on console/new emulators
  750.  
  751. Box 2: (EEEBへGnつ) [へ not ヘ; つ not っ]
  752. Box 3: (ぁmっみぶミきぶ) [ぁ not あ; っ not つ]
  753. Box 4: ( ギィえぶ l ) [starts with space; ィ not イ; え not ぇ ; one space afer ぶ; lower case L; ends with space]
  754. Box 5: (ぶツうぶギツおぼ) [ツ not ッ; う not ぅ; ツ not ッ; お not ぉ]
  755. Box 6: ( たびうでォうい) [starts with space; う not ぅ; う not ぅ; い not ぃ]
  756. Box 7: ( くリあ ) [starts with space; リ not り; あ not ぁ; ends with four spaces]
  757. Box 8: ( yリてく ) [starts with space; リ not り; ends with three spaces]
  758. Box 9 onwards: Anything
  759. _______________________________________________________________________________________________________________________________________
  760.  
  761. 0x085F-like execution:
  762.  
  763. mov r1,pc 4679 %% R1=PC+2
  764. ldr r0 pc+24 4809 %% R0=2E78
  765. sub r1,r1,r0 1A09 %% R1=R1-R0=starting position
  766. mov r0,50 2050 %% R0=50
  767. -filler- 00FF
  768. strb r0,[r1,1] 7048
  769. ldr r0 pc+10 4804 %% R0=FF000178
  770. b pc,4 E000 %% Skip bad filler
  771. -Bad filler- FF00
  772. strh r0,[r1,4] 8088
  773. ldr r0 pc+C 4803 %% R0=03834403
  774. str r0,[r1,24] 6248
  775. ldr r0 pc+18 4806 %% R0=0800FF02
  776. -filler- 00FF
  777. str r0,[r1,28] 6288
  778. bx lr 4770
  779. -data- 0178
  780. -data- FF00
  781. -data- 4403
  782. -data- 0383
  783. -data- 2E78
  784. -data- 0000
  785. -filler- 00FF
  786. -filler- 0000
  787. -filler- 0000
  788. -filler- 0000
  789. -data- FF02
  790. -data- 0800
  791.  
  792. Box names:
  793. Box 1: (ルばけぶけはっみ) [っ not つ]
  794. Box 2: ( ぶミえぶ l ) [starts with space; え not ぇ; one space after ぶ; lower case L; ends with space]
  795. Box 3: (ギィうぶぶツかぶ) [ィ not イ; う not ぅ; ツ not ッ]
  796. Box 4: ( ギツミびリあ ) [starts with space; ツ not ッ; リ not り; あ not ぁ; ends with space]
  797. Box 5: (うでォうリん ) [う not ぅ; ォ not オ; う not ぅ; リ not り]
  798. Box 6: ( い) [starts with seven spaces; い not ぃ]
  799. Box 7: ( く ) [starts with space; ends with six spaces]
  800. Box 8 onwards: Anything
  801. _______________________________________________________________________________________________________________________________________
  802. Result: 00000000 00000000 00000000 00000000
  803. 00000000 00000000 00000000 00005000
  804. 00000178 00000000 00000000 00000000
  805. 00000000 00000000 00000000 00000000
  806. 03834403 0800FF02 00000000 00000000
  807.  
  808.  
  809. | Step 2-B (non-Japanese Emerald only) |
  810.  
  811. Execute these two codes in the order you find them. If you're hatching eggs to trigger executions, make sure you have at least two eggs to hatch before starting. Use the right version of the codes according to your Emerald language.
  812. Carefully read the notes you find before each code before executing them: ignoring the notes will most likely waste the whole procedure.
  813. Make sure that box 10 slot 2 is empty before starting executing the codes and never put any Pokémon there during the process.
  814.  
  815. Note: make sure that box 10 slot 2 is empty. Once you're done writing box names for "Code 1", make sure not to exit boxes on box 10. I personally suggest to exit boxes while in box 14. Do not save the game after the execution of "Code 1"
  816.  
  817. _____________________________________________________________________________________________________________________________________
  818. | |
  819. | Code 1 |
  820. |_____________________________________________________________________________________________________________________________________|
  821.  
  822. English version:
  823.  
  824. sbc r11, pc, 2F40 E2CFBDBD %% R11=PC-2F40
  825. movs r12, C5000 E3B0CAC5 %% R12=C5000
  826. -filler- BFBFBFFF
  827. strh r12, [r11, C*] E1CBCCB* * = 5 on old emulators, 3 on console/new emulators
  828. -filler- BFBFFF00
  829. movs r12, 34400 E3B0CBD1 %% R12=34400
  830. -filler- BFFF0000
  831. adc r12, r12, 3800000 E2ACC7E0 %% R12=R12-3800000=3834400
  832. -filler- FF000000
  833. adc r12, r12, 3 E2ACC3C0 %% R12=R12+3=3834403
  834. strt r12, [r11, E9]! E5ABC0E9
  835. -filler- BFBFBFFF
  836. mvn r11, E1 E3E0B0E1 %% R11=notE1=FFFFFF1E
  837. -filler- BFBFFF00
  838. bic r11,r11, ED00000 E3CBB6ED %% R11=R11 and notED00000=F12FFF1E
  839. -filler- BFFF0000
  840. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  841. -filler- FF000000
  842. bic r11,r11, 1000000E E3CBB2E1 %% R11=R11 and not1000000E=E12FFF10=bx r0 opcode
  843. strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  844. -filler- 0000BFFF
  845. -filler- 00000000
  846. -filler- BFBFFF00
  847. adc r12,lr, DC0 E2AECEDC %% R12=LR+DC0
  848. -filler- BFFF0000
  849. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  850. -filler- FF000000
  851. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  852. adc r0,r12, D6 E2AC00D6 %% R0=R12+D6=SetCB2WhiteOutENG
  853. -filler- 0000BFFF
  854. -filler- 00000000 %% Will be overwritten with bx r0
  855.  
  856.  
  857. Box names:
  858. Box 1: (CCUnKP…o) [one …]
  859. Box 2: (EEE*RQm ) [ends with space] * = ♂ on old emulators, ' [lefty '] on console/new emulators
  860. Box 3: (EEWQ…o ) [one …; ends with two spaces]
  861. Box 4: (ElM?n ) [lower case L; ends with three spaces]
  862. Box 5: (FI?nuF!q) [upper case i]
  863. Box 6: (EEEm…lo ) [one …; lower case L; ends with space]
  864. Box 7: (EEy♀Qo ) [ends with two spaces]
  865. Box 8: (EFGEn ) [ends with three spaces]
  866. Box 9: (m"Qo …?q) [righty "; one space after o; one …]
  867. Box 10: (E ) [ends with seven spaces]
  868. Box 11: (EEhT-n ) [ends with two spaces]
  869. Box 12: (EYN?n ) [ends with three spaces]
  870. Box 13: (FNRob ?n) [one space after b]
  871. Box 14: (E ) [ends with seven spaces]
  872. _______________________________________________________________________________________________________________________________________
  873.  
  874. Italian version:
  875.  
  876. sbc r11, pc, 2F40 E2CFBDBD %% R11=PC-2F40
  877. movs r12, C5000 E3B0CAC5 %% R12=C5000
  878. -filler- BFBFBFFF
  879. strh r12, [r11, C*] E1CBCCB* * = 5 on old emulators, 3 on console/new emulators
  880. -filler- BFBFFF00
  881. movs r12, 34400 E3B0CBD1 %% R12=34400
  882. -filler- BFFF0000
  883. adc r12, r12, 3800000 E2ACC7E0 %% R12=R12-3800000=3834400
  884. -filler- FF000000
  885. adc r12, r12, 3 E2ACC3C0 %% R12=R12+3=3834403
  886. strt r12, [r11, E9]! E5ABC0E9
  887. -filler- BFBFBFFF
  888. mvn r11, E1 E3E0B0E1 %% R11=notE1=FFFFFF1E
  889. -filler- BFBFFF00
  890. bic r11,r11, ED00000 E3CBB6ED %% R11=R11 and notED00000=F12FFF1E
  891. -filler- BFFF0000
  892. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  893. -filler- FF000000
  894. bic r11,r11, 1000000E E3CBB2E1 %% R11=R11 and not1000000E=E12FFF10=bx r0 opcode
  895. strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  896. -filler- 0000BFFF
  897. -filler- 00000000
  898. -filler- BFBFFF00
  899. adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
  900. -filler- BFFF0000
  901. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  902. -filler- FF000000
  903. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  904. sbc r0,r12, DD E2CC00DD %% R0=R12-DD-1=SetCB2WhiteOutITA
  905. -filler- 0000BFFF
  906. -filler- 00000000 %% Will be overwritten with bx r0
  907.  
  908.  
  909. Box names:
  910. Box 1: (CCUnKP…o) [one …]
  911. Box 2: (EEE*RQm ) [ends with space] * = ♂ on old emulators, ' [lefty '] on console/new emulators
  912. Box 3: (EEWQ…o ) [one …; ends with two spaces]
  913. Box 4: (ElM?n ) [lower case L; ends with three spaces]
  914. Box 5: (FI?nuF!q) [upper case i]
  915. Box 6: (EEEm…lo ) [one …; lower case L; ends with space]
  916. Box 7: (EEy♀Qo ) [ends with two spaces]
  917. Box 8: (EFGEn ) [ends with three spaces]
  918. Box 9: (m"Qo …?q) [righty "; one space after o; one …]
  919. Box 10: (E ) [ends with seven spaces]
  920. Box 11: (EE,T-n ) [ends with two spaces]
  921. Box 12: (EYN?n ) [ends with three spaces]
  922. Box 13: (FNRoi Rn) [one space after i]
  923. Box 14: (E ) [ends with seven spaces]
  924. _______________________________________________________________________________________________________________________________________
  925.  
  926. German version:
  927.  
  928. sbc r11, pc, 2F40 E2CFBDBD %% R11=PC-2F40
  929. movs r12, C5000 E3B0CAC5 %% R12=C5000
  930. -filler- BFBFBFFF
  931. strh r12, [r11, C*] E1CBCCB* * = 5 on old emulators, 3 on console/new emulators
  932. -filler- BFBFFF00
  933. movs r12, 34400 E3B0CBD1 %% R12=34400
  934. -filler- BFFF0000
  935. adc r12, r12, 3800000 E2ACC7E0 %% R12=R12-3800000=3834400
  936. -filler- FF000000
  937. adc r12, r12, 3 E2ACC3C0 %% R12=R12+3=3834403
  938. strt r12, [r11, E9]! E5ABC0E9
  939. -filler- BFBFBFFF
  940. mvn r11, E1 E3E0B0E1 %% R11=notE1=FFFFFF1E
  941. -filler- BFBFFF00
  942. bic r11,r11, ED00000 E3CBB6ED %% R11=R11 and notED00000=F12FFF1E
  943. -filler- BFFF0000
  944. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  945. -filler- FF000000
  946. bic r11,r11, 1000000E E3CBB2E1 %% R11=R11 and not1000000E=E12FFF10=bx r0 opcode
  947. strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  948. -filler- 0000BFFF
  949. -filler- 00000000
  950. -filler- BFBFFF00
  951. adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
  952. -filler- BFFF0000
  953. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  954. -filler- FF000000
  955. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  956. adc r0,r12, A8 E2AC00A8 %% R0=R12+A8=SetCB2WhiteOutGER
  957. -filler- 0000BFFF
  958. -filler- 00000000 %% Will be overwritten with bx r0
  959.  
  960.  
  961. Box names:
  962. Box 1: (CCUnKP…o) [one …]
  963. Box 2: (EEE*RQm ) [ends with space] * = ♂ on old emulators, ' [lefty '] on console/new emulators
  964. Box 3: (EEWQ…o ) [one …; ends with two spaces]
  965. Box 4: (ElM?n ) [lower case L; ends with three spaces]
  966. Box 5: (FI?nuF!q) [upper case i]
  967. Box 6: (EEEm…lo ) [one …; lower case L; ends with space]
  968. Box 7: (EEy♀Qo ) [ends with two spaces]
  969. Box 8: (EFGEn ) [ends with three spaces]
  970. Box 9: (m"Qo …?q) [righty "; one space after o; one …]
  971. Box 10: (E ) [ends with seven spaces]
  972. Box 11: (EE0T-n ) [zero; ends with two spaces]
  973. Box 12: (EYN?n ) [ends with three spaces]
  974. Box 13: (FNRo7 ?n) [one space after 7]
  975. Box 14: (E ) [ends with seven spaces]
  976. _______________________________________________________________________________________________________________________________________
  977.  
  978. Spanish version:
  979.  
  980. sbc r11, pc, 2F40 E2CFBDBD %% R11=PC-2F40
  981. movs r12, C5000 E3B0CAC5 %% R12=C5000
  982. -filler- BFBFBFFF
  983. strh r12, [r11, C*] E1CBCCB* * = 5 on old emulators, 3 on console/new emulators
  984. -filler- BFBFFF00
  985. movs r12, 34400 E3B0CBD1 %% R12=34400
  986. -filler- BFFF0000
  987. adc r12, r12, 3800000 E2ACC7E0 %% R12=R12-3800000=3834400
  988. -filler- FF000000
  989. adc r12, r12, 3 E2ACC3C0 %% R12=R12+3=3834403
  990. strt r12, [r11, E9]! E5ABC0E9
  991. -filler- BFBFBFFF
  992. mvn r11, E1 E3E0B0E1 %% R11=notE1=FFFFFF1E
  993. -filler- BFBFFF00
  994. bic r11,r11, ED00000 E3CBB6ED %% R11=R11 and notED00000=F12FFF1E
  995. -filler- BFFF0000
  996. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  997. -filler- FF000000
  998. bic r11,r11, 1000000E E3CBB2E1 %% R11=R11 and not1000000E=E12FFF10=bx r0 opcode
  999. strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  1000. -filler- 0000BFFF
  1001. -filler- 00000000
  1002. -filler- BFBFFF00
  1003. adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
  1004. -filler- BFFF0000
  1005. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  1006. -filler- FF000000
  1007. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  1008. sbc r0,r12, D5 E2CC00D5 %% R0=R12-D5=SetCB2WhiteOutSPA
  1009. -filler- 0000BFFF
  1010. -filler- 00000000 %% Will be overwritten with bx r0
  1011.  
  1012.  
  1013. Box names:
  1014. Box 1: (CCUnKP…o) [one …]
  1015. Box 2: (EEE*RQm ) [ends with space] * = ♂ on old emulators, ' [lefty '] on console/new emulators
  1016. Box 3: (EEWQ…o ) [one …; ends with two spaces]
  1017. Box 4: (ElM?n ) [lower case L; ends with three spaces]
  1018. Box 5: (FI?nuF!q) [upper case i]
  1019. Box 6: (EEEm…lo ) [one …; lower case L; ends with space]
  1020. Box 7: (EEy♀Qo ) [ends with two spaces]
  1021. Box 8: (EFGEn ) [ends with three spaces]
  1022. Box 9: (m"Qo …?q) [righty "; one space after o; one …]
  1023. Box 10: (E ) [ends with seven spaces]
  1024. Box 11: (EE,T-n ) [ends with two spaces]
  1025. Box 12: (EYN?n ) [ends with three spaces]
  1026. Box 13: (FNRoa Rn) [one space after a]
  1027. Box 14: (E ) [ends with seven spaces]
  1028. _______________________________________________________________________________________________________________________________________
  1029.  
  1030. French version:
  1031.  
  1032. sbc r11, pc, 2F40 E2CFBDBD %% R11=PC-2F40
  1033. movs r12, C5000 E3B0CAC5 %% R12=C5000
  1034. -filler- BFBFBFFF
  1035. strh r12, [r11, C*] E1CBCCB* * = 5 on old emulators, 3 on console/new emulators
  1036. -filler- BFBFFF00
  1037. movs r12, 34400 E3B0CBD1 %% R12=34400
  1038. -filler- BFFF0000
  1039. adc r12, r12, 3800000 E2ACC7E0 %% R12=R12-3800000=3834400
  1040. -filler- FF000000
  1041. adc r12, r12, 3 E2ACC3C0 %% R12=R12+3=3834403
  1042. strt r12, [r11, E9]! E5ABC0E9
  1043. -filler- BFBFBFFF
  1044. mvn r11, E1 E3E0B0E1 %% R11=notE1=FFFFFF1E
  1045. -filler- BFBFFF00
  1046. bic r11,r11, ED00000 E3CBB6ED %% R11=R11 and notED00000=F12FFF1E
  1047. -filler- BFFF0000
  1048. adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
  1049. -filler- FF000000
  1050. bic r11,r11, 1000000E E3CBB2E1 %% R11=R11 and not1000000E=E12FFF10=bx r0 opcode
  1051. strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
  1052. -filler- 0000BFFF
  1053. -filler- 00000000
  1054. -filler- BFBFFF00
  1055. adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
  1056. -filler- BFFF0000
  1057. adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
  1058. -filler- FF000000
  1059. bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
  1060. adc r0,r12, C8 E2AC00C8 %% R0=R12+C8=SetCB2WhiteOutFRA
  1061. -filler- 0000BFFF
  1062. -filler- 00000000 %% Will be overwritten with bx r0
  1063.  
  1064.  
  1065. Box names:
  1066. Box 1: (CCUnKP…o) [one …]
  1067. Box 2: (EEE*RQm ) [ends with space] * = ♂ on old emulators, ' [lefty '] on console/new emulators
  1068. Box 3: (EEWQ…o ) [one …; ends with two spaces]
  1069. Box 4: (ElM?n ) [lower case L; ends with three spaces]
  1070. Box 5: (FI?nuF!q) [upper case i]
  1071. Box 6: (EEEm…lo ) [one …; lower case L; ends with space]
  1072. Box 7: (EEy♀Qo ) [ends with two spaces]
  1073. Box 8: (EFGEn ) [ends with three spaces]
  1074. Box 9: (m"Qo …?q) [righty "; one space after o; one …]
  1075. Box 10: (E ) [ends with seven spaces]
  1076. Box 11: (EE0T-n ) [zero; ends with two spaces]
  1077. Box 12: (EYN?n ) [ends with three spaces]
  1078. Box 13: (FNRoN ?n) [one space after N]
  1079. Box 14: (E ) [ends with seven spaces]
  1080. _______________________________________________________________________________________________________________________________________
  1081. Result: 00000000 00000000 00000000 00000000
  1082. 00000000 00000000 00000000 00005000
  1083. 00000000 00000000 00000000 00000000
  1084. 00000000 00000000 00000000 00000000
  1085. 03834403 00000000 00000000 00000000
  1086.  
  1087. Note: after executing "Code 1", do not save. Looking at box 10 is now strictly forbidden. Look at box 14 (again, to reach box 14 you must avoid looking at box 10): 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 going but do not save.
  1088. To write box names for "Code 2" you'll only need to change box 1-9 so avoiding looking at box 10 will not be a problem. Do not save the game before executing "Code 2"
  1089.  
  1090.  
  1091. _____________________________________________________________________________________________________________________________________
  1092. | |
  1093. | Code 2 |
  1094. |_____________________________________________________________________________________________________________________________________|
  1095.  
  1096. All non-Japanese version:
  1097.  
  1098. sbc r10, pc, 2F40 E2CFADBD %% R10=PC-2F40
  1099. movs r12, 8000003 E3B0C3C2 %% R12=8000003
  1100. adc r12, r12, FF00 E2ACCCFF %% R12=R12+FF00=800FF03
  1101. sbc r12, r12, 0 E2CCC000 %% R12=R12-0-1=800FF02
  1102. -filler- BFBFFF00
  1103. movs r11, D5 E3B0B0D5 %% R11=D5
  1104. -filler- BFFF0000
  1105. add r11,r11, A3 E2ABB0A3 %% R11=R11+A3=178
  1106. -filler- FF000000
  1107. strh r11, [r10, C*] E1CABCB* * = A on old emulators, 8 on console/new emulators
  1108. strt r12, [r10, ED]! E5AAC0ED
  1109. -filler- 0000BFFF
  1110. -filler- 00000000
  1111. -filler- 00BFFF00
  1112. -filler- 00000000
  1113. -filler- BFFF0000
  1114. -filler- 00000000
  1115. -filler- FF000000
  1116. -filler- 000000BF
  1117. -filler- 00000000
  1118.  
  1119.  
  1120. Box names:
  1121. Box 1: (C.UnHI…o) [upper case i]
  1122. Box 2: (R?n FRn ) [one space after n; ends with space]
  1123. Box 3: (EEa……o ) [two …; ends with two spaces]
  1124. Box 4: (E2…!n ) [one …ends with three spaces]
  1125. Box 5: (*BPmyF9q) * = / on old emulators, , on console/new emulators
  1126. Box 6: (E ) [ends with seven spaces]
  1127. Box 7: (E ) [ends with seven spaces]
  1128. Box 8: (E ) [ends with seven spaces]
  1129. Box 9: (E ) [ends with seven spaces]
  1130. Box 10: leave as it is
  1131. Box 11: leave as it is
  1132. Box 12: leave as it is
  1133. Box 13: leave as it is
  1134. Box 14: leave as it is
  1135. _______________________________________________________________________________________________________________________________________
  1136. Result: 00000000 00000000 00000000 00000000
  1137. 00000000 00000000 00000000 00005000
  1138. 00000178 00000000 00000000 00000000
  1139. 00000000 00000000 00000000 00000000
  1140. 03834403 0800FF02 00000000 00000000
  1141.  
  1142. Now look at box 10: you should find a shiny Absol in slot 2. Look at its summaries: Absol should be female, Lv.0, in a Master Ball, hardy nature, obtained in a trade, have Pokérus, its OT should be blank, its TID should be 00000 and its nickname should be blank.
  1143. If so, save the game. If you see anything different than that, softreset and check for mistakes in box names before trying again the whole Step 2-B.
  1144. You can keep Absol there or place it wherever you want but don't put it in your team yet. You're now ready for Step 3
  1145.  
  1146. | Step 3: trade and RS setup |
  1147.  
  1148. On Emerald, clone the Crobat egg from Step 1 and Absol from Step 2 as a backup and also to take a copy in case you want to trade ACE to other non-Japanese non-Spanish RS games. If you're playing on a live battery game, make sure not to have Absol in your team at the stroke of midnight: you don't want the Pokérus status to change. Put one copy of the two Pokémon somewhere in safe.
  1149. 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 two Pokémon from that second floor PC. Again, if you're playing on a live battery game, make sure not to have Absol in your team at the stroke of midnight. Trade the two 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).
  1150. On Ruby/Sapphire enter the second floor PC. Place the bootstrap in your boxes: Absol from Step 2 goes in box 7 slot 23 for English Ruby and Sapphire games, while it goes in box 1 slot 1 for Italian, German and French Ruby and Sapphire games.
  1151. Make sure that box 14 slot 29 and 30 are empty.
  1152. Hatch Crobat: it should have only one glitch move, which is the ACE move for non-Japanese and non-Spanish Ruby and Sapphire.
  1153. 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.
  1154. 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?)
  1155.  
  1156.  
  1157. Troubleshooting
  1158.  
  1159. 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.
  1160.  
  1161. (General non-Japanese Emerald problem)
  1162. -Q: after executing a code on Emerald all summary sprites are glitched
  1163. -A: that's a normal side effect of the 0x0611 hatching technique. After a reset or a battle this issue will solve itself
  1164.  
  1165. (General non-Japanese Emerald problem)
  1166. -Q: after executing a code on Emerald my money amount changes
  1167. -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
  1168.  
  1169. (General non-Japanese Emerald problem)
  1170. -Q: after executing a code on Emerald some data of my Trainer Card's back is corrupted
  1171. -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)
  1172.  
  1173. (Step 1 non-Japanese Emerald problem)
  1174. -Q: my game crashes/freezes as soon as/immediately after I press A at the hatching message, before displaying the hatching screen
  1175. -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
  1176.  
  1177. (Step 1 non-Japanese Emerald problem)
  1178. -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)
  1179. -A: there may be five reasons why this is happening, I'll list them in order of likelihood:
  1180. 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
  1181. 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
  1182. 3- you're using a wrong language version of the code. Check if you're looking at the code version you need
  1183. 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
  1184. 5- your egg/glitch Pokémon is wrong. Try to generate the egg/glitch Pokémon again
  1185.  
  1186. (Step 1 non-Japanese Emerald problem)
  1187. -Q: after executing the code I get a Bad Egg in box 9 slot 27
  1188. -A: there may be two reasons why this is happening, I'll list them in order of likelihood:
  1189. 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
  1190. 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
  1191.  
  1192. (Step 1 non-Japanese Emerald problem)
  1193. -Q: after executing the code I get no noticeable effect/something not related to box 9 slot 27
  1194. -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
  1195.  
  1196. (Step 1 Japanese Emerald 0x085F problem)
  1197. -Q: my game crashes/freezes as soon as/immediately after the glitch Pokémon animation in the summary screen starts
  1198. -A: there may be four reasons why this is happening, I'll list them in order of likelihood:
  1199. 1- you typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  1200. 2- your glitch Pokémon is wrong. Try to generate the glitch Pokémon again
  1201. 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
  1202. 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
  1203.  
  1204. (Step 1 Japanese Emerald 0x0615 problem)
  1205. -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)
  1206. -A: there may be four reasons why this is happening, I'll list them in order of likelihood:
  1207. 1- you typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  1208. 2- your glitch Pokémon is wrong. Try to generate the glitch Pokémon egg again
  1209. 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
  1210. 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
  1211.  
  1212. (Step 1 Japanese Emerald problem)
  1213. -Q: after executing the code I get a Bad Egg in box 9 slot 27
  1214. -A: there may be two reasons why this is happening, I'll list them in order of likelihood:
  1215. 1- you typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  1216. 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
  1217.  
  1218. (Step 1 Japanese Emerald problem)
  1219. -Q: after executing the code I get no noticeable effect/something not related to box 9 slot 27
  1220. -A: you most likely typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  1221.  
  1222. (Step 2 non-Japanese Emerald problem)
  1223. -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)
  1224. -A: there may be three reasons why this is happening, I'll list them in order of likelihood:
  1225. 1- you typed your box names wrong, most likely somewhere in box 6 to 14 for "Code 1". Try to rewrite box names or at least check for visible mistakes
  1226. 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
  1227. 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
  1228.  
  1229. (Step 2 non-Japanese Emerald problem)
  1230. -Q: after executing "Code 1" box name 14 didn't turn into (E Œ)
  1231. -A: you most likely typed your box names wrong making a mistake somewhere in box 6 to 9. Try to rewrite box names or at least check for visible mistakes
  1232.  
  1233. (Step 2 non-Japanese Emerald problem)
  1234. -Q: after executing "Code 2" I don't get what is described in the notes
  1235. -A: there may be two reasons why this is happening, I'll list them in order of likelihood:
  1236. 1- you typed your box names wrong in any of the two codes or looked at box 10 when forbidden. You'll have to start back from "Code 1"
  1237. 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
  1238.  
  1239. (Step 2 Japanese Emerald 0x085F problem)
  1240. -Q: my game crashes/freezes as soon as/immediately after the glitch Pokémon animation in the summary screen starts
  1241. -A: there may be three reasons why this is happening, I'll list them in order of likelihood:
  1242. 1- you typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  1243. 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
  1244. 3- 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
  1245.  
  1246. (Step 2 Japanese Emerald 0x0615 problem)
  1247. -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)
  1248. -A: there may be three reasons why this is happening, I'll list them in order of likelihood:
  1249. 1- you typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  1250. 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
  1251. 3- 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
  1252.  
  1253. (Step 2 Japanese Emerald problem)
  1254. -Q: after executing the code I get a Bad Egg in box 10 slot 2
  1255. -A: there may be two reasons why this is happening, I'll list them in order of likelihood:
  1256. 1- you typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  1257. 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
  1258.  
  1259. (Step 2 Japanese Emerald problem)
  1260. -Q: after executing the code I get no noticeable effect/something not related to box 10 slot 2
  1261. -A: you most likely typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  1262.  
  1263. (Step 3)
  1264. -Q: when I try to hatch the Crobat egg my game crashes
  1265. -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
  1266.  
  1267. (Step 3)
  1268. -Q: when I try to hatch the Crobat egg I get a different Pokémon (regular or double question, not Decamark)
  1269. -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
  1270.  
  1271. (Step 3)
  1272. -Q: when I try to hatch the Crobat egg I get a Decamark from it
  1273. -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
  1274.  
  1275. (Step 3)
  1276. -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
  1277. -A: there may be two reasons why this is happening, I'll list them in order of likelihood:
  1278. 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
  1279. 2- you forgot to turn battle animations on
  1280.  
  1281. (Step 3)
  1282. -Q: when I try to execute a code for RS ACE the game crashes before using the glitch move
  1283. -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
  1284.  
  1285. (Step 3)
  1286. -Q: immediately after I use the glitch move trying to execute a code for RS ACE my game crashes
  1287. -A: there may be five reasons why this is happening, I'll list them in order of likelihood:
  1288. 1- you typed your box names wrong. Try to rewrite box names or at least check for visible mistakes
  1289. 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
  1290. 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
  1291. 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
  1292. 5- you placed the bootstrap in the wrong slot. Simply check if that's the case
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement