rendered paste bodyarm9: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