help_system: through sub_813BC5C
This commit is contained in:
@@ -5,176 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_813BB38
|
|
||||||
sub_813BB38: @ 813BB38
|
|
||||||
ldr r2, _0813BB60 @ =gUnknown_203F178
|
|
||||||
ldr r1, _0813BB64 @ =gMain
|
|
||||||
ldr r0, [r1, 0xC]
|
|
||||||
str r0, [r2]
|
|
||||||
ldr r0, [r1, 0x10]
|
|
||||||
str r0, [r2, 0x4]
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [r1, 0xC]
|
|
||||||
str r0, [r1, 0x10]
|
|
||||||
ldr r1, _0813BB68 @ =0x040000b0
|
|
||||||
ldrh r2, [r1, 0xA]
|
|
||||||
ldr r0, _0813BB6C @ =0x0000c5ff
|
|
||||||
ands r0, r2
|
|
||||||
strh r0, [r1, 0xA]
|
|
||||||
ldrh r2, [r1, 0xA]
|
|
||||||
ldr r0, _0813BB70 @ =0x00007fff
|
|
||||||
ands r0, r2
|
|
||||||
strh r0, [r1, 0xA]
|
|
||||||
ldrh r0, [r1, 0xA]
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
_0813BB60: .4byte gUnknown_203F178
|
|
||||||
_0813BB64: .4byte gMain
|
|
||||||
_0813BB68: .4byte 0x040000b0
|
|
||||||
_0813BB6C: .4byte 0x0000c5ff
|
|
||||||
_0813BB70: .4byte 0x00007fff
|
|
||||||
thumb_func_end sub_813BB38
|
|
||||||
|
|
||||||
thumb_func_start sub_813BB74
|
|
||||||
sub_813BB74: @ 813BB74
|
|
||||||
push {r4,lr}
|
|
||||||
movs r0, 0
|
|
||||||
bl GetGpuReg
|
|
||||||
ldr r4, _0813BBA8 @ =gUnknown_203F178
|
|
||||||
strh r0, [r4, 0x8]
|
|
||||||
movs r0, 0x8
|
|
||||||
bl GetGpuReg
|
|
||||||
strh r0, [r4, 0xA]
|
|
||||||
movs r0, 0x10
|
|
||||||
bl GetGpuReg
|
|
||||||
strh r0, [r4, 0xC]
|
|
||||||
movs r0, 0x12
|
|
||||||
bl GetGpuReg
|
|
||||||
strh r0, [r4, 0xE]
|
|
||||||
movs r0, 0x50
|
|
||||||
bl GetGpuReg
|
|
||||||
strh r0, [r4, 0x10]
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0813BBA8: .4byte gUnknown_203F178
|
|
||||||
thumb_func_end sub_813BB74
|
|
||||||
|
|
||||||
thumb_func_start sub_813BBAC
|
|
||||||
sub_813BBAC: @ 813BBAC
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0813BBC0 @ =0x0600c000
|
|
||||||
ldr r1, _0813BBC4 @ =gUnknown_203B174
|
|
||||||
movs r2, 0x80
|
|
||||||
lsls r2, 7
|
|
||||||
movs r3, 0
|
|
||||||
bl RequestDma3Copy
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0813BBC0: .4byte 0x0600c000
|
|
||||||
_0813BBC4: .4byte gUnknown_203B174
|
|
||||||
thumb_func_end sub_813BBAC
|
|
||||||
|
|
||||||
thumb_func_start sub_813BBC8
|
|
||||||
sub_813BBC8: @ 813BBC8
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0813BBD8 @ =gUnknown_203F178 + 0x12
|
|
||||||
adds r1, r0, 0x1
|
|
||||||
adds r2, r0, 0x2
|
|
||||||
bl SaveTextColors
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0813BBD8: .4byte gUnknown_203F178 + 0x12
|
|
||||||
thumb_func_end sub_813BBC8
|
|
||||||
|
|
||||||
thumb_func_start sub_813BBDC
|
|
||||||
sub_813BBDC: @ 813BBDC
|
|
||||||
ldr r2, _0813BBEC @ =gMain
|
|
||||||
ldr r1, _0813BBF0 @ =gUnknown_203F178
|
|
||||||
ldr r0, [r1]
|
|
||||||
str r0, [r2, 0xC]
|
|
||||||
ldr r0, [r1, 0x4]
|
|
||||||
str r0, [r2, 0x10]
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
_0813BBEC: .4byte gMain
|
|
||||||
_0813BBF0: .4byte gUnknown_203F178
|
|
||||||
thumb_func_end sub_813BBDC
|
|
||||||
|
|
||||||
thumb_func_start sub_813BBF4
|
|
||||||
sub_813BBF4: @ 813BBF4
|
|
||||||
push {r4,lr}
|
|
||||||
ldr r4, _0813BC28 @ =gUnknown_203F178
|
|
||||||
ldrh r1, [r4, 0x10]
|
|
||||||
movs r0, 0x50
|
|
||||||
bl SetGpuReg
|
|
||||||
ldrh r1, [r4, 0xC]
|
|
||||||
movs r0, 0x10
|
|
||||||
bl SetGpuReg
|
|
||||||
ldrh r1, [r4, 0xE]
|
|
||||||
movs r0, 0x12
|
|
||||||
bl SetGpuReg
|
|
||||||
ldrh r1, [r4, 0xA]
|
|
||||||
movs r0, 0x8
|
|
||||||
bl SetGpuReg
|
|
||||||
ldrh r1, [r4, 0x8]
|
|
||||||
movs r0, 0
|
|
||||||
bl SetGpuReg
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0813BC28: .4byte gUnknown_203F178
|
|
||||||
thumb_func_end sub_813BBF4
|
|
||||||
|
|
||||||
thumb_func_start sub_813BC2C
|
|
||||||
sub_813BC2C: @ 813BC2C
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0813BC40 @ =gUnknown_203B174
|
|
||||||
ldr r1, _0813BC44 @ =0x0600c000
|
|
||||||
movs r2, 0x80
|
|
||||||
lsls r2, 7
|
|
||||||
movs r3, 0
|
|
||||||
bl RequestDma3Copy
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0813BC40: .4byte gUnknown_203B174
|
|
||||||
_0813BC44: .4byte 0x0600c000
|
|
||||||
thumb_func_end sub_813BC2C
|
|
||||||
|
|
||||||
thumb_func_start sub_813BC48
|
|
||||||
sub_813BC48: @ 813BC48
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0813BC58 @ =gUnknown_203F178 + 0x12
|
|
||||||
adds r1, r0, 0x1
|
|
||||||
adds r2, r0, 0x2
|
|
||||||
bl RestoreTextColors
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0813BC58: .4byte gUnknown_203F178 + 0x12
|
|
||||||
thumb_func_end sub_813BC48
|
|
||||||
|
|
||||||
thumb_func_start sub_813BC5C
|
|
||||||
sub_813BC5C: @ 813BC5C
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0813BC70 @ =gDecompressionBuffer
|
|
||||||
ldr r1, _0813BC74 @ =0x0600c000
|
|
||||||
movs r2, 0x80
|
|
||||||
lsls r2, 7
|
|
||||||
movs r3, 0
|
|
||||||
bl RequestDma3Copy
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0813BC70: .4byte gDecompressionBuffer
|
|
||||||
_0813BC74: .4byte 0x0600c000
|
|
||||||
thumb_func_end sub_813BC5C
|
|
||||||
|
|
||||||
thumb_func_start sub_813BC78
|
thumb_func_start sub_813BC78
|
||||||
sub_813BC78: @ 813BC78
|
sub_813BC78: @ 813BC78
|
||||||
push {r4-r7,lr}
|
push {r4-r7,lr}
|
||||||
|
|||||||
+89
-2
@@ -8,8 +8,24 @@
|
|||||||
#include "list_menu.h"
|
#include "list_menu.h"
|
||||||
#include "sound.h"
|
#include "sound.h"
|
||||||
#include "strings.h"
|
#include "strings.h"
|
||||||
|
#include "text.h"
|
||||||
#include "constants/songs.h"
|
#include "constants/songs.h"
|
||||||
|
|
||||||
|
struct DmaController
|
||||||
|
{
|
||||||
|
void * dest;
|
||||||
|
void * src;
|
||||||
|
u32 size:21;
|
||||||
|
u32 destMode:2;
|
||||||
|
u32 srcMode:2;
|
||||||
|
u32 repeat:1;
|
||||||
|
u32 width:1;
|
||||||
|
u32 dreqOn:1;
|
||||||
|
u32 startMode:3;
|
||||||
|
u32 intrEnable:1;
|
||||||
|
u32 dmaEnable:1;
|
||||||
|
};
|
||||||
|
|
||||||
struct HelpSystemVideoState
|
struct HelpSystemVideoState
|
||||||
{
|
{
|
||||||
/*0x00*/ MainCallback savedVblankCb;
|
/*0x00*/ MainCallback savedVblankCb;
|
||||||
@@ -19,7 +35,7 @@ struct HelpSystemVideoState
|
|||||||
/*0x0c*/ u16 savedBg0Hofs;
|
/*0x0c*/ u16 savedBg0Hofs;
|
||||||
/*0x0e*/ u16 savedBg0Vofs;
|
/*0x0e*/ u16 savedBg0Vofs;
|
||||||
/*0x10*/ u16 savedBldCnt;
|
/*0x10*/ u16 savedBldCnt;
|
||||||
/*0x12*/ u8 savedTextColor[3];
|
/*0x12*/ struct TextColor savedTextColor;
|
||||||
/*0x15*/ u8 state;
|
/*0x15*/ u8 state;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -38,7 +54,7 @@ void sub_813BC5C(void);
|
|||||||
void sub_813C454(const u8 * str);
|
void sub_813C454(const u8 * str);
|
||||||
void sub_813C5D4(void);
|
void sub_813C5D4(void);
|
||||||
|
|
||||||
EWRAM_DATA u8 gUnknown_203B174[0x4000] = {0};
|
EWRAM_DATA u8 gUnknown_203B174[BG_CHAR_SIZE] = {0};
|
||||||
EWRAM_DATA u8 gUnknown_203F174 = 0;
|
EWRAM_DATA u8 gUnknown_203F174 = 0;
|
||||||
EWRAM_DATA u8 gUnknown_203F175 = 0;
|
EWRAM_DATA u8 gUnknown_203F175 = 0;
|
||||||
EWRAM_DATA u8 gUnknown_203F176 = 0;
|
EWRAM_DATA u8 gUnknown_203F176 = 0;
|
||||||
@@ -148,3 +164,74 @@ u8 sub_813B870(void)
|
|||||||
}
|
}
|
||||||
return gUnknown_203F178.state;
|
return gUnknown_203F178.state;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sub_813BB38(void)
|
||||||
|
{
|
||||||
|
vu16 * dma;
|
||||||
|
gUnknown_203F178.savedVblankCb = gMain.vblankCallback;
|
||||||
|
gUnknown_203F178.savedHblankCb = gMain.hblankCallback;
|
||||||
|
gMain.vblankCallback = NULL;
|
||||||
|
gMain.hblankCallback = NULL;
|
||||||
|
|
||||||
|
dma = (void *)REG_ADDR_DMA0;
|
||||||
|
dma[5] &= ~(DMA_START_MASK | DMA_DREQ_ON | DMA_REPEAT);
|
||||||
|
dma[5] &= ~DMA_ENABLE;
|
||||||
|
dma[5];
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_813BB74(void)
|
||||||
|
{
|
||||||
|
gUnknown_203F178.savedDispCnt = GetGpuReg(REG_OFFSET_DISPCNT);
|
||||||
|
gUnknown_203F178.savedBg0Cnt = GetGpuReg(REG_OFFSET_BG0CNT);
|
||||||
|
gUnknown_203F178.savedBg0Hofs = GetGpuReg(REG_OFFSET_BG0HOFS);
|
||||||
|
gUnknown_203F178.savedBg0Vofs = GetGpuReg(REG_OFFSET_BG0VOFS);
|
||||||
|
gUnknown_203F178.savedBldCnt = GetGpuReg(REG_OFFSET_BLDCNT);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_813BBAC(void)
|
||||||
|
{
|
||||||
|
RequestDma3Copy((void *)BG_CHAR_ADDR(3), gUnknown_203B174, BG_CHAR_SIZE, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_813BBC8(void)
|
||||||
|
{
|
||||||
|
SaveTextColors(
|
||||||
|
&gUnknown_203F178.savedTextColor.fgColor,
|
||||||
|
&gUnknown_203F178.savedTextColor.bgColor,
|
||||||
|
&gUnknown_203F178.savedTextColor.shadowColor
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_813BBDC(void)
|
||||||
|
{
|
||||||
|
gMain.vblankCallback = gUnknown_203F178.savedVblankCb;
|
||||||
|
gMain.hblankCallback = gUnknown_203F178.savedHblankCb;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_813BBF4(void)
|
||||||
|
{
|
||||||
|
SetGpuReg(REG_OFFSET_BLDCNT, gUnknown_203F178.savedBldCnt);
|
||||||
|
SetGpuReg(REG_OFFSET_BG0HOFS, gUnknown_203F178.savedBg0Hofs);
|
||||||
|
SetGpuReg(REG_OFFSET_BG0VOFS, gUnknown_203F178.savedBg0Vofs);
|
||||||
|
SetGpuReg(REG_OFFSET_BG0CNT, gUnknown_203F178.savedBg0Cnt);
|
||||||
|
SetGpuReg(REG_OFFSET_DISPCNT, gUnknown_203F178.savedDispCnt);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_813BC2C(void)
|
||||||
|
{
|
||||||
|
RequestDma3Copy(gUnknown_203B174, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_813BC48(void)
|
||||||
|
{
|
||||||
|
RestoreTextColors(
|
||||||
|
&gUnknown_203F178.savedTextColor.fgColor,
|
||||||
|
&gUnknown_203F178.savedTextColor.bgColor,
|
||||||
|
&gUnknown_203F178.savedTextColor.shadowColor
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_813BC5C(void)
|
||||||
|
{
|
||||||
|
RequestDma3Copy(gDecompressionBuffer, (void *)BG_CHAR_ADDR(3), BG_CHAR_SIZE, 0);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user