Notes:Final Fight One
This page contains notes for the game Final Fight One.
Addresses correspond to the USA version unless noted otherwise.
Bonus Credits
Hardcoded string at GBA address $080953F8:
434150434F4D475559594C4D C A P C O M G U Y Y L M
Main:
Init. 080104F4 B5F0 push r4-r7,r14 ;26 300 080104F6 4647 mov r7,r8 ;2 302 080104F8 B480 push r7 ;10 312 080104FA 2402 mov r4,2h ;2 314 //Number of names to check (3) 080104FC 4F09 ldr r7,=203E15Ch ;9 323 //Start address in RAM of the first name 080104FE 480A ldr r0,=80953F8h ;9 332 //Start address of stored string CAPCOMGUYYLM 08010500 4680 mov r8,r0 ;2 334 08010502 4646 mov r6,r8 ;2 336 08010504 1C3D mov r5,r7 ;2 338 First Chance Mode 08010506 1C28 mov r0,r5 ;2 340 08010508 1C31 mov r1,r6 ;2 342 0801050A 2205 mov r2,5h ;2 344 //Names have 6 letters total to check 0801050C F05BF940 bl 806B790h ;10 354 //Compare entered letters to stored letters 08010510 2800 cmp r0,0h ;2 356 //Did all 6 letters match? 08010512 D10B bne 801052Ch ;8 364 //Skip to Second Chance Mode Startup if match failed First Chance Mode Success 08010514 3603 add r6,3h ;2 366 //Add $03 places to position in stored string CAPCOMGUYYLM 08010516 3510 add r5,10h ;2 368 //Add $10 places for next stored name in RAM 08010518 3C01 sub r4,1h ;2 370 //Subtract 1 from number of names to check 0801051A 2C00 cmp r4,0h ;2 372 //Were 3 names checked? 0801051C DAF3 bge 8010506h ;8 380 //Loop back to First Chance Mode if more names to check Award 5 Credits 0801051E 2105 mov r1,5h ;2 382 //Award 5 credits if 3 names match CAPCOM, COMGUY, GUYYLM 08010520 E011 b 8010546h ;8 390 //Jump to Store Credits Second Chance Mode Startup 0801052C 2C00 cmp r4,0h ;2 411 //Are you on the last name (ie, CAPCOM, COMGUY were successful)? 0801052E D109 bne 8010544h ;8 419 //Skip to Set 3 Credits if you failed on either of the first 2 names Second Chance Mode 08010530 1C38 mov r0,r7 ;2 421 //Start address in RAM of the first name ($0203E15C) 08010532 3020 add r0,20h ;2 423 //Add $20 = $0203E17C (the location of the third name in RAM) 08010534 4641 mov r1,r8 ;2 425 //Start address of CAPCOMGUYYLM stored string ($080953F8) 08010536 3109 add r1,9h ;2 427 //Add $09 = $08095401 (YLM...) 08010538 2205 mov r2,5h ;2 429 //Names have 6 letters total to check* 0801053A F05BF929 bl 806B790h ;10 439 //Compare entered letters to stored letters 0801053E 2109 mov r1,9h ;2 441 //Award 9 credits 08010540 2800 cmp r0,0h ;2 443 //Did all 6 letters match? 08010542 D000 beq 8010546h ;8 451 //Skip to Store Credits if all letters matched Set 3 Credits 08010544 2103 mov r1,3h ;2 453 //Set 3 credits (default) Store Credits 08010546 4803 ldr r0,=20215D8h ;9 462 08010548 7741 strb r1,[r0,1Dh] ;5 467 //Store credits to RAM ($020215D8 + $1D = 020215F5) 0801054A BC08 pop r3 ;4 471 0801054C 4698 mov r8,r3 ;2 473 0801054E BCF0 pop r4-r7 ;7 480 08010550 BC01 pop r0 ;4 484 08010552 4700 bx r0 ;8 492 //Exit *If this operation is set to $2203 (mov r2,3h), having '''YLM''' at the start of the third name will award 9 credits
Compare Letters:
Init. 0806B790 B510 push r4,r14 ;14 148 0806B792 1C14 mov r4,r2 ;2 150 0806B794 1C03 mov r3,r0 ;2 152 0806B796 1C0A mov r2,r1 ;2 154 0806B798 2C03 cmp r4,3h ;2 156 //Are there more than 3 letters that need to be compared? 0806B79A D917 bls 806B7CCh ;8 164 //Skip to Compare Single Letter Progress if less than 4 letters that need to be compared Unknown purpose, ??? 0806B79C 4310 orr r0,r2 ;2 166 0806B79E 2103 mov r1,3h ;2 168 0806B7A0 4008 and r0,r1 ;2 170 0806B7A2 2800 cmp r0,0h ;2 172 0806B7A4 D112 bne 806B7CCh ;8 180 0806B7A6 E004 b 806B7B2h ;8 188 //Jump to Compare 4 Letters At Once Matched 4 Letters At Once 0806B7A8 3304 add r3,4h ;2 190 //Add 4 to current place in name in RAM 0806B7AA 3204 add r2,4h ;2 192 //Add 4 to current place in stored string CAPCOMGUYYLM 0806B7AC 3C04 sub r4,4h ;2 194 //Subtract 4 from number of letters in named entered counter 0806B7AE 2C03 cmp r4,3h ;2 196 //Are there more than 3 letters still left to enter? (never the case) 0806B7B0 D90C bls 806B7CCh ;8 204 //Skip to Compare Single Letter Progress if less than 4 letters left to check Compare 4 Letters At Once 0806B7B2 6819 ldr r1,[r3] ;9 213 //Load 4 letters of name in RAM 0806B7B4 6810 ldr r0,[r2] ;4 217 //Load 4 letters from stored string CAPCOMGUYYLM 0806B7B6 4281 cmp r1,r0 ;2 219 //Do they match? 0806B7B8 D0F6 beq 806B7A8h ;8 227 //Loop back to Matched 4 Letters At Once if successful 4 letter match 0806B7BA E007 b 806B7CCh ;8 235 //Jump to Compare Single Letter Progress Compare Single Letter 0806B7BC 7818 ldrb r0,[r3] ;6 241 //Load single letter of name in RAM 0806B7BE 7811 ldrb r1,[r2] ;4 245 //Load single letter of name in ROM 0806B7C0 4288 cmp r0,r1 ;2 247 //Do they match? 0806B7C2 D001 beq 806B7C8h ;8 255 //Skip to Letters Match if they match Failed Match 0806B7C4 1A40 sub r0,r0,r1 ;2 257 //Fail (result will be non-zero) 0806B7C6 E006 b 806B7D6h ;8 265 //Exit Letters Match 0806B7C8 3301 add r3,1h ;2 267 //Add 1 to get next letter of name in RAM 0806B7CA 3201 add r2,1h ;2 269 //Add 1 to get next letter from CAPCOMGUYYLM stored string Compare Single Letter Progress 0806B7CC 1C20 mov r0,r4 ;2 271 //Number of letters in name entered counter 0806B7CE 3C01 sub r4,1h ;2 273 //Subtract 1 from number of letters entered counter 0806B7D0 2800 cmp r0,0h ;2 275 //Have 6 letters been entered? 0806B7D2 D1F3 bne 806B7BCh ;8 283 //Loop back to Compare Single Letter if not finished yet Successfully Matched All Letters 0806B7D4 2000 mov r0,0h ;2 285 //Success 0806B7D6 BD10 pop r4,r15 ;19 304 //Exit
Debug Soft Reset
Check Debug Soft Reset Flag 0800BBDC 480B ldr r0,=20237D0h ;9 172 0800BBDE 7EC0 ldrb r0,[r0,1Bh] ;4 176 //Soft reset debug flag address in RAM ($020237D0 + $1B = $020237EB) 0800BBE0 2800 cmp r0,0h ;2 178 //Is it on or off? 0800BBE2 D017 beq 800BC14h ;8 186 //Skip to $0800BC14 if off Debug Soft Reset Flag On 0800BBE4 480A ldr r0,=20208D8h ;9 195 //RAM address for button presses 0800BBE6 8802 ldrh r2,[r0] ;4 199 0800BBE8 8840 ldrh r0,[r0,2h] ;4 203 0800BBEA 4010 and r0,r2 ;2 205 0800BBEC 2380 mov r3,80h ;2 207 0800BBEE 019B lsl r3,r3,6h ;2 209 0800BBF0 1C19 mov r1,r3 ;2 211 0800BBF2 4008 and r0,r1 ;2 213 0800BBF4 2800 cmp r0,0h ;2 215 //Is Select pressed? 0800BBF6 D00D beq 800BC14h ;8 223 //Skip to $0800BC14 if Select not pressed Select Button Pressed 0800BBF8 2080 mov r0,80h ;2 225 0800BBFA 0140 lsl r0,r0,5h ;2 227 0800BBFC 4010 and r0,r2 ;2 229 0800BBFE 2800 cmp r0,0h ;2 231 //Is Start pressed? 0800BC00 D008 beq 800BC14h ;8 239 //Skip to $0800BC14 if Start not pressed Start Button Pressed 0800BC02 F05FFE43 bl 806B88Ch ;10 249 //Reset game
Bay Area Dog Bonuses
Load Pointer
08038FBC B500 push r14 ;10 201 08038FBE 4B05 ldr r3,=809EF1Ch ;9 210 //Pointer table start address 08038FC0 7E42 ldrb r2,[r0,19h] ;6 216 08038FC2 0852 lsr r2,r2,1h ;2 218 08038FC4 0092 lsl r2,r2,2h ;2 220 08038FC6 18D2 add r2,r2,r3 ;2 222 08038FC8 6812 ldr r2,[r2] ;9 231 08038FCA F032FA77 bl 806B4BCh ;10 241 //Jump to specific dog Exit 08038FCE BC01 pop r0 ;9 272 08038FD0 4700 bx r0 ;8 280
Pointers
Reverse values and subtract -1 from pointer to get actual start address D98F0308 1st dog - add 10 points 1D900308 2nd dog - add 1 credit B9900308 3rd dog - restore health 65900308 4th dog - add 1 life
Dog 1 - Add 10 Points
08038FD8 B530 push r4,r5,r14 ;18 60 08038FDA 1C05 mov r5,r0 ;2 62 08038FDC 1C0C mov r4,r1 ;2 64 08038FDE F000F889 bl 80390F4h ;10 74 //Check player X and Y coords 08038FE2 7DE0 ldrb r0,[r4,17h] ;6 80 08038FE4 0840 lsr r0,r0,1h ;2 82 08038FE6 0040 lsl r0,r0,1h ;2 84 08038FE8 1C29 mov r1,r5 ;2 86 08038FEA 3194 add r1,94h ;2 88 08038FEC 1809 add r1,r1,r0 ;2 90 08038FEE 8808 ldrh r0,[r1] ;6 96 //Load 16-bit timer 08038FF0 281D cmp r0,1Dh ;2 98 //Has 1 second passed? #$001E = 30 frames 08038FF2 D907 bls 8039004h ;8 106 //Skip to Fail if not enough time has elapsed Success 08038FF4 1C20 mov r0,r4 ;2 108 08038FF6 2102 mov r1,2h ;2 110 //#$02 = 10pts 08038FF8 F7D3FD3E bl 800CA78h ;10 120 //Add score 08038FFC 1C28 mov r0,r5 ;2 122 08038FFE 1C21 mov r1,r4 ;2 124 08039000 F000F804 bl 803900Ch ;10 134 //Reset timer Fail 08039004 BC30 pop r4,r5 ;13 147 08039006 BC01 pop r0 ;9 156 08039008 4700 bx r0 ;8 164 Reset Timer (shared) 0803900C 7DC9 ldrb r1,[r1,17h] ;6 172 0803900E 0849 lsr r1,r1,1h ;2 174 08039010 0049 lsl r1,r1,1h ;2 176 08039012 3094 add r0,94h ;2 178 08039014 1840 add r0,r0,r1 ;2 180 08039016 2100 mov r1,0h ;2 182 08039018 8001 strh r1,[r0] ;7 189 //Store #0000 to reset timer 0803901A 4770 bx r14 ;8 197
Dog 2 - Add 1 Credit
0803901C B570 push r4-r6,r14 ;22 255 0803901E 1C05 mov r5,r0 ;2 257 08039020 1C0E mov r6,r1 ;2 259 08039022 F000F867 bl 80390F4h ;10 269 //Check player X and Y coords 08039026 7DF1 ldrb r1,[r6,17h] ;4 212 08039028 0849 lsr r1,r1,1h ;2 214 0803902A 0049 lsl r1,r1,1h ;2 216 0803902C 1C28 mov r0,r5 ;2 218 0803902E 3094 add r0,94h ;2 220 08039030 1840 add r0,r0,r1 ;2 222 08039032 8801 ldrh r1,[r0] ;4 226 //Load 16-bit timer 08039034 4809 ldr r0,=4AFh ;9 235 08039036 4281 cmp r1,r0 ;2 237 //Has 20 seconds passed? #$04B0 = 1200 frames 08039038 D90D bls 8039056h ;8 245 //Skip to Fail if not enough time has elapsed Check Credits 0803903A 4C09 ldr r4,=20215D8h ;9 135 0803903C 7F60 ldrb r0,[r4,1Dh] ;6 141 //Load credits $020215F5 0803903E 2808 cmp r0,8h ;2 143 //Does player have more than 8 credits? 08039040 D809 bhi 8039056h ;8 151 //Skip to Fail if player already has 9 credits Success 08039042 205C mov r0,5Ch ;2 153 //Sound effect index #$5C 08039044 F7D3FD50 bl 800CAE8h ;10 163 //Play sound effect 08039048 7F60 ldrb r0,[r4,1Dh] ;6 169 //Load credits $020215F5 0803904A 3001 add r0,1h ;2 171 //Add 1 credit 0803904C 7760 strb r0,[r4,1Dh] ;7 178 //Store credits $020215F5 0803904E 1C28 mov r0,r5 ;2 180 08039050 1C31 mov r1,r6 ;2 182 08039052 F7FFFFDB bl 803900Ch ;10 192 //Reset timer Fail 08039056 BC70 pop r4-r6 ;17 209 08039058 BC01 pop r0 ;9 218 0803905A 4700 bx r0 ;8 226
Dog 4 - Add 1 Life
Check Max Lives Flag 08039064 B530 push r4,r5,r14 ;22 234 08039066 1C04 mov r4,r0 ;2 236 08039068 1C0D mov r5,r1 ;2 238 0803906A 7960 ldrb r0,[r4,5h] ;6 244 0803906C 2800 cmp r0,0h ;2 246 //Is the flag set to disable bonus (#$01)? 0803906E D120 bne 80390B2h ;8 254 //Skip to Fail if max lives flag is true Main 08039070 1C20 mov r0,r4 ;2 256 08039072 F000F83F bl 80390F4h ;10 266 //Check player X and Y coords 08039076 7DE9 ldrb r1,[r5,17h] ;6 272 08039078 0849 lsr r1,r1,1h ;2 274 0803907A 0049 lsl r1,r1,1h ;2 276 0803907C 1C20 mov r0,r4 ;2 278 0803907E 3094 add r0,94h ;2 280 08039080 1840 add r0,r0,r1 ;2 282 08039082 8801 ldrh r1,[r0] ;6 288 //Load 16-bit timer 08039084 4808 ldr r0,=707h ;9 297 08039086 4281 cmp r1,r0 ;2 299 //Has 30 seconds passed? #$0708 = 1800 frames 08039088 D913 bls 80390B2h ;8 307 //Skip to Fail if not enough time has elapsed 0803908A 1C29 mov r1,r5 ;2 309 0803908C 319B add r1,9Bh ;2 311 0803908E 7808 ldrb r0,[r1] ;6 317 //Load player lives 08039090 2809 cmp r0,9h ;2 319 //Does player have 9 lives? 08039092 D80B bhi 80390ACh ;8 327 //Skip to Disable Bonus if player has max lives Success 08039094 3001 add r0,1h ;2 329 //Add 1 life 08039096 7008 strb r0,[r1] ;7 336 //Store player lives 08039098 1C28 mov r0,r5 ;2 338 0803909A F004FBB7 bl 803D80Ch ;10 348 //Refresh HUD to show updated lives 0803909E 1C20 mov r0,r4 ;2 350 080390A0 1C29 mov r1,r5 ;2 352 080390A2 F7FFFFB3 bl 803900Ch ;10 362 //Reset timer Disable Bonus 080390AC 7960 ldrb r0,[r4,5h] ;6 380 080390AE 3001 add r0,1h ;2 382 //Set flag to disable bonus 080390B0 7160 strb r0,[r4,5h] ;7 389 Fail 080390B2 BC30 pop r4,r5 ;15 404 080390B4 BC01 pop r0 ;9 413 080390B6 4700 bx r0 ;8 421
Dog 3 - Restore Health
080390B8 B530 push r4,r5,r14 ;22 243 080390BA 1C05 mov r5,r0 ;2 245 080390BC 1C0C mov r4,r1 ;2 247 080390BE F000F819 bl 80390F4h ;10 257 //Check player X and Y coords 080390C2 7DE0 ldrb r0,[r4,17h] ;6 263 080390C4 0840 lsr r0,r0,1h ;2 265 080390C6 0040 lsl r0,r0,1h ;2 267 080390C8 1C29 mov r1,r5 ;2 269 080390CA 3194 add r1,94h ;2 271 080390CC 1809 add r1,r1,r0 ;2 273 080390CE 8808 ldrh r0,[r1] ;6 279 //Load 16-bit timer 080390D0 2801 cmp r0,1h ;2 281 //Has 2 frames passed? (30 units health restored/second) 080390D2 D90C bls 80390EEh ;8 289 //Skip to Fail if not enough time has elapsed Check Health 080390D4 8B62 ldrh r2,[r4,1Ah] ;6 295 080390D6 201A mov r0,1Ah ;2 297 080390D8 5E21 ldsh r1,[r4,r0] ;4 301 //Current HP 080390DA 231E mov r3,1Eh ;2 303 080390DC 5EE0 ldsh r0,[r4,r3] ;8 311 //Max HP 080390DE 4281 cmp r1,r0 ;2 313 //Is health fully restored? 080390E0 DA05 bge 80390EEh ;8 321 //Skip to Fail if already at maximum health Success 080390E2 1C50 add r0,r2,1 ;2 323 //HP +1 080390E4 8360 strh r0,[r4,1Ah] ;7 330 //Store to Current HP 080390E6 1C28 mov r0,r5 ;2 332 080390E8 1C21 mov r1,r4 ;2 334 080390EA F7FFFF8F bl 803900Ch ;10 344 //Reset timer Fail 080390EE BC30 pop r4,r5 ;13 357 080390F0 BC01 pop r0 ;9 366 080390F2 4700 bx r0 ;8 374
Check X And Y Coords
080390F4 1C03 mov r3,r0 ;2 126 080390F6 1C0A mov r2,r1 ;2 128 080390F8 8950 ldrh r0,[r2,0Ah] ;7 135 080390FA 8959 ldrh r1,[r3,0Ah] ;7 142 080390FC 1A40 sub r0,r0,r1 ;2 144 080390FE 0400 lsl r0,r0,10h ;2 146 08039100 0C00 lsr r0,r0,10h ;2 148 08039102 280F cmp r0,0Fh ;2 150 //16 pixel window for X coord 08039104 D813 bhi 803912Eh ;8 158 //Skip to Fail if player is outside the boundary 08039106 89D0 ldrh r0,[r2,0Eh] ;7 165 //Get player current Y coord 08039108 384A sub r0,4Ah ;2 167 //Note: value of #$4A, #$4B, #$4C, #$4D = player is within window 0803910A 0400 lsl r0,r0,10h ;2 169 0803910C 0C00 lsr r0,r0,10h ;2 171 0803910E 2803 cmp r0,3h ;2 173 //4 pixel window for Y coord 08039110 D80D bhi 803912Eh ;8 181 //Skip to Fail if player is outside the boundary Success 08039112 7DD0 ldrb r0,[r2,17h] ;7 188 08039114 0840 lsr r0,r0,1h ;2 190 08039116 0040 lsl r0,r0,1h ;2 192 08039118 1C19 mov r1,r3 ;2 194 0803911A 3194 add r1,94h ;2 196 0803911C 1809 add r1,r1,r0 ;2 198 0803911E 8808 ldrh r0,[r1] ;6 204 //Load timer 08039120 3001 add r0,1h ;2 206 //Timer +1 08039122 8008 strh r0,[r1] ;7 213 //Store timer 08039124 1C19 mov r1,r3 ;2 215 08039126 3158 add r1,58h ;2 217 08039128 20FE mov r0,0FEh ;2 219 0803912A 7008 strb r0,[r1] ;7 226 0803912C E009 b 8039142h ;8 234 Fail 0803912E 7DD0 ldrb r0,[r2,17h] ;7 241 08039130 0840 lsr r0,r0,1h ;2 243 08039132 0040 lsl r0,r0,1h ;2 245 08039134 1C19 mov r1,r3 ;2 247 08039136 3194 add r1,94h ;2 249 08039138 1809 add r1,r1,r0 ;2 251 0803913A 2000 mov r0,0h ;2 253 //Reset timer 0803913C 8008 strh r0,[r1] ;7 260 //Store timer 0803913E 1C19 mov r1,r3 ;2 262 08039140 3158 add r1,58h ;2 264 Unknown - related to the main status for the dog bonuses 08039142 7808 ldrb r0,[r1] ;6 270 08039144 280F cmp r0,0Fh ;2 272 08039146 D901 bls 803914Ch ;8 280 08039148 2004 mov r0,4h ;2 282 //Jump table index value for the next step (change dog animation)? 0803914A 7008 strb r0,[r1] ;7 289 0803914C 4770 bx r14 ;8 297
Unused Text
Text Block $000042A4
This block is different from all the SNES versions. The text used for the debug TEST MODE is missing, as well as the prototype options screen and the CODDY vs. ANDORE battle. Interestingly, the unused Demo, Start/Options/Battle menu and Normal Mode/Battle Mode text is present.
$000042A4-$000024D9 are pointers to strings (+$000042A4) Example: $000042A4 + $0036 = $000042DA (Demo string)
000042A0 3600 3600 3F00 5600 5600 9400 ....6.6.?.V.V... 000042B0 9400 9400 9400 9400 9400 9400 9400 9400 ................ 000042C0 9400 9400 9400 B800 C800 F000 F000 F000 ................ 000042D0 FF00 0B01 2A01 4901 6201 0820 6E7D 4445 ....*.I.b.. n}DE 000042E0 4D4F 0024 2446 7E50 5245 5353 2053 5441 MO.$$F~PRESS STA 000042F0 5254 2042 5554 544F 4E00 1620 0B7F 4E4F RT BUTTON.. ..NO 00004300 524D 414C 204D 4F44 4516 204B 7F42 4154 RMAL MODE. K.BAT 00004310 544C 4520 4D4F 4445 000A 20EE 7E53 5441 TLE MODE.. .~STA 00004320 5254 0E20 2E7F 4F50 5449 4F4E 530C 206E RT. ..OPTIONS. n 00004330 7F42 4154 544C 4500 1424 637F 2331 3938 .BATTLE..$c.#198 00004340 392C 3139 3930 0C25 6E7F 7879 7A7B 7C7D 9,1990.%n.xyz{|} 00004350 1024 757F 434F 2E2C 4C54 442E 1620 0A7F .$u.CO.,LTD.. .. 00004360 5055 5348 2020 5354 4152 5400 1020 8C7D PUSH START.. .} 00004370 E0E1 E2E3 E4E5 E6E7 1024 AC7D F0F1 F2F3 .........$.}.... 00004380 F4F5 F6F7 1628 EB7D E8E9 EAEB ECED EEEF .....(.}........ 00004390 F8F9 FA00 1428 227D 4F48 2120 4D59 2043 .....("}OH! MY C 000043A0 4152 000E 2078 7F43 5245 4449 5420 0034 AR.. x.CREDIT .4 000043B0 24E3 7E23 4341 5043 4F4D 2043 4F2E 2C4C $.~#CAPCOM CO.,L 000043C0 5444 2E20 3139 3839 2031 3939 3000 3424 TD. 1989 1990.4$ 000043D0 237F 2343 4150 434F 4D20 5553 412E 494E #.#CAPCOM USA.IN 000043E0 432E 2031 3938 3920 3139 3931 0028 2466 C. 1989 1991.($f 000043F0 7F4C 4943 454E 5345 4420 4259 204E 494E .LICENSED BY NIN 00004400 5445 4E44 4F00 1624 4B7E 5052 4553 5320 TENDO..$K~PRESS 00004410 5354 4152 5400 START.
Text Block $00046C66
This block has a prototype options screen from the SNES version with the stage select intact! If you try to force this menu to load (eg, change the pointer used for the "Thank You For Your Playing" end screen) it won't display correctly/fully as the GBA has a lower screen resolution. The options screen was entirely redone for the GBA version.
Also present is the high score initials entry screens ("POINT OF") for Cody and Haggar from the SNES version. Again, the GBA uses its own redone initials screen.
00046C60 1004 737E 434F 4E54 494E ........s~CONTIN 00046C70 5545 0000 1600 647C 4F50 5449 4F4E 204D UE....d|OPTION M 00046C80 4F44 4518 00C4 7C44 4946 4649 4355 4C54 ODE...|DIFFICULT 00046C90 597D 6118 0004 7D44 4946 4649 4355 4C54 Y}a...}DIFFICULT 00046CA0 597D 620C 0044 7D50 4C41 5945 520C 0084 Y}b..D}PLAYER... 00046CB0 7D45 5854 454E 440A 00C4 7D4D 5553 4943 }EXTEND...}MUSIC 00046CC0 0A00 047E 534F 554E 440C 0044 7E53 5445 ...~SOUND..D~STE 00046CD0 5245 4F12 0084 7E45 5854 5241 204A 4F59 REO...~EXTRA JOY 00046CE0 0A00 C47E 524F 554E 4408 0004 7F41 5245 ...~ROUND....ARE 00046CF0 4108 0044 7F45 5849 5400 0800 C47E 4558 A..D.EXIT....~EX 00046D00 4954 0018 04C4 7C44 4946 4649 4355 4C54 IT....|DIFFICULT 00046D10 597D 6100 1804 047D 4449 4646 4943 554C Y}a....}DIFFICUL 00046D20 5459 7D62 000C 0444 7D50 4C41 5945 5200 TY}b...D}PLAYER. 00046D30 0C04 847D 4558 5445 4E44 000A 04C4 7D4D ...}EXTEND....}M 00046D40 5553 4943 000A 0404 7E53 4F55 4E44 000C USIC....~SOUND.. 00046D50 0444 7E53 5445 5245 4F00 1204 847E 4558 .D~STEREO....~EX 00046D60 5452 4120 4A4F 5900 0A04 C47E 524F 554E TRA JOY....~ROUN 00046D70 4400 0804 047F 4152 4541 0008 0444 7F45 D.....AREA...D.E 00046D80 5849 5400 1000 6A7C 504F 494E 5420 4F46 XIT...j|POINT OF 00046D90 0008 0073 7C43 4F44 5900 0C00 737C 4841 ...s|CODY...s|HA 00046DA0 4747 4152 0016 040E 7D41 2042 2043 2044 GGAR....}A B C D 00046DB0 2045 2046 1604 4E7D 4720 4820 4920 4A20 E F..N}G H I J 00046DC0 4B20 4C16 048E 7D4D 204E 204F 2050 2051 K L...}M N O P Q 00046DD0 2052 1604 CE7D 5320 5420 5520 5620 5720 R...}S T U V W 00046DE0 5816 040E 7E59 205A 202E 205E 205F 2020 X...~Y Z . ^ _
Text Block $0006BDA8
(partial block)
The original SNES character select screen with only Cody and Haggar.
0006BDA8 237F 2334 5345 4C45 4354 2050 4C41 5945 #.#4SELECT PLAYE 0006BDB8 5200 257C 2010 434F 4459 317C 2018 4841 R.%| .CODY1| .HA 0006BDC8 4747 4152 GGAR
To do: A "CODY!" string is also present in this block. Unused? |