mirror of
https://github.com/pret/pmd-red.git
synced 2025-02-25 07:41:02 +00:00
decomp some quick funcs
This commit is contained in:
parent
6c9dd59b56
commit
4d967dd694
@ -5,93 +5,7 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_80119D4
|
||||
sub_80119D4:
|
||||
push {r4,lr}
|
||||
adds r2, r0, 0
|
||||
ldr r4, _080119FC
|
||||
movs r1, 0
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, 0
|
||||
bgt _080119F6
|
||||
ldr r1, _08011A00
|
||||
lsls r0, r2, 1
|
||||
adds r0, r1
|
||||
ldrh r0, [r0]
|
||||
movs r1, 0x80
|
||||
lsls r1, 1
|
||||
bl sub_800C074
|
||||
movs r0, 0x4
|
||||
strh r0, [r4]
|
||||
_080119F6:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080119FC: .4byte gUnknown_202DE20
|
||||
_08011A00: .4byte gUnknown_80D4144
|
||||
thumb_func_end sub_80119D4
|
||||
|
||||
thumb_func_start sub_8011A04
|
||||
sub_8011A04:
|
||||
push {lr}
|
||||
ldr r1, _08011A24
|
||||
movs r2, 0
|
||||
ldrsh r0, [r1, r2]
|
||||
cmp r0, 0
|
||||
bgt _08011A1E
|
||||
movs r0, 0x3
|
||||
strh r0, [r1]
|
||||
ldr r0, _08011A28
|
||||
movs r1, 0x80
|
||||
lsls r1, 1
|
||||
bl sub_800C074
|
||||
_08011A1E:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08011A24: .4byte gUnknown_202DE22
|
||||
_08011A28: .4byte 0x00000131
|
||||
thumb_func_end sub_8011A04
|
||||
|
||||
thumb_func_start sub_8011A2C
|
||||
sub_8011A2C:
|
||||
ldr r1, _08011A34
|
||||
str r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08011A34: .4byte gUnknown_202DE1C
|
||||
thumb_func_end sub_8011A2C
|
||||
|
||||
thumb_func_start NDS_DebugInit
|
||||
NDS_DebugInit:
|
||||
push {lr}
|
||||
bl nullsub_26
|
||||
bl nullsub_27
|
||||
bl nullsub_29
|
||||
bl nullsub_30
|
||||
bl nullsub_31
|
||||
bl nullsub_32
|
||||
bl nullsub_28
|
||||
ldr r1, _08011A60
|
||||
movs r0, 0x1
|
||||
str r0, [r1]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08011A60: .4byte gUnknown_203B14C
|
||||
thumb_func_end NDS_DebugInit
|
||||
|
||||
thumb_func_start nullsub_25
|
||||
nullsub_25:
|
||||
bx lr
|
||||
thumb_func_end nullsub_25
|
||||
|
||||
thumb_func_start nullsub_26
|
||||
nullsub_26:
|
||||
bx lr
|
||||
thumb_func_end nullsub_26
|
||||
|
||||
@ Unused
|
||||
thumb_func_start PrintFuncFileLineOrNotEntry
|
||||
PrintFuncFileLineOrNotEntry:
|
||||
push {r4,lr}
|
||||
@ -143,6 +57,7 @@ PrintFuncFileLine:
|
||||
_08011AC4: .4byte gUnknown_80D41C4
|
||||
thumb_func_end PrintFuncFileLine
|
||||
|
||||
@ Unused
|
||||
thumb_func_start PrintMessageWithFuncFileLine
|
||||
PrintMessageWithFuncFileLine:
|
||||
push {r2,r3}
|
||||
@ -172,52 +87,4 @@ PrintMessageWithFuncFileLine:
|
||||
_08011AFC: .4byte gUnknown_80D41EC
|
||||
thumb_func_end PrintMessageWithFuncFileLine
|
||||
|
||||
thumb_func_start nullsub_199
|
||||
nullsub_199:
|
||||
bx lr
|
||||
thumb_func_end nullsub_199
|
||||
|
||||
thumb_func_start nullsub_27
|
||||
nullsub_27:
|
||||
bx lr
|
||||
thumb_func_end nullsub_27
|
||||
|
||||
thumb_func_start sub_8011B08
|
||||
sub_8011B08:
|
||||
ldr r1, _08011B10
|
||||
movs r0, 0x1
|
||||
strb r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08011B10: .4byte gUnknown_203B150
|
||||
thumb_func_end sub_8011B08
|
||||
|
||||
thumb_func_start sub_8011B14
|
||||
sub_8011B14:
|
||||
ldr r1, _08011B1C
|
||||
movs r0, 0
|
||||
strb r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08011B1C: .4byte gUnknown_203B150
|
||||
thumb_func_end sub_8011B14
|
||||
|
||||
thumb_func_start sub_8011B20
|
||||
sub_8011B20:
|
||||
push {lr}
|
||||
ldr r1, _08011B38
|
||||
movs r2, 0
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0
|
||||
bne _08011B2E
|
||||
movs r2, 0x1
|
||||
_08011B2E:
|
||||
strb r2, [r1]
|
||||
ldrb r0, [r1]
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08011B38: .4byte gUnknown_203B150
|
||||
thumb_func_end sub_8011B20
|
||||
|
||||
.align 2,0 @ Don't pad with nop
|
||||
|
@ -1,6 +1,7 @@
|
||||
#include "global.h"
|
||||
|
||||
void sub_8011924(void);
|
||||
void nullsub_26(void);
|
||||
|
||||
extern void sub_800BDFC(u16 r0);
|
||||
extern void sub_800BE8C(u16 r0, u16 r1);
|
||||
@ -14,6 +15,13 @@ extern void sub_800C074(u16 r0, u16 r1);
|
||||
extern void sub_800C298(u16 r0);
|
||||
extern u8 sub_800C5D0(u16 r0);
|
||||
|
||||
extern void nullsub_27(void);
|
||||
extern void nullsub_29(void);
|
||||
extern void nullsub_30(void);
|
||||
extern void nullsub_31(void);
|
||||
extern void nullsub_32(void);
|
||||
extern void nullsub_28(void);
|
||||
|
||||
struct UnkStructType
|
||||
{
|
||||
/* 0x0 */ s16 unk0;
|
||||
@ -22,6 +30,9 @@ struct UnkStructType
|
||||
|
||||
extern u16 gUnknown_80D4144[];
|
||||
extern struct UnkStructType gUnknown_202DE20;
|
||||
extern struct UnkStructType gUnknown_202DE22;
|
||||
extern u32 gUnknown_202DE1C;
|
||||
extern u32 gUnknown_203B14C;
|
||||
|
||||
void sub_80118A4(void)
|
||||
{
|
||||
@ -138,11 +149,43 @@ u8 sub_80119C0(u16 r0)
|
||||
return sub_800C5D0(r0);
|
||||
}
|
||||
|
||||
// TODO pretty close except r4's where should be r2's
|
||||
//void sub_80119D4(u32 r0)
|
||||
//{
|
||||
// if(gUnknown_202DE20.unk0 > 0)
|
||||
// return;
|
||||
// sub_800C074(gUnknown_80D4144[r0], 0x80 << 1);
|
||||
// gUnknown_80D4144[r0] = 0x4;
|
||||
//}
|
||||
void sub_80119D4(u32 r0)
|
||||
{
|
||||
if(gUnknown_202DE20.unk0 > 0)
|
||||
return;
|
||||
sub_800C074(gUnknown_80D4144[r0], 0x80 << 1);
|
||||
gUnknown_202DE20.unk0 = 4;
|
||||
}
|
||||
|
||||
void sub_8011A04(void)
|
||||
{
|
||||
if(gUnknown_202DE22.unk0 > 0)
|
||||
return;
|
||||
gUnknown_202DE22.unk0 = 3;
|
||||
sub_800C074(0x131, 0x80 << 1);
|
||||
}
|
||||
|
||||
void sub_8011A2C(u32 r0)
|
||||
{
|
||||
gUnknown_202DE1C = r0;
|
||||
}
|
||||
|
||||
void NDS_DebugInit(void)
|
||||
{
|
||||
nullsub_26();
|
||||
nullsub_27();
|
||||
nullsub_29();
|
||||
nullsub_30();
|
||||
nullsub_31();
|
||||
nullsub_32();
|
||||
nullsub_28();
|
||||
gUnknown_203B14C = 1; // Maybe a flag saying Debug is on?
|
||||
}
|
||||
|
||||
void nullsub_25(void)
|
||||
{
|
||||
}
|
||||
|
||||
void nullsub_26(void)
|
||||
{
|
||||
}
|
||||
|
@ -2,6 +2,60 @@
|
||||
|
||||
extern u8 gUnknown_203B150;
|
||||
|
||||
void nullsub_199(void)
|
||||
{
|
||||
}
|
||||
|
||||
void nullsub_27(void)
|
||||
{
|
||||
}
|
||||
|
||||
void sub_8011B08(void)
|
||||
{
|
||||
gUnknown_203B150 = 1;
|
||||
}
|
||||
|
||||
void sub_8011B14(void)
|
||||
{
|
||||
gUnknown_203B150 = 0;
|
||||
}
|
||||
|
||||
#ifndef NONMATCHING
|
||||
NAKED
|
||||
#endif
|
||||
u8 sub_8011B20(void)
|
||||
{
|
||||
#ifdef NONMATCHING
|
||||
// TODO figure out why I mix up my mv/ldr for these kinds of comparisons
|
||||
u8 temp;
|
||||
if(gUnknown_203B150 == 0)
|
||||
{
|
||||
temp = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
temp = 0;
|
||||
}
|
||||
gUnknown_203B150 = temp;
|
||||
return gUnknown_203B150;
|
||||
#else
|
||||
asm_unified("\tpush {lr}\n"
|
||||
"\tldr r1, _08011B38\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tldrb r0, [r1]\n"
|
||||
"\tcmp r0, 0\n"
|
||||
"\tbne _08011B2E\n"
|
||||
"\tmovs r2, 0x1\n"
|
||||
"_08011B2E:\n"
|
||||
"\tstrb r2, [r1]\n"
|
||||
"\tldrb r0, [r1]\n"
|
||||
"\tpop {r1}\n"
|
||||
"\tbx r1\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_08011B38: .4byte gUnknown_203B150");
|
||||
#endif
|
||||
}
|
||||
|
||||
// unused
|
||||
u8 sub_8011B3C(void)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user