mirror of
https://github.com/pret/pmd-red.git
synced 2026-09-30 21:08:47 -05:00
sub_800D59
This commit is contained in:
@@ -5,499 +5,8 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_800D224
|
||||
sub_800D224:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x4
|
||||
str r0, [sp]
|
||||
movs r6, 0
|
||||
ldr r0, _0800D280
|
||||
mov r12, r0
|
||||
ldr r1, _0800D284
|
||||
mov r10, r1
|
||||
movs r2, 0x2
|
||||
mov r9, r2
|
||||
_0800D240:
|
||||
ldr r1, [sp]
|
||||
asrs r1, r6
|
||||
movs r0, 0x1
|
||||
ands r1, r0
|
||||
adds r3, r6, 0x1
|
||||
mov r8, r3
|
||||
cmp r1, 0
|
||||
beq _0800D2CE
|
||||
lsls r0, r6, 2
|
||||
ldr r1, _0800D288
|
||||
adds r2, r0, r1
|
||||
ldr r1, [r2]
|
||||
adds r5, r0, 0
|
||||
cmp r1, 0x1
|
||||
bne _0800D2CE
|
||||
lsls r0, r6, 5
|
||||
adds r0, r6
|
||||
lsls r0, 3
|
||||
ldr r1, _0800D28C
|
||||
adds r7, r0, r1
|
||||
movs r4, 0
|
||||
mov r3, r12
|
||||
adds r0, r5, r3
|
||||
ldr r1, [r0]
|
||||
mov r3, r10
|
||||
ldr r0, [r3]
|
||||
lsrs r0, 1
|
||||
cmp r1, r0
|
||||
bcc _0800D290
|
||||
mov r0, r9
|
||||
str r0, [r2]
|
||||
b _0800D2C4
|
||||
.align 2, 0
|
||||
_0800D280: .4byte gUnknown_202DB58
|
||||
_0800D284: .4byte gUnknown_202DB74
|
||||
_0800D288: .4byte gUnknown_202DB60
|
||||
_0800D28C: .4byte gUnknown_202D910
|
||||
_0800D290:
|
||||
mov r1, r12
|
||||
adds r0, r5, r1
|
||||
ldr r3, [r0]
|
||||
adds r2, r3, r4
|
||||
lsls r2, 1
|
||||
adds r2, r7
|
||||
lsls r0, r4, 1
|
||||
lsls r1, r6, 4
|
||||
adds r0, r1
|
||||
ldr r1, _0800D2E4
|
||||
adds r0, r1
|
||||
ldrh r0, [r0]
|
||||
strh r0, [r2]
|
||||
adds r4, 0x1
|
||||
cmp r4, 0x7
|
||||
bhi _0800D2C4
|
||||
adds r1, r3, r4
|
||||
mov r2, r10
|
||||
ldr r0, [r2]
|
||||
lsrs r0, 1
|
||||
cmp r1, r0
|
||||
bcc _0800D290
|
||||
ldr r3, _0800D2E8
|
||||
adds r0, r5, r3
|
||||
mov r1, r9
|
||||
str r1, [r0]
|
||||
_0800D2C4:
|
||||
mov r2, r12
|
||||
adds r1, r5, r2
|
||||
ldr r0, [r1]
|
||||
adds r0, 0x8
|
||||
str r0, [r1]
|
||||
_0800D2CE:
|
||||
mov r6, r8
|
||||
cmp r6, 0x1
|
||||
ble _0800D240
|
||||
add sp, 0x4
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0800D2E4: .4byte gUnknown_202DB30
|
||||
_0800D2E8: .4byte gUnknown_202DB60
|
||||
thumb_func_end sub_800D224
|
||||
|
||||
thumb_func_start sub_800D2EC
|
||||
sub_800D2EC:
|
||||
push {r4-r7,lr}
|
||||
ldr r0, _0800D318
|
||||
mov r12, r0
|
||||
ldr r3, _0800D31C
|
||||
adds r7, r3, 0
|
||||
ldr r6, _0800D320
|
||||
ldr r2, _0800D324
|
||||
adds r5, r2, 0
|
||||
adds r5, 0xE
|
||||
ldr r4, _0800D328
|
||||
_0800D300:
|
||||
ldr r0, [r4]
|
||||
lsrs r0, 1
|
||||
ldr r1, [r7]
|
||||
cmp r1, r0
|
||||
bcs _0800D32C
|
||||
lsls r0, r1, 1
|
||||
add r0, r12
|
||||
ldrh r0, [r0]
|
||||
strh r0, [r2]
|
||||
adds r0, r1, 0x1
|
||||
str r0, [r3]
|
||||
b _0800D32E
|
||||
.align 2, 0
|
||||
_0800D318: .4byte gUnknown_202D808
|
||||
_0800D31C: .4byte gUnknown_202DB50
|
||||
_0800D320: .4byte 0x0000fcfc
|
||||
_0800D324: .4byte gUnknown_202DB20
|
||||
_0800D328: .4byte gUnknown_202DB74
|
||||
_0800D32C:
|
||||
strh r6, [r2]
|
||||
_0800D32E:
|
||||
adds r2, 0x2
|
||||
cmp r2, r5
|
||||
bls _0800D300
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_800D2EC
|
||||
|
||||
thumb_func_start sub_800D33C
|
||||
sub_800D33C:
|
||||
push {r4,r5,lr}
|
||||
movs r5, 0
|
||||
ldr r1, _0800D370
|
||||
ldr r4, _0800D374
|
||||
ldr r0, [r4]
|
||||
str r0, [r1]
|
||||
ldr r0, _0800D378
|
||||
ldr r1, _0800D37C
|
||||
bl sub_800D820
|
||||
adds r2, r0, 0
|
||||
str r2, [r4]
|
||||
ldr r1, _0800D380
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0
|
||||
bne _0800D384
|
||||
movs r0, 0x80
|
||||
lsls r0, 1
|
||||
ands r0, r2
|
||||
cmp r0, 0
|
||||
beq _0800D36A
|
||||
movs r0, 0x1
|
||||
strb r0, [r1]
|
||||
_0800D36A:
|
||||
movs r0, 0
|
||||
b _0800D40E
|
||||
.align 2, 0
|
||||
_0800D370: .4byte gUnknown_202DB6C
|
||||
_0800D374: .4byte gUnknown_202DB68
|
||||
_0800D378: .4byte gUnknown_202DB20
|
||||
_0800D37C: .4byte gUnknown_202DB30
|
||||
_0800D380: .4byte gUnknown_202DB70
|
||||
_0800D384:
|
||||
movs r0, 0x80
|
||||
lsls r0, 5
|
||||
ands r0, r2
|
||||
cmp r0, 0
|
||||
beq _0800D392
|
||||
movs r0, 0x3
|
||||
b _0800D40E
|
||||
_0800D392:
|
||||
movs r0, 0x80
|
||||
lsls r0, 6
|
||||
ands r0, r2
|
||||
cmp r0, 0
|
||||
beq _0800D3A0
|
||||
movs r0, 0x4
|
||||
b _0800D40E
|
||||
_0800D3A0:
|
||||
movs r0, 0x80
|
||||
lsls r0, 8
|
||||
ands r0, r2
|
||||
cmp r0, 0
|
||||
beq _0800D3BA
|
||||
lsls r1, r2, 28
|
||||
lsrs r1, 28
|
||||
lsls r0, r2, 20
|
||||
lsrs r0, 28
|
||||
cmp r1, r0
|
||||
beq _0800D3BA
|
||||
movs r0, 0x5
|
||||
b _0800D40E
|
||||
_0800D3BA:
|
||||
ldr r4, _0800D3F8
|
||||
ldr r0, _0800D3FC
|
||||
ldr r2, [r4]
|
||||
ldr r0, [r0]
|
||||
orrs r0, r2
|
||||
movs r1, 0xE
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _0800D40C
|
||||
ldr r0, _0800D400
|
||||
ldr r1, [r0]
|
||||
lsls r1, 26
|
||||
lsrs r1, 30
|
||||
movs r0, 0x1
|
||||
lsls r0, r1
|
||||
ands r2, r0
|
||||
cmp r2, 0
|
||||
beq _0800D40C
|
||||
bl sub_800D1E0
|
||||
ldr r0, [r4]
|
||||
bl sub_800D224
|
||||
ldr r0, [r4]
|
||||
bl sub_800D1C0
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _0800D404
|
||||
movs r0, 0x2
|
||||
b _0800D40E
|
||||
.align 2, 0
|
||||
_0800D3F8: .4byte gUnknown_202DB68
|
||||
_0800D3FC: .4byte gUnknown_202DB6C
|
||||
_0800D400: .4byte 0x04000128
|
||||
_0800D404:
|
||||
ldr r0, [r4]
|
||||
bl sub_800D2EC
|
||||
movs r5, 0x1
|
||||
_0800D40C:
|
||||
adds r0, r5, 0
|
||||
_0800D40E:
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_800D33C
|
||||
|
||||
thumb_func_start sub_800D414
|
||||
sub_800D414:
|
||||
push {r4,lr}
|
||||
ldr r0, _0800D468
|
||||
movs r4, 0
|
||||
str r4, [r0]
|
||||
ldr r0, _0800D46C
|
||||
str r4, [r0]
|
||||
ldr r0, _0800D470
|
||||
strb r4, [r0]
|
||||
ldr r0, _0800D474
|
||||
str r4, [r0]
|
||||
ldr r0, _0800D478
|
||||
str r4, [r0]
|
||||
str r4, [r0, 0x4]
|
||||
ldr r0, _0800D47C
|
||||
movs r1, 0x10
|
||||
bl MemoryClear16
|
||||
ldr r0, _0800D480
|
||||
movs r1, 0x20
|
||||
bl MemoryClear16
|
||||
ldr r0, _0800D484
|
||||
str r4, [r0]
|
||||
ldr r0, _0800D488
|
||||
str r4, [r0]
|
||||
str r4, [r0, 0x4]
|
||||
ldr r0, _0800D48C
|
||||
movs r1, 0x84
|
||||
lsls r1, 1
|
||||
bl MemoryClear16
|
||||
ldr r0, _0800D490
|
||||
movs r1, 0x84
|
||||
lsls r1, 2
|
||||
bl MemoryClear16
|
||||
bl sub_800D6AC
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0800D468: .4byte gUnknown_202DB68
|
||||
_0800D46C: .4byte gUnknown_202DB6C
|
||||
_0800D470: .4byte gUnknown_202DB70
|
||||
_0800D474: .4byte gUnknown_202DB74
|
||||
_0800D478: .4byte gUnknown_202DB60
|
||||
_0800D47C: .4byte gUnknown_202DB20
|
||||
_0800D480: .4byte gUnknown_202DB30
|
||||
_0800D484: .4byte gUnknown_202DB50
|
||||
_0800D488: .4byte gUnknown_202DB58
|
||||
_0800D48C: .4byte gUnknown_202D808
|
||||
_0800D490: .4byte gUnknown_202D910
|
||||
thumb_func_end sub_800D414
|
||||
|
||||
thumb_func_start sub_800D494
|
||||
sub_800D494:
|
||||
push {r4,lr}
|
||||
ldr r0, _0800D4E4
|
||||
movs r4, 0
|
||||
str r4, [r0]
|
||||
ldr r0, _0800D4E8
|
||||
str r4, [r0]
|
||||
ldr r0, _0800D4EC
|
||||
strb r4, [r0]
|
||||
ldr r0, _0800D4F0
|
||||
str r4, [r0]
|
||||
ldr r0, _0800D4F4
|
||||
str r4, [r0]
|
||||
str r4, [r0, 0x4]
|
||||
ldr r0, _0800D4F8
|
||||
movs r1, 0x10
|
||||
bl MemoryClear16
|
||||
ldr r0, _0800D4FC
|
||||
movs r1, 0x20
|
||||
bl MemoryClear16
|
||||
ldr r0, _0800D500
|
||||
str r4, [r0]
|
||||
ldr r0, _0800D504
|
||||
str r4, [r0]
|
||||
str r4, [r0, 0x4]
|
||||
ldr r0, _0800D508
|
||||
movs r1, 0x84
|
||||
lsls r1, 1
|
||||
bl MemoryClear16
|
||||
ldr r0, _0800D50C
|
||||
movs r1, 0x84
|
||||
lsls r1, 2
|
||||
bl MemoryClear16
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0800D4E4: .4byte gUnknown_202DB68
|
||||
_0800D4E8: .4byte gUnknown_202DB6C
|
||||
_0800D4EC: .4byte gUnknown_202DB70
|
||||
_0800D4F0: .4byte gUnknown_202DB74
|
||||
_0800D4F4: .4byte gUnknown_202DB60
|
||||
_0800D4F8: .4byte gUnknown_202DB20
|
||||
_0800D4FC: .4byte gUnknown_202DB30
|
||||
_0800D500: .4byte gUnknown_202DB50
|
||||
_0800D504: .4byte gUnknown_202DB58
|
||||
_0800D508: .4byte gUnknown_202D808
|
||||
_0800D50C: .4byte gUnknown_202D910
|
||||
thumb_func_end sub_800D494
|
||||
|
||||
thumb_func_start sub_800D510
|
||||
sub_800D510:
|
||||
ldr r1, _0800D51C
|
||||
movs r2, 0x80
|
||||
lsls r2, 8
|
||||
adds r0, r2, 0
|
||||
strh r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0800D51C: .4byte 0x04000134
|
||||
thumb_func_end sub_800D510
|
||||
|
||||
thumb_func_start sub_800D520
|
||||
sub_800D520:
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x4
|
||||
mov r1, sp
|
||||
movs r0, 0x1
|
||||
strh r0, [r1]
|
||||
ldr r0, _0800D568
|
||||
ldrb r1, [r0]
|
||||
movs r0, 0x30
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _0800D55C
|
||||
mov r1, sp
|
||||
mov r0, sp
|
||||
ldrh r0, [r0]
|
||||
subs r0, 0x1
|
||||
strh r0, [r1]
|
||||
ldrh r0, [r1]
|
||||
ldr r1, _0800D56C
|
||||
cmp r0, r1
|
||||
beq _0800D55C
|
||||
mov r4, sp
|
||||
adds r5, r1, 0
|
||||
_0800D54C:
|
||||
bl VBlankIntrWait
|
||||
ldrh r0, [r4]
|
||||
subs r0, 0x1
|
||||
strh r0, [r4]
|
||||
ldrh r0, [r4]
|
||||
cmp r0, r5
|
||||
bne _0800D54C
|
||||
_0800D55C:
|
||||
bl sub_800D7D0
|
||||
add sp, 0x4
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0800D568: .4byte 0x04000128
|
||||
_0800D56C: .4byte 0x0000ffff
|
||||
thumb_func_end sub_800D520
|
||||
|
||||
thumb_func_start sub_800D570
|
||||
sub_800D570:
|
||||
push {lr}
|
||||
bl sub_800D7B8
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_800D570
|
||||
|
||||
thumb_func_start sub_800D57C
|
||||
sub_800D57C:
|
||||
ldr r0, _0800D584
|
||||
ldrb r0, [r0]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0800D584: .4byte gUnknown_202DB70
|
||||
thumb_func_end sub_800D57C
|
||||
|
||||
thumb_func_start sub_800D588
|
||||
sub_800D588:
|
||||
ldr r0, _0800D598
|
||||
ldr r0, [r0]
|
||||
movs r1, 0x80
|
||||
ands r0, r1
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0800D598: .4byte gUnknown_202DB68
|
||||
thumb_func_end sub_800D588
|
||||
|
||||
thumb_func_start sub_800D59C
|
||||
sub_800D59C:
|
||||
push {r4-r6,lr}
|
||||
adds r3, r0, 0
|
||||
adds r2, r1, 0
|
||||
movs r5, 0
|
||||
ldr r6, _0800D5F4
|
||||
ldr r4, _0800D5F8
|
||||
adds r0, r2, 0x1
|
||||
movs r1, 0x2
|
||||
negs r1, r1
|
||||
ands r0, r1
|
||||
adds r0, 0x8
|
||||
str r0, [r4]
|
||||
adds r0, r6, 0x4
|
||||
adds r1, r3, 0
|
||||
bl CpuCopy
|
||||
ldr r0, _0800D5FC
|
||||
strh r0, [r6]
|
||||
strh r5, [r6, 0x2]
|
||||
movs r2, 0
|
||||
ldr r0, [r4]
|
||||
lsrs r0, 1
|
||||
subs r0, 0x2
|
||||
cmp r5, r0
|
||||
bcs _0800D5DE
|
||||
adds r3, r0, 0
|
||||
adds r1, r6, 0
|
||||
_0800D5D2:
|
||||
ldrh r0, [r1]
|
||||
adds r5, r0
|
||||
adds r1, 0x2
|
||||
adds r2, 0x1
|
||||
cmp r2, r3
|
||||
bcc _0800D5D2
|
||||
_0800D5DE:
|
||||
ldr r2, _0800D5F4
|
||||
mvns r1, r5
|
||||
ldr r0, _0800D5F8
|
||||
ldr r0, [r0]
|
||||
lsrs r0, 1
|
||||
subs r1, r0
|
||||
strh r1, [r2, 0x2]
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0800D5F4: .4byte gUnknown_202D808
|
||||
_0800D5F8: .4byte gUnknown_202DB74
|
||||
_0800D5FC: .4byte 0x0000fdfd
|
||||
thumb_func_end sub_800D59C
|
||||
|
||||
thumb_func_start sub_800D600
|
||||
sub_800D600:
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "music.h"
|
||||
#include "memory.h"
|
||||
#include "cpu.h"
|
||||
|
||||
extern u32 gUnknown_202DB60[2];
|
||||
extern u16 gUnknown_202DB30[2][8];
|
||||
@@ -113,13 +115,13 @@ void nullsub_187(void)
|
||||
{
|
||||
}
|
||||
|
||||
u32 sub_800D1C0(void)
|
||||
bool8 sub_800D1C0(u32 unused)
|
||||
{
|
||||
if(gUnknown_202DB60[0] != 2)
|
||||
return 0;
|
||||
return FALSE;
|
||||
if(gUnknown_202DB60[1] != 2)
|
||||
return 0;
|
||||
return 1;
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void sub_800D1E0(void)
|
||||
@@ -137,3 +139,188 @@ void sub_800D1E0(void)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extern u32 gUnknown_202DB58[2];
|
||||
extern u32 gUnknown_202DB74;
|
||||
extern u32 gUnknown_202DB50;
|
||||
extern u16 gUnknown_202DB208[];
|
||||
extern u16 gUnknown_202D808[132];
|
||||
extern u16 gUnknown_202D910[2][132];
|
||||
extern u16 gUnknown_202DB30[2][8];
|
||||
extern u16 gUnknown_202DB20[8];
|
||||
|
||||
void sub_800D224(s32 a0)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
if (((a0 >> i) & 1) && gUnknown_202DB60[i] == 1) {
|
||||
u32 j;
|
||||
u16 *ptr = gUnknown_202D910[i];
|
||||
|
||||
for (j = 0; j < 8; j++) {
|
||||
if (gUnknown_202DB58[i] + j >= gUnknown_202DB74 / 2) {
|
||||
gUnknown_202DB60[i] = 2;
|
||||
break;
|
||||
}
|
||||
ptr[gUnknown_202DB58[i] + j] = gUnknown_202DB30[i][j];
|
||||
}
|
||||
|
||||
gUnknown_202DB58[i] += 8;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_800D2EC(u32 unused)
|
||||
{
|
||||
u32 i;
|
||||
u16 *ptr = gUnknown_202D808;
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
if (gUnknown_202DB50 < (gUnknown_202DB74 / 2)) {
|
||||
gUnknown_202DB20[i] = ptr[gUnknown_202DB50++];
|
||||
}
|
||||
else {
|
||||
gUnknown_202DB20[i] = 0xFCFC;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extern u32 gUnknown_202DB68;
|
||||
extern s32 gUnknown_202DB6C;
|
||||
extern u8 gUnknown_202DB70;
|
||||
|
||||
u32 sub_800D820(u16 *a0, u16 *a1);
|
||||
|
||||
s32 sub_800D33C(void)
|
||||
{
|
||||
s32 ret = 0;
|
||||
|
||||
gUnknown_202DB6C = gUnknown_202DB68;
|
||||
gUnknown_202DB68 = sub_800D820(gUnknown_202DB20, gUnknown_202DB30[0]);
|
||||
if (gUnknown_202DB70 == 0) {
|
||||
if (gUnknown_202DB68 & 0x100) {
|
||||
gUnknown_202DB70 = 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
else if (gUnknown_202DB68 & 0x1000) {
|
||||
return 3;
|
||||
}
|
||||
else if (gUnknown_202DB68 & 0x2000) {
|
||||
return 4;
|
||||
}
|
||||
else if (gUnknown_202DB68 & 0x8000) {
|
||||
u32 bits1, bits2;
|
||||
|
||||
bits1 = gUnknown_202DB68 << 28;
|
||||
bits1 >>= 28;
|
||||
|
||||
bits2 = gUnknown_202DB68 << 20;
|
||||
bits2 >>= 28;
|
||||
if (bits1 != bits2)
|
||||
return 5;
|
||||
}
|
||||
|
||||
if (((gUnknown_202DB68 | gUnknown_202DB6C) & 0xE)) {
|
||||
u32 si0Cnt = (*(vu32 *)REG_ADDR_SIOCNT);
|
||||
si0Cnt <<= 26;
|
||||
si0Cnt >>= 30;
|
||||
if ((gUnknown_202DB68 & (1 << si0Cnt))) {
|
||||
sub_800D1E0();
|
||||
sub_800D224(gUnknown_202DB68);
|
||||
if (sub_800D1C0(gUnknown_202DB68)) {
|
||||
return 2;
|
||||
}
|
||||
sub_800D2EC(gUnknown_202DB68);
|
||||
ret = 1;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void sub_800D6AC(void);
|
||||
void sub_800D7D0(void);
|
||||
void sub_800D7B8(void);
|
||||
|
||||
static inline void ClearUnkMemory(void)
|
||||
{
|
||||
gUnknown_202DB68 = 0;
|
||||
gUnknown_202DB6C = 0;
|
||||
gUnknown_202DB70 = 0;
|
||||
gUnknown_202DB74 = 0;
|
||||
gUnknown_202DB60[0] = 0;
|
||||
gUnknown_202DB60[1] = 0;
|
||||
MemoryClear16(gUnknown_202DB20, sizeof(gUnknown_202DB20));
|
||||
MemoryClear16(gUnknown_202DB30[0], sizeof(gUnknown_202DB30));
|
||||
gUnknown_202DB50 = 0;
|
||||
gUnknown_202DB58[0] = 0;
|
||||
gUnknown_202DB58[1] = 0;
|
||||
MemoryClear16(gUnknown_202D808, sizeof(gUnknown_202D808));
|
||||
MemoryClear16(gUnknown_202D910[0], sizeof(gUnknown_202D910));
|
||||
}
|
||||
|
||||
// These two are the same, except sub_800D414 calls an additional func
|
||||
void sub_800D414(void)
|
||||
{
|
||||
ClearUnkMemory();
|
||||
sub_800D6AC();
|
||||
}
|
||||
|
||||
void sub_800D494(void)
|
||||
{
|
||||
ClearUnkMemory();
|
||||
}
|
||||
|
||||
void sub_800D510(void)
|
||||
{
|
||||
REG_RCNT = 0x8000;
|
||||
}
|
||||
|
||||
void sub_800D520(void)
|
||||
{
|
||||
vu16 var = 1; // Has to be u16, not s16
|
||||
u8 si0Cnt = (*(vu8 *)REG_ADDR_SIOCNT); // First 8 bits
|
||||
|
||||
if (!(si0Cnt & 0x30)) {
|
||||
while (--var != (u16) -1) {
|
||||
VBlankIntrWait();
|
||||
}
|
||||
}
|
||||
sub_800D7D0();
|
||||
}
|
||||
|
||||
void sub_800D570()
|
||||
{
|
||||
sub_800D7B8();
|
||||
}
|
||||
|
||||
UNUSED static u8 sub_800D57C(void)
|
||||
{
|
||||
return gUnknown_202DB70;
|
||||
}
|
||||
|
||||
u8 sub_800D588(void)
|
||||
{
|
||||
return (gUnknown_202DB68 & 0x80);
|
||||
}
|
||||
|
||||
void sub_800D59C(u16 *src, u32 size)
|
||||
{
|
||||
u32 i;
|
||||
u16 bits;
|
||||
s32 count = 0;
|
||||
u16 *dst = gUnknown_202D808;
|
||||
|
||||
gUnknown_202DB74 = ((size + 1) & ~(1)) + 8;
|
||||
CpuCopy(&dst[2], src, size);
|
||||
bits = 0xFDFD;
|
||||
dst[0] = bits;
|
||||
dst[1] = 0;
|
||||
for (i = 0; i < (gUnknown_202DB74 / 2) - 2; i++) {
|
||||
count += dst[i];
|
||||
}
|
||||
|
||||
gUnknown_202D808[1] = ~count - (gUnknown_202DB74 / 2);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user