Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .text
- .align 2
- .code 32
- .arm
- entry:
- 020000C0 E3A00012 mov r0,#0x12
- 020000C4 E129F000 msr cpsr_fc,r0
- 020000C8 E59FD028 ldr r13,=#0x3007FA0
- 020000CC E3A0001F mov r0,#0x1F
- 020000D0 E129F000 msr cpsr_fc,r0
- 020000D4 E59FD018 ldr r13,=#0x3007E60
- 020000D8 E59F101C ldr r1,=#0x3007FFC
- 020000DC E28F0020 add r0,=#0x2000104
- 020000E0 E5810000 str r0,[r1]
- 020000E4 E59F1014 ldr r1,=#0x2000241
- 020000E8 E1A0E00F mov r14,r15
- 020000EC E12FFF11 bx r1
- 020000F0 EAFFFFF2 b #0x20000C0
- .pool
- 020000F4 03007E60
- 020000F8 03007FA0
- 020000FC 03007FFC
- 02000100 02000241
- irq handler:
- 02000104 E3A03301 mov r3,#0x4000000
- 02000108 E2833C02 add r3,r3,#0x200
- 0200010C E5932000 ldr r2,[r3]
- 02000110 E1D310B8 ldrh r1,[r3,#0x8]
- 02000114 E14F0000 mrs r0,spsr
- 02000118 E92D400F stmfd r13!,{r0-r3,r14}
- 0200011C E3A00001 mov r0,#0x1
- 02000120 E1C300B8 strh r0,[r3,#0x8]
- 02000124 E0021822 and r1,r2,r2,lsr #0x10
- 02000128 E3A0C000 mov r12,#0x0
- 0200012C E2110080 ands r0,r1,#0x80
- 02000130 1A000027 bne #0x20001D4
- 02000134 E28CC004 add r12,r12,#0x4
- 02000138 E2110001 ands r0,r1,#0x1
- 0200013C 1A000024 bne #0x20001D4
- 02000140 E28CC004 add r12,r12,#0x4
- 02000144 E2110002 ands r0,r1,#0x2
- 02000148 1A000021 bne #0x20001D4
- 0200014C E28CC004 add r12,r12,#0x4
- 02000150 E2110004 ands r0,r1,#0x4
- 02000154 1A00001E bne #0x20001D4
- 02000158 E28CC004 add r12,r12,#0x4
- 0200015C E2110008 ands r0,r1,#0x8
- 02000160 1A00001B bne #0x20001D4
- 02000164 E28CC004 add r12,r12,#0x4
- 02000168 E2110010 ands r0,r1,#0x10
- 0200016C 1A000018 bne #0x20001D4
- 02000170 E28CC004 add r12,r12,#0x4
- 02000174 E2110020 ands r0,r1,#0x20
- 02000178 1A000015 bne #0x20001D4
- 0200017C E28CC004 add r12,r12,#0x4
- 02000180 E2110040 ands r0,r1,#0x40
- 02000184 1A000012 bne #0x20001D4
- 02000188 E28CC004 add r12,r12,#0x4
- 0200018C E2110C01 ands r0,r1,#0x100
- 02000190 1A00000F bne #0x20001D4
- 02000194 E28CC004 add r12,r12,#0x4
- 02000198 E2110C02 ands r0,r1,#0x200
- 0200019C 1A00000C bne #0x20001D4
- 020001A0 E28CC004 add r12,r12,#0x4
- 020001A4 E2110B01 ands r0,r1,#0x400
- 020001A8 1A000009 bne #0x20001D4
- 020001AC E28CC004 add r12,r12,#0x4
- 020001B0 E2110B02 ands r0,r1,#0x800
- 020001B4 1A000006 bne #0x20001D4
- 020001B8 E28CC004 add r12,r12,#0x4
- 020001BC E2110A01 ands r0,r1,#0x1000
- 020001C0 1A000003 bne #0x20001D4
- 020001C4 E28CC004 add r12,r12,#0x4
- 020001C8 E2110A02 ands r0,r1,#0x2000
- 020001CC 1543017C strneb r0,[r3,-#0x17C]
- 020001D0 1AFFFFFE bne #0x20001D0
- 020001D4 E1C300B2 strh r0,[r3,#0x2]
- 020001D8 E3A01D83 mov r1,#0x20C0
- 020001DC E1C22000 bic r2,r2,r0
- 020001E0 E0011002 and r1,r1,r2
- 020001E4 E1C310B0 strh r1,[r3]
- 020001E8 E10F3000 mrs r3,cpsr
- 020001EC E3C330DF bic r3,r3,#0xDF
- 020001F0 E383301F orr r3,r3,#0x1F
- 020001F4 E129F003 msr cpsr_fc,r3
- 020001F8 E59F1038 ldr r1,=#0x2014390
- 020001FC E081100C add r1,r1,r12
- 02000200 E5910000 ldr r0,[r1]
- 02000204 E92D4000 stmfd r13!,{r14}
- 02000208 E28FE000 add r14,=#0x2000210
- 0200020C E12FFF10 bx r0
- 02000210 E8BD4000 ldmfd r13!,{r14}
- 02000214 E10F3000 mrs r3,cpsr
- 02000218 E3C330DF bic r3,r3,#0xDF
- 0200021C E3833092 orr r3,r3,#0x92
- 02000220 E129F003 msr cpsr_fc,r3
- 02000224 E8BD400F ldmfd r13!,{r0-r3,r14}
- 02000228 E1C320B0 strh r2,[r3]
- 0200022C E1C310B8 strh r1,[r3,#0x8]
- 02000230 E169F000 msr spsr_fc,r0
- 02000234 E12FFF1E bx r14
- .pool
- 02000238 02014390
- .text
- .align 2
- .code 16
- .thumb
- 0200023C 4770 bx r14
- 0200023E 0000 lsl r0,r0,#0x0(padding)
- agbMain:
- 02000240 B510 push {r4,r14}
- 02000242 4C0F ldr r4,=#0x3000130
- 02000244 490F ldr r1,=#0x4000208 // IME
- 02000246 2000 mov r0,#0x0
- 02000248 8008 strh r0,[r1] // IME = 0, turn off interrupts
- 0200024A 20FC mov r0,#0xFC // pass 0xFC to 0x20002A0 as an argument
- 0200024C F000F828 bl #0x20002A0
- 02000250 490D ldr r1,=#0x4000204 // cart waitstate control
- 02000252 4A0E ldr r2,=#0x45B4
- 02000254 1C10 mov r0,r2 // waitstate control = 0x45b4
- 02000256 8008 strh r0,[r1] // set waitstates, prefetch buffer
- 02000258 4A0D ldr r2,=#0x40000D4 // DMA3 source
- 0200025A 480E ldr r0,=#0x20143C8 // use this as DMA3 source
- 0200025C 6010 str r0,[r2] // set DMA3 src
- 0200025E 20C0 mov r0,#0xC0 // r0 = 0xC
- 02000260 0480 lsl r0,r0,#0x12 // r0 = 0x3000000
- 02000262 6050 str r0,[r2,#0x4] // DMA3 dest = 0x3000000
- 02000264 480C ldr r0,=#0x30001C4
- 02000266 490D ldr r1,=#0x3000000
- 02000268 1A40 sub r0,r0,r1 // r0 = r0-r1 = 0x1C4
- 0200026A 0FC1 lsr r1,r0,#0x1F // r1 = 0
- 0200026C 1840 add r0,r0,r1
- 0200026E 1040 asr r0,r0,#0x1
- 02000270 2180 mov r1,#0x80
- 02000272 0609 lsl r1,r1,#0x18
- 02000274 4308 orr r0,r1
- 02000276 6090 str r0,[r2,#0x8]
- 02000278 6890 ldr r0,[r2,#0x8]
- 0200027A F000F81B bl #0x20002B4
- 0200027E E7FE b #0x200027E
- .pool
- 02000280 0130
- 02000282 0300
- (0x03000130)
- 02000284 0208
- 02000286 0400
- (0x04000208)
- 02000288 0204
- 0200028A 0400
- (0x04000204)
- 0200028C 45B4
- 0200028E 0000
- (0x030045B4)
- 02000290 00D4
- 02000292 0400
- (0x040000D4)
- 02000294 43C8
- 02000296 0201
- (0x020143C8)
- 02000298 01C4
- 0200029A 0300
- (0x030001C4)
- 0200029C 0000
- 0200029E 0300
- (0x03000000)
- 020002A0 DF01 swi #0x1 ;RegisterRamReset
- 020002A2 4770 bx r14
- 020002A4 4700 bx r0
- 020002A6 46C0 nop
- 020002A8 4708 bx r1
- 020002AA 46C0 nop
- 020002AC 4710 bx r2
- 020002AE 46C0 nop
- 020002B0 4718 bx r3
- 020002B2 46C0 nop
- 020002B4 4720 bx r4
- 020002B6 46C0 nop
- 020002B8 4728 bx r5
- 020002BA 46C0 nop
- 020002BC 4730 bx r6
- 020002BE 46C0 nop
- 020002C0 4738 bx r7
- 020002C2 46C0 nop
- 020002C4 4740 bx r8
- 020002C6 46C0 nop
- 020002C8 4748 bx r9
- 020002CA 46C0 nop
- 020002CC 4750 bx r10
- 020002CE 46C0 nop
- 020002D0 4758 bx r11
- 020002D2 46C0 nop
- 020002D4 4760 bx r12
- 020002D6 46C0 nop
- 020002D8 4768 bx r13
- 020002DA 46C0 nop
- 020002DC 4770 bx r14
- 020002DE 46C0 nop
- 020002E0 0000 lsl r0,r0,#0x0(padding)
- .text
- .align 2
- .code 32
- .arm
- 020143C8 E1A0C00D mov r12,r13
- 020143CC E92DDFF0 stmfd r13!,{r4-r12,r14,r15}
- 020143D0 E24CB004 sub r11,r12,#0x4
- 020143D4 E1A07000 mov r7,r0
- 020143D8 E4973004 ldr r3,[r7],#0x4
- 020143DC E1A0E001 mov r14,r1
- 020143E0 E08E9443 add r9,r14,r3,asr #0x8
- 020143E4 E15E0009 cmp r14,r9
- 020143E8 2A000040 bcs #0x20144F0
- 020143EC E3A08EFF mov r8,#0xFF0
- 020143F0 E288800F add r8,r8,#0xF
- 020143F4 E3A05080 mov r5,#0x80
- 020143F8 E4D7A001 ldrb r10,[r7],#0x1
- 020143FC E11A0005 tst r10,r5
- 02014400 0A000033 beq #0x20144D4
- 02014404 E4D73001 ldrb r3,[r7],#0x1
- 02014408 E4D71001 ldrb r1,[r7],#0x1
- 0201440C E24E0001 sub r0,r14,#0x1
- 02014410 E1811403 orr r1,r1,r3,lsl #0x8
- 02014414 E0013008 and r3,r1,r8
- 02014418 E0630000 rsb r0,r3,r0
- 0201441C E18E2000 orr r2,r14,r0
- 02014420 E3120001 tst r2,#0x1
- 02014424 E1A01641 mov r1,r1,asr #0xC
- 02014428 E2810003 add r0,r1,#0x3
- 0201442C 1A00000F bne #0x2014470
- 02014430 E1A0C141 mov r12,r1,asr #0x2
- 02014434 E35C0000 cmp r12,#0x0
- 02014438 E2014002 and r4,r1,#0x2
- 0201443C E2016001 and r6,r1,#0x1
- 02014440 E1A010A5 mov r1,r5,lsr #0x1
- 02014444 0A000005 beq #0x2014460
- 02014448 E0D030B2 ldrh r3,[r0],#0x2
- 0201444C E0CE30B2 strh r3,[r14],#0x2
- 02014450 E0D030B2 ldrh r3,[r0],#0x2
- 02014454 E0CE30B2 strh r3,[r14],#0x2
- 02014458 E25CC001 subs r12,r12,#0x1
- 0201445C 1AFFFFF9 bne #0x2014448
- 02014460 E3540000 cmp r4,#0x0
- 02014464 10D030B2 ldrneh r3,[r0],#0x2
- 02014468 10CE30B2 strneh r3,[r14],#0x2
- 0201446C EA000014 b #0x20144C4
- 02014470 E1A0C141 mov r12,r1,asr #0x2
- 02014474 E35C0000 cmp r12,#0x0
- 02014478 E2014002 and r4,r1,#0x2
- 0201447C E2016001 and r6,r1,#0x1
- 02014480 E1A010A5 mov r1,r5,lsr #0x1
- 02014484 0A000009 beq #0x20144B0
- 02014488 E4D03001 ldrb r3,[r0],#0x1
- 0201448C E4CE3001 strb r3,[r14],#0x1
- 02014490 E4D02001 ldrb r2,[r0],#0x1
- 02014494 E4CE2001 strb r2,[r14],#0x1
- 02014498 E4D03001 ldrb r3,[r0],#0x1
- 0201449C E4CE3001 strb r3,[r14],#0x1
- 020144A0 E4D02001 ldrb r2,[r0],#0x1
- 020144A4 E4CE2001 strb r2,[r14],#0x1
- 020144A8 E25CC001 subs r12,r12,#0x1
- 020144AC 1AFFFFF5 bne #0x2014488
- 020144B0 E3540000 cmp r4,#0x0
- 020144B4 14D03001 ldrneb r3,[r0],#0x1
- 020144B8 14CE3001 strneb r3,[r14],#0x1
- 020144BC 14D02001 ldrneb r2,[r0],#0x1
- 020144C0 14CE2001 strneb r2,[r14],#0x1
- 020144C4 E3560000 cmp r6,#0x0
- 020144C8 0A000004 beq #0x20144E0
- 020144CC E5D03000 ldrb r3,[r0]
- 020144D0 EA000001 b #0x20144DC
- 020144D4 E4D73001 ldrb r3,[r7],#0x1
- 020144D8 E1A010A5 mov r1,r5,lsr #0x1
- 020144DC E4CE3001 strb r3,[r14],#0x1
- 020144E0 E21150FF ands r5,r1,#0xFF
- 020144E4 1AFFFFC4 bne #0x20143FC
- 020144E8 E15E0009 cmp r14,r9
- 020144EC 3AFFFFC0 bcc #0x20143F4
- 020144F0 E91B6FF0 ldmdb r11,{r4-r11,r13,r14}
- 020144F4 E12FFF1E bx r14
- 020144F8 E1A0C00D mov r12,r13
- 020144FC E92DD830 stmfd r13!,{r4,r5,r11,r12,r14,r15}
- 02014500 E3A030AC mov r3,#0xAC
- 02014504 E2833402 add r3,r3,#0x2000000
- 02014508 E3A01000 mov r1,#0x0
- 0201450C E59F2068 ldr r2,=#0x2014384
- 02014510 E24CB004 sub r11,r12,#0x4
- 02014514 E59FC064 ldr r12,=#0x20003E0
- 02014518 E3A05402 mov r5,#0x2000000
- 0201451C E5934000 ldr r4,[r3]
- 02014520 E06C2002 rsb r2,r12,r2
- 02014524 E2620402 rsb r0,r2,#0x2000000
- 02014528 E2800BFF add r0,r0,#0x3FC00
- 0201452C E280C003 add r12,r0,#0x3
- 02014530 E1510002 cmp r1,r2
- 02014534 AA000004 bge #0x201454C
- 02014538 E7DC3001 ldrb r3,[r12,r1]
- 0201453C E7C03001 strb r3,[r0,r1]
- 02014540 E2811001 add r1,r1,#0x1
- 02014544 E1510002 cmp r1,r2
- 02014548 BAFFFFFA blt #0x2014538
- 0201454C E3A03F82 mov r3,#0x208
- 02014550 E2833301 add r3,r3,#0x4000000
- 02014554 E3A02000 mov r2,#0x0
- 02014558 E1C320B0 strh r2,[r3]
- 0201455C E3A01402 mov r1,#0x2000000
- 02014560 EBFFFF98 bl #0x20143C8
- 02014564 E3A030AC mov r3,#0xAC
- 02014568 E2833402 add r3,r3,#0x2000000
- 0201456C E5834000 str r4,[r3]
- 02014570 E1A0E00F mov r14,r15
- 02014574 E12FFF15 bx r5
- 02014578 EA000001 b #0x2014584
- .pool
- 0201457C 02014384
- 02014580 020003E0
- 02014584 E91B6830 ldmdb r11,{r4,r5,r11,r13,r14}
- 02014588 E12FFF1E bx r14
- .data
- 0201458C 53595346 "FSYS" - begin/end file system?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement