All pastes #619820 Raw Edit

ds card shiz

public text v1 · immutable
·published 2007-07-15 01:18 UTC
rendered paste body
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