diff --git a/asm/chooseFile.s b/asm/chooseFile.s index 1108ccd0..9705194d 100755 --- a/asm/chooseFile.s +++ b/asm/chooseFile.s @@ -1204,7 +1204,7 @@ sub_08051458: @ 0x08051458 ldr r1, _0805147C @ =gUnk_02022030 movs r2, #0x80 lsls r2, r2, #3 - bl sub_0801D66C + bl _DmaCopy pop {pc} .align 2, 0 _08051474: .4byte gMenu @@ -1364,7 +1364,7 @@ sub_08051574: @ 0x08051574 muls r1, r2, r1 adds r3, #0xc adds r1, r1, r3 - bl sub_0801D66C + bl _DmaCopy bl sub_0805070C pop {pc} .align 2, 0 @@ -1742,7 +1742,7 @@ sub_08051874: @ 0x08051874 adds r3, r4, #0 adds r3, #0xc adds r1, r1, r3 - bl sub_0801D66C + bl _DmaCopy movs r0, #0 bl sub_080503BC b _080518DE @@ -1895,7 +1895,7 @@ sub_080519B0: @ 0x080519B0 adds r1, r4, #0 adds r1, #0xc movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy movs r0, #4 strb r0, [r4, #9] bl sub_08053518 diff --git a/asm/code_08018500.s b/asm/code_08018500.s index bd53d8fc..e4aa9e2d 100644 --- a/asm/code_08018500.s +++ b/asm/code_08018500.s @@ -884,7 +884,7 @@ sub_08018BB4: @ 0x08018BB4 mov r5, sp mov r1, sp movs r2, #8 - bl sub_0801D66C + bl _DmaCopy lsls r0, r4, #2 adds r0, r0, r4 lsls r0, r0, #2 diff --git a/asm/code_08019444.s b/asm/code_08019444.s index 4a7713fe..d8877c00 100644 --- a/asm/code_08019444.s +++ b/asm/code_08019444.s @@ -495,7 +495,7 @@ _08019810: _0801981A: adds r0, r1, #0 adds r1, r3, #0 - bl sub_0801D66C + bl _DmaCopy b _0801982E _08019824: ldrh r0, [r4] @@ -3815,7 +3815,7 @@ _0801B114: adds r1, r3, r0 lsls r2, r2, #5 adds r0, r5, #0 - bl sub_0801D66C + bl _DmaCopy _0801B122: ldr r0, [r4] cmp r0, #0 diff --git a/asm/code_0801CEC0.s b/asm/code_0801CEC0.s index c2eda998..c9434b01 100644 --- a/asm/code_0801CEC0.s +++ b/asm/code_0801CEC0.s @@ -730,7 +730,7 @@ _0801D4C8: adds r1, r7, #0 movs r2, #0x20 str r3, [sp] - bl sub_0801D66C + bl _DmaCopy adds r6, #0x20 adds r4, #4 adds r7, #0x20 diff --git a/asm/code_0801D79C.s b/asm/code_0801D79C.s index 05616bc7..346a65e9 100644 --- a/asm/code_0801D79C.s +++ b/asm/code_0801D79C.s @@ -2142,11 +2142,11 @@ _0801E86C: adds r0, r6, #0 adds r1, r7, #0 adds r2, r4, #0 - bl sub_0801D66C + bl _DmaCopy mov r0, r8 mov r1, sb adds r2, r4, #0 - bl sub_0801D66C + bl _DmaCopy _0801E890: movs r3, #1 add sb, r3 diff --git a/asm/code_0804AA84.s b/asm/code_0804AA84.s index 00e8af4f..5ea286c8 100644 --- a/asm/code_0804AA84.s +++ b/asm/code_0804AA84.s @@ -45,7 +45,7 @@ _0804ABA4: lsls r2, r2, #2 adds r1, r0, r2 movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy ldr r2, _0804AC14 @ =gUsedPalettes ldr r0, [r2] movs r1, #0x80 diff --git a/asm/code_0804AEB0.s b/asm/code_0804AEB0.s index b1a43ecc..a83e3f1b 100644 --- a/asm/code_0804AEB0.s +++ b/asm/code_0804AEB0.s @@ -50,7 +50,7 @@ _0804AEF6: _0804AF00: adds r0, r6, #0 movs r2, #0x10 - bl sub_0801D66C + bl _DmaCopy pop {r4, r5, r6, pc} .align 2, 0 diff --git a/asm/code_0804B058.s b/asm/code_0804B058.s index 3557f857..93fc9bca 100644 --- a/asm/code_0804B058.s +++ b/asm/code_0804B058.s @@ -173,7 +173,7 @@ sub_0804B260: @ 0x0804B260 adds r0, r0, r1 ldr r1, _0804B278 @ =gUnk_02034398 movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy pop {pc} .align 2, 0 _0804B274: .4byte gUnk_080015BC @@ -211,7 +211,7 @@ _0804B2A4: adds r0, r2, #0 adds r1, r4, #0 movs r2, #8 - bl sub_0801D66C + bl _DmaCopy ldrb r1, [r4, #6] movs r0, #1 ands r0, r1 diff --git a/asm/code_080526F8.s b/asm/code_080526F8.s index bb4bcbcc..4b1152ae 100644 --- a/asm/code_080526F8.s +++ b/asm/code_080526F8.s @@ -161,7 +161,7 @@ sub_080527FC: @ 0x080527FC ldr r1, _08052834 @ =gPaletteBuffer movs r2, #0x80 lsls r2, r2, #3 - bl sub_0801D66C + bl _DmaCopy ldr r1, _08052838 @ =gUsedPalettes movs r0, #1 rsbs r0, r0, #0 @@ -1258,7 +1258,7 @@ sub_080530B0: @ 0x080530B0 ldr r0, _080530C0 @ =gUnk_080FCAF8 ldr r1, _080530C4 @ =gUnk_030010EC movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy pop {pc} .align 2, 0 _080530C0: .4byte gUnk_080FCAF8 @@ -1431,7 +1431,7 @@ sub_080531F8: @ 0x080531F8 ldr r1, _08053248 @ =gUnk_02002AC8 adds r0, r5, #0 movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy bl CheckIsDungeon cmp r0, #0 beq _08053238 @@ -1483,7 +1483,7 @@ sub_08053250: @ 0x08053250 adds r0, #0xc ldr r1, _08053298 @ =gUnk_02002AC8 movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy pop {r4, pc} .align 2, 0 _0805328C: .4byte gScreenTransition diff --git a/asm/code_08055FF4.s b/asm/code_08055FF4.s index 0ce62bc1..0effa9a0 100644 --- a/asm/code_08055FF4.s +++ b/asm/code_08055FF4.s @@ -32,7 +32,7 @@ _080560E4: lsls r4, r4, #0x12 adds r1, r4, #0 movs r2, #0x10 - bl sub_0801D66C + bl _DmaCopy adds r0, r4, #0 bl sub_0807CF10 _080560F8: diff --git a/asm/code_08056418.s b/asm/code_08056418.s index 6120eabb..e2519ccd 100644 --- a/asm/code_08056418.s +++ b/asm/code_08056418.s @@ -102,7 +102,7 @@ sub_080564EC: @ 0x080564EC ldr r0, _080565A4 @ =gTextBox adds r1, r4, #0 movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy ldrb r0, [r4, #2] cmp r0, #0x63 bne _08056520 diff --git a/asm/code_0805EC04.s b/asm/code_0805EC04.s index d3380a65..ea3eba03 100644 --- a/asm/code_0805EC04.s +++ b/asm/code_0805EC04.s @@ -966,7 +966,7 @@ sub_0805F324: @ 0x0805F324 adds r7, r1, #0 mov r1, sp movs r2, #0x30 - bl sub_0801D66C + bl _DmaCopy movs r0, #0 str r0, [sp, #0x34] movs r1, #0 @@ -1142,7 +1142,7 @@ _0805F486: adds r0, r5, #0 adds r1, r4, #0 movs r2, #0x18 - bl sub_0801D66C + bl _DmaCopy mov r0, sp adds r1, r6, #0 bl sub_0805F440 @@ -1372,7 +1372,7 @@ _0805F63A: ldr r0, [r4, #8] ldr r1, [r4, #4] adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy ldr r0, [r4, #4] adds r0, r0, r5 str r0, [r4, #4] diff --git a/asm/code_0807B9B8.s b/asm/code_0807B9B8.s index 97ec7f4d..f9881427 100644 --- a/asm/code_0807B9B8.s +++ b/asm/code_0807B9B8.s @@ -853,7 +853,7 @@ _0807C01C: lsls r2, r2, #2 adds r1, r1, r2 movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy ldr r2, _0807C0D4 @ =gUsedPalettes ldr r0, [r2] movs r1, #0x80 @@ -1015,13 +1015,13 @@ _0807C184: movs r4, #0x80 lsls r4, r4, #6 adds r2, r4, #0 - bl sub_0801D66C + bl _DmaCopy ldr r0, _0807C1B8 @ =gUnk_0200B654 movs r3, #0xc0 lsls r3, r3, #6 adds r1, r0, r3 adds r2, r4, #0 - bl sub_0801D66C + bl _DmaCopy b _0807C26C .align 2, 0 _0807C1B0: .4byte gScreenTransition @@ -1040,34 +1040,34 @@ _0807C1BC: adds r0, r4, #0 mov r1, r8 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy movs r1, #0xc0 lsls r1, r1, #6 adds r6, r4, r1 adds r0, r6, #0 adds r1, r4, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy mov r0, r8 adds r1, r6, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy adds r6, r4, r5 adds r0, r6, #0 mov r1, r8 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy movs r2, #0x80 lsls r2, r2, #7 adds r4, r4, r2 adds r0, r4, #0 adds r1, r6, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy mov r0, r8 adds r1, r4, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy ldr r4, _0807C27C @ =gUnk_0200B654 movs r3, #0xb0 lsls r3, r3, #8 @@ -1076,34 +1076,34 @@ _0807C1BC: adds r0, r4, #0 mov r1, r8 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy movs r0, #0xc0 lsls r0, r0, #6 adds r6, r4, r0 adds r0, r6, #0 adds r1, r4, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy mov r0, r8 adds r1, r6, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy adds r6, r4, r5 adds r0, r6, #0 mov r1, r8 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy movs r1, #0x80 lsls r1, r1, #7 adds r4, r4, r1 adds r0, r4, #0 adds r1, r6, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy mov r0, r8 adds r1, r4, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy _0807C26C: mov r2, sb cmp r2, #0 @@ -1161,7 +1161,7 @@ _0807C2E4: adds r0, r4, #0 adds r1, r5, #0 adds r2, r6, #0 - bl sub_0801D66C + bl _DmaCopy adds r0, r4, #0 adds r1, r5, #0 bl sub_0807C5F4 @@ -1173,7 +1173,7 @@ _0807C2E4: adds r0, r4, #0 adds r1, r5, #0 adds r2, r6, #0 - bl sub_0801D66C + bl _DmaCopy adds r0, r4, #0 adds r1, r5, #0 bl sub_0807C5F4 @@ -1449,7 +1449,7 @@ _0807C54A: adds r0, r4, #0 adds r1, r5, #0 adds r2, r6, #0 - bl sub_0801D66C + bl _DmaCopy adds r0, r4, #0 adds r1, r5, #0 bl sub_0807C5F4 @@ -1461,7 +1461,7 @@ _0807C54A: adds r0, r4, #0 adds r1, r5, #0 adds r2, r6, #0 - bl sub_0801D66C + bl _DmaCopy adds r0, r4, #0 adds r1, r5, #0 bl sub_0807C5F4 @@ -1870,13 +1870,13 @@ sub_0807C860: @ 0x0807C860 movs r4, #0x80 lsls r4, r4, #6 adds r2, r4, #0 - bl sub_0801D66C + bl _DmaCopy ldr r0, _0807C894 @ =gUnk_0200B654 movs r2, #0xc0 lsls r2, r2, #6 adds r1, r0, r2 adds r2, r4, #0 - bl sub_0801D66C + bl _DmaCopy pop {r4, pc} .align 2, 0 _0807C88C: .4byte gScreenTransition diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index bb51d941..e953f3ee 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -6978,14 +6978,14 @@ sub_08080108: @ 0x08080108 lsls r6, r6, #6 adds r0, r5, #0 adds r2, r6, #0 - bl sub_0801D66C + bl _DmaCopy ldr r4, _0808017C @ =gUnk_0200B654 movs r0, #0xc0 lsls r0, r0, #6 adds r1, r4, r0 adds r0, r4, #0 adds r2, r6, #0 - bl sub_0801D66C + bl _DmaCopy bl sub_08080368 ldr r1, _08080180 @ =gUnk_02034480 ldr r0, _08080184 @ =gUnk_0200B640 @@ -6995,7 +6995,7 @@ sub_08080108: @ 0x08080108 ldr r1, _0808018C @ =gUnk_020246B0 movs r2, #0xc0 lsls r2, r2, #5 - bl sub_0801D66C + bl _DmaCopy subs r5, #4 adds r0, r5, #0 bl sub_08080B60 diff --git a/asm/code_080A3BD0.s b/asm/code_080A3BD0.s index 659d61f3..0c8593af 100644 --- a/asm/code_080A3BD0.s +++ b/asm/code_080A3BD0.s @@ -1130,7 +1130,7 @@ sub_080A44E0: @ 0x080A44E0 adds r5, r5, r1 adds r1, r5, #0 mov r2, r8 - bl sub_0801D66C + bl _DmaCopy adds r0, r6, #0 pop {r3} mov r8, r3 @@ -1980,12 +1980,12 @@ sub_080A4BA0: @ 0x080A4BA0 ldr r0, _080A4C08 @ =gUnk_0812816C mov r1, sp movs r2, #0x18 - bl sub_0801D66C + bl _DmaCopy ldr r0, _080A4C0C @ =gUnk_08128184 add r4, sp, #0x48 adds r1, r4, #0 movs r2, #0xc - bl sub_0801D66C + bl _DmaCopy lsls r1, r6, #1 adds r1, r1, r6 lsls r2, r1, #9 @@ -2127,7 +2127,7 @@ sub_080A4CBC: @ 0x080A4CBC ldr r1, _080A4D14 @ =0x0600E000 adds r0, r4, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy adds r0, r6, #0 bl sub_080A4948 cmp r0, #0 diff --git a/asm/code_080A5574.s b/asm/code_080A5574.s index 4a9bcdc1..9619ff0d 100644 --- a/asm/code_080A5574.s +++ b/asm/code_080A5574.s @@ -867,7 +867,7 @@ sub_080A5BF0: @ 0x080A5BF0 adds r0, r4, #2 adds r1, r4, #0 movs r2, #0xe - bl sub_0801D66C + bl _DmaCopy strh r5, [r4, #0xe] ldr r2, _080A5C40 @ =gUsedPalettes ldr r0, [r2] @@ -3420,7 +3420,7 @@ sub_080A7040: @ 0x080A7040 movs r2, #0x80 lsls r2, r2, #4 adds r0, r4, #0 - bl sub_0801D66C + bl _DmaCopy ldr r1, _080A70A0 @ =gUnk_08128D70 lsls r0, r5, #3 adds r4, r0, r1 @@ -3679,42 +3679,42 @@ sub_080A7250: @ 0x080A7250 ldr r0, _080A72EC @ =gScreen ldr r1, _080A72F0 @ =gUnk_03001020 movs r2, #0x7c - bl sub_0801D66C + bl _DmaCopy ldr r0, _080A72F4 @ =gPaletteBuffer ldr r1, _080A72F8 @ =gUnk_02024090 movs r2, #0x80 lsls r2, r2, #3 - bl sub_0801D66C + bl _DmaCopy ldr r0, _080A72FC @ =gUnk_02024490 ldr r4, _080A7300 @ =gUnk_02032F14 movs r2, #0x85 lsls r2, r2, #2 adds r1, r4, #0 - bl sub_0801D66C + bl _DmaCopy ldr r0, _080A7304 @ =gUnk_02001A00 movs r2, #0x85 lsls r2, r2, #2 adds r1, r4, r2 movs r2, #0x40 - bl sub_0801D66C + bl _DmaCopy ldr r0, _080A7308 @ =gRoomControls adds r1, r4, #0 subs r1, #0x38 movs r2, #0x38 - bl sub_0801D66C + bl _DmaCopy ldr r0, _080A730C @ =gUnk_03000420 movs r2, #0x95 lsls r2, r2, #2 adds r1, r4, r2 movs r2, #0x80 lsls r2, r2, #1 - bl sub_0801D66C + bl _DmaCopy ldr r0, _080A7310 @ =gUnk_02033280 movs r2, #0xd5 lsls r2, r2, #2 adds r1, r4, r2 movs r2, #0xc - bl sub_0801D66C + bl _DmaCopy bl sub_0805E958 adds r1, r4, #0 subs r1, #0x54 @@ -3838,36 +3838,36 @@ _080A73B4: adds r0, r5, r1 ldr r1, _080A7480 @ =gUnk_02033280 movs r2, #0xc - bl sub_0801D66C + bl _DmaCopy movs r1, #0xaa lsls r1, r1, #2 adds r0, r5, r1 ldr r1, _080A7484 @ =gUnk_03000420 movs r2, #0x80 lsls r2, r2, #1 - bl sub_0801D66C + bl _DmaCopy movs r1, #0x9a lsls r1, r1, #2 adds r0, r5, r1 ldr r1, _080A7488 @ =gUnk_02001A00 movs r2, #0x40 - bl sub_0801D66C + bl _DmaCopy adds r0, r5, #0 adds r0, #0x54 ldr r1, _080A748C @ =gUnk_02024490 movs r2, #0x85 lsls r2, r2, #2 - bl sub_0801D66C + bl _DmaCopy adds r0, r5, #0 adds r0, #0x1c ldr r4, _080A7490 @ =gRoomControls adds r1, r4, #0 movs r2, #0x38 - bl sub_0801D66C + bl _DmaCopy ldr r0, _080A7494 @ =gUnk_03001020 ldr r1, _080A7498 @ =gScreen movs r2, #0x7c - bl sub_0801D66C + bl _DmaCopy ldrb r0, [r4, #4] bl sub_08052D58 ldr r4, _080A749C @ =gArea @@ -10572,7 +10572,7 @@ sub_080AA654: @ 0x080AA654 ldr r0, _080AA688 @ =gUnk_0812A004 adds r1, r4, #0 movs r2, #0x10 - bl sub_0801D66C + bl _DmaCopy movs r1, #0x3f adds r0, r5, #0 ands r0, r1 @@ -13189,7 +13189,7 @@ sub_080AB9DC: @ 0x080AB9DC adds r1, r4, #0 adds r1, #0x68 movs r2, #0x1c - bl sub_0801D66C + bl _DmaCopy ldrh r1, [r4, #0x2e] adds r0, r4, #0 adds r0, #0x84 diff --git a/asm/dust.s b/asm/dust.s index c56c75fb..2f2faa92 100644 --- a/asm/dust.s +++ b/asm/dust.s @@ -146,7 +146,7 @@ _080441F2: beq _0804429A adds r0, r6, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy adds r1, r4, #0 adds r1, #0x28 movs r0, #0xff diff --git a/asm/gyorgFemale.s b/asm/gyorgFemale.s index c7a2f7e0..f0fd69cb 100644 --- a/asm/gyorgFemale.s +++ b/asm/gyorgFemale.s @@ -475,7 +475,7 @@ _080464DE: adds r0, r4, #0 adds r1, r5, #0 movs r2, #0x40 - bl sub_0801D66C + bl _DmaCopy movs r0, #0x80 lsls r0, r0, #1 adds r5, r5, r0 diff --git a/asm/manager10.s b/asm/manager10.s index e07b7189..addec2c9 100644 --- a/asm/manager10.s +++ b/asm/manager10.s @@ -440,7 +440,7 @@ _080598AA: lsls r2, r2, #2 adds r1, r0, r2 movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy ldr r2, _080598F0 @ =gUsedPalettes ldr r0, [r2] ldr r1, _080598F4 @ =0x00207FFC diff --git a/asm/manager39.s b/asm/manager39.s index f5c9a542..1e92532d 100644 --- a/asm/manager39.s +++ b/asm/manager39.s @@ -142,7 +142,7 @@ sub_0805E1F8: @ 0x0805E1F8 ldr r0, _0805E238 @ =gUnk_08108E60 mov r1, sp movs r2, #9 - bl sub_0801D66C + bl _DmaCopy mov r1, sp lsrs r0, r4, #8 strb r0, [r1, #4] diff --git a/asm/managerC.s b/asm/managerC.s index d634ea71..ef613cdd 100644 --- a/asm/managerC.s +++ b/asm/managerC.s @@ -653,7 +653,7 @@ sub_08058D34: @ 0x08058D34 lsls r2, r2, #2 adds r1, r0, r2 movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy ldr r2, _08058DB0 @ =gUsedPalettes ldr r0, [r2] movs r1, #0x80 diff --git a/asm/non_matching/sub_08054524.inc b/asm/non_matching/sub_08054524.inc index fd079ac9..018cb569 100644 --- a/asm/non_matching/sub_08054524.inc +++ b/asm/non_matching/sub_08054524.inc @@ -20,7 +20,7 @@ _0805453A: adds r0, r0, r1 ldr r1, _08054560 @ =gUnk_02034398 movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy pop {pc} .align 2, 0 _08054550: .4byte gArea diff --git a/asm/object6A.s b/asm/object6A.s index 71508057..d8eb941e 100644 --- a/asm/object6A.s +++ b/asm/object6A.s @@ -1692,7 +1692,7 @@ _0809572C: adds r0, #0x6c adds r1, r4, #0 movs r2, #0x1c - bl sub_0801D66C + bl _DmaCopy ldrh r0, [r4, #0x14] strh r0, [r5, #0x2e] ldrh r0, [r4, #0x16] diff --git a/asm/sub_0801D66C.s b/asm/sub_0801D66C.s deleted file mode 100644 index 5976f92b..00000000 --- a/asm/sub_0801D66C.s +++ /dev/null @@ -1,56 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_0801D66C -sub_0801D66C: @ 0x0801D66C - push {r4, lr} - adds r3, r0, #0 - adds r4, r2, #0 - adds r2, r3, #0 - orrs r2, r1 - orrs r2, r4 - movs r0, #3 - ands r2, r0 - cmp r2, #0 - beq _0801D686 - cmp r2, #2 - beq _0801D698 - b _0801D6B0 -_0801D686: - ldr r2, _0801D694 @ =0x040000D4 - str r3, [r2] - str r1, [r2, #4] - lsrs r0, r4, #2 - movs r1, #0x84 - lsls r1, r1, #0x18 - b _0801D6A4 - .align 2, 0 -_0801D694: .4byte 0x040000D4 -_0801D698: - ldr r2, _0801D6AC @ =0x040000D4 - str r3, [r2] - str r1, [r2, #4] - lsrs r0, r4, #1 - movs r1, #0x80 - lsls r1, r1, #0x18 -_0801D6A4: - orrs r0, r1 - str r0, [r2, #8] - ldr r0, [r2, #8] - b _0801D6BE - .align 2, 0 -_0801D6AC: .4byte 0x040000D4 -_0801D6B0: - ldrb r0, [r3] - strb r0, [r1] - adds r3, #1 - adds r1, #1 - subs r4, #1 - cmp r4, #0 - bne _0801D6B0 -_0801D6BE: - pop {r4, pc} \ No newline at end of file diff --git a/asm/sub_08052418.s b/asm/sub_08052418.s index f7bd8bd3..5e51b509 100644 --- a/asm/sub_08052418.s +++ b/asm/sub_08052418.s @@ -30,7 +30,7 @@ sub_08052418: @ 0x08052418 adds r0, r4, #0 mov r1, sp movs r2, #0x18 - bl sub_0801D66C + bl _DmaCopy lsls r2, r6, #1 adds r2, r2, r6 lsls r2, r2, #2 diff --git a/asm/sub_0807CA18.s b/asm/sub_0807CA18.s index b2c27a4b..c769da3b 100644 --- a/asm/sub_0807CA18.s +++ b/asm/sub_0807CA18.s @@ -54,7 +54,7 @@ _0807CA66: bne _0807CA78 ldr r0, _0807CA80 @ =gUnk_0811E470 movs r2, #5 - bl sub_0801D66C + bl _DmaCopy _0807CA78: movs r0, #1 pop {pc} diff --git a/linker.ld b/linker.ld index 93819bfd..b95a6776 100644 --- a/linker.ld +++ b/linker.ld @@ -320,7 +320,6 @@ SECTIONS { src/ezloNag.o(.text); asm/code_0801CEC0.o(.text); src/dma.o(.text); - asm/sub_0801D66C.o(.text); src/input.o(.text); src/code_0801D714.o(.text); src/code_0801D79C.o(.text); diff --git a/src/chooseFile.c b/src/chooseFile.c index 0c5a9474..143819f2 100755 --- a/src/chooseFile.c +++ b/src/chooseFile.c @@ -55,7 +55,7 @@ static void sub_08050624(u32); static void sub_0805066C(void); static void sub_080507FC(void); -extern void sub_0801D66C(const void* src, void* dest, u32 size); +extern void _DmaCopy(const void* src, void* dest, u32 size); extern void sub_08056FEC(u32, struct_020227E8*); extern void sub_0805F46C(u32, struct_080FC844*); extern void sub_0801C4A0(u32, u32); @@ -83,7 +83,7 @@ void sub_08050318(u32 arg0, u32 arg1) { struct_080FC844 var0; sub_08050384(); - sub_0801D66C(&gUnk_080FC844, &var0, sizeof(gUnk_080FC844)); + _DmaCopy(&gUnk_080FC844, &var0, sizeof(gUnk_080FC844)); sub_08056FEC(arg1, &gUnk_020227E8); var0.unk10 |= gUnk_080FC85C[arg0][0] << 0xC; sub_0805F46C(gUnk_080FC85C[arg0][1], &var0); @@ -136,7 +136,7 @@ void sub_0805041C(u32 saveFileId) { if (saveFileId < 3) { ((struct_02000000 *)0x2000000)->saveFileId = saveFileId; saveFile = &gSaveFiles[saveFileId]; - sub_0801D66C(saveFile, &gUnk_02002A40, sizeof(*saveFile)); + _DmaCopy(saveFile, &gUnk_02002A40, sizeof(*saveFile)); } sub_080503E4(saveFileId); } @@ -281,7 +281,7 @@ void sub_0805070C(void) { for (j = 0; j < 6; j++) { sub_0805F7DC(playerName[j], var0); } - sub_0801D66C(var0->unk8, (void*)(OBJ_VRAM0 + 0x4000 + i * 0x200), 0x200); + _DmaCopy(var0->unk8, (void*)(OBJ_VRAM0 + 0x4000 + i * 0x200), 0x200); } sub_0805F300(var0); } @@ -307,7 +307,7 @@ void sub_08050790(void) { sub_0805F7DC(var1, var0); var1++; } - sub_0801D66C(gUnk_02000D00, (void*)(BG_VRAM + i * 0x400), 0x400); + _DmaCopy(gUnk_02000D00, (void*)(BG_VRAM + i * 0x400), 0x400); } sub_0805F300(var0); } diff --git a/src/code_0805436C.c b/src/code_0805436C.c index 4999aef0..73e75668 100644 --- a/src/code_0805436C.c +++ b/src/code_0805436C.c @@ -160,7 +160,7 @@ void sub_08054524(void) { bVar1 = 0; } - sub_0801D66C(&gUnk_080015BC + gUnk_080FE1C6[bVar1] * 0x8, &gUnk_02034398, 0x20); + _DmaCopy(&gUnk_080015BC + gUnk_080FE1C6[bVar1] * 0x8, &gUnk_02034398, 0x20); } #else NAKED diff --git a/src/dma.c b/src/dma.c index 4f4f1dcb..37e33254 100644 --- a/src/dma.c +++ b/src/dma.c @@ -12,13 +12,12 @@ void _DmaFill32(u32 value, u8* dest, u32 size) { DmaFill32(3, value, dest, size); } -void _DmaZero(u8 *src, u32 size) -{ +void _DmaZero(u8* src, u32 size) { u32 zero = 0; switch (((u32)src | size) & 3) { case 0: - _DmaFill32(0,src, size); + _DmaFill32(0, src, size); break; case 2: _DmaFill16(0, src, size); @@ -28,6 +27,23 @@ void _DmaZero(u8 *src, u32 size) *src = zero; src++; size--; - } while (size != 0); + } while (size != 0); } -} \ No newline at end of file +} + +void _DmaCopy(const u8* src, u8* dst, u32 size) { + switch (((u32)src | (u32)dst | size) & 3) { + case 0: + DmaCopy32(3, src, dst, size); + break; + case 2: + DmaCopy16(3, src, dst, size); + break; + default: + do { + *dst = *src; + src++; + dst++; + } while (--size); + } +} diff --git a/src/entity.c b/src/entity.c index 056644bf..1b8d1cb1 100644 --- a/src/entity.c +++ b/src/entity.c @@ -193,16 +193,16 @@ void sub_0805E92C(u32 param_1) { } extern Entity gUnk_020369F0; -extern void sub_0801D66C(const void* src, void* dest, size_t size); // dma copy +extern void _DmaCopy(const void* src, void* dest, size_t size); // dma copy extern void sub_0805E98C(void); void sub_0805E958(void) { - sub_0801D66C(&gEntityLists, &gUnk_020369F0, 0x48); + _DmaCopy(&gEntityLists, &gUnk_020369F0, 0x48); sub_0805E98C(); } void sub_0805E974(void) { - sub_0801D66C(&gUnk_020369F0, &gEntityLists, 0x48); + _DmaCopy(&gUnk_020369F0, &gEntityLists, 0x48); } void sub_0805E98C(void) { diff --git a/src/mainLoop.c b/src/mainLoop.c index c46fd8bf..3ad0eaae 100644 --- a/src/mainLoop.c +++ b/src/mainLoop.c @@ -8,7 +8,7 @@ extern void sub_0804FF84(u32); extern u16 gPaletteBuffer[]; extern void VBlankInterruptWait(void); extern void DisableInterruptsAndDMA(void); -extern void sub_0801D66C(void*, u8*, int); +extern void _DmaCopy(void*, u8*, int); extern void sub_08016B34(void); static void sub_08055F70(void); @@ -99,12 +99,12 @@ static void sub_08055F70(void) { _DmaZero(gUnk_02000030, size); size = (u32)gUnk_080B2CD8 - (u32)sub_080B197C; if (size != 0) { - sub_0801D66C(sub_080B197C, gUnk_030056F0, size); + _DmaCopy(sub_080B197C, gUnk_030056F0, size); } size = (u32)gUnk_080B2CD8_2 - (u32)gUnk_080B2CD8_3; if (size != 0) { - sub_0801D66C(gUnk_080B2CD8_3, gUnk_02038560, size); + _DmaCopy(gUnk_080B2CD8_3, gUnk_02038560, size); } sub_0801DA90(0);