arm9:0200B01C 88 0B 00 02 off_200B01C DCD SDKNINTENDOBACKUP ; DATA XREF: sub_200AE24+10r arm9:0200B01C ; "[SDK+NINTENDO:BACKUP]" arm9:0200B020 arm9:0200B020 ; =============== S U B R O U T I N E ======================================= arm9:0200B020 arm9:0200B020 arm9:0200B020 return_poke_cr2_0 ; CODE XREF: sub_200B038+5Cp arm9:0200B020 00 00 9F E5 LDR R0, =poke_cr2_0 arm9:0200B024 1E FF 2F E1 BX LR arm9:0200B024 ; End of function return_poke_cr2_0 arm9:0200B024 arm9:0200B024 ; --------------------------------------------------------------------------- arm9:0200B028 F4 B2 00 02 off_200B028 DCD poke_cr2_0 ; DATA XREF: return_poke_cr2_0r arm9:0200B02C arm9:0200B02C ; =============== S U B R O U T I N E ======================================= arm9:0200B02C arm9:0200B02C arm9:0200B02C sub_200B02C ; CODE XREF: call_poke_cr2_2+C4p arm9:0200B02C 00 C0 9F E5 LDR R12, =sub_200A55C arm9:0200B030 1C FF 2F E1 BX R12 arm9:0200B030 ; End of function sub_200B02C arm9:0200B030 arm9:0200B030 ; --------------------------------------------------------------------------- arm9:0200B034 5C A5 00 02 off_200B034 DCD sub_200A55C ; DATA XREF: sub_200B02Cr arm9:0200B038 arm9:0200B038 ; =============== S U B R O U T I N E ======================================= arm9:0200B038 arm9:0200B038 arm9:0200B038 sub_200B038 ; CODE XREF: sub_2003134+3Cp arm9:0200B038 ; sub_2007D8C+38p arm9:0200B038 00 40 2D E9 STMFD SP!, {LR} arm9:0200B03C 04 D0 4D E2 SUB SP, SP, #4 arm9:0200B040 68 C0 9F E5 LDR R12, =0x20B9280 arm9:0200B044 14 01 9C E5 LDR R0, [R12,#0x114] arm9:0200B048 00 00 50 E3 CMP R0, #0 arm9:0200B04C 04 D0 8D 12 ADDNE SP, SP, #4 arm9:0200B050 00 40 BD 18 LDMNEFD SP!, {LR} arm9:0200B054 1E FF 2F 11 BXNE LR arm9:0200B058 01 00 A0 E3 MOV R0, #1 arm9:0200B05C 14 01 8C E5 STR R0, [R12,#0x114] arm9:0200B060 00 30 A0 E3 MOV R3, #0 arm9:0200B064 24 30 8C E5 STR R3, [R12,#0x24] arm9:0200B068 24 00 9C E5 LDR R0, [R12,#0x24] arm9:0200B06C 00 10 E0 E3 MOVL R1, 0xFFFFFFFF arm9:0200B070 20 00 8C E5 STR R0, [R12,#0x20] arm9:0200B074 20 20 9C E5 LDR R2, [R12,#0x20] arm9:0200B078 34 00 9F E5 LDR R0, =0x20B98A0 arm9:0200B07C 1C 20 8C E5 STR R2, [R12,#0x1C] arm9:0200B080 28 10 8C E5 STR R1, [R12,#0x28] arm9:0200B084 38 30 8C E5 STR R3, [R12,#0x38] arm9:0200B088 3C 30 8C E5 STR R3, [R12,#0x3C] arm9:0200B08C 00 30 80 E5 STR R3, [R0] arm9:0200B090 5B FD FF EB BL sub_200A604 arm9:0200B094 E1 FF FF EB BL return_poke_cr2_0 arm9:0200B098 18 10 9F E5 LDR R1, =0x20B98C0 arm9:0200B09C 00 00 81 E5 STR R0, [R1] arm9:0200B0A0 B8 02 00 EB BL sub_200BB88 arm9:0200B0A4 04 D0 8D E2 ADD SP, SP, #4 arm9:0200B0A8 00 40 BD E8 LDMFD SP!, {LR} arm9:0200B0AC 1E FF 2F E1 BX LR arm9:0200B0AC ; End of function sub_200B038 arm9:0200B0AC arm9:0200B0AC ; --------------------------------------------------------------------------- arm9:0200B0B0 80 92 0B 02 dword_200B0B0 DCD 0x20B9280 ; DATA XREF: sub_200B038+8r arm9:0200B0B4 A0 98 0B 02 dword_200B0B4 DCD 0x20B98A0 ; DATA XREF: sub_200B038+40r arm9:0200B0B8 C0 98 0B 02 dword_200B0B8 DCD 0x20B98C0 ; DATA XREF: sub_200B038+60r arm9:0200B0BC arm9:0200B0BC ; =============== S U B R O U T I N E ======================================= arm9:0200B0BC arm9:0200B0BC arm9:0200B0BC call_poke_cr2_2 ; CODE XREF: sub_2007FD4+30p arm9:0200B0BC arm9:0200B0BC arg_0 = 0 arm9:0200B0BC arg_4 = 4 arm9:0200B0BC arg_8 = 8 arm9:0200B0BC arm9:0200B0BC F0 4F 2D E9 STMFD SP!, {R4-R11,LR} arm9:0200B0C0 04 D0 4D E2 SUB SP, SP, #4 arm9:0200B0C4 04 61 9F E5 LDR R6, =0x20B9280 arm9:0200B0C8 00 A0 A0 E1 MOV R10, R0 arm9:0200B0CC 01 90 A0 E1 MOV R9, R1 arm9:0200B0D0 02 80 A0 E1 MOV R8, R2 arm9:0200B0D4 03 70 A0 E1 MOV R7, R3 arm9:0200B0D8 F4 B0 9F E5 LDR R11, =0x20B98C0 arm9:0200B0DC 39 FD FF EB BL sub_200A5C8 arm9:0200B0E0 EE E4 FF EB BL sub_20044A0 arm9:0200B0E4 14 11 96 E5 LDR R1, [R6,#0x114] arm9:0200B0E8 00 50 A0 E1 MOV R5, R0 arm9:0200B0EC 04 00 11 E2 ANDS R0, R1, #4 arm9:0200B0F0 05 00 00 0A BEQ loc_200B10C arm9:0200B0F4 43 4F 86 E2 ADD R4, R6, #0x10C arm9:0200B0F8 arm9:0200B0F8 loc_200B0F8 ; CODE XREF: call_poke_cr2_2+4Cj arm9:0200B0F8 04 00 A0 E1 MOV R0, R4 arm9:0200B0FC 33 DD FF EB BL sub_20025D0 arm9:0200B100 14 01 96 E5 LDR R0, [R6,#0x114] arm9:0200B104 04 00 10 E2 ANDS R0, R0, #4 arm9:0200B108 FA FF FF 1A BNE loc_200B0F8 arm9:0200B10C arm9:0200B10C loc_200B10C ; CODE XREF: call_poke_cr2_2+34j arm9:0200B10C 14 11 96 E5 LDR R1, [R6,#0x114] arm9:0200B110 28 00 9D E5 LDR R0, [SP,#0x28+arg_0] arm9:0200B114 04 10 81 E3 ORR R1, R1, #4 arm9:0200B118 14 11 86 E5 STR R1, [R6,#0x114] arm9:0200B11C 2C 10 9D E5 LDR R1, [SP,#0x28+arg_4] arm9:0200B120 38 00 86 E5 STR R0, [R6,#0x38] arm9:0200B124 05 00 A0 E1 MOV R0, R5 arm9:0200B128 3C 10 86 E5 STR R1, [R6,#0x3C] arm9:0200B12C E0 E4 FF EB BL sub_20044B4 arm9:0200B130 A0 00 9F E5 LDR R0, =0x20B98A0 arm9:0200B134 28 A0 86 E5 STR R10, [R6,#0x28] arm9:0200B138 00 00 90 E5 LDR R0, [R0] arm9:0200B13C 03 00 5A E3 CMP R10, #3 arm9:0200B140 00 00 89 E0 ADD R0, R9, R0 arm9:0200B144 1C 00 86 E5 STR R0, [R6,#0x1C] arm9:0200B148 20 80 86 E5 STR R8, [R6,#0x20] arm9:0200B14C 24 70 86 E5 STR R7, [R6,#0x24] arm9:0200B150 01 00 00 8A BHI loc_200B15C arm9:0200B154 0A 00 A0 E1 MOV R0, R10 arm9:0200B158 DF E5 FF EB BL sub_20048DC arm9:0200B15C arm9:0200B15C loc_200B15C ; CODE XREF: call_poke_cr2_2+94j arm9:0200B15C 0B 00 A0 E1 MOV R0, R11 arm9:0200B160 A3 00 00 EB BL poke_cr2_2 arm9:0200B164 00 00 50 E3 CMP R0, #0 arm9:0200B168 08 00 00 0A BEQ loc_200B190 arm9:0200B16C 30 00 9D E5 LDR R0, [SP,#0x28+arg_8] arm9:0200B170 00 00 50 E3 CMP R0, #0 arm9:0200B174 04 D0 8D 12 ADDNE SP, SP, #4 arm9:0200B178 F0 4F BD 18 LDMNEFD SP!, {R4-R11,LR} arm9:0200B17C 1E FF 2F 11 BXNE LR arm9:0200B180 A9 FF FF EB BL sub_200B02C arm9:0200B184 04 D0 8D E2 ADD SP, SP, #4 arm9:0200B188 F0 4F BD E8 LDMFD SP!, {R4-R11,LR} arm9:0200B18C 1E FF 2F E1 BX LR arm9:0200B190 ; --------------------------------------------------------------------------- arm9:0200B190 arm9:0200B190 loc_200B190 ; CODE XREF: call_poke_cr2_2+ACj arm9:0200B190 30 00 9D E5 LDR R0, [SP,#0x28+arg_8] arm9:0200B194 00 00 50 E3 CMP R0, #0 arm9:0200B198 04 00 00 0A BEQ loc_200B1B0 arm9:0200B19C 38 00 9F E5 LDR R0, =sub_200B1E4 arm9:0200B1A0 A7 FD FF EB BL sub_200A844 arm9:0200B1A4 04 D0 8D E2 ADD SP, SP, #4 arm9:0200B1A8 F0 4F BD E8 LDMFD SP!, {R4-R11,LR} arm9:0200B1AC 1E FF 2F E1 BX LR arm9:0200B1B0 ; --------------------------------------------------------------------------- arm9:0200B1B0 arm9:0200B1B0 loc_200B1B0 ; CODE XREF: call_poke_cr2_2+DCj arm9:0200B1B0 28 10 9F E5 LDR R1, =0x20B71A0 arm9:0200B1B4 06 00 A0 E1 MOV R0, R6 arm9:0200B1B8 04 10 91 E5 LDR R1, [R1,#4] arm9:0200B1BC 04 11 86 E5 STR R1, [R6,#0x104] arm9:0200B1C0 07 00 00 EB BL sub_200B1E4 arm9:0200B1C4 04 D0 8D E2 ADD SP, SP, #4 arm9:0200B1C8 F0 4F BD E8 LDMFD SP!, {R4-R11,LR} arm9:0200B1CC 1E FF 2F E1 BX LR arm9:0200B1CC ; End of function call_poke_cr2_2 arm9:0200B1CC arm9:0200B1CC ; --------------------------------------------------------------------------- arm9:0200B1D0 80 92 0B 02 dword_200B1D0 DCD 0x20B9280 ; DATA XREF: call_poke_cr2_2+8r arm9:0200B1D4 C0 98 0B 02 dword_200B1D4 DCD 0x20B98C0 ; DATA XREF: call_poke_cr2_2+1Cr arm9:0200B1D8 A0 98 0B 02 dword_200B1D8 DCD 0x20B98A0 ; DATA XREF: call_poke_cr2_2+74r arm9:0200B1DC E4 B1 00 02 off_200B1DC DCD sub_200B1E4 ; DATA XREF: call_poke_cr2_2+E0r arm9:0200B1E0 A0 71 0B 02 dword_200B1E0 DCD 0x20B71A0 ; DATA XREF: call_poke_cr2_2:loc_200B1B0r arm9:0200B1E4 arm9:0200B1E4 ; =============== S U B R O U T I N E ======================================= arm9:0200B1E4 arm9:0200B1E4 arm9:0200B1E4 sub_200B1E4 ; CODE XREF: call_poke_cr2_2+104p arm9:0200B1E4 ; DATA XREF: arm9:off_200B1DCo arm9:0200B1E4 F0 40 2D E9 STMFD SP!, {R4-R7,LR} arm9:0200B1E8 04 D0 4D E2 SUB SP, SP, #4 arm9:0200B1EC 94 40 9F E5 LDR R4, =0x20B98C0 arm9:0200B1F0 04 00 A0 E1 MOV R0, R4 arm9:0200B1F4 50 01 00 EB BL sub_200B73C arm9:0200B1F8 00 00 50 E3 CMP R0, #0 arm9:0200B1FC 02 00 00 0A BEQ loc_200B20C arm9:0200B200 00 10 94 E5 LDR R1, [R4] arm9:0200B204 04 00 A0 E1 MOV R0, R4 arm9:0200B208 31 FF 2F E1 BLX R1 arm9:0200B20C arm9:0200B20C loc_200B20C ; CODE XREF: sub_200B1E4+18j arm9:0200B20C 78 70 9F E5 LDR R7, =0x20B9280 arm9:0200B210 1E 00 00 EB BL poke_cr2_1 arm9:0200B214 07 02 00 EB BL sub_200BA38 arm9:0200B218 00 00 97 E5 LDR R0, [R7] arm9:0200B21C 00 10 A0 E3 MOV R1, #0 arm9:0200B220 00 10 80 E5 STR R1, [R0] arm9:0200B224 38 60 97 E5 LDR R6, [R7,#0x38] arm9:0200B228 3C 50 97 E5 LDR R5, [R7,#0x3C] arm9:0200B22C 9B E4 FF EB BL sub_20044A0 arm9:0200B230 14 11 97 E5 LDR R1, [R7,#0x114] arm9:0200B234 00 40 A0 E1 MOV R4, R0 arm9:0200B238 4C 00 C1 E3 BIC R0, R1, #0x4C arm9:0200B23C 14 01 87 E5 STR R0, [R7,#0x114] arm9:0200B240 43 0F 87 E2 ADD R0, R7, #0x10C arm9:0200B244 C1 DC FF EB BL sub_2002550 arm9:0200B248 14 01 97 E5 LDR R0, [R7,#0x114] arm9:0200B24C 10 00 10 E2 ANDS R0, R0, #0x10 arm9:0200B250 01 00 00 0A BEQ loc_200B25C arm9:0200B254 44 00 87 E2 ADD R0, R7, #0x44 arm9:0200B258 AF DC FF EB BL sub_200251C arm9:0200B25C arm9:0200B25C loc_200B25C ; CODE XREF: sub_200B1E4+6Cj arm9:0200B25C 04 00 A0 E1 MOV R0, R4 arm9:0200B260 93 E4 FF EB BL sub_20044B4 arm9:0200B264 00 00 56 E3 CMP R6, #0 arm9:0200B268 04 D0 8D 02 ADDEQ SP, SP, #4 arm9:0200B26C F0 40 BD 08 LDMEQFD SP!, {R4-R7,LR} arm9:0200B270 1E FF 2F 01 BXEQ LR arm9:0200B274 05 00 A0 E1 MOV R0, R5 arm9:0200B278 36 FF 2F E1 BLX R6 arm9:0200B27C 04 D0 8D E2 ADD SP, SP, #4 arm9:0200B280 F0 40 BD E8 LDMFD SP!, {R4-R7,LR} arm9:0200B284 1E FF 2F E1 BX LR arm9:0200B284 ; End of function sub_200B1E4 arm9:0200B284 arm9:0200B284 ; --------------------------------------------------------------------------- arm9:0200B288 C0 98 0B 02 dword_200B288 DCD 0x20B98C0 ; DATA XREF: sub_200B1E4+8r arm9:0200B28C 80 92 0B 02 dword_200B28C DCD 0x20B9280 ; DATA XREF: sub_200B1E4:loc_200B20Cr arm9:0200B290 arm9:0200B290 ; =============== S U B R O U T I N E ======================================= arm9:0200B290 arm9:0200B290 arm9:0200B290 poke_cr2_1 ; CODE XREF: sub_200B1E4+2Cp arm9:0200B290 ; poke_cr2_3+54p arm9:0200B290 00 40 2D E9 STMFD SP!, {LR} arm9:0200B294 04 D0 4D E2 SUB SP, SP, #4 arm9:0200B298 2E 03 A0 E3 MOV R0, #0xB8000000 arm9:0200B29C 00 10 A0 E3 MOV R1, #0 arm9:0200B2A0 FD 00 00 EB BL poke_card_regs arm9:0200B2A4 3C 10 9F E5 LDR R1, =0x27FFE60 arm9:0200B2A8 02 0A A0 E3 MOV R0, #0x2000 arm9:0200B2AC 00 10 91 E5 LDR R1, [R1] arm9:0200B2B0 00 00 60 E2 RSB R0, R0, #0 arm9:0200B2B4 07 14 C1 E3 BIC R1, R1, #0x7000000 arm9:0200B2B8 A7 24 81 E3 ORR R2, R1, #0xA7000000 arm9:0200B2BC 28 10 9F E5 LDR R1, =card_cr2 arm9:0200B2C0 00 00 02 E0 AND R0, R2, R0 arm9:0200B2C4 00 00 81 E5 STR R0, [R1] arm9:0200B2C8 arm9:0200B2C8 loc_200B2C8 ; CODE XREF: poke_cr2_1+40j arm9:0200B2C8 00 00 91 E5 LDR R0, [R1] arm9:0200B2CC 02 05 10 E2 ANDS R0, R0, #0x800000 arm9:0200B2D0 FC FF FF 0A BEQ loc_200B2C8 arm9:0200B2D4 14 00 9F E5 LDR R0, =0x4100010 arm9:0200B2D8 00 00 90 E5 LDR R0, [R0] arm9:0200B2DC 04 D0 8D E2 ADD SP, SP, #4 arm9:0200B2E0 00 40 BD E8 LDMFD SP!, {LR} arm9:0200B2E4 1E FF 2F E1 BX LR arm9:0200B2E4 ; End of function poke_cr2_1 arm9:0200B2E4 arm9:0200B2E4 ; --------------------------------------------------------------------------- arm9:0200B2E8 60 FE 7F 02 dword_200B2E8 DCD 0x27FFE60 ; DATA XREF: poke_cr2_1+14r arm9:0200B2EC A4 01 00 04 off_200B2EC DCD card_cr2 ; DATA XREF: poke_cr2_1+2Cr arm9:0200B2F0 10 00 10 04 dword_200B2F0 DCD 0x4100010 ; DATA XREF: poke_cr2_1+44r arm9:0200B2F4 arm9:0200B2F4 ; =============== S U B R O U T I N E ======================================= arm9:0200B2F4 arm9:0200B2F4 arm9:0200B2F4 poke_cr2_0 ; DATA XREF: arm9:off_200B028o arm9:0200B2F4 F0 4F 2D E9 STMFD SP!, {R4-R11,LR} arm9:0200B2F8 04 D0 4D E2 SUB SP, SP, #4 arm9:0200B2FC 00 A0 A0 E1 MOV R10, R0 arm9:0200B300 E0 90 9F E5 LDR R9, =0x20B9280 arm9:0200B304 20 70 8A E2 ADD R7, R10, #0x20 arm9:0200B308 DC 50 9F E5 LDR R5, =0x4100010 arm9:0200B30C DC 60 9F E5 LDR R6, =card_cr2 arm9:0200B310 00 B0 A0 E3 MOV R11, #0 arm9:0200B314 02 0C A0 E3 MOV R0, #0x200 arm9:0200B318 00 40 60 E2 RSB R4, R0, #0 arm9:0200B31C arm9:0200B31C loc_200B31C ; CODE XREF: poke_cr2_0+C8j arm9:0200B31C ; poke_cr2_0+E4j arm9:0200B31C 1C 00 99 E5 LDR R0, [R9,#0x1C] arm9:0200B320 04 10 00 E0 AND R1, R0, R4 arm9:0200B324 00 00 51 E1 CMP R1, R0 arm9:0200B328 05 00 00 1A BNE loc_200B344 arm9:0200B32C 20 80 99 E5 LDR R8, [R9,#0x20] arm9:0200B330 03 00 18 E2 ANDS R0, R8, #3 arm9:0200B334 02 00 00 1A BNE loc_200B344 arm9:0200B338 24 00 99 E5 LDR R0, [R9,#0x24] arm9:0200B33C 02 0C 50 E3 CMP R0, #0x200 arm9:0200B340 01 00 00 2A BCS loc_200B34C arm9:0200B344 arm9:0200B344 loc_200B344 ; CODE XREF: poke_cr2_0+34j arm9:0200B344 ; poke_cr2_0+40j arm9:0200B344 07 80 A0 E1 MOV R8, R7 arm9:0200B348 08 10 8A E5 STR R1, [R10,#8] arm9:0200B34C arm9:0200B34C loc_200B34C ; CODE XREF: poke_cr2_0+4Cj arm9:0200B34C 21 04 A0 E1 MOV R0, R1,LSR#8 arm9:0200B350 B7 04 80 E3 ORR R0, R0, #0xB7000000 arm9:0200B354 01 1C A0 E1 MOV R1, R1,LSL#24 arm9:0200B358 CF 00 00 EB BL poke_card_regs arm9:0200B35C 04 10 9A E5 LDR R1, [R10,#4] arm9:0200B360 0B 00 A0 E1 MOV R0, R11 arm9:0200B364 00 10 86 E5 STR R1, [R6] arm9:0200B368 arm9:0200B368 loc_200B368 ; CODE XREF: poke_cr2_0+94j arm9:0200B368 00 20 96 E5 LDR R2, [R6] arm9:0200B36C 02 15 12 E2 ANDS R1, R2, #0x800000 arm9:0200B370 03 00 00 0A BEQ loc_200B384 arm9:0200B374 00 10 95 E5 LDR R1, [R5] arm9:0200B378 02 0C 50 E3 CMP R0, #0x200 arm9:0200B37C 00 11 88 37 STRCC R1, [R8,R0,LSL#2] arm9:0200B380 01 00 80 32 ADDCC R0, R0, #1 arm9:0200B384 arm9:0200B384 loc_200B384 ; CODE XREF: poke_cr2_0+7Cj arm9:0200B384 02 11 12 E2 ANDS R1, R2, #0x80000000 arm9:0200B388 F6 FF FF 1A BNE loc_200B368 arm9:0200B38C 20 00 99 E5 LDR R0, [R9,#0x20] arm9:0200B390 00 00 58 E1 CMP R8, R0 arm9:0200B394 0C 00 00 1A BNE loc_200B3CC arm9:0200B398 1C 20 99 E5 LDR R2, [R9,#0x1C] arm9:0200B39C 20 10 99 E5 LDR R1, [R9,#0x20] arm9:0200B3A0 24 00 99 E5 LDR R0, [R9,#0x24] arm9:0200B3A4 02 2C 82 E2 ADD R2, R2, #0x200 arm9:0200B3A8 02 1C 81 E2 ADD R1, R1, #0x200 arm9:0200B3AC 02 0C 50 E2 SUBS R0, R0, #0x200 arm9:0200B3B0 1C 20 89 E5 STR R2, [R9,#0x1C] arm9:0200B3B4 20 10 89 E5 STR R1, [R9,#0x20] arm9:0200B3B8 24 00 89 E5 STR R0, [R9,#0x24] arm9:0200B3BC D6 FF FF 1A BNE loc_200B31C arm9:0200B3C0 04 D0 8D E2 ADD SP, SP, #4 arm9:0200B3C4 F0 4F BD E8 LDMFD SP!, {R4-R11,LR} arm9:0200B3C8 1E FF 2F E1 BX LR arm9:0200B3CC ; --------------------------------------------------------------------------- arm9:0200B3CC arm9:0200B3CC loc_200B3CC ; CODE XREF: poke_cr2_0+A0j arm9:0200B3CC 0A 00 A0 E1 MOV R0, R10 arm9:0200B3D0 D9 00 00 EB BL sub_200B73C arm9:0200B3D4 00 00 50 E3 CMP R0, #0 arm9:0200B3D8 CF FF FF 1A BNE loc_200B31C arm9:0200B3DC 04 D0 8D E2 ADD SP, SP, #4 arm9:0200B3E0 F0 4F BD E8 LDMFD SP!, {R4-R11,LR} arm9:0200B3E4 1E FF 2F E1 BX LR arm9:0200B3E4 ; End of function poke_cr2_0 arm9:0200B3E4 arm9:0200B3E4 ; --------------------------------------------------------------------------- arm9:0200B3E8 80 92 0B 02 dword_200B3E8 DCD 0x20B9280 ; DATA XREF: poke_cr2_0+Cr arm9:0200B3EC 10 00 10 04 dword_200B3EC DCD 0x4100010 ; DATA XREF: poke_cr2_0+14r arm9:0200B3F0 A4 01 00 04 off_200B3F0 DCD card_cr2 ; DATA XREF: poke_cr2_0+18r arm9:0200B3F4 arm9:0200B3F4 ; =============== S U B R O U T I N E ======================================= arm9:0200B3F4 arm9:0200B3F4 arm9:0200B3F4 poke_cr2_2 ; CODE XREF: call_poke_cr2_2+A4p arm9:0200B3F4 F0 4F 2D E9 STMFD SP!, {R4-R11,LR} arm9:0200B3F8 04 D0 4D E2 SUB SP, SP, #4 arm9:0200B3FC 4C B1 9F E5 LDR R11, =0x20B9280 arm9:0200B400 00 70 A0 E3 MOV R7, #0 arm9:0200B404 20 90 9B E5 LDR R9, [R11,#0x20] arm9:0200B408 00 A0 A0 E1 MOV R10, R0 arm9:0200B40C 07 60 A0 E1 MOV R6, R7 arm9:0200B410 07 50 A0 E1 MOV R5, R7 arm9:0200B414 07 10 A0 E1 MOV R1, R7 arm9:0200B418 1F 40 19 E2 ANDS R4, R9, #0x1F arm9:0200B41C 24 80 9B E5 LDR R8, [R11,#0x24] arm9:0200B420 02 00 00 1A BNE loc_200B430 arm9:0200B424 28 00 9B E5 LDR R0, [R11,#0x28] arm9:0200B428 03 00 50 E3 CMP R0, #3 arm9:0200B42C 01 10 A0 93 MOVLS R1, #1 arm9:0200B430 arm9:0200B430 loc_200B430 ; CODE XREF: poke_cr2_2+2Cj arm9:0200B430 00 00 51 E3 CMP R1, #0 arm9:0200B434 12 00 00 0A BEQ loc_200B484 arm9:0200B438 C3 E1 FF EB BL sub_2003B4C arm9:0200B43C 10 11 9F E5 LDR R1, =0x1FF8000 arm9:0200B440 08 20 89 E0 ADD R2, R9, R8 arm9:0200B444 01 00 52 E1 CMP R2, R1 arm9:0200B448 01 30 A0 E3 MOV R3, #1 arm9:0200B44C 00 10 A0 E3 MOV R1, #0 arm9:0200B450 01 00 00 9A BLS loc_200B45C arm9:0200B454 02 04 59 E3 CMP R9, #unk_2000000 arm9:0200B458 03 10 A0 31 MOVCC R1, R3 arm9:0200B45C arm9:0200B45C loc_200B45C ; CODE XREF: poke_cr2_2+5Cj arm9:0200B45C 00 00 51 E3 CMP R1, #0 arm9:0200B460 05 00 00 1A BNE loc_200B47C arm9:0200B464 02 00 50 E1 CMP R0, R2 arm9:0200B468 02 00 00 2A BCS loc_200B478 arm9:0200B46C 01 09 80 E2 ADD R0, R0, #0x4000 arm9:0200B470 09 00 50 E1 CMP R0, R9 arm9:0200B474 00 00 00 8A BHI loc_200B47C arm9:0200B478 arm9:0200B478 loc_200B478 ; CODE XREF: poke_cr2_2+74j arm9:0200B478 00 30 A0 E3 MOV R3, #0 arm9:0200B47C arm9:0200B47C loc_200B47C ; CODE XREF: poke_cr2_2+6Cj arm9:0200B47C ; poke_cr2_2+80j arm9:0200B47C 00 00 53 E3 CMP R3, #0 arm9:0200B480 01 50 A0 03 MOVEQ R5, #1 arm9:0200B484 arm9:0200B484 loc_200B484 ; CODE XREF: poke_cr2_2+40j arm9:0200B484 00 00 55 E3 CMP R5, #0 arm9:0200B488 04 00 00 0A BEQ loc_200B4A0 arm9:0200B48C 1C 10 9B E5 LDR R1, [R11,#0x1C] arm9:0200B490 C0 00 9F E5 LDR R0, =0x1FF arm9:0200B494 08 10 81 E1 ORR R1, R1, R8 arm9:0200B498 00 00 11 E0 ANDS R0, R1, R0 arm9:0200B49C 01 60 A0 03 MOVEQ R6, #1 arm9:0200B4A0 arm9:0200B4A0 loc_200B4A0 ; CODE XREF: poke_cr2_2+94j arm9:0200B4A0 00 00 56 E3 CMP R6, #0 arm9:0200B4A4 01 00 00 0A BEQ loc_200B4B0 arm9:0200B4A8 00 00 58 E3 CMP R8, #0 arm9:0200B4AC 01 70 A0 13 MOVNE R7, #1 arm9:0200B4B0 arm9:0200B4B0 loc_200B4B0 ; CODE XREF: poke_cr2_2+B0j arm9:0200B4B0 A4 00 9F E5 LDR R0, =0x27FFE60 arm9:0200B4B4 00 00 57 E3 CMP R7, #0 arm9:0200B4B8 00 00 90 E5 LDR R0, [R0] arm9:0200B4BC 07 04 C0 E3 BIC R0, R0, #0x7000000 arm9:0200B4C0 A1 04 80 E3 ORR R0, R0, #0xA1000000 arm9:0200B4C4 04 00 8A E5 STR R0, [R10,#4] arm9:0200B4C8 1C 00 00 0A BEQ loc_200B540 arm9:0200B4CC F3 E3 FF EB BL sub_20044A0 arm9:0200B4D0 00 50 A0 E1 MOV R5, R0 arm9:0200B4D4 09 00 A0 E1 MOV R0, R9 arm9:0200B4D8 08 10 A0 E1 MOV R1, R8 arm9:0200B4DC 0D DF FF EB BL sub_2003118 arm9:0200B4E0 00 00 54 E3 CMP R4, #0 arm9:0200B4E4 07 00 00 0A BEQ loc_200B508 arm9:0200B4E8 04 90 49 E0 SUB R9, R9, R4 arm9:0200B4EC 09 00 A0 E1 MOV R0, R9 arm9:0200B4F0 20 10 A0 E3 MOV R1, #0x20 ; ' ' arm9:0200B4F4 F4 DE FF EB BL sub_20030CC arm9:0200B4F8 08 00 89 E0 ADD R0, R9, R8 arm9:0200B4FC 20 10 A0 E3 MOV R1, #0x20 ; ' ' arm9:0200B500 F1 DE FF EB BL sub_20030CC arm9:0200B504 20 80 88 E2 ADD R8, R8, #0x20 arm9:0200B508 arm9:0200B508 loc_200B508 ; CODE XREF: poke_cr2_2+F0j arm9:0200B508 09 00 A0 E1 MOV R0, R9 arm9:0200B50C 08 10 A0 E1 MOV R1, R8 arm9:0200B510 E6 DE FF EB BL sub_20030B0 arm9:0200B514 FC DE FF EB BL sub_200310C arm9:0200B518 40 10 9F E5 LDR R1, =poke_cr2_3 arm9:0200B51C 02 07 A0 E3 MOV R0, #0x80000 arm9:0200B520 42 DA FF EB BL sub_2001E30 arm9:0200B524 02 07 A0 E3 MOV R0, #0x80000 arm9:0200B528 D0 D9 FF EB BL sub_2001C70 arm9:0200B52C 02 07 A0 E3 MOV R0, #0x80000 arm9:0200B530 ED D9 FF EB BL sub_2001CEC arm9:0200B534 05 00 A0 E1 MOV R0, R5 arm9:0200B538 DD E3 FF EB BL sub_20044B4 arm9:0200B53C 40 00 00 EB BL poke_cr2 arm9:0200B540 arm9:0200B540 loc_200B540 ; CODE XREF: poke_cr2_2+D4j arm9:0200B540 07 00 A0 E1 MOV R0, R7 arm9:0200B544 04 D0 8D E2 ADD SP, SP, #4 arm9:0200B548 F0 4F BD E8 LDMFD SP!, {R4-R11,LR} arm9:0200B54C 1E FF 2F E1 BX LR arm9:0200B54C ; End of function poke_cr2_2 arm9:0200B54C arm9:0200B54C ; --------------------------------------------------------------------------- arm9:0200B550 80 92 0B 02 dword_200B550 DCD 0x20B9280 ; DATA XREF: poke_cr2_2+8r arm9:0200B554 00 80 FF 01 dword_200B554 DCD 0x1FF8000 ; DATA XREF: poke_cr2_2+48r arm9:0200B558 FF 01 00 00 dword_200B558 DCD 0x1FF ; DATA XREF: poke_cr2_2+9Cr arm9:0200B55C 60 FE 7F 02 dword_200B55C DCD 0x27FFE60 ; DATA XREF: poke_cr2_2:loc_200B4B0r arm9:0200B560 64 B5 00 02 off_200B560 DCD poke_cr2_3 ; DATA XREF: poke_cr2_2+124r arm9:0200B564 arm9:0200B564 ; =============== S U B R O U T I N E ======================================= arm9:0200B564 arm9:0200B564 arm9:0200B564 poke_cr2_3 ; DATA XREF: arm9:off_200B560o arm9:0200B564 F0 40 2D E9 STMFD SP!, {R4-R7,LR} arm9:0200B568 04 D0 4D E2 SUB SP, SP, #4 arm9:0200B56C CC 00 9F E5 LDR R0, =0x20B9280 arm9:0200B570 28 00 90 E5 LDR R0, [R0,#0x28] arm9:0200B574 D8 E4 FF EB BL sub_20048DC arm9:0200B578 C0 00 9F E5 LDR R0, =0x20B9280 arm9:0200B57C 1C 30 90 E5 LDR R3, [R0,#0x1C] arm9:0200B580 20 20 90 E5 LDR R2, [R0,#0x20] arm9:0200B584 24 10 90 E5 LDR R1, [R0,#0x24] arm9:0200B588 02 3C 83 E2 ADD R3, R3, #0x200 arm9:0200B58C 02 2C 82 E2 ADD R2, R2, #0x200 arm9:0200B590 02 1C 51 E2 SUBS R1, R1, #0x200 arm9:0200B594 1C 30 80 E5 STR R3, [R0,#0x1C] arm9:0200B598 20 20 80 E5 STR R2, [R0,#0x20] arm9:0200B59C 24 10 80 E5 STR R1, [R0,#0x24] arm9:0200B5A0 22 00 00 1A BNE loc_200B630 arm9:0200B5A4 02 07 A0 E3 MOV R0, #0x80000 arm9:0200B5A8 BD D9 FF EB BL sub_2001CA4 arm9:0200B5AC 02 07 A0 E3 MOV R0, #0x80000 arm9:0200B5B0 AE D9 FF EB BL sub_2001C70 arm9:0200B5B4 84 70 9F E5 LDR R7, =0x20B9280 arm9:0200B5B8 34 FF FF EB BL poke_cr2_1 arm9:0200B5BC 1D 01 00 EB BL sub_200BA38 arm9:0200B5C0 00 00 97 E5 LDR R0, [R7] arm9:0200B5C4 00 10 A0 E3 MOV R1, #0 arm9:0200B5C8 00 10 80 E5 STR R1, [R0] arm9:0200B5CC 38 60 97 E5 LDR R6, [R7,#0x38] arm9:0200B5D0 3C 50 97 E5 LDR R5, [R7,#0x3C] arm9:0200B5D4 B1 E3 FF EB BL sub_20044A0 arm9:0200B5D8 14 11 97 E5 LDR R1, [R7,#0x114] arm9:0200B5DC 00 40 A0 E1 MOV R4, R0 arm9:0200B5E0 4C 00 C1 E3 BIC R0, R1, #0x4C arm9:0200B5E4 14 01 87 E5 STR R0, [R7,#0x114] arm9:0200B5E8 43 0F 87 E2 ADD R0, R7, #0x10C arm9:0200B5EC D7 DB FF EB BL sub_2002550 arm9:0200B5F0 14 01 97 E5 LDR R0, [R7,#0x114] arm9:0200B5F4 10 00 10 E2 ANDS R0, R0, #0x10 arm9:0200B5F8 01 00 00 0A BEQ loc_200B604 arm9:0200B5FC 44 00 87 E2 ADD R0, R7, #0x44 arm9:0200B600 C5 DB FF EB BL sub_200251C arm9:0200B604 arm9:0200B604 loc_200B604 ; CODE XREF: poke_cr2_3+94j arm9:0200B604 04 00 A0 E1 MOV R0, R4 arm9:0200B608 A9 E3 FF EB BL sub_20044B4 arm9:0200B60C 00 00 56 E3 CMP R6, #0 arm9:0200B610 04 D0 8D 02 ADDEQ SP, SP, #4 arm9:0200B614 F0 40 BD 08 LDMEQFD SP!, {R4-R7,LR} arm9:0200B618 1E FF 2F 01 BXEQ LR arm9:0200B61C 05 00 A0 E1 MOV R0, R5 arm9:0200B620 36 FF 2F E1 BLX R6 arm9:0200B624 04 D0 8D E2 ADD SP, SP, #4 arm9:0200B628 F0 40 BD E8 LDMFD SP!, {R4-R7,LR} arm9:0200B62C 1E FF 2F E1 BX LR arm9:0200B630 ; --------------------------------------------------------------------------- arm9:0200B630 arm9:0200B630 loc_200B630 ; CODE XREF: poke_cr2_3+3Cj arm9:0200B630 03 00 00 EB BL poke_cr2 arm9:0200B634 04 D0 8D E2 ADD SP, SP, #4 arm9:0200B638 F0 40 BD E8 LDMFD SP!, {R4-R7,LR} arm9:0200B63C 1E FF 2F E1 BX LR arm9:0200B63C ; End of function poke_cr2_3 arm9:0200B63C arm9:0200B63C ; --------------------------------------------------------------------------- arm9:0200B640 80 92 0B 02 dword_200B640 DCD 0x20B9280 ; DATA XREF: poke_cr2_3+8r arm9:0200B640 ; poke_cr2_3+14r ... arm9:0200B644 arm9:0200B644 ; =============== S U B R O U T I N E ======================================= arm9:0200B644 arm9:0200B644 arm9:0200B644 poke_cr2 ; CODE XREF: poke_cr2_2+148p arm9:0200B644 ; poke_cr2_3:loc_200B630p arm9:0200B644 10 40 2D E9 STMFD SP!, {R4,LR} arm9:0200B648 3C 40 9F E5 LDR R4, =0x20B9280 arm9:0200B64C 3C 10 9F E5 LDR R1, =0x4100010 arm9:0200B650 28 00 94 E5 LDR R0, [R4,#0x28] arm9:0200B654 20 20 94 E5 LDR R2, [R4,#0x20] arm9:0200B658 02 3C A0 E3 MOV R3, #0x200 arm9:0200B65C BE E5 FF EB BL sub_2004D5C arm9:0200B660 1C 10 94 E5 LDR R1, [R4,#0x1C] arm9:0200B664 21 04 A0 E1 MOV R0, R1,LSR#8 arm9:0200B668 B7 04 80 E3 ORR R0, R0, #0xB7000000 arm9:0200B66C 01 1C A0 E1 MOV R1, R1,LSL#24 arm9:0200B670 09 00 00 EB BL poke_card_regs arm9:0200B674 18 00 9F E5 LDR R0, =0x20B98C0 arm9:0200B678 18 10 9F E5 LDR R1, =card_cr2 arm9:0200B67C 04 00 90 E5 LDR R0, [R0,#4] arm9:0200B680 00 00 81 E5 STR R0, [R1] arm9:0200B684 10 40 BD E8 LDMFD SP!, {R4,LR} arm9:0200B688 1E FF 2F E1 BX LR arm9:0200B688 ; End of function poke_cr2 arm9:0200B688 arm9:0200B688 ; --------------------------------------------------------------------------- arm9:0200B68C 80 92 0B 02 dword_200B68C DCD 0x20B9280 ; DATA XREF: poke_cr2+4r arm9:0200B690 10 00 10 04 dword_200B690 DCD 0x4100010 ; DATA XREF: poke_cr2+8r arm9:0200B694 C0 98 0B 02 dword_200B694 DCD 0x20B98C0 ; DATA XREF: poke_cr2+30r arm9:0200B698 A4 01 00 04 off_200B698 DCD card_cr2 ; DATA XREF: poke_cr2+34r arm9:0200B69C arm9:0200B69C ; =============== S U B R O U T I N E ======================================= arm9:0200B69C arm9:0200B69C arm9:0200B69C poke_card_regs ; CODE XREF: poke_cr2_1+10p arm9:0200B69C ; poke_cr2_0+64p ... arm9:0200B69C 70 30 9F E5 LDR R3, =card_cr2 arm9:0200B6A0 arm9:0200B6A0 loc_200B6A0 ; CODE XREF: poke_card_regs+Cj arm9:0200B6A0 00 20 93 E5 LDR R2, [R3] arm9:0200B6A4 02 21 12 E2 ANDS R2, R2, #0x80000000 arm9:0200B6A8 FC FF FF 1A BNE loc_200B6A0 arm9:0200B6AC 64 30 9F E5 LDR R3, =card_spi_cr1 arm9:0200B6B0 C0 C0 A0 E3 MOV R12, #0xC0 ; '+' arm9:0200B6B4 60 20 9F E5 LDR R2, =card_reg0 arm9:0200B6B8 00 C0 C3 E5 STRB R12, [R3] arm9:0200B6BC 20 CC A0 E1 MOV R12, R0,LSR#24 arm9:0200B6C0 58 30 9F E5 LDR R3, =card_reg1 arm9:0200B6C4 00 C0 C2 E5 STRB R12, [R2] arm9:0200B6C8 20 C8 A0 E1 MOV R12, R0,LSR#16 arm9:0200B6CC 50 20 9F E5 LDR R2, =card_reg2 arm9:0200B6D0 00 C0 C3 E5 STRB R12, [R3] arm9:0200B6D4 20 C4 A0 E1 MOV R12, R0,LSR#8 arm9:0200B6D8 48 30 9F E5 LDR R3, =card_reg3 arm9:0200B6DC 00 C0 C2 E5 STRB R12, [R2] arm9:0200B6E0 44 20 9F E5 LDR R2, =card_reg4 arm9:0200B6E4 00 00 C3 E5 STRB R0, [R3] arm9:0200B6E8 21 3C A0 E1 MOV R3, R1,LSR#24 arm9:0200B6EC 3C 00 9F E5 LDR R0, =card_reg5 arm9:0200B6F0 00 30 C2 E5 STRB R3, [R2] arm9:0200B6F4 21 38 A0 E1 MOV R3, R1,LSR#16 arm9:0200B6F8 34 20 9F E5 LDR R2, =card_reg6 arm9:0200B6FC 00 30 C0 E5 STRB R3, [R0] arm9:0200B700 21 34 A0 E1 MOV R3, R1,LSR#8 arm9:0200B704 2C 00 9F E5 LDR R0, =card_reg7 arm9:0200B708 00 30 C2 E5 STRB R3, [R2] arm9:0200B70C 00 10 C0 E5 STRB R1, [R0] arm9:0200B710 1E FF 2F E1 BX LR arm9:0200B710 ; End of function poke_card_regs arm9:0200B710 arm9:0200B710 ; --------------------------------------------------------------------------- arm9:0200B714 A4 01 00 04 off_200B714 DCD card_cr2 ; DATA XREF: poke_card_regsr arm9:0200B718 A1 01 00 04 off_200B718 DCD card_spi_cr1 ; DATA XREF: poke_card_regs+10r arm9:0200B71C A8 01 00 04 off_200B71C DCD card_reg0 ; DATA XREF: poke_card_regs+18r arm9:0200B720 A9 01 00 04 off_200B720 DCD card_reg1 ; DATA XREF: poke_card_regs+24r arm9:0200B724 AA 01 00 04 off_200B724 DCD card_reg2 ; DATA XREF: poke_card_regs+30r arm9:0200B728 AB 01 00 04 off_200B728 DCD card_reg3 ; DATA XREF: poke_card_regs+3Cr arm9:0200B72C AC 01 00 04 off_200B72C DCD card_reg4 ; DATA XREF: poke_card_regs+44r arm9:0200B730 AD 01 00 04 off_200B730 DCD card_reg5 ; DATA XREF: poke_card_regs+50r arm9:0200B734 AE 01 00 04 off_200B734 DCD card_reg6 ; DATA XREF: poke_card_regs+5Cr arm9:0200B738 AF 01 00 04 off_200B738 DCD card_reg7 ; DATA XREF: poke_card_regs+68r