Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
Yu-Gi-Oh! Ultimate Masters: World Championship Tournament 2006/ROM map
Jump to navigation
Jump to search
The following article is a ROM map for Yu-Gi-Oh! Ultimate Masters: World Championship Tournament 2006.
Banlist Password
Enter character
080143F0 B570 push r4-r6,r14 ; 080143F2 1C04 mov r4,r0 ; 080143F4 1C0B mov r3,r1 ; 080143F6 1C16 mov r6,r2 ; 080143F8 490D ldr r1,=2000000h ; 080143FA 480E ldr r0,=6C2Ch ; 080143FC 1809 add r1,r1,r0 ; 080143FE 2007 mov r0,7h ; 08014400 7809 ldrb r1,[r1] ; 08014402 4008 and r0,r1 ; 08014404 2800 cmp r0,0h ; 08014406 D003 beq 8014410h ; 08014408 480B ldr r0,=202348Ch ; 0801440A 7800 ldrb r0,[r0] ; 0801440C 2800 cmp r0,0h ; 0801440E D023 beq 8014458h ; 08014410 7821 ldrb r1,[r4] ; 08014412 2900 cmp r1,0h ; 08014414 D025 beq 8014462h ; 08014416 2A00 cmp r2,0h ; 08014418 D023 beq 8014462h ; 0801441A 2580 mov r5,80h ; 0801441C 1C28 mov r0,r5 ; 0801441E 4008 and r0,r1 ; 08014420 2800 cmp r0,0h ; 08014422 D00B beq 801443Ch ; 08014424 7019 strb r1,[r3] ;Store charset 08014426 3401 add r4,1h ; 08014428 3301 add r3,1h ; 0801442A 7820 ldrb r0,[r4] ;Load character_id in r0 0801442C 7018 strb r0,[r3] ;Store character_id 0801442E E006 b 801443Eh ;
Retrieve CPU opponent's name
080242AE 0000 lsl r0,r0,0h ; 080242B0 943C str r4,[sp,0F0h] ; 080242B2 09DC lsr r4,r3,7h ; 080242B4 6C2C ldr r4,[r5,40h] ; 080242B6 0000 lsl r0,r0,0h ; 080242B8 6E5C ldr r4,[r3,64h] ; 080242BA 0000 lsl r0,r0,0h ; 080242BC 3360 add r3,60h ; 080242BE 0202 lsl r2,r0,8h ; 080242C0 6E48 ldr r0,[r1,64h] ; 080242C2 0000 lsl r0,r0,0h ; 080242C4 6E57 ldr r7,[r2,64h] ; 080242C6 0000 lsl r0,r0,0h ; 080242C8 485B ldr r0,=9E58D0Ch ; 080242CA 0DA1 lsr r1,r4,16h ; 080242CC 1809 add r1,r1,r0 ; 080242CE 8848 ldrh r0,[r1,2h] ;r0 = internal_card_id 080242D0 F0CAFC94 bl 80EEBFCh ;
Check if internal_card_id is valid, and convert it to card_id
080EE76C 0400 lsl r0,r0,10h ;start of the function 080EE76E 0C02 lsr r2,r0,10h ; 080EE770 1C11 mov r1,r2 ; 080EE772 4808 ldr r0,=0FA6h ; 080EE774 4282 cmp r2,r0 ; 080EE776 D917 bls 80EE7A8h ;if (r2 ≤ 4006), branch to 080EE7A8 080EE778 4807 ldr r0,=1BA6h ; 080EE77A 4282 cmp r2,r0 ; 080EE77C D814 bhi 80EE7A8h ;if (r2 ≤ 7078), branch to 080EE7A8 080EE77E 4807 ldr r0,=95B7CCCh ;r0 = pointer_to_cards_ids_array 080EE780 4A07 ldr r2,=0FFFFF059h ; 080EE782 1889 add r1,r1,r2 ;r1 -= 0xFA7 [4007; Blue-Eyes White Dragon] 080EE784 0049 lsl r1,r1,1h ;r1 << 1 080EE786 1809 add r1,r1,r0 ;r1 = pointer_to_cards_ids_array + ((internal_card_id - 4007) << 1) 080EE788 8809 ldrh r1,[r1] ;r1 = card_id 080EE78A 4806 ldr r0,=0FFFFh ; 080EE78C 4281 cmp r1,r0 ; 080EE78E D00B beq 80EE7A8h ;if (invalid_card_id), branch to 080EE7A8 080EE790 1C08 mov r0,r1 ;r0 = card_id 080EE792 E00A b 80EE7AAh ;branch to 080EE7AA 080EE794 0FA6 lsr r6,r4,1Eh ;- 080EE796 0000 lsl r0,r0,0h ;- 080EE798 1BA6 sub r6,r4,r6 ;- 080EE79A 0000 lsl r0,r0,0h ;- 080EE79C 7CCC ldrb r4,[r1,13h] ;- 080EE79E 095B lsr r3,r3,5h ;- 080EE7A0 F059FFFF bl 81487A2h ;- 080EE7A4 FFFF bl lr+0FFEh ;- 080EE7A6 0000 lsl r0,r0,0h ;- 080EE7A8 2000 mov r0,0h ;... if (not an internal_card_id), r0 = 0 080EE7AA 4770 bx r14 ;go back right after the function call (0xEEC07 in the case of displaying CPU opponents' names)
Retrieve card_id from an internal_card_id, retrieve EWRAM 02006C2Cn and call 080EE7AC
080EEBF2 0000 lsl r0,r0,0h ; 080EEBF4 A508 add r5,=80EEC18h ; 080EEBF6 0980 lsr r0,r0,6h ; 080EEBF8 FF0C bl lr+0E18h ; 080EEBFA 095F lsr r7,r3,5h ; 080EEBFC B500 push r14 ; 080EEBFE 0400 lsl r0,r0,10h ; 080EEC00 0C00 lsr r0,r0,10h ; 080EEC02 F7FFFDB3 bl 80EE76Ch ;call [#Check_if_internal_card_id_is_valid.2C_and_convert_it_to_card_id|Check if internal_card_id is valid, and convert it to card_id] 080EEC06 0400 lsl r0,r0,10h ; 080EEC08 0C00 lsr r0,r0,10h ;r0 = card_id 080EEC0A 4905 ldr r1,=2000000h ; 080EEC0C 4A05 ldr r2,=6C2Ch ; 080EEC0E 1889 add r1,r1,r2 ;r1 = 0x2006C2C 080EEC10 7809 ldrb r1,[r1] ;r1 = [0x2006C2C] 080EEC12 0749 lsl r1,r1,1Dh ; 080EEC14 0F49 lsr r1,r1,1Dh ;r1 &= 7 080EEC16 F7FFFDC9 bl 80EE7ACh ;call 080EE7AC 080EEC1A BC02 pop r1 ; 080EEC1C 4708 bx r1 ;branch to r1
Cards IDs array
- 0x157BCCC to 0x15B917B - Conversion table from internal_card_id to card_id
Internal Data for Yu-Gi-Oh! Ultimate Masters: World Championship Tournament 2006
| |
---|---|