diff --git a/include/variables.h b/include/variables.h index e7f69e60..d1f83570 100644 --- a/include/variables.h +++ b/include/variables.h @@ -44,7 +44,7 @@ * 6MB depending on osMemSize, which is really strange as it should be using the whole * 8MB of the expansion pak. */ -extern u8 gPool[1]; +extern u8 gPool[]; extern Gfx* gDisplayListHead; diff --git a/linker_scripts/us/symbol_addrs.txt b/linker_scripts/us/symbol_addrs.txt index 2dd33989..ab32fade 100644 --- a/linker_scripts/us/symbol_addrs.txt +++ b/linker_scripts/us/symbol_addrs.txt @@ -99,7 +99,7 @@ gSoftResetLineNum = 0x800A7300; gSoftResetRed = 0x800A7308; gSoftResetGreen = 0x800A730C; gSoftResetBlue = 0x800A7310; -gControllers = 0x800A7320; //defined:true +gControllers = 0x800A7320; //defined:true size:0x90 fragment1_ROM_START = 0x7F980; // defined:true fragment1_misc_yay0_ROM_START = 0xADC80; // defined:true fragment2_ROM_START = 0x107FA0; // defined:true @@ -232,7 +232,7 @@ _79AFB0_ROM_START = 0x79AFB0; // defined:true _79AFB0_ROM_END = 0x79B8F0; // defined:true D_86002B84 = 0x86002B84; // size:3 D_86002B88 = 0x86002B88; // size:3 -F3DEX2_bin = 0x80066090; +_binary_assets_us_F3DEX2_bin_start = 0x80066090; // defined:true F3DEX2_data_bin = 0x8007E650; D_87A01178 = 0x87A01178; D_87A01180 = 0x87A01180; diff --git a/src/dp_intro.c b/src/dp_intro.c index 52f23390..b83c7072 100644 --- a/src/dp_intro.c +++ b/src/dp_intro.c @@ -72,7 +72,7 @@ extern struct UnkArray4 D_8008474C; extern s32 D_80068B70; -extern u64 F3DEX2_bin[]; +extern u64 _binary_assets_us_F3DEX2_bin_start[]; extern u64 F3DEX2_data_bin[]; // F3DEX2_data.bin extern u64 D_80084860[0x1]; extern u64 D_80085870[0x1]; @@ -110,7 +110,7 @@ void func_80001380(struct UnkStruct80001380* arg0) { arg0->task.t.flags = 0; arg0->task.t.ucode_boot = D_80084760; arg0->task.t.ucode_boot_size = 0x100; - arg0->task.t.ucode = F3DEX2_bin; + arg0->task.t.ucode = _binary_assets_us_F3DEX2_bin_start; arg0->task.t.ucode_data = F3DEX2_data_bin; arg0->task.t.ucode_size = 0x1000; arg0->task.t.ucode_data_size = 0x800; diff --git a/src/heap.c b/src/heap.c index 452b6980..3680438f 100644 --- a/src/heap.c +++ b/src/heap.c @@ -1,3 +1,3 @@ #include "global.h" -u8 gPool[1]; // unk determinate size. +u8 gPool[0x80600000-0x80100000]; // unk determinate size. Large generic size to compile. diff --git a/yamls/us/rom.yaml b/yamls/us/rom.yaml index 19740190..1e9c0af0 100644 --- a/yamls/us/rom.yaml +++ b/yamls/us/rom.yaml @@ -316,13 +316,15 @@ - [0x66B50, lib, libultra, sethwinterrupt] #- [0x66BC0, asm] - - [0x66BC0, bin] - - [0x66C90, bin, F3DEX2] - - [0x68020, bin] # rest of rom part 1 + - [0x66BC0, data] + - [0x66C90, data, F3DEX2] + - [0x68020, data, unk_F3DEX2_68020] + - [0x68C80, data, unk_F3DEX2_68C80] - # .data is somewhere in here + # .data + - [0x69770, data, rom_data_69770] # dp_intro - [0x69790, .data, util] - - [0x697A0, bin, rom_data_697A0] + - [0x697A0, data, rom_data_697A0] - [0x697B0, .data, 6BC0] - [0x697C0, .data, stage_loader] - [0x6A1B0, .data, crash_screen] @@ -488,6 +490,7 @@ bss_size: 0x0 # This heap extends to the end of RAM. start: 0x7F980 vram: 0x80104BB0 + follows_vram: text subsegments: # .bss - {vram: 0x80104BB0, type: .bss, name: heap} @@ -2424,6 +2427,7 @@ - [0x79AFB0, bin] - [0x79B8F0] + # rest of ROM.. part 2. This area and beyond NEEDS to be hard-aligned to this address. # for the ROM to be shiftable, we need a way to fix this area beyond here to this address and for the prior area # to be filled with FFs instead of being binned. TODO: Make it shift