Merge pull request #59 from PikalaxALT/sym_bss
BSS; decompile tileset_anims
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
|
||||
// Static type declarations
|
||||
|
||||
// Static RAM declarations
|
||||
|
||||
IWRAM_DATA u32 gUnknown_03000DD4;
|
||||
IWRAM_DATA u32 gUnknown_03000DD8;
|
||||
IWRAM_DATA u32 gUnknown_03000DDC;
|
||||
|
||||
// Static ROM declarations
|
||||
|
||||
// .rodata
|
||||
|
||||
// .text
|
||||
@@ -0,0 +1,18 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
|
||||
// Static type declarations
|
||||
|
||||
// Static RAM declarations
|
||||
IWRAM_DATA void *berry_blender_c_unused_03000de4;
|
||||
IWRAM_DATA s16 gUnknown_03000DE8[8];
|
||||
IWRAM_DATA s16 gUnknown_03000DF8[6];
|
||||
IWRAM_DATA s16 gUnknown_03000E04;
|
||||
IWRAM_DATA s16 gUnknown_03000E06;
|
||||
|
||||
// Static ROM declarations
|
||||
|
||||
// .rodata
|
||||
|
||||
// .text
|
||||
+14
-4
@@ -1,12 +1,23 @@
|
||||
#include "global.h"
|
||||
#include "dma3.h"
|
||||
|
||||
IWRAM_DATA struct {
|
||||
/* 0x00 */ const u8 *src;
|
||||
/* 0x04 */ u8 *dest;
|
||||
/* 0x08 */ u16 size;
|
||||
/* 0x0A */ u16 mode;
|
||||
/* 0x0C */ u32 value;
|
||||
} gDma3Requests[128];
|
||||
|
||||
static bool8 gDma3ManagerLocked;
|
||||
static u8 gDma3RequestCursor;
|
||||
|
||||
void ClearDma3Requests(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
gDma3ManagerLocked = TRUE;
|
||||
gDma3RequestCursor = FALSE;
|
||||
gDma3RequestCursor = 0;
|
||||
|
||||
for(i = 0; i < (u8)ARRAY_COUNT(gDma3Requests); i++)
|
||||
{
|
||||
@@ -22,7 +33,6 @@ void ClearDma3Requests(void)
|
||||
void ProcessDma3Requests(void)
|
||||
{
|
||||
// NOTE: the fillerA member of the DMA struct is actually u32 value;
|
||||
// NOTE: gUnknown_0300001C is just a pointer inside the gDma3Requests structure, not a true symbol; feel free to remove
|
||||
u16 total_size;
|
||||
|
||||
if (gDma3ManagerLocked)
|
||||
@@ -331,7 +341,7 @@ _08000DB2:\n\
|
||||
mov r5, r12\n\
|
||||
ldrb r0, [r5]\n\
|
||||
lsls r0, 4\n\
|
||||
ldr r3, =gUnknown_0300001C\n\
|
||||
ldr r3, =gDma3Requests + 0x0C\n\
|
||||
adds r0, r3\n\
|
||||
ldr r0, [r0]\n\
|
||||
strh r0, [r1]\n\
|
||||
@@ -347,7 +357,7 @@ _08000DB2:\n\
|
||||
bhi _08000DB2\n\
|
||||
ldrb r0, [r5]\n\
|
||||
lsls r0, 4\n\
|
||||
ldr r5, =gUnknown_0300001C\n\
|
||||
ldr r5, =gDma3Requests + 0x0C\n\
|
||||
adds r0, r5\n\
|
||||
ldr r0, [r0]\n\
|
||||
strh r0, [r1]\n\
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
|
||||
// Static type declarations
|
||||
|
||||
struct FieldCameraUnknownStruct
|
||||
{
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u8 unk2;
|
||||
u8 unk3;
|
||||
bool8 unk4;
|
||||
};
|
||||
|
||||
// Static RAM declarations
|
||||
|
||||
IWRAM_DATA struct FieldCameraUnknownStruct gUnknown_03000E20;
|
||||
IWRAM_DATA s16 gUnknown_03000E28;
|
||||
IWRAM_DATA s16 gUnknown_03000E2A;
|
||||
IWRAM_DATA u8 gUnknown_03000E2C;
|
||||
IWRAM_DATA void (*gUnknown_03000E30)(void);
|
||||
|
||||
// Static ROM declarations
|
||||
|
||||
// .rodata
|
||||
|
||||
// .text
|
||||
@@ -0,0 +1,15 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
|
||||
// Static type declarations
|
||||
|
||||
// Static RAM declarations
|
||||
|
||||
IWRAM_DATA u8 gUnknown_03000F58[32];
|
||||
|
||||
// Static ROM declarations
|
||||
|
||||
// .rodata
|
||||
|
||||
// .text
|
||||
@@ -0,0 +1,15 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
|
||||
// Static type declarations
|
||||
|
||||
// Static RAM declarations
|
||||
IWRAM_DATA u8 *gUnknown_03000F50;
|
||||
IWRAM_DATA u32 filler_03000f54;
|
||||
|
||||
// Static ROM declarations
|
||||
|
||||
// .rodata
|
||||
|
||||
// .text
|
||||
@@ -0,0 +1,19 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
|
||||
// Static type declarations
|
||||
|
||||
// Static RAM declarations
|
||||
|
||||
IWRAM_DATA u8 gUnknown_03001100;
|
||||
IWRAM_DATA u8 gUnknown_03001101;
|
||||
IWRAM_DATA u8 gUnknown_03001102;
|
||||
IWRAM_DATA u32 fldeff_cut_unused_03001104;
|
||||
IWRAM_DATA u8 gUnknown_03001108[25];
|
||||
|
||||
// Static ROM declarations
|
||||
|
||||
// .rodata
|
||||
|
||||
// .text
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
|
||||
// Static type declarations
|
||||
|
||||
struct BlockTransfer
|
||||
{
|
||||
u16 pos;
|
||||
u16 size;
|
||||
void *src;
|
||||
bool8 active;
|
||||
u8 multiplayerId;
|
||||
};
|
||||
|
||||
struct LinkTestBGInfo
|
||||
{
|
||||
u32 screenBaseBlock;
|
||||
u32 paletteNum;
|
||||
u32 dummy_8;
|
||||
u32 dummy_C;
|
||||
};
|
||||
|
||||
// Static RAM declarations
|
||||
|
||||
IWRAM_DATA struct BlockTransfer gUnknown_03000D10;
|
||||
IWRAM_DATA u32 link_c_unused_03000d1c;
|
||||
IWRAM_DATA struct BlockTransfer gUnknown_03000D20[4];
|
||||
IWRAM_DATA u32 gUnknown_03000D50;
|
||||
IWRAM_DATA u32 gUnknown_03000D54;
|
||||
IWRAM_DATA u8 gUnknown_03000D58;
|
||||
IWRAM_DATA u32 gUnknown_03000D5C;
|
||||
IWRAM_DATA u32 gUnknown_03000D60;
|
||||
IWRAM_DATA u8 gUnknown_03000D64[4]; // not really, but won't match otherwise
|
||||
IWRAM_DATA u8 gUnknown_03000D68[4];
|
||||
IWRAM_DATA u8 gUnknown_03000D6C;
|
||||
IWRAM_DATA bool8 gUnknown_03000D6D;
|
||||
IWRAM_DATA u16 gUnknown_03000D6E;
|
||||
IWRAM_DATA u16 gUnknown_03000D70;
|
||||
IWRAM_DATA u8 gUnknown_03000D72;
|
||||
IWRAM_DATA u8 gUnknown_03000D73;
|
||||
IWRAM_DATA u8 gUnknown_03000D74[4]; // not really, but won't match otherwise
|
||||
IWRAM_DATA u8 gUnknown_03000D78[8]; // not really, but won't match otherwise
|
||||
IWRAM_DATA u8 gUnknown_03000D80[16];
|
||||
IWRAM_DATA u16 gUnknown_03000D90[8];
|
||||
IWRAM_DATA u32 gUnknown_03000DA0;
|
||||
IWRAM_DATA u32 gUnknown_03000DA4;
|
||||
IWRAM_DATA void *gUnknown_03000DA8;
|
||||
IWRAM_DATA void *gUnknown_03000DAC;
|
||||
IWRAM_DATA bool32 gUnknown_03000DB0;
|
||||
|
||||
// Static ROM declarations
|
||||
|
||||
// .rodata
|
||||
|
||||
// .text
|
||||
+1
-1
@@ -77,7 +77,7 @@ const IntrFunc gIntrTableTemplate[] =
|
||||
|
||||
#define INTR_COUNT ((int)(sizeof(gIntrTableTemplate)/sizeof(IntrFunc)))
|
||||
|
||||
extern u16 gUnknown_03000000;
|
||||
static u16 gUnknown_03000000;
|
||||
|
||||
extern u16 gKeyRepeatStartDelay;
|
||||
extern u8 gUnknown_030022B4;
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
|
||||
// Static type declarations
|
||||
|
||||
// Static RAM declarations
|
||||
|
||||
IWRAM_DATA u8 gUnknown_03000DD0;
|
||||
|
||||
// Static ROM declarations
|
||||
|
||||
// .rodata
|
||||
|
||||
// .text
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
static void *sHeapStart;
|
||||
static u32 sHeapSize;
|
||||
static u32 malloc_c_unused_0300000c; // needed to align dma3_manager.o(.bss)
|
||||
|
||||
#define MALLOC_SYSTEM_ID 0xA3A3
|
||||
|
||||
|
||||
+25
-50
@@ -1,5 +1,8 @@
|
||||
#include "global.h"
|
||||
#include "blend_palette.h"
|
||||
#include "palette.h"
|
||||
#include "decompress.h"
|
||||
#include "gpu_regs.h"
|
||||
#include "task.h"
|
||||
|
||||
enum
|
||||
@@ -28,7 +31,7 @@ struct PaletteStructTemplate
|
||||
|
||||
struct PaletteStruct
|
||||
{
|
||||
struct PaletteStructTemplate *base;
|
||||
const struct PaletteStructTemplate *base;
|
||||
u32 ps_field_4_0:1;
|
||||
u16 ps_field_4_1:1;
|
||||
u32 baseDestOffset:9;
|
||||
@@ -38,31 +41,6 @@ struct PaletteStruct
|
||||
u8 ps_field_9;
|
||||
};
|
||||
|
||||
extern void LZDecompressWram(const void *src, void *dest);
|
||||
extern void SetGpuReg(u8 regOffset, u16 value);
|
||||
extern void sub_8149DFC(u8 a1);
|
||||
extern void sub_80A1670(u16 a1);
|
||||
extern void sub_80A2D54(u8 a1);
|
||||
extern void SetWordTaskArg(u8 taskId, u8 dataElem, u32 value);
|
||||
extern void _call_via_r1(u32 a1, void *a2);
|
||||
|
||||
extern void BlendPalette(u16, u16, u8, u16);
|
||||
|
||||
EWRAM_DATA u16 gPlttBufferUnfaded[0x200] = {0};
|
||||
EWRAM_DATA u16 gPlttBufferFaded[0x200] = {0};
|
||||
EWRAM_DATA struct PaletteStruct sPaletteStructs[0x10] = {0};
|
||||
EWRAM_DATA struct PaletteFadeControl gPaletteFade = {0};
|
||||
EWRAM_DATA u32 gFiller_2037FE0 = 0;
|
||||
EWRAM_DATA u32 sPlttBufferTransferPending = 0;
|
||||
EWRAM_DATA u8 gPaletteDecompressionBuffer[0x400] = {0};
|
||||
|
||||
extern struct PaletteStructTemplate gDummyPaletteStructTemplate;
|
||||
extern void *gUnknown_0852487C;
|
||||
extern u8 gUnknown_0852489C[];
|
||||
|
||||
extern u16 gUnknown_03000F3C;
|
||||
extern void *gUnknown_03000F44;
|
||||
|
||||
static void unused_sub_80A1CDC(struct PaletteStruct *, u32 *);
|
||||
static void unused_sub_80A1E40(struct PaletteStruct *, u32 *);
|
||||
static void unused_sub_80A1F00(struct PaletteStruct *);
|
||||
@@ -73,32 +51,29 @@ static u8 UpdateFastPaletteFade(void);
|
||||
static u8 UpdateHardwarePaletteFade(void);
|
||||
static void UpdateBlendRegisters(void);
|
||||
static bool8 IsSoftwarePaletteFadeFinishing(void);
|
||||
static void sub_80A2D54(u8 taskId);
|
||||
|
||||
void sub_80A1818(u16 a1)
|
||||
{
|
||||
void **v1 = &gUnknown_0852487C;
|
||||
CpuSet(v1[a1 & 0x3], gPlttBufferUnfaded + 0x80, 0x10);
|
||||
BlendPalette(0x80, 0x10, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF);
|
||||
if ((u8)FindTaskIdByFunc(sub_8149DFC) != 0xFF )
|
||||
{
|
||||
gUnknown_03000F44 = sub_80A1670;
|
||||
gUnknown_03000F3C = 0x20;
|
||||
}
|
||||
return;
|
||||
}
|
||||
EWRAM_DATA u16 gPlttBufferUnfaded[0x200] = {0};
|
||||
EWRAM_DATA u16 gPlttBufferFaded[0x200] = {0};
|
||||
EWRAM_DATA struct PaletteStruct sPaletteStructs[0x10] = {0};
|
||||
EWRAM_DATA struct PaletteFadeControl gPaletteFade = {0};
|
||||
static EWRAM_DATA u32 gFiller_2037FE0 = 0;
|
||||
static EWRAM_DATA u32 sPlttBufferTransferPending = 0;
|
||||
EWRAM_DATA u8 gPaletteDecompressionBuffer[0x400] = {0};
|
||||
|
||||
void sub_80A1884(u16 a1)
|
||||
{
|
||||
void **v1 = &gUnknown_0852487C;
|
||||
CpuSet(v1[a1 & 0x3], gPlttBufferUnfaded + 0x80, 0x10);
|
||||
if ((u8)FindTaskIdByFunc(sub_8149DFC) == 0xFF )
|
||||
{
|
||||
BlendPalette(0x80, 0x10, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF);
|
||||
if (!--gUnknown_03000F3C)
|
||||
gUnknown_03000F44 = 0;
|
||||
}
|
||||
return;
|
||||
}
|
||||
static const struct PaletteStructTemplate gDummyPaletteStructTemplate = {
|
||||
.uid = 0xFFFF,
|
||||
.pst_field_B_5 = 1
|
||||
};
|
||||
static const u8 gUnknown_0852489C[] = {
|
||||
0, 0, 0, 0, 0,
|
||||
5, 5, 5, 5, 5,
|
||||
11, 11, 11, 11, 11,
|
||||
16, 16, 16, 16, 16,
|
||||
21, 21, 21, 21, 21,
|
||||
27, 27, 27, 27, 27,
|
||||
31, 31
|
||||
};
|
||||
|
||||
void LoadCompressedPalette(const void *src, u16 offset, u16 size)
|
||||
{
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
|
||||
// Static type declarations
|
||||
|
||||
// Static RAM declarations
|
||||
|
||||
IWRAM_DATA u8 gUnknown_03000F78[0x188];
|
||||
|
||||
// Static ROM declarations
|
||||
|
||||
// .rodata
|
||||
|
||||
// .text
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
|
||||
// Static type declarations
|
||||
|
||||
// Static RAM declarations
|
||||
|
||||
IWRAM_DATA bool8 gUnknown_03001130;
|
||||
IWRAM_DATA struct SecretBaseRecord *gUnknown_03001134;
|
||||
IWRAM_DATA TVShow *gUnknown_03001138;
|
||||
IWRAM_DATA struct UnknownSaveStruct2ABC *gUnknown_0300113C;
|
||||
IWRAM_DATA OldMan *gUnknown_03001140;
|
||||
IWRAM_DATA struct EasyChatPair *gUnknown_03001144;
|
||||
IWRAM_DATA struct DaycareData *gUnknown_03001148;
|
||||
IWRAM_DATA void *gUnknown_0300114C; // gSaveBlock2Ptr->field_64C
|
||||
IWRAM_DATA LilycoveLady *gUnknown_03001150;
|
||||
IWRAM_DATA void *gUnknown_03001154; // gSaveBlock2Ptr->field_0DC;
|
||||
IWRAM_DATA void *gUnknown_03001158; // gSaveBlock2Ptr->field_64C
|
||||
IWRAM_DATA u32 gUnknown_0300115C;
|
||||
IWRAM_DATA u8 gUnknown_03001160[8];
|
||||
IWRAM_DATA u32 gUnknown_03001168[3];
|
||||
|
||||
// Static ROM declarations
|
||||
|
||||
// .rodata
|
||||
|
||||
// .text
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
|
||||
// Static type declarations
|
||||
|
||||
// Static RAM declarations
|
||||
IWRAM_DATA void *gUnknown_03000E0C;
|
||||
IWRAM_DATA u8 gUnknown_03000E10[4];
|
||||
IWRAM_DATA u8 (*gUnknown_03000E14)(u32);
|
||||
IWRAM_DATA u8 gUnknown_03000E18;
|
||||
IWRAM_DATA u8 gUnknown_03000E19;
|
||||
IWRAM_DATA void *rom4_c_unused_03000e1c;
|
||||
|
||||
// Static ROM declarations
|
||||
|
||||
// .rodata
|
||||
|
||||
// .text
|
||||
@@ -0,0 +1,15 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
|
||||
// Static type declarations
|
||||
|
||||
// Static RAM declarations
|
||||
|
||||
IWRAM_DATA u8 gUnknown_03000F30;
|
||||
|
||||
// Static ROM declarations
|
||||
|
||||
// .rodata
|
||||
|
||||
// .text
|
||||
@@ -0,0 +1,16 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
|
||||
// Static type declarations
|
||||
|
||||
// Static RAM declarations
|
||||
|
||||
IWRAM_DATA u8 gUnknown_03001124[6];
|
||||
IWRAM_DATA u32 filler_0300112c;
|
||||
|
||||
// Static ROM declarations
|
||||
|
||||
// .rodata
|
||||
|
||||
// .text
|
||||
+1411
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user