Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- This is a list of codes I wrote for Merrp's ACE (demonstration here: https://youtu.be/Stcx-1wkMus ; written guide here: https://e-sh4rk.github.io/EmeraldACE_web/doc/IAN_Obtaining611.pdf ; video tutorial here: https://youtu.be/Kb0CjqeNWNY ; French video tutorial here: https://www.youtube.com/watch?v=-hYMlGmmQgc).
- Choose the code you want to execute from the list, find the box names for that code (use the Ctrl+F function to search the name of the code), write the box names in your game (use the correct version depending on game language), trigger the Arbitrary Code Execution, profit.
- Before executing, make sure that box 12, 13, 14 and the last row of box 11 are empty. Also make sure that you're not using the special wallpaper from Walda (in Rustboro City) on box 2, 6, 10 or 14, any other wallpaper is fine.
- After executing a code you should check if it was successful or not before saving the game. In the notes of each code you'll find a good way to check the correct execution of the code.
- If you have issues with a code please contact me using Twitter (Sleipnir_17), Reddit (Sleipnir17), Discord (Sleipnir17#2146) or Youtube (https://www.youtube.com/channel/UCwip3k3SfjMlFMm2_ZTZStg?), I'll do my best to figure out the problem and solve it.
- If you have requests for other codes feel free to contact me as well.
- List of available codes:
- -Clear Hall of Fame data
- -Give all badges
- -Solve (or cause) the Norman side effect
- -Solve (or cause) the Archie side effect
- -Solve (or cause) the Maxie side effect
- -Solve (or cause) the Aqua grunt on top of Mt. Chimney side effect
- -Solve the Route 119/123 crash side effect
- -Solve the Frontier Maniac crash side effect
- -Solve (or cause) the May side effect
- Want more codes? Give a look here:
- My first list: https://pastebin.com/kYfBzVE3
- My second list: https://pastebin.com/dFLaf2TB
- My third listt: https://pastebin.com/WBtj2sAd
- E-Sh4rk's code generator: https://e-sh4rk.github.io/CodeGenerator/index.html
- Actual codes:
- -Clear Hall of Fame data:
- Note: this code will clear all the Hall of Fame data, allowing you to rewrite it from scratch. This is done by clearing the "game cleared" flag and by setting to zero the counter "entered HoF". Executing this code before entering the Hall of Fame the first time does nothing and should not be done
- _______________________________
- For English versions:
- -filler- BFBFBFBF
- sbc r11,pc,AE00 E2CFBCAE %% R11=PC-AE00-1
- movs r12,FF E3B0C0FF %% R12=FF
- sbc r0,r12,EE E2CC00EE %% R0=R12-EE-1=10
- -filler- BFBFFF00
- ldrh r12 [r11, 2*] E1DBC2B* %% Load game clear halfword * = 5 on old emulators; 3 on new emulators/console
- -filler- BFFF0000
- bic r12,r12,r0 E1CCC000 %% R12=R12 and notR0=new game clear halfword
- -filler- FF000000
- strh r12 [r11, 2*]! E1EBC2B* %% Store back game clear halfword * = 5 on old emulators; 3 on new emulators/console
- adc r11,r11,EE E2ABB0EE %% R11=R11+EE
- adc r11,r11,FF E2ABB0FF %% R11=R11+FF
- ldrh r12 [r11, C3] E1DBCCB3 %% Load encrypted 0 value
- -filler- BFBFFF00
- strh r12 [r11, 5B] E1CBC5BB %% Store encrypted 0 value
- -filler- BFFF0000
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
- sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
- sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- BFBFFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, DC0 E2AECEDC %% R12=LR+DC0
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- BFBFBFFF
- adc r0,r12, D6 E2AC00D6 %% R0=R12+D6=SetCB2WhiteOutENG
- Box names:
- Box 1: (EEEE-BUn)
- Box 2: (F…oz Rn ) [one …; one space after z; ends with space]
- Box 3: (EE*Hgm ) [ends with two spaces] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 4: (E FRm ) [one space after E; ends with three spaces]
- Box 5: (*Hwmz…!n) [one …] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 6: (…!n'Rgm ) [one …; lefty '; ends with space]
- Box 7: (EEAKQm ) [ends with two spaces]
- Box 8: (EEEEEEEE)
- Box 9: (z♀loy…Qn) [lower case L; one …]
- Box 10: (♀QnFGEn ) [ends with space]
- Box 11: (EE …?q ) [one space after E; one …; ends with two spaces]
- Box 12: (EhT-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: (EEEb ?n ) [one space after b; ends with space]
- _______________________________
- For Italian versions:
- -filler- BFBFBFBF
- sbc r11,pc,AE00 E2CFBCAE %% R11=PC-AE00-1
- movs r12,FF E3B0C0FF %% R12=FF
- sbc r0,r12,EE E2CC00EE %% R0=R12-EE-1=10
- -filler- BFBFFF00
- ldrh r12 [r11, 2*] E1DBC2B* %% Load game clear halfword * = 5 on old emulators; 3 on new emulators/console
- -filler- BFFF0000
- bic r12,r12,r0 E1CCC000 %% R12=R12 and notR0=new game clear halfword
- -filler- FF000000
- strh r12 [r11, 2*]! E1EBC2B* %% Store back game clear halfword * = 5 on old emulators; 3 on new emulators/console
- adc r11,r11,EE E2ABB0EE %% R11=R11+EE
- adc r11,r11,FF E2ABB0FF %% R11=R11+FF
- ldrh r12 [r11, C3] E1DBCCB3 %% Load encrypted 0 value
- -filler- BFBFFF00
- strh r12 [r11, 5B] E1CBC5BB %% Store encrypted 0 value
- -filler- BFFF0000
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
- sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
- sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- BFBFFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- BFBFBFFF
- sbc r0,r12, DD E2CC00DD %% R0=R12-DD=SetCB2WhiteOutITA
- Box names:
- Box 1: (EEEE-BUn)
- Box 2: (F…oz Rn ) [one …; one space after z; ends with space]
- Box 3: (EE*Hgm ) [ends with two spaces] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 4: (E FRm ) [one space after E; ends with three spaces]
- Box 5: (*Hwmz…!n) [one …] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 6: (…!n'Rgm ) [one …; lefty '; ends with space]
- Box 7: (EEAKQm ) [ends with two spaces]
- Box 8: (EEEEEEEE)
- Box 9: (z♀loy…Qn) [lower case L; one …]
- Box 10: (♀QnFGEn ) [ends with space]
- Box 11: (EE …?q ) [one space after E; one …; ends with two spaces]
- Box 12: (E,T-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: (EEEi Rn ) [one space after i; ends with space]
- _______________________________
- For German versions:
- -filler- BFBFBFBF
- sbc r11,pc,AE00 E2CFBCAE %% R11=PC-AE00-1
- movs r12,FF E3B0C0FF %% R12=FF
- sbc r0,r12,EE E2CC00EE %% R0=R12-EE-1=10
- -filler- BFBFFF00
- ldrh r12 [r11, 2*] E1DBC2B* %% Load game clear halfword * = 5 on old emulators; 3 on new emulators/console
- -filler- BFFF0000
- bic r12,r12,r0 E1CCC000 %% R12=R12 and notR0=new game clear halfword
- -filler- FF000000
- strh r12 [r11, 2*]! E1EBC2B* %% Store back game clear halfword * = 5 on old emulators; 3 on new emulators/console
- adc r11,r11,EE E2ABB0EE %% R11=R11+EE
- adc r11,r11,FF E2ABB0FF %% R11=R11+FF
- ldrh r12 [r11, C3] E1DBCCB3 %% Load encrypted 0 value
- -filler- BFBFFF00
- strh r12 [r11, 5B] E1CBC5BB %% Store encrypted 0 value
- -filler- BFFF0000
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
- sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
- sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- BFBFFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- BFBFBFFF
- adc r0,r12, A8 E2AC00A8 %% R0=R12+A8=SetCB2WhiteOutGER
- Box names:
- Box 1: (EEEE-BUn)
- Box 2: (F…oz Rn ) [one …; one space after z; ends with space]
- Box 3: (EE*Hgm ) [ends with two spaces] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 4: (E FRm ) [one space after E; ends with three spaces]
- Box 5: (*Hwmz…!n) [one …] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 6: (…!n'Rgm ) [one …; lefty '; ends with space]
- Box 7: (EEAKQm ) [ends with two spaces]
- Box 8: (EEEEEEEE)
- Box 9: (z♀loy…Qn) [lower case L; one …]
- Box 10: (♀QnFGEn ) [ends with space]
- Box 11: (EE …?q ) [one space after E; one …; ends with two spaces]
- Box 12: (E0T-n ) [zero; ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: (EEE7 ?n ) [one space after 7; ends with space]
- _______________________________
- For Spanish versions:
- -filler- BFBFBFBF
- sbc r11,pc,AE00 E2CFBCAE %% R11=PC-AE00-1
- movs r12,FF E3B0C0FF %% R12=FF
- sbc r0,r12,EE E2CC00EE %% R0=R12-EE-1=10
- -filler- BFBFFF00
- ldrh r12 [r11, 2*] E1DBC2B* %% Load game clear halfword * = 5 on old emulators; 3 on new emulators/console
- -filler- BFFF0000
- bic r12,r12,r0 E1CCC000 %% R12=R12 and notR0=new game clear halfword
- -filler- FF000000
- strh r12 [r11, 2*]! E1EBC2B* %% Store back game clear halfword * = 5 on old emulators; 3 on new emulators/console
- adc r11,r11,EE E2ABB0EE %% R11=R11+EE
- adc r11,r11,FF E2ABB0FF %% R11=R11+FF
- ldrh r12 [r11, C3] E1DBCCB3 %% Load encrypted 0 value
- -filler- BFBFFF00
- strh r12 [r11, 5B] E1CBC5BB %% Store encrypted 0 value
- -filler- BFFF0000
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
- sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
- sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- BFBFFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- BFBFBFFF
- sbc r0,r12, D5 E2CC00D5 %% R0=R12-D5=SetCB2WhiteOutSPA
- Box names:
- Box 1: (EEEE-BUn)
- Box 2: (F…oz Rn ) [one …; one space after z; ends with space]
- Box 3: (EE*Hgm ) [ends with two spaces] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 4: (E FRm ) [one space after E; ends with three spaces]
- Box 5: (*Hwmz…!n) [one …] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 6: (…!n'Rgm ) [one …; lefty '; ends with space]
- Box 7: (EEAKQm ) [ends with two spaces]
- Box 8: (EEEEEEEE)
- Box 9: (z♀loy…Qn) [lower case L; one …]
- Box 10: (♀QnFGEn ) [ends with space]
- Box 11: (EE …?q ) [one space after E; one …; ends with two spaces]
- Box 12: (E,T-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: (EEEa Rn ) [one space after a; ends with space]
- _______________________________
- For French versions:
- -filler- BFBFBFBF
- sbc r11,pc,AE00 E2CFBCAE %% R11=PC-AE00-1
- movs r12,FF E3B0C0FF %% R12=FF
- sbc r0,r12,EE E2CC00EE %% R0=R12-EE-1=10
- -filler- BFBFFF00
- ldrh r12 [r11, 2*] E1DBC2B* %% Load game clear halfword * = 5 on old emulators; 3 on new emulators/console
- -filler- BFFF0000
- bic r12,r12,r0 E1CCC000 %% R12=R12 and notR0=new game clear halfword
- -filler- FF000000
- strh r12 [r11, 2*]! E1EBC2B* %% Store back game clear halfword * = 5 on old emulators; 3 on new emulators/console
- adc r11,r11,EE E2ABB0EE %% R11=R11+EE
- adc r11,r11,FF E2ABB0FF %% R11=R11+FF
- ldrh r12 [r11, C3] E1DBCCB3 %% Load encrypted 0 value
- -filler- BFBFFF00
- strh r12 [r11, 5B] E1CBC5BB %% Store encrypted 0 value
- -filler- BFFF0000
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
- sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
- sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- BFBFFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- BFBFBFFF
- adc r0,r12, C8 E2AC00C8 %% R0=R12+C8=SetCB2WhiteOutFRA
- Box names:
- Box 1: (EEEE-BUn)
- Box 2: (F…oz Rn ) [one …; one space after z; ends with space]
- Box 3: (EE*Hgm ) [ends with two spaces] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 4: (E FRm ) [one space after E; ends with three spaces]
- Box 5: (*Hwmz…!n) [one …] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 6: (…!n'Rgm ) [one …; lefty '; ends with space]
- Box 7: (EEAKQm ) [ends with two spaces]
- Box 8: (EEEEEEEE)
- Box 9: (z♀loy…Qn) [lower case L; one …]
- Box 10: (♀QnFGEn ) [ends with space]
- Box 11: (EE …?q ) [one space after E; one …; ends with two spaces]
- Box 12: (E0T-n ) [zero; ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: (EEEN ?n ) [one space after N; ends with space]
- _______________________________
- For Japanese versions (0x0615 execution):
- -filler- BFBFBFBF
- sbc r11,pc,AE00 E2CFBCAE %% R11=PC-AE00-1
- movs r12,FF E3B0C0FF %% R12=FF
- sbc r0,r12,EE E2CC00EE %% R0=R12-EE-1=10
- -filler- BFBFFF00
- ldrh r12 [r11, 2*] E1DBC2B* %% Load game clear halfword * = 5 on old emulators; 3 on new emulators/console
- -filler- BFFF0000
- bic r12,r12,r0 E1CCC000 %% R12=R12 and notR0=new game clear halfword
- -filler- FF000000
- strh r12 [r11, 2*]! E1EBC2B* %% Store back game clear halfword * = 5 on old emulators; 3 on new emulators/console
- adc r11,r11,EE E2ABB0EE %% R11=R11+EE
- adc r11,r11,FF E2ABB0FF %% R11=R11+FF
- ldrh r12 [r11, C3] E1DBCCB3 %% Load encrypted 0 value
- -filler- BFBFFF00
- strh r12 [r11, 5B] E1CBC5BB %% Store encrypted 0 value
- -filler- BFFF0000
- -filler- 00000000
- -filler- FF000000
- -filler- 000000BF
- -filler- 00000000
- -filler- 000000FF
- ldr r0 [pc, *] E51F000* %% R0=08137D25=DiplomaJAP * = 0 on old emulators, 2 on new emulators/console
- bx r0 E12FFF10 %% Exit the execution
- -data- 08137D25
- Box names:
- Box 1: (EEEE-BUn)
- Box 2: (F‥oz Rn ) [one ‥; one space after z; ends with space]
- Box 3: (EE*Hgm ) [ends with two spaces] * = ♂ on old emulators; 「 on new emulators/console
- Box 4: (E FRm ) [one space after E; ends with three spaces]
- Box 5: (*Hwmz‥!n) [one ‥] * = ♂ on old emulators; 「 on new emulators/console
- Box 6: (‥!n「Rgm ) [one ‥; ends with space]
- Box 7: (EEAKQm ) [ends with two spaces]
- Box 8: (E ) [ends with seven spaces]
- Box 9: (E ) [ends with seven spaces]
- Box 10: ( * まqた) [starts with three spaces; one space after *] * = [space] on old emulators, い on new emulators/console
- Box 11: (ぁmゆヲてく ) [ends with two spaces]
- Box 12 onwards: anything
- _______________________________
- For Japanese versions (0x085F execution):
- add r1,pc,0 A100 %% R1=PC+4
- ldr r0 pc+20 4808 %% R0=ADD4
- sub r1,r1,r0 1A09 %% R1=R1-R0=target address
- mov r0,10 2010 %% R0=10
- -filler- 00FF
- ldrh r2,[r1] 880A %% Load target halfword in R2
- bic r2,r2,r0 4382 %% R2=R2 and notR0=new halfword
- b pc,4 E000 %% Skip bad filler
- -bad filler- FF00
- strh r2,[r1] 800A %% Store back new halfword
- ldr r0 pc+10 4804 %% R0=248
- add r1,r1,r0 1809 %% R1=R1+R0=new target address
- mov r0,68 2068 %% R0=68
- -filler- 00FF
- ldrh r2,[r1,r0] 5A0A %% Load target halfword in R2
- strh r2,[r1] 800A %% Store back new halfword
- bx lr 4770 %% Exit
- -filler- FF00
- -data- ADD4
- -data- 0000
- -data- 0248
- -data- 0000
- Box names:
- Box 1: ( 0くぶけはたみ) [starts with space; zero]
- Box 2: ( こギェづ l ) [starts with space; ェ not エ; one space after づ; lower case L; ends with space]
- Box 3: (こィえぶけねネみ) [ィ not イ; ends え not ぇ]
- Box 4: ( こコこィミび ) [starts with space; ィ not イ; ends with space]
- Box 5: (Z。 ぶい ) [two spaces after 。; い not ぃ; ends with two spaces]
- Box 6 onwards: Anything
- _______________________________________________________________________________________________________________________________________
- -Give all badges:
- Note: this code will give you all the badges regardless of your current status. This can be useful if you want to obtain some missed badges while skipping part of the storyline with ACE, for example with a HoF warp. Notice however that the game will not play as if you obtained the badges legit, some game flags will be out of place and weird behaviour is to be expected.
- Executing this code while already having all badges will have no effect and should not be done
- _______________________________
- For English versions:
- movs r12, 38C E3B0CFE3 %% R12=38C
- sbc r11,pc,AE00 E2CFBCAE %% R11=PC-AE00-1
- mvn r10, 3FC0 E3E0ADFF %% R10=not3FC0=FFFFC03F
- adc r12,r12, DE00 E2ACCCDE %% R12=R12+DE00=E18C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* * = 6 on old emulators, 4 on new emulators/console
- -filler- BFFF0000
- adc r12,r10, C000 E2AACCC0 %% R12=R10+C000=803F
- -filler- FF000000
- sbc r0,r12, D0 E2CC00BE %% R0=R12-BE-1=7F80
- ldrh r12, [r11, 2*] E1DBC2B* %% Load target halfword * = 5 on old emulators, 3 on new emulators/console
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E18CC000 (orr r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 2*] E1CBC2B* %% Store target halfword * = 5 on old emulators, 3 on new emulators/console
- -filler- BFFF0000
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
- sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
- sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- BFBFFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, DC0 E2AECEDC %% R12=LR+DC0
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- BFBFBFFF
- adc r0,r12, D6 E2AC00D6 %% R0=R12+D6=SetCB2WhiteOutENG
- Box names:
- Box 1: (oU…o-BUn) [one …]
- Box 2: (.lojR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators; ' [righty '] on new emulators/console
- Box 4: (EFR9n ) [ends with three spaces]
- Box 5: (D Rn*Hgm) [one space after D] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*HQm ) [ends with two spaces] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 8: (EEEEEEEE)
- Box 9: (z♀loy…Qn) [lower case L; one …]
- Box 10: (♀QnFGEn ) [ends with space]
- Box 11: (EE …?q ) [one space after E; one …; ends with two spaces]
- Box 12: (EhT-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: (EEEb ?n ) [one space after b; ends with space]
- _______________________________
- For Italian versions:
- movs r12, 38C E3B0CFE3 %% R12=38C
- sbc r11,pc,AE00 E2CFBCAE %% R11=PC-AE00-1
- mvn r10, 3FC0 E3E0ADFF %% R10=not3FC0=FFFFC03F
- adc r12,r12, DE00 E2ACCCDE %% R12=R12+DE00=E18C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* * = 6 on old emulators, 4 on new emulators/console
- -filler- BFFF0000
- adc r12,r10, C000 E2AACCC0 %% R12=R10+C000=803F
- -filler- FF000000
- sbc r0,r12, D0 E2CC00BE %% R0=R12-BE-1=7F80
- ldrh r12, [r11, 2*] E1DBC2B* %% Load target halfword * = 5 on old emulators, 3 on new emulators/console
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E18CC000 (orr r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 2*] E1CBC2B* %% Store target halfword * = 5 on old emulators, 3 on new emulators/console
- -filler- BFFF0000
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
- sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
- sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- BFBFFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- BFBFBFFF
- sbc r0,r12, DD E2CC00DD %% R0=R12-DD=SetCB2WhiteOutITA
- Box names:
- Box 1: (oU…o-BUn) [one …]
- Box 2: (.lojR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators; ' [righty '] on new emulators/console
- Box 4: (EFR9n ) [ends with three spaces]
- Box 5: (D Rn*Hgm) [one space after D] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*HQm ) [ends with two spaces] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 8: (EEEEEEEE)
- Box 9: (z♀loy…Qn) [lower case L; one …]
- Box 10: (♀QnFGEn ) [ends with space]
- Box 11: (EE …?q ) [one space after E; one …; ends with two spaces]
- Box 12: (E,T-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: (EEEi Rn ) [one space after i; ends with space]
- _______________________________
- For German versions:
- movs r12, 38C E3B0CFE3 %% R12=38C
- sbc r11,pc,AE00 E2CFBCAE %% R11=PC-AE00-1
- mvn r10, 3FC0 E3E0ADFF %% R10=not3FC0=FFFFC03F
- adc r12,r12, DE00 E2ACCCDE %% R12=R12+DE00=E18C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* * = 6 on old emulators, 4 on new emulators/console
- -filler- BFFF0000
- adc r12,r10, C000 E2AACCC0 %% R12=R10+C000=803F
- -filler- FF000000
- sbc r0,r12, D0 E2CC00BE %% R0=R12-BE-1=7F80
- ldrh r12, [r11, 2*] E1DBC2B* %% Load target halfword * = 5 on old emulators, 3 on new emulators/console
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E18CC000 (orr r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 2*] E1CBC2B* %% Store target halfword * = 5 on old emulators, 3 on new emulators/console
- -filler- BFFF0000
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
- sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
- sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- BFBFFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- BFBFBFFF
- adc r0,r12, A8 E2AC00A8 %% R0=R12+A8=SetCB2WhiteOutGER
- Box names:
- Box 1: (oU…o-BUn) [one …]
- Box 2: (.lojR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators; ' [righty '] on new emulators/console
- Box 4: (EFR9n ) [ends with three spaces]
- Box 5: (D Rn*Hgm) [one space after D] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*HQm ) [ends with two spaces] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 8: (EEEEEEEE)
- Box 9: (z♀loy…Qn) [lower case L; one …]
- Box 10: (♀QnFGEn ) [ends with space]
- Box 11: (EE …?q ) [one space after E; one …; ends with two spaces]
- Box 12: (E0T-n ) [zero; ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: (EEE7 ?n ) [one space after 7; ends with space]
- _______________________________
- For Spanish versions:
- movs r12, 38C E3B0CFE3 %% R12=38C
- sbc r11,pc,AE00 E2CFBCAE %% R11=PC-AE00-1
- mvn r10, 3FC0 E3E0ADFF %% R10=not3FC0=FFFFC03F
- adc r12,r12, DE00 E2ACCCDE %% R12=R12+DE00=E18C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* * = 6 on old emulators, 4 on new emulators/console
- -filler- BFFF0000
- adc r12,r10, C000 E2AACCC0 %% R12=R10+C000=803F
- -filler- FF000000
- sbc r0,r12, D0 E2CC00BE %% R0=R12-BE-1=7F80
- ldrh r12, [r11, 2*] E1DBC2B* %% Load target halfword * = 5 on old emulators, 3 on new emulators/console
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E18CC000 (orr r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 2*] E1CBC2B* %% Store target halfword * = 5 on old emulators, 3 on new emulators/console
- -filler- BFFF0000
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
- sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
- sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- BFBFFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- BFBFBFFF
- sbc r0,r12, D5 E2CC00D5 %% R0=R12-D5=SetCB2WhiteOutSPA
- Box names:
- Box 1: (oU…o-BUn) [one …]
- Box 2: (.lojR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators; ' [righty '] on new emulators/console
- Box 4: (EFR9n ) [ends with three spaces]
- Box 5: (D Rn*Hgm) [one space after D] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*HQm ) [ends with two spaces] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 8: (EEEEEEEE)
- Box 9: (z♀loy…Qn) [lower case L; one …]
- Box 10: (♀QnFGEn ) [ends with space]
- Box 11: (EE …?q ) [one space after E; one …; ends with two spaces]
- Box 12: (E,T-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: (EEEa Rn ) [one space after a; ends with space]
- _______________________________
- For French versions:
- movs r12, 38C E3B0CFE3 %% R12=38C
- sbc r11,pc,AE00 E2CFBCAE %% R11=PC-AE00-1
- mvn r10, 3FC0 E3E0ADFF %% R10=not3FC0=FFFFC03F
- adc r12,r12, DE00 E2ACCCDE %% R12=R12+DE00=E18C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* * = 6 on old emulators, 4 on new emulators/console
- -filler- BFFF0000
- adc r12,r10, C000 E2AACCC0 %% R12=R10+C000=803F
- -filler- FF000000
- sbc r0,r12, D0 E2CC00BE %% R0=R12-BE-1=7F80
- ldrh r12, [r11, 2*] E1DBC2B* %% Load target halfword * = 5 on old emulators, 3 on new emulators/console
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E18CC000 (orr r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 2*] E1CBC2B* %% Store target halfword * = 5 on old emulators, 3 on new emulators/console
- -filler- BFFF0000
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
- sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
- sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- BFBFFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- BFBFBFFF
- adc r0,r12, C8 E2AC00C8 %% R0=R12+C8=SetCB2WhiteOutFRA
- Box names:
- Box 1: (oU…o-BUn) [one …]
- Box 2: (.lojR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators; ' [righty '] on new emulators/console
- Box 4: (EFR9n ) [ends with three spaces]
- Box 5: (D Rn*Hgm) [one space after D] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*HQm ) [ends with two spaces] * = ♂ on old emulators; ' [lefty '] on new emulators/console
- Box 8: (EEEEEEEE)
- Box 9: (z♀loy…Qn) [lower case L; one …]
- Box 10: (♀QnFGEn ) [ends with space]
- Box 11: (EE …?q ) [one space after E; one …; ends with two spaces]
- Box 12: (E0T-n ) [zero; ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: (EEEN ?n ) [one space after N; ends with space]
- _______________________________
- For Japanese versions (0x0615 execution):
- movs r0, 7F00 E3B00C7F %% R0=7F00
- sbc r11,pc,AE00 E2CFBCAE %% R11=PC-AE00-1
- -filler- BFBFBFFF
- adc r0,r0, 80 E2A00080 %% R0=R0+80=7F80
- -filler- BFBFFF00
- ldrh r12, [r11, 2*] E1DBC2B* %% Load target halfword * = 5 on old emulators, 3 on new emulators/console
- -filler- BFFF0000
- orr r12, r12, r0 E38CC000 %% R12=R12orR0
- -filler- FF000000
- strh r12, [r11, 2*] E1CBC2B* %% Store target halfword * = 5 on old emulators, 3 on new emulators/console
- -filler- 00000000
- -filler- 0000BFFF
- -filler- 00000000
- -filler- 00BFFF00
- -filler- 00000000
- -filler- BFFF0000
- -filler- 00000000
- -filler- FF000000
- -filler- 000000BF
- -filler- 00000000
- -filler- 000000FF
- lrd r0 [pc, *] E51F000* %% R0=081378ED=SetCB2WhiteOutJAP * = 0 on old emulators, 2 on new emulators/console
- bx r0 E12FFF10 %% Exit the execution
- -data- 081378ED
- Box names:
- Box 1: (ァし・・o-BUn) [one ・・]
- Box 2: (EEEィ ッn ) [ィ not イ; ッ not ツ; one space after o; ends with space]
- Box 3: (EE*Hgm ) [ends with two spaces] * = ♂ on old emulators; 「 on new emulators/console
- Box 4: (E Fザm ) [one space after E; ends with three spaces]
- Box 5: (*HQm ) [ends with four spaces] * = ♂ on old emulators; 「 on new emulators/console
- Box 6: (E ) [ends with seven spaces]
- Box 7: (E ) [ends with seven spaces]
- Box 8: (E ) [ends with seven spaces]
- Box 9: (E ) [ends with seven spaces]
- Box 10: ( * まqた) [starts with three spaces; one space after *] * = [space] on old emulators, い on new emulators/console
- Box 11: (ぁmyリてく ) [リ not り; ends with two spaces]
- Box 12 onwards: anything
- _______________________________
- For Japanese versions (0x085F execution):
- add r1,pc,0 A100 %% R1=PC+4
- ldr r0 pc+18 4806 %% R0=ADD4
- sub r1,r1,r0 1A09 %% R1=R1-R0=target address
- ldr r0 pc+18 4806 %% R0=FF007F80
- -filler- 00FF
- ldrh r2,[r1] 880A %% Load target halfword in R2
- orr r2,r2,r0 4302 %% R2=R2orR0
- b pc,4 E000 %% Skip bad filler
- -bad filler- FF00
- strh r2,[r1] 800A %% Store back new halfword
- bx lr 4770 %% Exit
- -filler- 0000
- -filler- 0000
- -filler- 00FF
- -data- ADD4
- -data- 0000
- -data- 7F80
- -data- FF00
- Box names:
- Box 1: ( 0かぶけはかぶ) [starts with space; zero]
- Box 2: ( こギいづ l ) [starts with space; い not ぃ; one space after づ; lower case L; ends with space]
- Box 3: (こィミび ) [ィ not イ; ends with four spaces]
- Box 4: ( Z。 ィァ ) [starts with space; two spaces after 。; ィ not イ; ends with space]
- Box 5 onwards: Anything
- _______________________________________________________________________________________________________________________________________
- -Solve (or cause) the Norman side effect:
- Note: this code will solve one of the possible side effects of long corruptions, the one that makes Norman appear in Brendan's and May's house.
- Using this code in a save where said side effect is not present will result in the side effect showing up. I don't see how this can be useful but if you want, here you go
- _______________________________
- For English versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, E4000 E3B0CAE4 %% R12=E4000
- -filler- FF000000
- adc r0,r12, 0 E2AC0000 %% R0=R12+0=E4000
- ldrh r12, [r11, 7*] E1DBC7B* %% Load target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 7*] E1CBC7B* %% Store target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, DC0 E2AECEDC %% R12=LR+DC0
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- adc r0,r12, D6 E2AC00D6 %% R0=R12+D6=SetCB2WhiteOutENG
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EpP…o ) [one …; ends with three spaces]
- Box 5: ( ?n*Mgm) [starts with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*MQm ) [ends with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (EhT-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"b ?n ) [starts with space, righty "; one space after b; ends with space]
- _______________________________
- For Italian versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, E4000 E3B0CAE4 %% R12=E4000
- -filler- FF000000
- adc r0,r12, 0 E2AC0000 %% R0=R12+0=E4000
- ldrh r12, [r11, 7*] E1DBC7B* %% Load target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 7*] E1CBC7B* %% Store target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- sbc r0,r12, DD E2CC00DD %% R0=R12-DD=SetCB2WhiteOutITA
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EpP…o ) [one …; ends with three spaces]
- Box 5: ( ?n*Mgm) [starts with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*MQm ) [ends with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E,T-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"i Rn ) [starts with space, righty "; one space after i; ends with space]
- _______________________________
- For German versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, E4000 E3B0CAE4 %% R12=E4000
- -filler- FF000000
- adc r0,r12, 0 E2AC0000 %% R0=R12+0=E4000
- ldrh r12, [r11, 7*] E1DBC7B* %% Load target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 7*] E1CBC7B* %% Store target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- adc r0,r12, A8 E2AC00A8 %% R0=R12+A8=SetCB2WhiteOutGER
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EpP…o ) [one …; ends with three spaces]
- Box 5: ( ?n*Mgm) [starts with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*MQm ) [ends with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E0T-n ) [zero; ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"7 ?n ) [starts with space, righty "; one space after 7; ends with space]
- _______________________________
- For Spanish versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, E4000 E3B0CAE4 %% R12=E4000
- -filler- FF000000
- adc r0,r12, 0 E2AC0000 %% R0=R12+0=E4000
- ldrh r12, [r11, 7*] E1DBC7B* %% Load target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 7*] E1CBC7B* %% Store target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- sbc r0,r12, D5 E2CC00D5 %% R0=R12-D5=SetCB2WhiteOutSPA
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EpP…o ) [one …; ends with three spaces]
- Box 5: ( ?n*Mgm) [starts with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*MQm ) [ends with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E,T-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"a Rn ) [starts with space, righty "; one space after a; ends with space]
- _______________________________
- For French versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, E4000 E3B0CAE4 %% R12=E4000
- -filler- FF000000
- adc r0,r12, 0 E2AC0000 %% R0=R12+0=E4000
- ldrh r12, [r11, 7*] E1DBC7B* %% Load target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 7*] E1CBC7B* %% Store target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- adc r0,r12, C8 E2AC00C8 %% R0=R12+C8=SetCB2WhiteOutFRA
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EpP…o ) [one …; ends with three spaces]
- Box 5: ( ?n*Mgm) [starts with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*MQm ) [ends with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E0T-n ) [zero; ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"N ?n ) [starts with space, righty "; one space after N; ends with space]
- ____________________________
- For Japanese versions (0x085F execution):
- mov r1,pc 4679 %% R1=PC+4
- ldr r0 pc+18 4806 %% R0=0000AE86
- sub r1,r1,r0 1A09 %% R1=R1-R0=target halfword location
- ldr r0 pc+10 4804 %% R0=FF004000
- -filler- 00FF
- ldrh r2,[r1] 880A %% Load target halfword in R2
- eor r2,r2,r0 4042 %% R2=R2xorR0=new halfword
- b pc,4 E000 %% Skip bad filler
- -bad filler- FF00
- strh r2,[r1] 800A %% Store back new halfword
- ldr r2 pc+C 4A03 %% R2=081378ED=SetCB2WhiteOutJAP
- bx r2 4710 %% Exit
- -data- 4000
- -filler- 00FF
- -data- AE86
- -data- 0000
- -filler- 0000
- -filler- FF00
- -data- 78ED
- -data- 0813
- Box names:
- Box 1: (ルばかぶけはえぶ)
- Box 2: ( こギぢぞ l ) [starts with space; one space after ぞ; lower case L; ends with space]
- Box 3: (こィうぼたび ぞ) [one space after び]
- Box 4: ( ョ- ) [starts with space; ョ not ヨ; ends with five spaces]
- Box 5: (yリてく ) [リ not り;ends with four spaces]
- Box 6 onwards: Anything
- _______________________________________________________________________________________________________________________________________
- -Solve (or cause) the Archie side effect:
- Note: this code will solve one of the possible side effects of long corruptions, the one that makes Archie appear on top of Mt. Pyre. When trying to solve this side effect you might see Maxie show up where Archie was: it is fine, it means you triggered both Maxie and Archie side effects, just solve Maxie side effect later with the appropriate code.
- Using this code in a save where said side effect is not present will result in the side effect showing up. If you use this code in a save where Maxie side effect is active Archie will overwrite Maxie. I don't see how this can be useful but if you want, here you go
- _______________________________
- For English versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, D0 E3B0C0D0 %% R12=D0
- -filler- FF000000
- sbc r0,r12, BF E2CC00BF %% R0=R12-BF-1=10
- ldrh r12, [r11, 8*] E1DBC8B* %% Load target halfword * = C on old emulators; A on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 8*] E1CBC8B* %% Store target halfword * = C on old emulators; A on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, DC0 E2AECEDC %% R12=LR+DC0
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- adc r0,r12, D6 E2AC00D6 %% R0=R12+D6=SetCB2WhiteOutENG
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EVF…o ) [one …; ends with three spaces]
- Box 5: (E Rn*Ngm) [one space after E] * = B on old emulators, / on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*NQm ) [ends with two spaces] * = B on old emulators, / on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (EhT-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"b ?n ) [starts with space, righty "; one space after b; ends with space]
- _______________________________
- For Italian versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, D0 E3B0C0D0 %% R12=D0
- -filler- FF000000
- sbc r0,r12, BF E2CC00BF %% R0=R12-BF-1=10
- ldrh r12, [r11, 8*] E1DBC8B* %% Load target halfword * = C on old emulators; A on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 8*] E1CBC8B* %% Store target halfword * = C on old emulators; A on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- sbc r0,r12, DD E2CC00DD %% R0=R12-DD=SetCB2WhiteOutITA
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EVF…o ) [one …; ends with three spaces]
- Box 5: (E Rn*Ngm) [one space after E] * = B on old emulators, / on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*NQm ) [ends with two spaces] * = B on old emulators, / on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E,T-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"i Rn ) [starts with space, righty "; one space after i; ends with space]
- _______________________________
- For German versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, D0 E3B0C0D0 %% R12=D0
- -filler- FF000000
- sbc r0,r12, BF E2CC00BF %% R0=R12-BF-1=10
- ldrh r12, [r11, 8*] E1DBC8B* %% Load target halfword * = C on old emulators; A on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 8*] E1CBC8B* %% Store target halfword * = C on old emulators; A on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- adc r0,r12, A8 E2AC00A8 %% R0=R12+A8=SetCB2WhiteOutGER
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EVF…o ) [one …; ends with three spaces]
- Box 5: (E Rn*Ngm) [one space after E] * = B on old emulators, / on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*NQm ) [ends with two spaces] * = B on old emulators, / on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E0T-n ) [zero; ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"7 ?n ) [starts with space, righty "; one space after 7; ends with space]
- _______________________________
- For Spanish versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, D0 E3B0C0D0 %% R12=D0
- -filler- FF000000
- sbc r0,r12, BF E2CC00BF %% R0=R12-BF-1=10
- ldrh r12, [r11, 8*] E1DBC8B* %% Load target halfword * = C on old emulators; A on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 8*] E1CBC8B* %% Store target halfword * = C on old emulators; A on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- sbc r0,r12, D5 E2CC00D5 %% R0=R12-D5=SetCB2WhiteOutSPA
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EVF…o ) [one …; ends with three spaces]
- Box 5: (E Rn*Ngm) [one space after E] * = B on old emulators, / on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*NQm ) [ends with two spaces] * = B on old emulators, / on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E,T-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"a Rn ) [starts with space, righty "; one space after a; ends with space]
- _______________________________
- For French versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, D0 E3B0C0D0 %% R12=D0
- -filler- FF000000
- sbc r0,r12, BF E2CC00BF %% R0=R12-BF-1=10
- ldrh r12, [r11, 8*] E1DBC8B* %% Load target halfword * = C on old emulators; A on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 8*] E1CBC8B* %% Store target halfword * = C on old emulators; A on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- adc r0,r12, C8 E2AC00C8 %% R0=R12+C8=SetCB2WhiteOutFRA
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EVF…o ) [one …; ends with three spaces]
- Box 5: (E Rn*Ngm) [one space after E] * = B on old emulators, / on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*NQm ) [ends with two spaces] * = B on old emulators, / on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E0T-n ) [zero; ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"N ?n ) [starts with space, righty "; one space after N; ends with space]
- ____________________________
- For Japanese versions (0x085F execution):
- mov r1,pc 4679 %% R1=PC+4
- ldr r0 pc+18 4806 %% R0=0000AE6E
- sub r1,r1,r0 1A09 %% R1=R1-R0=target halfword location
- ldr r0 pc+10 4804 %% R0=FF000010
- -filler- 00FF
- ldrh r2,[r1] 880A %% Load target halfword in R2
- eor r2,r2,r0 4042 %% R2=R2xorR0=new halfword
- b pc,4 E000 %% Skip bad filler
- -bad filler- FF00
- strh r2,[r1] 800A %% Store back new halfword
- ldr r2 pc+C 4A03 %% R2=081378ED=SetCB2WhiteOutJAP
- bx r2 4710 %% Exit
- -data- 0010
- -filler- 00FF
- -data- AE6E
- -data- 0000
- -filler- 0000
- -filler- FF00
- -data- 78ED
- -data- 0813
- Box names:
- Box 1: (ルばかぶけはえぶ)
- Box 2: ( こギぢぞ l ) [starts with space; one space after ぞ; lower case L; ends with space]
- Box 3: (こィうぼたびた ) [ends with space]
- Box 4: ( ホ- ) [starts with space; ends with five spaces]
- Box 5: (yリてく ) [リ not り;ends with four spaces]
- Box 6 onwards: Anything
- _______________________________________________________________________________________________________________________________________
- -Solve (or cause) the Maxie side effect:
- Note: this code will solve one of the possible side effects of long corruptions, the one that makes Maxie appear on top of Mt. Pyre.
- Using this code in a save where said side effect is not present will result in the side effect showing up. If you use this code in a save where Archie side effect is active Maxie will not show up so don't do that (if you want Maxie there you'll have to get rid of Archie first). I don't see how this can be useful but if you want, here you go
- _______________________________
- For English versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, 29 E3B0C1A4 %% R12=29
- -filler- FF000000
- adc r0,r12, D7 E2AC00D7 %% R0=R12+D7=100
- ldrh r12, [r11, 8*] E1DBC8B* %% Load target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 8*] E1CBC8B* %% Store target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, DC0 E2AECEDC %% R12=LR+DC0
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- adc r0,r12, D6 E2AC00D6 %% R0=R12+D6=SetCB2WhiteOutENG
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (E3G…o ) [one …; ends with three spaces]
- Box 5: (c ?n*Ngm) [one space after E] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*NQm ) [ends with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (EhT-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"b ?n ) [starts with space, righty "; one space after b; ends with space]
- _______________________________
- For Italian versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, 29 E3B0C1A4 %% R12=29
- -filler- FF000000
- adc r0,r12, D7 E2AC00D7 %% R0=R12+D7=100
- ldrh r12, [r11, 8*] E1DBC8B* %% Load target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 8*] E1CBC8B* %% Store target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- sbc r0,r12, DD E2CC00DD %% R0=R12-DD=SetCB2WhiteOutITA
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (E3G…o ) [one …; ends with three spaces]
- Box 5: (c ?n*Ngm) [one space after E] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*NQm ) [ends with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E,T-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"i Rn ) [starts with space, righty "; one space after i; ends with space]
- _______________________________
- For German versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, 29 E3B0C1A4 %% R12=29
- -filler- FF000000
- adc r0,r12, D7 E2AC00D7 %% R0=R12+D7=100
- ldrh r12, [r11, 8*] E1DBC8B* %% Load target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 8*] E1CBC8B* %% Store target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- adc r0,r12, A8 E2AC00A8 %% R0=R12+A8=SetCB2WhiteOutGER
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (E3G…o ) [one …; ends with three spaces]
- Box 5: (c ?n*Ngm) [one space after E] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*NQm ) [ends with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E0T-n ) [zero; ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"7 ?n ) [starts with space, righty "; one space after 7; ends with space]
- _______________________________
- For Spanish versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, 29 E3B0C1A4 %% R12=29
- -filler- FF000000
- adc r0,r12, D7 E2AC00D7 %% R0=R12+D7=100
- ldrh r12, [r11, 8*] E1DBC8B* %% Load target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 8*] E1CBC8B* %% Store target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- sbc r0,r12, D5 E2CC00D5 %% R0=R12-D5=SetCB2WhiteOutSPA
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (E3G…o ) [one …; ends with three spaces]
- Box 5: (c ?n*Ngm) [one space after E] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*NQm ) [ends with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E,T-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"a Rn ) [starts with space, righty "; one space after a; ends with space]
- _______________________________
- For French versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, 29 E3B0C1A4 %% R12=29
- -filler- FF000000
- adc r0,r12, D7 E2AC00D7 %% R0=R12+D7=100
- ldrh r12, [r11, 8*] E1DBC8B* %% Load target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 8*] E1CBC8B* %% Store target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- adc r0,r12, C8 E2AC00C8 %% R0=R12+C8=SetCB2WhiteOutFRA
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (E3G…o ) [one …; ends with three spaces]
- Box 5: (c ?n*Ngm) [one space after E] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*NQm ) [ends with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E0T-n ) [zero; ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"N ?n ) [starts with space, righty "; one space after N; ends with space]
- ____________________________
- For Japanese versions (0x085F execution):
- mov r1,pc 4679 %% R1=PC+4
- ldr r0 pc+18 4806 %% R0=0000AE76
- sub r1,r1,r0 1A09 %% R1=R1-R0=target halfword location
- ldr r0 pc+10 4804 %% R0=FF000100
- -filler- 00FF
- ldrh r2,[r1] 880A %% Load target halfword in R2
- eor r2,r2,r0 4042 %% R2=R2xorR0=new halfword
- b pc,4 E000 %% Skip bad filler
- -bad filler- FF00
- strh r2,[r1] 800A %% Store back new halfword
- ldr r2 pc+C 4A03 %% R2=081378ED=SetCB2WhiteOutJAP
- bx r2 4710 %% Exit
- -data- 0100
- -filler- 00FF
- -data- AE76
- -data- 0000
- -filler- 0000
- -filler- FF00
- -data- 78ED
- -data- 0813
- Box names:
- Box 1: (ルばかぶけはえぶ)
- Box 2: ( こギぢぞ l ) [starts with space; one space after ぞ; lower case L; ends with space]
- Box 3: (こィうぼたび あ) [one space after び]
- Box 4: ( ヨ- ) [starts with space; ヨ not ョ; ends with five spaces]
- Box 5: (yリてく ) [リ not り;ends with four spaces]
- Box 6 onwards: Anything
- _______________________________________________________________________________________________________________________________________
- -Solve (or cause) the Aqua grunt on top of Mt. Chimney side effect:
- Note: this code will solve one of the possible side effects of long corruptions, the one that makes Aqua grunts appear together with their Poochyena on top of Mt. Chimney.
- Using this code in a save where said side effect is not present will result in the side effect showing up. I don't see how this can be useful but if you want, here you go
- _______________________________
- For English versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12,304000 E3B0C9C1 %% R12=304000
- -filler- FF000000
- adc r0,r12,0 E2AC0000 %% R0=R12+0=304000
- ldrh r12, [r11, 8*] E1DBC8B* %% Load target halfword * = C on old emulators; A on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 8*] E1CBC8B* %% Store target halfword * = C on old emulators; A on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, DC0 E2AECEDC %% R12=LR+DC0
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- adc r0,r12, D6 E2AC00D6 %% R0=R12+D6=SetCB2WhiteOutENG
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EGO…o ) [upper case o; one …; ends with three spaces]
- Box 5: ( ?n*Ngm) [starts with two spaces] * = B on old emulators, / on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*NQm ) [ends with two spaces] * = B on old emulators, / on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (EhT-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"b ?n ) [starts with space, righty "; one space after b; ends with space]
- _______________________________
- For Italian versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12,304000 E3B0C9C1 %% R12=304000
- -filler- FF000000
- adc r0,r12,0 E2AC0000 %% R0=R12+0=304000
- ldrh r12, [r11, 8*] E1DBC8B* %% Load target halfword * = C on old emulators; A on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 8*] E1CBC8B* %% Store target halfword * = C on old emulators; A on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- sbc r0,r12, DD E2CC00DD %% R0=R12-DD=SetCB2WhiteOutITA
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EGO…o ) [upper case o; one …; ends with three spaces]
- Box 5: ( ?n*Ngm) [starts with two spaces] * = B on old emulators, / on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*NQm ) [ends with two spaces] * = B on old emulators, / on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E,T-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"i Rn ) [starts with space, righty "; one space after i; ends with space]
- _______________________________
- For German versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12,304000 E3B0C9C1 %% R12=304000
- -filler- FF000000
- adc r0,r12,0 E2AC0000 %% R0=R12+0=304000
- ldrh r12, [r11, 8*] E1DBC8B* %% Load target halfword * = C on old emulators; A on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 8*] E1CBC8B* %% Store target halfword * = C on old emulators; A on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- adc r0,r12, A8 E2AC00A8 %% R0=R12+A8=SetCB2WhiteOutGER
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EGO…o ) [upper case o; one …; ends with three spaces]
- Box 5: ( ?n*Ngm) [starts with two spaces] * = B on old emulators, / on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*NQm ) [ends with two spaces] * = B on old emulators, / on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E0T-n ) [zero; ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"7 ?n ) [starts with space, righty "; one space after 7; ends with space]
- _______________________________
- For Spanish versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12,304000 E3B0C9C1 %% R12=304000
- -filler- FF000000
- adc r0,r12,0 E2AC0000 %% R0=R12+0=304000
- ldrh r12, [r11, 8*] E1DBC8B* %% Load target halfword * = C on old emulators; A on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 8*] E1CBC8B* %% Store target halfword * = C on old emulators; A on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- sbc r0,r12, D5 E2CC00D5 %% R0=R12-D5=SetCB2WhiteOutSPA
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EGO…o ) [upper case o; one …; ends with three spaces]
- Box 5: ( ?n*Ngm) [starts with two spaces] * = B on old emulators, / on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*NQm ) [ends with two spaces] * = B on old emulators, / on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E,T-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"a Rn ) [starts with space, righty "; one space after a; ends with space]
- _______________________________
- For French versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12,304000 E3B0C9C1 %% R12=304000
- -filler- FF000000
- adc r0,r12,0 E2AC0000 %% R0=R12+0=304000
- ldrh r12, [r11, 8*] E1DBC8B* %% Load target halfword * = C on old emulators; A on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 8*] E1CBC8B* %% Store target halfword * = C on old emulators; A on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- adc r0,r12, C8 E2AC00C8 %% R0=R12+C8=SetCB2WhiteOutFRA
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EGO…o ) [upper case o; one …; ends with three spaces]
- Box 5: ( ?n*Ngm) [starts with two spaces] * = B on old emulators, / on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*NQm ) [ends with two spaces] * = B on old emulators, / on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E0T-n ) [zero; ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"N ?n ) [starts with space, righty "; one space after N; ends with space]
- ____________________________
- For Japanese versions (0x085F execution):
- mov r1,pc 4679 %% R1=PC+4
- ldr r0 pc+18 4806 %% R0=0000AE6E
- sub r1,r1,r0 1A09 %% R1=R1-R0=target halfword location
- ldr r0 pc+10 4804 %% R0=FF000100
- -filler- 00FF
- ldrh r2,[r1] 880A %% Load target halfword in R2
- eor r2,r2,r0 4042 %% R2=R2xorR0=new halfword
- b pc,4 E000 %% Skip bad filler
- -bad filler- FF00
- strh r2,[r1] 800A %% Store back new halfword
- ldr r2 pc+C 4A03 %% R2=081378ED=SetCB2WhiteOutJAP
- bx r2 4710 %% Exit
- -data- 4000
- -filler- 00FF
- -data- AE6E
- -data- 0000
- -filler- 0000
- -filler- FF00
- -data- 78ED
- -data- 0813
- Box names:
- Box 1: (ルばかぶけはえぶ)
- Box 2: ( こギぢぞ l ) [starts with space; one space after ぞ; lower case L; ends with space]
- Box 3: (こィうぼたび ぞ) [one space after び]
- Box 4: ( ホ- ) [starts with space; ends with five spaces]
- Box 5: (yリてく ) [リ not り;ends with four spaces]
- Box 6 onwards: Anything
- _______________________________________________________________________________________________________________________________________
- -Solve the Route 119/123 crash side effect and manipulate those Route's weather:
- Notes: this code will solve one of the possible side effects of long corruptions, the one that makes the game crash while in Route 119 or 123. That side effect is caused by the corruption of the weather cycle status and this code will set it to the status you desire, depending on which character you choose in Box 2.
- On dry battery games the weather cycle is never updated: this code is useful to those who still want to change their weather.
- Using this code to set the status you already have will have no effect and should not be done
- _______________________________
- For English versions:
- sbc r12,pc,C200 E2CFCCC2 %% R12=PC-C200
- movs r11,EE E3B0B0EE %% R11=EE
- -filler- BFBFBFFF
- sbc r11,r11,E* E2CBB0E* %% R11=R11-E*-1
- -filler- BFBFFF00
- strb r11, [r12, D*]! E5ECB0D* %% Store new weather byte * = C on old emulators, A on console/new emulators
- -filler- BFFF0000
- -filler- 00000000
- -filler- FF000000
- -filler- 000000BF
- -filler- 00000000
- -filler- 0000BFFF
- -filler- 00000000
- -filler- 00BFFF00
- -filler- 00000000
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- str r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- sbc r12,lr, 2C40 E2CECDB1 %% R12=LR-2C40-1
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- adc r12,r12 3FC0 E2ACCDFF %% R12=R12+3FC0
- sbc r0,r12, B0 E2CC00B0 %% R0=R12-B0-1=????ENG
- Box names:
- Box 1: (HRUnz……o) [two …]
- Box 2: (EEE*…Qn ) [one …; ends with space]
- * = y for sunny Route 119 and sunny Route 123; x for rain Route 119 and sunny Route 123;
- w for rain thunderstorm Route 119 and rain Route 123; v for rain Route 119 and sunny Route 123
- Box 3: (EE*…xq ) [ends with two spaces] * = h on old emulators, f on console/new emulators
- Box 4: (E ) [ends with seven spaces]
- Box 5: (E ) [ends with seven spaces]
- Box 6: (E ) [ends with seven spaces]
- Box 7: (E ) [ends with seven spaces]
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E"STn ) [lefty "; ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: (S?n… Rn ) [one …; one space after …; ends with space]
- _______________________________
- For Italian versions:
- sbc r12,pc,C200 E2CFCCC2 %% R12=PC-C200
- movs r11,EE E3B0B0EE %% R11=EE
- -filler- BFBFBFFF
- sbc r11,r11,E* E2CBB0E* %% R11=R11-E*-1
- -filler- BFBFFF00
- strb r11, [r12, D*]! E5ECB0D* %% Store new weather byte * = C on old emulators, A on console/new emulators
- -filler- BFFF0000
- -filler- 00000000
- -filler- FF000000
- -filler- 000000BF
- -filler- 00000000
- -filler- 0000BFFF
- -filler- 00000000
- -filler- 00BFFF00
- -filler- 00000000
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- str r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, E00 E2AECEE0 %% R12=LR+E00
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- adc r0,r12, DE E2AC00DE %% R0=R12+DE=????ITA
- Box names:
- Box 1: (HRUnz……o) [two …]
- Box 2: (EEE*…Qn ) [one …; ends with space]
- * = y for sunny Route 119 and sunny Route 123; x for rain Route 119 and sunny Route 123;
- w for rain thunderstorm Route 119 and rain Route 123; v for rain Route 119 and sunny Route 123
- Box 3: (EE*…xq ) [ends with two spaces] * = h on old emulators, f on console/new emulators
- Box 4: (E ) [ends with seven spaces]
- Box 5: (E ) [ends with seven spaces]
- Box 6: (E ) [ends with seven spaces]
- Box 7: (E ) [ends with seven spaces]
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (ElT-n ) [lower case L; ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"j ?n ) [starts with space, righty "; one space after j; ends with space]
- _______________________________
- For German versions:
- sbc r12,pc,C200 E2CFCCC2 %% R12=PC-C200
- movs r11,EE E3B0B0EE %% R11=EE
- -filler- BFBFBFFF
- sbc r11,r11,E* E2CBB0E* %% R11=R11-E*-1
- -filler- BFBFFF00
- strb r11, [r12, D*]! E5ECB0D* %% Store new weather byte * = C on old emulators, A on console/new emulators
- -filler- BFFF0000
- -filler- 00000000
- -filler- FF000000
- -filler- 000000BF
- -filler- 00000000
- -filler- 0000BFFF
- -filler- 00000000
- -filler- 00BFFF00
- -filler- 00000000
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- str r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, E10 E2AECEE1 %% R12=LR+E10
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- adc r0,r12, E2 E2AC00E2 %% R0=R12+E2=????GER
- Box names:
- Box 1: (HRUnz……o) [two …]
- Box 2: (EEE*…Qn ) [one …; ends with space]
- * = y for sunny Route 119 and sunny Route 123; x for rain Route 119 and sunny Route 123;
- w for rain thunderstorm Route 119 and rain Route 123; v for rain Route 119 and sunny Route 123
- Box 3: (EE*…xq ) [ends with two spaces] * = h on old emulators, f on console/new emulators
- Box 4: (E ) [ends with seven spaces]
- Box 5: (E ) [ends with seven spaces]
- Box 6: (E ) [ends with seven spaces]
- Box 7: (E ) [ends with seven spaces]
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (EmT-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"n ?n ) [starts with space, righty "; one space after n; ends with space]
- _______________________________
- For Spanish versions:
- sbc r12,pc,C200 E2CFCCC2 %% R12=PC-C200
- movs r11,EE E3B0B0EE %% R11=EE
- -filler- BFBFBFFF
- sbc r11,r11,E* E2CBB0E* %% R11=R11-E*-1
- -filler- BFBFFF00
- strb r11, [r12, D*]! E5ECB0D* %% Store new weather byte * = C on old emulators, A on console/new emulators
- -filler- BFFF0000
- -filler- 00000000
- -filler- FF000000
- -filler- 000000BF
- -filler- 00000000
- -filler- 0000BFFF
- -filler- 00000000
- -filler- 00BFFF00
- -filler- 00000000
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- str r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, E10 E2AECEE1 %% R12=LR+E10
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- adc r0,r12, D6 E2AC00D6 %% R0=R12+D6=????SPA
- Box names:
- Box 1: (HRUnz……o) [two …]
- Box 2: (EEE*…Qn ) [one …; ends with space]
- * = y for sunny Route 119 and sunny Route 123; x for rain Route 119 and sunny Route 123;
- w for rain thunderstorm Route 119 and rain Route 123; v for rain Route 119 and sunny Route 123
- Box 3: (EE*…xq ) [ends with two spaces] * = h on old emulators, f on console/new emulators
- Box 4: (E ) [ends with seven spaces]
- Box 5: (E ) [ends with seven spaces]
- Box 6: (E ) [ends with seven spaces]
- Box 7: (E ) [ends with seven spaces]
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (EmT-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"b ?n ) [starts with space, righty "; one space after a; ends with space]
- _______________________________
- For French versions:
- sbc r12,pc,C200 E2CFCCC2 %% R12=PC-C200
- movs r11,EE E3B0B0EE %% R11=EE
- -filler- BFBFBFFF
- sbc r11,r11,E* E2CBB0E* %% R11=R11-E*-1
- -filler- BFBFFF00
- strb r11, [r12, D*]! E5ECB0D* %% Store new weather byte * = C on old emulators, A on console/new emulators
- -filler- BFFF0000
- -filler- 00000000
- -filler- FF000000
- -filler- 000000BF
- -filler- 00000000
- -filler- 0000BFFF
- -filler- 00000000
- -filler- 00BFFF00
- -filler- 00000000
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- str r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, E30 E2AECEE3 %% R12=LR+E30
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- adc r0,r12, E2 E2AC00E2 %% R0=R12+E2=????FRA
- Box names:
- Box 1: (HRUnz……o) [two …]
- Box 2: (EEE*…Qn ) [one …; ends with space]
- * = y for sunny Route 119 and sunny Route 123; x for rain Route 119 and sunny Route 123;
- w for rain thunderstorm Route 119 and rain Route 123; v for rain Route 119 and sunny Route 123
- Box 3: (EE*…xq ) [ends with two spaces] * = h on old emulators, f on console/new emulators
- Box 4: (E ) [ends with seven spaces]
- Box 5: (E ) [ends with seven spaces]
- Box 6: (E ) [ends with seven spaces]
- Box 7: (E ) [ends with seven spaces]
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (EoT-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"n ?n ) [starts with space, righty "; one space after n; ends with space]
- _______________________________________________________________________________________________________________________________________
- -Solve the Frontier Maniac crash side effect:
- Notes: this code will solve one of the possible side effects of long corruptions, the one that makes the game crash or freeze when talking to the Frontier Maniac
- _______________________________
- For English versions:
- sbc r12,pc,AE00 E2CFCCAE %% R12=PC-AE00-1
- movs r11,0 E3B0B000 %% R11=0
- -filler- BFBFBFFF
- strh r11 [r12, A*] E1CCBAB* %% Store new value * = 4 on old emulators, 6 on console/new emulators
- -filler- BFBFFF00
- -filler- BFBFBFBF
- -filler- BFFFBFBF
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- -filler- BFBFBFBF
- -filler- BFBFBFBF
- -filler- BFBFBFFF
- -filler- BFBFBFBF
- -filler- BFBFFFBF
- -filler- BFBFBFBF
- -filler- BFFFBFBF
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
- sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
- sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- BFBFFF00
- str r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, DC0 E2AECEDC %% R12=LR+DC0
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- BFBFBFFF
- adc r0,r12, D6 E2AC00D6 %% R0=R12+D6=SetCB2WhiteOutENG
- Box names:
- Box 1: (-RUn ……o) [one space after n; two …]
- Box 2: (EEE*/Rm ) [ends with space] * = ' [righty '] on old emulator, ♀ on console/new emulators
- Box 3: (EEEEEEEE)
- Box 4: (EEEEEEEE)
- Box 5: (EEEEEEEE)
- Box 6: (EEEEEEEE)
- Box 7: (EEEEEEEE)
- Box 8: (EEEEEEEE)
- Box 9: (z♀loy…Qn) [lower case L; one …]
- Box 10: (♀QnFGEn ) [ends with space]
- Box 11: (EE …?q ) [one space after E; one …; ends with two spaces]
- Box 12: (EhT-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: (EEEb ?n ) [one space after b; ends with space]
- _______________________________
- For Italian versions:
- sbc r12,pc,AE00 E2CFCCAE %% R12=PC-AE00-1
- movs r11,0 E3B0B000 %% R11=0
- -filler- BFBFBFFF
- strh r11 [r12, A*] E1CCBAB* %% Store new value * = 4 on old emulators, 6 on console/new emulators
- -filler- BFBFFF00
- -filler- BFBFBFBF
- -filler- BFFFBFBF
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- -filler- BFBFBFBF
- -filler- BFBFBFBF
- -filler- BFBFBFFF
- -filler- BFBFBFBF
- -filler- BFBFFFBF
- -filler- BFBFBFBF
- -filler- BFFFBFBF
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
- sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
- sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- BFBFFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- BFBFBFFF
- sbc r0,r12, DD E2CC00DD %% R0=R12-DD=SetCB2WhiteOutITA
- Box names:
- Box 1: (-RUn ……o) [one space after n; two …]
- Box 2: (EEE*/Rm ) [ends with space] * = ' [righty '] on old emulator, ♀ on console/new emulators
- Box 3: (EEEEEEEE)
- Box 4: (EEEEEEEE)
- Box 5: (EEEEEEEE)
- Box 6: (EEEEEEEE)
- Box 7: (EEEEEEEE)
- Box 8: (EEEEEEEE)
- Box 9: (z♀loy…Qn) [lower case L; one …]
- Box 10: (♀QnFGEn ) [ends with space]
- Box 11: (EE …?q ) [one space after E; ends with two spaces]
- Box 12: (E,T-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: (EEEi Rn ) [one space after i; ends with space]
- _______________________________
- For German versions:
- sbc r12,pc,AE00 E2CFCCAE %% R12=PC-AE00-1
- movs r11,0 E3B0B000 %% R11=0
- -filler- BFBFBFFF
- strh r11 [r12, A*] E1CCBAB* %% Store new value * = 4 on old emulators, 6 on console/new emulators
- -filler- BFBFFF00
- -filler- BFBFBFBF
- -filler- BFFFBFBF
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- -filler- BFBFBFBF
- -filler- BFBFBFBF
- -filler- BFBFBFFF
- -filler- BFBFBFBF
- -filler- BFBFFFBF
- -filler- BFBFBFBF
- -filler- BFFFBFBF
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
- sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
- sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- BFBFFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- BFBFBFFF
- adc r0,r12, A8 E2AC00A8 %% R0=R12+A8=SetCB2WhiteOutGER
- Box names:
- Box 1: (-RUn ……o) [one space after n; two …]
- Box 2: (EEE*/Rm ) [ends with space] * = ' [righty '] on old emulator, ♀ on console/new emulators
- Box 3: (EEEEEEEE)
- Box 4: (EEEEEEEE)
- Box 5: (EEEEEEEE)
- Box 6: (EEEEEEEE)
- Box 7: (EEEEEEEE)
- Box 8: (EEEEEEEE)
- Box 9: (z♀loy…Qn) [lower case L; one …]
- Box 10: (♀QnFGEn ) [ends with space]
- Box 11: (EE …?q ) [one space after E; ends with two spaces]
- Box 12: (E0T-n ) [zero; ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: (EEE7 ?n ) [one space after 7; ends with space]
- _______________________________
- For Spanish versions:
- sbc r12,pc,AE00 E2CFCCAE %% R12=PC-AE00-1
- movs r11,0 E3B0B000 %% R11=0
- -filler- BFBFBFFF
- strh r11 [r12, A*] E1CCBAB* %% Store new value * = 4 on old emulators, 6 on console/new emulators
- -filler- BFBFFF00
- -filler- BFBFBFBF
- -filler- BFFFBFBF
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- -filler- BFBFBFBF
- -filler- BFBFBFBF
- -filler- BFBFBFFF
- -filler- BFBFBFBF
- -filler- BFBFFFBF
- -filler- BFBFBFBF
- -filler- BFFFBFBF
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
- sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
- sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- BFBFFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- BFBFBFFF
- sbc r0,r12, D5 E2CC00D5 %% R0=R12-D5=SetCB2WhiteOutSPA
- Box names:
- Box 1: (-RUn ……o) [one space after n; two …]
- Box 2: (EEE*/Rm ) [ends with space] * = ' [righty '] on old emulator, ♀ on console/new emulators
- Box 3: (EEEEEEEE)
- Box 4: (EEEEEEEE)
- Box 5: (EEEEEEEE)
- Box 6: (EEEEEEEE)
- Box 7: (EEEEEEEE)
- Box 8: (EEEEEEEE)
- Box 9: (z♀loy…Qn) [lower case L; one …]
- Box 10: (♀QnFGEn ) [ends with space]
- Box 11: (EE …?q ) [one space after E; ends with two spaces]
- Box 12: (E,T-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: (EEEa Rn ) [one space after a; ends with space]
- _______________________________
- For French versions:
- sbc r12,pc,AE00 E2CFCCAE %% R12=PC-AE00-1
- movs r11,0 E3B0B000 %% R11=0
- -filler- BFBFBFFF
- strh r11 [r12, A*] E1CCBAB* %% Store new value * = 4 on old emulators, 6 on console/new emulators
- -filler- BFBFFF00
- -filler- BFBFBFBF
- -filler- BFFFBFBF
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- -filler- BFBFBFBF
- -filler- BFBFBFBF
- -filler- BFBFBFFF
- -filler- BFBFBFBF
- -filler- BFBFFFBF
- -filler- BFBFBFBF
- -filler- BFFFBFBF
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- mvn r11, EE00000 E3E0B6EE %% R11=notEE00000=F11FFFFF
- sbc r11, r11, ED E2CBB0ED %% R11=R12-ED-1=F11FFF11
- sbc r11, r11, FF00000 E2CBB6FF %% R11=R11-FF00000-1=E12FFF10="bx r0" opcode
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- BFBFFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- BFBFBFFF
- adc r0,r12, C8 E2AC00C8 %% R0=R12+C8=SetCB2WhiteOutFRA
- Box names:
- Box 1: (-RUn ……o) [one space after n; two …]
- Box 2: (EEE*/Rm ) [ends with space] * = ' [righty '] on old emulator, ♀ on console/new emulators
- Box 3: (EEEEEEEE)
- Box 4: (EEEEEEEE)
- Box 5: (EEEEEEEE)
- Box 6: (EEEEEEEE)
- Box 7: (EEEEEEEE)
- Box 8: (EEEEEEEE)
- Box 9: (z♀loy…Qn) [lower case L; one …]
- Box 10: (♀QnFGEn ) [ends with space]
- Box 11: (EE …?q ) [one space after E; ends with two spaces]
- Box 12: (E0T-n ) [zero; ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: (EEEN ?n ) [one space after N; ends with space]
- _______________________________
- For Japanese versions (0x0615 execution):
- sbc r12,pc,AE00 E2CFCCAE %% R12=PC-AE00-1
- movs r11,0 E3B0B000 %% R11=0
- -filler- BFBFBFFF
- strh r11 [r12, A*] E1CCBAB* %% Store new value * = 4 on old emulators, 6 on console/new emulators
- -filler- BFBFFF00
- -filler- BFBFBFBF
- -filler- BFFFBFBF
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- -filler- BFBFBFBF
- -filler- BFBFBFBF
- -filler- BFBFBFFF
- -filler- BFBFBFBF
- -filler- BFBFFFBF
- -filler- BFBFBFBF
- -filler- BFFFBFBF
- -filler- BFBFBFBF
- -filler- FFBFBFBF
- -filler- BFBFBFBF
- -filler- BFBFBFBF
- -filler- BFBFBFFF
- lrd r0 [pc, *] E51F000* %% R0=081378ED=SetCB2WhiteOutJAP * = 0 on old emulators, 2 on console/new emulators
- bx r0 E12FFF10 %% Exit the execution
- -data- 081378ED
- Box names:
- Box 1: (-RUn ・・・・o) [one space after n; two ・・]
- Box 2: (EEE*/Rm ) [ends with space] * = ' [righty '] on old emulator, ♀ on console/new emulators
- Box 3: (EEEEEEEE)
- Box 4: (EEEEEEEE)
- Box 5: (EEEEEEEE)
- Box 6: (EEEEEEEE)
- Box 7: (EEEEEEEE)
- Box 8: (EEEEEEEE)
- Box 9: (EEEEEEEE)
- Box 10: (EEE* まqた) [one space after *] * = [space] on old emulators, い on console/new emulators
- Box 11: (ぁmyリてく ) [ぁ not あ; リ not り; ends with two spaces]
- Box 12 onwards: anything
- ____________________________
- For Japanese versions (0x085F execution):
- mov r1,pc 4679 %% R1=PC+4
- ldr r0 pc+10 4804 %% R0=AD56
- sub r1,r1,r0 1A09 %% R1=R1-R0=VAR location
- mov r0,0 2000 %% R0=0=new VAR
- -filler- 00FF
- str r0,[r1] 6008 %% Store VAR
- bx lr 4770
- -filler- 0000
- -bad filler- FF00
- -filler- 0000
- -data- AD56
- -data- 0000
- Box names:
- Box 1: (ルばえぶけは み) [え not ぇ; one space after は]
- Box 2: ( くタミび ) [starts with space; ends with three spaces]
- Box 3: ( カ。 ) [starts with two spaces; ends with four spaces]
- Box 4 onwards: Anything
- _______________________________________________________________________________________________________________________________________
- -Solve (or cause) the May side effect:
- Note: this code will solve a possible side effect of ACE codes used early game, in particular the one that makes May appear in her room blocking the passage.
- Using this code in a save where said side effect is not present will result in the side effect showing up. I don't see how this can be useful but if you want, here you go
- _______________________________
- For English versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, EE E3B0C0EE %% R12=EE
- -filler- FF000000
- sbc r0,r12, E9 E2CC00E9 %% R0=R12-E9-1=4
- ldrh r12, [r11, 7*] E1DBC7B* %% Load target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 7*] E1CBC7B* %% Store target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, DC0 E2AECEDC %% R12=LR+DC0
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- adc r0,r12, D6 E2AC00D6 %% R0=R12+D6=SetCB2WhiteOutENG
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EzF…o ) [one …; ends with three spaces]
- Box 5: (u Rn*Mgm) [one space after u] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*MQm ) [ends with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (EhT-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"b ?n ) [starts with space, righty "; one space after b; ends with space]
- _______________________________
- For Italian versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, EE E3B0C0EE %% R12=EE
- -filler- FF000000
- sbc r0,r12, E9 E2CC00E9 %% R0=R12-E9-1=4
- ldrh r12, [r11, 7*] E1DBC7B* %% Load target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 7*] E1CBC7B* %% Store target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- sbc r0,r12, DD E2CC00DD %% R0=R12-DD=SetCB2WhiteOutITA
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EzF…o ) [one …; ends with three spaces]
- Box 5: (u Rn*Mgm) [one space after u] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*MQm ) [ends with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E,T-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"i Rn ) [starts with space, righty "; one space after i; ends with space]
- _______________________________
- For German versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, EE E3B0C0EE %% R12=EE
- -filler- FF000000
- sbc r0,r12, E9 E2CC00E9 %% R0=R12-E9-1=4
- ldrh r12, [r11, 7*] E1DBC7B* %% Load target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 7*] E1CBC7B* %% Store target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- adc r0,r12, A8 E2AC00A8 %% R0=R12+A8=SetCB2WhiteOutGER
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EzF…o ) [one …; ends with three spaces]
- Box 5: (u Rn*Mgm) [one space after u] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*MQm ) [ends with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E0T-n ) [zero; ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"7 ?n ) [starts with space, righty "; one space after 7; ends with space]
- _______________________________
- For Spanish versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, EE E3B0C0EE %% R12=EE
- -filler- FF000000
- sbc r0,r12, E9 E2CC00E9 %% R0=R12-E9-1=4
- ldrh r12, [r11, 7*] E1DBC7B* %% Load target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 7*] E1CBC7B* %% Store target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, B80 E2AECEB8 %% R12=LR+B80
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- sbc r0,r12, D5 E2CC00D5 %% R0=R12-D5=SetCB2WhiteOutSPA
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EzF…o ) [one …; ends with three spaces]
- Box 5: (u Rn*Mgm) [one space after u] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*MQm ) [ends with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E,T-n ) [ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"a Rn ) [starts with space, righty "; one space after a; ends with space]
- _______________________________
- For French versions:
- sbc r11,pc, AB00 E2CFBCAB %% R11=PC-AB00-1
- movs r12,2C E3B0C1B0 %% R12=2C
- sbc r11,r11, 3FC E2CBBFFF %% R11=R11-3FC-1
- adc r12,r12, E000 E2ACCCE0 %% R12=R12+E000=E02C
- -filler- BFBFFF00
- strh r12 [pc, 1*] E1CFC1B* *=6 on old emulators, 4 on console/new emulators
- -filler- BFFF0000
- movs r12, EE E3B0C0EE %% R12=EE
- -filler- FF000000
- sbc r0,r12, E9 E2CC00E9 %% R0=R12-E9-1=4
- ldrh r12, [r11, 7*] E1DBC7B* %% Load target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFBFBFFF
- -------- EEEEC000 %% Becomes E02CC000 (eor r12, r12, r0)
- -filler- BFBFFF00
- strh r12, [r11, 7*] E1CBC7B* %% Store target halfword * = 4 on old emulators; 2 on console/new emulators
- -filler- BFFF0000
- mvn r12, E1 E3E0C0E1 %% R12=notE1=FFFFFF1E
- -filler- FF000000
- bic r12,r12, ED00000 E3CCC6ED %% R12=R12 and notED00000=F12FFF1E
- bic r11,r12, 1000000E E3CCB2E1 %% R11=R12 and not1000000E=E12FFF10=bx r0 opcpde
- -filler- B2AC00FF
- adcs r12,pc, 30 E2BFC1C0 %% R12=PC+30
- -filler- B2ACFF00
- strt r11, [r12]! E5ACB000 %% Store bx r0 opcode in [r12]
- -filler- BFFF0000
- adc r12,lr, A10 E2AECEA1 %% R12=LR+A10
- -filler- FF000000
- adc r12,r12 D30000 E2ACC8D3 %% R12=R12+D30000
- bic r12,r12, C00000 E3CCC8C0 %% R12=R12 and notC00000
- -filler- B2AC00FF
- adc r0,r12, C8 E2AC00C8 %% R0=R12+C8=SetCB2WhiteOutFRA
- Box names:
- Box 1: (!BUn…G…o) [one …; one …]
- Box 2: (EQnlR?n ) [lower case L; ends with space]
- Box 3: (EE*GUm ) [ends with two spaces] * = ♀ on old emulators, ' [righty '] on console/new emulators
- Box 4: (EzF…o ) [one …; ends with three spaces]
- Box 5: (u Rn*Mgm) [one space after u] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 6: (EEE Fzz ) [one space after E; ends with space]
- Box 7: (EE*MQm ) [ends with two spaces] * = ' [righty '] on old emulators, " [righty "] on console/new emulators
- Box 8: (EmFlo ) [lower case L; ends with three spaces]
- Box 9: (yLRom"Ro) [righty "]
- Box 10: ( ?"FGEn ) [starts with space; righty "; ends with space]
- Box 11: (?" …?q ) [righty "; one space after "; one …; ends with two spaces]
- Box 12: (E0T-n ) [zero; ends with three spaces]
- Box 13: (YN?nFNRo)
- Box 14: ( ?"N ?n ) [starts with space, righty "; one space after N; ends with space]
- ____________________________
- For Japanese versions (0x085F execution):
- mov r1,pc 4679 %% R1=PC+4
- ldr r0 pc+18 4806 %% R0=0000AE86
- sub r1,r1,r0 1A09 %% R1=R1-R0=target halfword location
- ldr r0 pc+10 4804 %% R0=FF000004
- -filler- 00FF
- ldrh r2,[r1] 880A %% Load target halfword in R2
- eor r2,r2,r0 4042 %% R2=R2xorR0=new halfword
- b pc,4 E000 %% Skip bad filler
- -bad filler- FF00
- strh r2,[r1] 800A %% Store back new halfword
- ldr r2 pc+C 4A03 %% R2=081378ED=SetCB2WhiteOutJAP
- bx r2 4710 %% Exit
- -data- 0004
- -filler- 00FF
- -data- AE86
- -data- 0000
- -filler- 0000
- -filler- FF00
- -data- 78ED
- -data- 0813
- Box names:
- Box 1: (ルばかぶけはえぶ)
- Box 2: ( こギぢぞ l ) [starts with space; one space after ぞ; lower case L; ends with space]
- Box 3: (こィうぼたびえ ) [え not ぇ; ends with space]
- Box 4: ( ョ- ) [starts with space; ョ not ヨ; ends with five spaces]
- Box 5: (yリてく ) [リ not り;ends with four spaces]
- Box 6 onwards: Anything
- _______________________________________________________________________________________________________________________________________
Advertisement
Comments
-
- With all the ridiculous things you're able to do with ACE in these games, would it be possible to create codes for the "Custom DLC" in these videos? (Legal Jirachi and Legal Celebi encounters made using custom E-Reader codes)
- https://www.youtube.com/watch?v=fgX36SAeTwQ
- https://youtu.be/6j4CfGlHFI8?si=LnfNX-gREeeZTYlZ
-
- Stuff like that requires massive (relatively to this field) amount of data to be stored. While this is no problem when you can phisically write stuff on a support such as an e-card, writing all of those bytes via ACE is unfeasible, it's just too much. When you need to write a lot of data onto RAM, the way to go is something like this: https://github.com/E-Sh4rk/EmeraldACE_tuto/blob/main/hex-writer.md
- You can see a demonstration of how easy it is to write entire Pokémon (in this example Ageto Celebi and Whismaker Jirachi) from scratch using that method here: https://github.com/E-Sh4rk/EmeraldACE_tuto/blob/main/generating-pkmn.md
- By comparison, writing an entire Pokémon from scratch using just ACE codes would require several (about 10) codes and any mistake would cost you the entire process. You can see yourself how this scales to larger projects such as the one you suggested. Depending on how large the amount of needed data is, using an even more advanced ACE evolition such as this might be a better option: https://github.com/E-Sh4rk/EmeraldACE_tuto/blob/main/hex-editor.md
- Since the hex editor requires itself quite some time do make, it might or might not be more efficeint than just using the hex writer
-
- Hey bud. I'm super delighted with all your work. Did anything happen to the third list? Can't find it anywhere.
Add Comment
Please, Sign In to add comment
Advertisement