summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm9/arm9.lsf1
-rw-r--r--arm9/asm/CTRDG_backup.s145
-rw-r--r--arm9/asm/CTRDG_flash_AT29LV512.s53
-rw-r--r--arm9/asm/CTRDG_flash_LE26FV10N1TS-10.s29
-rw-r--r--arm9/asm/CTRDG_flash_LE39FW512.s33
-rw-r--r--arm9/asm/CTRDG_flash_MX29L010.s33
-rw-r--r--arm9/asm/CTRDG_flash_MX29L512.s23
7 files changed, 175 insertions, 142 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf
index 33661a6b..fac2074d 100644
--- a/arm9/arm9.lsf
+++ b/arm9/arm9.lsf
@@ -457,6 +457,7 @@ Static arm9
Object CTRDG_backup.o
Object CTRDG_flash_common.o
Object CTRDG_flash_AT29LV512.o
+ Object CTRDG_flash_LE26FV10N1TS-10.o
Object CTRDG_flash_LE39FW512.o
Object CTRDG_flash_MX29L010.o
Object CTRDG_flash_MX29L512.o
diff --git a/arm9/asm/CTRDG_backup.s b/arm9/asm/CTRDG_backup.s
index e04344b4..e4c4baa4 100644
--- a/arm9/asm/CTRDG_backup.s
+++ b/arm9/asm/CTRDG_backup.s
@@ -1,6 +1,7 @@
.include "asm/macros.inc"
.include "global.inc"
+ .extern AT29LV512_lib
.extern CTRDGi_EraseFlash4KBAT
.extern CTRDGi_EraseFlash4KBAsyncAT
.extern CTRDGi_EraseFlashChipAT
@@ -26,6 +27,12 @@
.extern CTRDGi_WriteFlashSectorMX
.extern CTRDGi_WriteFlashSectorAsyncMX5
.extern CTRDGi_WriteFlashSectorMX5
+ .extern defaultFlash1M
+ .extern defaultFlash512
+ .extern LE26FV10N1TS_10
+ .extern LE39FW512
+ .extern MN63F805MNP
+ .extern MX29L010
.extern UNK_021D6B14
.extern UNK_021D6B30
.extern UNK_021D6B28
@@ -46,140 +53,16 @@ UNK_02103FE4: ; 0x02103FE4
.global UNK_02103FE8
UNK_02103FE8: ; 0x02103FE8
- .word UNK_02104150
- .word UNK_0210408C
- .word UNK_0210418C
+ .word MX29L010
+ .word LE26FV10N1TS_10
+ .word defaultFlash1M
.global UNK_02103FF4
UNK_02103FF4: ; 0x02103FF4
- .word UNK_0210410C
- .word UNK_0210400C
- .word UNK_021041D0
- .word UNK_021040D0
-
- .global UNK_02104004
-UNK_02104004: ; 0x02104004
- .byte 0x0A, 0x00, 0x28, 0x00, 0x00, 0x00, 0x28, 0x00
-
- .global UNK_0210400C
-UNK_0210400C: ; 0x0210400C
- .word CTRDGi_WriteFlash4KBAT
- .word CTRDGi_EraseFlashChipAT
- .word CTRDGi_EraseFlash4KBAT
- .word CTRDGi_WriteFlash4KBAsyncAT
- .word CTRDGi_EraseFlashChipAsyncAT
- .word CTRDGi_EraseFlash4KBAsyncAT
- .word CTRDGi_PollingSR512kCOMMON
- .word UNK_02104004
- .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x3D, 0x00
-
- .global UNK_02104048
-UNK_02104048: ; 0x02104048
- .word CTRDGi_WriteFlashSectorAT
- .word CTRDGi_EraseFlashChipAT
- .word CTRDGi_EraseFlashSectorAT
- .word CTRDGi_WriteFlashSectorAsyncAT
- .word CTRDGi_EraseFlashChipAsyncAT
- .word CTRDGi_EraseFlashSectorAsyncAT
- .word CTRDGi_PollingSR512kCOMMON
- .word UNK_02104004
- .byte 0x00, 0x00, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x3D, 0x00
-
- .global UNK_02104084
-UNK_02104084: ; 0x02104084
- .byte 0x0A, 0x00, 0x0A, 0x00, 0xD0, 0x07, 0x88, 0x13
-
- .global UNK_0210408C
-UNK_0210408C: ; 0x0210408C
- .word CTRDGi_WriteFlashSectorMX
- .word CTRDGi_EraseFlashChipMX
- .word CTRDGi_EraseFlashSectorMX
- .word CTRDGi_WriteFlashSectorAsyncMX
- .word CTRDGi_EraseFlashChipAsyncMX
- .word CTRDGi_EraseFlashSectorAsyncMX
- .word CTRDGi_PollingSR1MCOMMON
- .word UNK_02104084
- .byte 0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0C, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x62, 0x00, 0x13, 0x00
-
- .global UNK_021040C8
-UNK_021040C8: ; 0x021040C8
- .byte 0x0A, 0x00, 0x0A, 0x00, 0x28, 0x00, 0xC8, 0x00
-
- .global UNK_021040D0
-UNK_021040D0: ; 0x021040D0
- .word CTRDGi_WriteFlashSectorLE
- .word CTRDGi_EraseFlashChipLE
- .word CTRDGi_EraseFlashSectorLE
- .word CTRDGi_WriteFlashSectorAsyncLE
- .word CTRDGi_EraseFlashChipAsyncLE
- .word CTRDGi_EraseFlashSectorAsyncLE
- .word CTRDGi_PollingSR512kCOMMON
- .word UNK_021040C8
- .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .global UNK_0210410C
-UNK_0210410C: ; 0x0210410C
- .word CTRDGi_WriteFlashSectorLE
- .word CTRDGi_EraseFlashChipLE
- .word CTRDGi_EraseFlashSectorLE
- .word CTRDGi_WriteFlashSectorAsyncLE
- .word CTRDGi_EraseFlashChipAsyncLE
- .word CTRDGi_EraseFlashSectorAsyncLE
- .word CTRDGi_PollingSR512kCOMMON
- .word UNK_021040C8
- .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xBF, 0x00, 0xD4, 0x00
-
- .global UNK_02104148
-UNK_02104148: ; 0x02104148
- .byte 0x0A, 0x00, 0x0A, 0x00, 0xD0, 0x07, 0xD0, 0x07
-
- .global UNK_02104150
-UNK_02104150: ; 0x02104150
- .word CTRDGi_WriteFlashSectorMX
- .word CTRDGi_EraseFlashChipMX
- .word CTRDGi_EraseFlashSectorMX
- .word CTRDGi_WriteFlashSectorAsyncMX
- .word CTRDGi_EraseFlashChipAsyncMX
- .word CTRDGi_EraseFlashSectorAsyncMX
- .word CTRDGi_PollingSR1MCOMMON
- .word UNK_02104148
- .byte 0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0C, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x09, 0x00
-
- .global UNK_0210418C
-UNK_0210418C: ; 0x0210418C
- .word CTRDGi_WriteFlashSectorMX
- .word CTRDGi_EraseFlashChipMX
- .word CTRDGi_EraseFlashSectorMX
- .word CTRDGi_WriteFlashSectorAsyncMX
- .word CTRDGi_EraseFlashChipAsyncMX
- .word CTRDGi_EraseFlashSectorAsyncMX
- .word CTRDGi_PollingSR1MCOMMON
- .word UNK_02104148
- .byte 0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0C, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .global UNK_021041C8
-UNK_021041C8: ; 0x021041C8
- .byte 0x0A, 0x00, 0x0A, 0x00, 0xF4, 0x01, 0xF4, 0x01
-
- .global UNK_021041D0
-UNK_021041D0: ; 0x021041D0
- .word CTRDGi_WriteFlashSectorMX5
- .word CTRDGi_EraseFlashChipLE
- .word CTRDGi_EraseFlashSectorLE
- .word CTRDGi_WriteFlashSectorAsyncMX5
- .word CTRDGi_EraseFlashChipAsyncLE
- .word CTRDGi_EraseFlashSectorAsyncLE
- .word CTRDGi_PollingSR512kCOMMON
- .word UNK_021041C8
- .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x32, 0x00, 0x1B, 0x00
+ .word LE39FW512
+ .word AT29LV512_lib
+ .word MN63F805MNP
+ .word defaultFlash512
.section .bss
diff --git a/arm9/asm/CTRDG_flash_AT29LV512.s b/arm9/asm/CTRDG_flash_AT29LV512.s
index 33298e6c..ff80e947 100644
--- a/arm9/asm/CTRDG_flash_AT29LV512.s
+++ b/arm9/asm/CTRDG_flash_AT29LV512.s
@@ -1,14 +1,45 @@
.include "asm/macros.inc"
.include "global.inc"
- .extern UNK_0210400C
+ .extern CTRDGi_PollingSR512kCOMMON
.extern UNK_021D6B20
.extern UNK_021D6B24
.extern UNK_021D6B0C
.extern UNK_021D6B38
- .extern UNK_02104048
.extern UNK_021D6B08
+ .section .rodata
+
+ .global atMaxTime
+atMaxTime: ; 0x02104004
+ .short 10, 40, 0, 40
+
+ .global AT29LV512_lib
+AT29LV512_lib: ; 0x0210400C
+ .word CTRDGi_WriteFlash4KBAT
+ .word CTRDGi_EraseFlashChipAT
+ .word CTRDGi_EraseFlash4KBAT
+ .word CTRDGi_WriteFlash4KBAsyncAT
+ .word CTRDGi_EraseFlashChipAsyncAT
+ .word CTRDGi_EraseFlash4KBAsyncAT
+ .word CTRDGi_PollingSR512kCOMMON
+ .word atMaxTime
+ .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x3D, 0x00
+
+ .global AT29LV512_org
+AT29LV512_org: ; 0x02104048
+ .word CTRDGi_WriteFlashSectorAT
+ .word CTRDGi_EraseFlashChipAT
+ .word CTRDGi_EraseFlashSectorAT
+ .word CTRDGi_WriteFlashSectorAsyncAT
+ .word CTRDGi_EraseFlashChipAsyncAT
+ .word CTRDGi_EraseFlashSectorAsyncAT
+ .word CTRDGi_PollingSR512kCOMMON
+ .word atMaxTime
+ .byte 0x00, 0x00, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x3D, 0x00
+
.text
arm_func_start CTRDGi_WriteFlashSectorAsyncAT
@@ -170,7 +201,7 @@ CTRDGi_WriteFlash4KBCoreAT: ; 0x020DC780
ldrhs r0, _020DC85C ; =0x000080FF
ldmcsia sp!, {r4-r9,lr}
bxcs lr
- ldr r1, _020DC860 ; =UNK_0210400C
+ ldr r1, _020DC860 ; =AT29LV512_lib
mov r0, r0, lsl #0x15
ldr r1, [r1, #0x24]
ldr r4, _020DC864 ; =UNK_021D6B08
@@ -179,7 +210,7 @@ CTRDGi_WriteFlash4KBCoreAT: ; 0x020DC780
ldrh r0, [r4, #0x0]
cmp r0, #0x0
beq _020DC84C
- ldr r0, _020DC868 ; =UNK_02104048
+ ldr r0, _020DC868 ; =AT29LV512_org
ldr r6, [r0, #0x24]
mov r5, #0x2
_020DC7F4:
@@ -214,9 +245,9 @@ _020DC84C:
bx lr
.balign 4
_020DC85C: .word 0x000080FF
-_020DC860: .word UNK_0210400C
+_020DC860: .word AT29LV512_lib
_020DC864: .word UNK_021D6B08
-_020DC868: .word UNK_02104048
+_020DC868: .word AT29LV512_org
arm_func_start CTRDGi_WriteFlashSectorCoreAT
CTRDGi_WriteFlashSectorCoreAT: ; 0x020DC86C
@@ -240,7 +271,7 @@ CTRDGi_WriteFlashSectorCoreAT: ; 0x020DC86C
ldr r1, [r1, #0x0]
ldrh r2, [r5, #0x0]
ldr r3, [r1, #0x10]
- ldr r1, _020DC990 ; =UNK_02104048
+ ldr r1, _020DC990 ; =AT29LV512_org
bic r2, r2, #0x3
orr r2, r2, r3
strh r2, [r5, #0x0]
@@ -296,7 +327,7 @@ _020DC92C:
_020DC984: .word UNK_021D6B0C
_020DC988: .word 0x04000204
_020DC98C: .word UNK_021D6B20
-_020DC990: .word UNK_02104048
+_020DC990: .word AT29LV512_org
_020DC994: .word 0x04000208
_020DC998: .word 0x0A005555
_020DC99C: .word 0x0A002AAA
@@ -366,7 +397,7 @@ CTRDGi_EraseFlashSectorCoreAT: ; 0x020DCA58
ldmia r5!, {r0-r3}
stmia r4!, {r0-r3}
ldr r0, [r5, #0x0]
- ldr r1, _020DCB80 ; =UNK_02104048
+ ldr r1, _020DCB80 ; =AT29LV512_org
str r0, [r4, #0x0]
ldr r0, _020DCB84 ; =UNK_021D6B0C
ldrh r2, [sp, #0x20]
@@ -396,7 +427,7 @@ CTRDGi_EraseFlashSectorCoreAT: ; 0x020DCA58
strb r3, [r1, #0x0]
mov r3, #0xa0
strb r3, [r4, #0x0]
- ldr r1, _020DCB80 ; =UNK_02104048
+ ldr r1, _020DCB80 ; =AT29LV512_org
and r4, r0, #0x3
ldr r1, [r1, #0x24]
cmp r1, #0x0
@@ -434,7 +465,7 @@ _020DCB18:
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
-_020DCB80: .word UNK_02104048
+_020DCB80: .word AT29LV512_org
_020DCB84: .word UNK_021D6B0C
_020DCB88: .word 0x04000204
_020DCB8C: .word UNK_021D6B20
diff --git a/arm9/asm/CTRDG_flash_LE26FV10N1TS-10.s b/arm9/asm/CTRDG_flash_LE26FV10N1TS-10.s
new file mode 100644
index 00000000..518ac3d7
--- /dev/null
+++ b/arm9/asm/CTRDG_flash_LE26FV10N1TS-10.s
@@ -0,0 +1,29 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .extern CTRDGi_EraseFlashChipAsyncMX
+ .extern CTRDGi_EraseFlashChipMX
+ .extern CTRDGi_EraseFlashSectorAsyncMX
+ .extern CTRDGi_EraseFlashSectorMX
+ .extern CTRDGi_PollingSR1MCOMMON
+ .extern CTRDGi_WriteFlashSectorAsyncMX
+ .extern CTRDGi_WriteFlashSectorMX
+
+ .section .rodata
+
+ .global LeMaxTime
+LeMaxTime: ; 0x02104084
+ .short 10, 10, 2000, 5000
+
+ .global LE26FV10N1TS_10
+LE26FV10N1TS_10: ; 0x0210408C
+ .word CTRDGi_WriteFlashSectorMX
+ .word CTRDGi_EraseFlashChipMX
+ .word CTRDGi_EraseFlashSectorMX
+ .word CTRDGi_WriteFlashSectorAsyncMX
+ .word CTRDGi_EraseFlashChipAsyncMX
+ .word CTRDGi_EraseFlashSectorAsyncMX
+ .word CTRDGi_PollingSR1MCOMMON
+ .word LeMaxTime
+ .byte 0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0C, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x62, 0x00, 0x13, 0x00
diff --git a/arm9/asm/CTRDG_flash_LE39FW512.s b/arm9/asm/CTRDG_flash_LE39FW512.s
index 77071a6d..b3f4b8a3 100644
--- a/arm9/asm/CTRDG_flash_LE39FW512.s
+++ b/arm9/asm/CTRDG_flash_LE39FW512.s
@@ -1,12 +1,45 @@
.include "asm/macros.inc"
.include "global.inc"
+ .extern CTRDGi_PollingSR512kCOMMON
.extern UNK_021D6B20
.extern UNK_021D6B24
.extern UNK_021D6B0C
.extern UNK_021D6B38
.extern UNK_021D6B08
+ .section .rodata
+
+ .global leMaxTime
+leMaxTime: ; 0x021040C8
+ .byte 0x0A, 0x00, 0x0A, 0x00, 0x28, 0x00, 0xC8, 0x00
+
+ .global defaultFlash512
+defaultFlash512: ; 0x021040D0
+ .word CTRDGi_WriteFlashSectorLE
+ .word CTRDGi_EraseFlashChipLE
+ .word CTRDGi_EraseFlashSectorLE
+ .word CTRDGi_WriteFlashSectorAsyncLE
+ .word CTRDGi_EraseFlashChipAsyncLE
+ .word CTRDGi_EraseFlashSectorAsyncLE
+ .word CTRDGi_PollingSR512kCOMMON
+ .word leMaxTime
+ .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+ .global LE39FW512
+LE39FW512: ; 0x0210410C
+ .word CTRDGi_WriteFlashSectorLE
+ .word CTRDGi_EraseFlashChipLE
+ .word CTRDGi_EraseFlashSectorLE
+ .word CTRDGi_WriteFlashSectorAsyncLE
+ .word CTRDGi_EraseFlashChipAsyncLE
+ .word CTRDGi_EraseFlashSectorAsyncLE
+ .word CTRDGi_PollingSR512kCOMMON
+ .word leMaxTime
+ .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xBF, 0x00, 0xD4, 0x00
+
.text
arm_func_start CTRDGi_WriteFlashSectorAsyncLE
diff --git a/arm9/asm/CTRDG_flash_MX29L010.s b/arm9/asm/CTRDG_flash_MX29L010.s
index 646121f3..5ac28935 100644
--- a/arm9/asm/CTRDG_flash_MX29L010.s
+++ b/arm9/asm/CTRDG_flash_MX29L010.s
@@ -1,12 +1,45 @@
.include "asm/macros.inc"
.include "global.inc"
+ .extern CTRDGi_PollingSR1MCOMMON
.extern UNK_021D6B20
.extern UNK_021D6B24
.extern UNK_021D6B0C
.extern UNK_021D6B38
.extern UNK_021D6B08
+ .section .rodata
+
+ .global MxMaxTime
+MxMaxTime: ; 0x02104148
+ .short 10, 10, 2000, 2000
+
+ .global MX29L010
+MX29L010: ; 0x02104150
+ .word CTRDGi_WriteFlashSectorMX
+ .word CTRDGi_EraseFlashChipMX
+ .word CTRDGi_EraseFlashSectorMX
+ .word CTRDGi_WriteFlashSectorAsyncMX
+ .word CTRDGi_EraseFlashChipAsyncMX
+ .word CTRDGi_EraseFlashSectorAsyncMX
+ .word CTRDGi_PollingSR1MCOMMON
+ .word MxMaxTime
+ .byte 0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0C, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x09, 0x00
+
+ .global defaultFlash1M
+defaultFlash1M: ; 0x0210418C
+ .word CTRDGi_WriteFlashSectorMX
+ .word CTRDGi_EraseFlashChipMX
+ .word CTRDGi_EraseFlashSectorMX
+ .word CTRDGi_WriteFlashSectorAsyncMX
+ .word CTRDGi_EraseFlashChipAsyncMX
+ .word CTRDGi_EraseFlashSectorAsyncMX
+ .word CTRDGi_PollingSR1MCOMMON
+ .word MxMaxTime
+ .byte 0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0C, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
.text
arm_func_start CTRDGi_WriteFlashSectorAsyncMX
diff --git a/arm9/asm/CTRDG_flash_MX29L512.s b/arm9/asm/CTRDG_flash_MX29L512.s
index f075c9f0..17b50125 100644
--- a/arm9/asm/CTRDG_flash_MX29L512.s
+++ b/arm9/asm/CTRDG_flash_MX29L512.s
@@ -1,10 +1,33 @@
.include "asm/macros.inc"
.include "global.inc"
+ .extern CTRDGi_EraseFlashChipAsyncLE
+ .extern CTRDGi_EraseFlashChipLE
+ .extern CTRDGi_EraseFlashSectorAsyncLE
+ .extern CTRDGi_PollingSR512kCOMMON
.extern UNK_021D6B08
.extern UNK_021D6B20
.extern UNK_021D6B0C
+ .section .rodata
+
+ .global PaMaxTime
+PaMaxTime: ; 0x021041C8
+ .byte 0x0A, 0x00, 0x0A, 0x00, 0xF4, 0x01, 0xF4, 0x01
+
+ .global MN63F805MNP
+MN63F805MNP: ; 0x021041D0
+ .word CTRDGi_WriteFlashSectorMX5
+ .word CTRDGi_EraseFlashChipLE
+ .word CTRDGi_EraseFlashSectorLE
+ .word CTRDGi_WriteFlashSectorAsyncMX5
+ .word CTRDGi_EraseFlashChipAsyncLE
+ .word CTRDGi_EraseFlashSectorAsyncLE
+ .word CTRDGi_PollingSR512kCOMMON
+ .word PaMaxTime
+ .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x32, 0x00, 0x1B, 0x00
+
.text
arm_func_start CTRDGi_WriteFlashSectorAsyncMX5