through sub_80063D8

This commit is contained in:
scnorton 2018-01-21 17:12:02 -05:00
parent 91c6c24400
commit 8bff047871
3 changed files with 77 additions and 124 deletions

View File

@ -5,129 +5,6 @@
.text
thumb_func_start xxx_update_some_bg_tiles
xxx_update_some_bg_tiles:
push {r4,r5,lr}
adds r1, r0, 0
ldr r0, _08006360
ldr r5, [r0]
ldr r4, _08006364
str r1, [r0]
cmp r1, 0
beq _08006354
cmp r1, 0x2
bne _0800636C
_08006354:
movs r0, 0x2
bl sub_800CDA8
ldr r2, _08006368
b _08006374
.align 2, 0
_08006360: .4byte gUnknown_20274B0
_08006364: .4byte 0x06004f40
_08006368: .4byte gUnknown_80B87C4
_0800636C:
movs r0, 0x1
bl sub_800CDA8
ldr r2, _080063A4
_08006374:
ldr r1, _080063A8
ldr r0, _080063AC
str r0, [r1]
ldm r2!, {r0}
stm r4!, {r0}
ldm r2!, {r0}
stm r4!, {r0}
ldm r2!, {r0}
stm r4!, {r0}
ldm r2!, {r0}
stm r4!, {r0}
ldm r2!, {r0}
stm r4!, {r0}
ldm r2!, {r0}
stm r4!, {r0}
ldm r2!, {r0}
stm r4!, {r0}
ldr r0, [r2]
str r0, [r4]
adds r0, r5, 0
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_080063A4: .4byte gUnknown_80B87E4
_080063A8: .4byte gUnknown_202B030
_080063AC: .4byte 0x88888888
thumb_func_end xxx_update_some_bg_tiles
thumb_func_start sub_80063B0
sub_80063B0:
ldr r0, _080063B8
ldr r0, [r0]
bx lr
.align 2, 0
_080063B8: .4byte gUnknown_20274B0
thumb_func_end sub_80063B0
thumb_func_start sub_80063BC
sub_80063BC:
ldr r1, _080063C8
ldrb r2, [r1]
strb r0, [r1]
adds r0, r2, 0
bx lr
.align 2, 0
_080063C8: .4byte gUnknown_202B034
thumb_func_end sub_80063BC
thumb_func_start sub_80063CC
sub_80063CC:
ldr r1, _080063D4
str r0, [r1]
bx lr
.align 2, 0
_080063D4: .4byte gUnknown_20274AC
thumb_func_end sub_80063CC
thumb_func_start sub_80063D8
sub_80063D8:
push {lr}
adds r1, r0, 0
cmp r1, 0
bne _080063F0
ldr r0, _080063E8
ldr r0, [r0]
ldr r2, _080063EC
b _08006410
.align 2, 0
_080063E8: .4byte gUnknown_20274B0
_080063EC: .4byte 0x88888888
_080063F0:
movs r0, 0xF
ands r0, r1
lsls r2, r0, 4
orrs r2, r0
lsls r1, r0, 8
orrs r2, r1
lsls r1, r0, 12
orrs r2, r1
lsls r1, r0, 16
orrs r2, r1
lsls r1, r0, 20
orrs r2, r1
lsls r1, r0, 24
orrs r2, r1
lsls r0, 28
orrs r2, r0
_08006410:
ldr r0, _08006418
str r2, [r0]
pop {r0}
bx r0
.align 2, 0
_08006418: .4byte gUnknown_202B030
thumb_func_end sub_80063D8
thumb_func_start sub_800641C
sub_800641C:
push {lr}

6
include/code_800B540.h Normal file
View File

@ -0,0 +1,6 @@
#ifndef GUARD_code_800B540_H
#define GUARD_code_800B540_H
void sub_800CDA8(int a0);
#endif //GUARD_code_800B540_H

View File

@ -6,6 +6,7 @@
#include "global.h"
#include "file_system.h"
#include "code_800558C.h"
#include "code_800B540.h"
struct UnkTextStruct1 {
u8 fill00[4];
@ -21,6 +22,7 @@ EWRAM_DATA u8 *gUnknown_2027490[2];
EWRAM_DATA u16 gUnknown_2027498;
EWRAM_DATA u8 gUnknown_20274A5;
EWRAM_DATA u32 gUnknown_20274AC;
EWRAM_DATA vu32 gUnknown_20274B0;
EWRAM_DATA struct OpenedFile *gUnknown_202AFB4[2];
EWRAM_DATA u32 gUnknown_202B020;
EWRAM_DATA u32 gUnknown_202B024;
@ -29,11 +31,13 @@ EWRAM_DATA u32 gUnknown_202B030;
EWRAM_DATA u8 gUnknown_202B034;
EWRAM_DATA u16 gUnknown_202B038[2][32][32];
void xxx_update_some_bg_tiles(int a0);
u32 xxx_update_some_bg_tiles(u32 a0);
extern const char gUnknown_80B87B4[];
extern const char gUnknown_80B87BC[];
extern const struct FileArchive gUnknown_8300500;
extern const u32 gUnknown_80B87C4[8];
extern const u32 gUnknown_80B87E4[8];
void sub_8006218(void)
{
@ -73,3 +77,69 @@ void sub_8006218(void)
gUnknown_202B024 = 20;
xxx_update_some_bg_tiles(0);
}
u32 xxx_update_some_bg_tiles(u32 a0)
{
u32 r5 = gUnknown_20274B0;
u32 *r4 = (u32 *)(VRAM + 0x4f40);
const u32 *r2;
gUnknown_20274B0 = a0;
if (a0 == 0 || a0 == 2)
{
sub_800CDA8(2);
r2 = gUnknown_80B87C4;
}
else
{
sub_800CDA8(1);
r2 = gUnknown_80B87E4;
}
gUnknown_202B030 = 0x88888888;
*r4++ = *r2++;
*r4++ = *r2++;
*r4++ = *r2++;
*r4++ = *r2++;
*r4++ = *r2++;
*r4++ = *r2++;
*r4++ = *r2++;
*r4++ = *r2++;
return r5;
}
u32 sub_80063B0(void)
{
return gUnknown_20274B0;
}
u8 sub_80063BC(u8 a0)
{
u8 retval = gUnknown_202B034;
gUnknown_202B034 = a0;
return retval;
}
void sub_80063CC(u32 a0)
{
gUnknown_20274AC = a0;
}
void sub_80063D8(int a0)
{
u32 retval;
if (a0 == 0)
{
gUnknown_20274B0;
retval = 0x88888888;
}
else
{
retval = (a0 & 0xf) | ((a0 & 0xf) << 4);
retval |= ((a0 & 0xf) << 8);
retval |= ((a0 & 0xf) << 12);
retval |= ((a0 & 0xf) << 16);
retval |= ((a0 & 0xf) << 20);
retval |= ((a0 & 0xf) << 24);
retval |= ((a0 & 0xf) << 28);
}
gUnknown_202B030 = retval;
}