diff --git a/include/PR/controller.h b/include/PR/controller.h index 5f8d439ddd..cd3032020c 100644 --- a/include/PR/controller.h +++ b/include/PR/controller.h @@ -202,7 +202,7 @@ extern OSPifRam __osContPifRam; extern u8 __osContLastPoll; extern u8 __osMaxControllers; extern OSMesgQueue __osEepromTimerQ; -extern OSMesg __osEepromTimerMsg; +extern OSMesg __osEepromTimerMsg[]; extern OSPifRam __osPfsPifRam; #endif diff --git a/include/PR/os_internal.h b/include/PR/os_internal.h index eadd0182b8..c91fe56253 100644 --- a/include/PR/os_internal.h +++ b/include/PR/os_internal.h @@ -6,19 +6,9 @@ #include "os_pi.h" -typedef struct { +typedef struct __osHwInt { /* 0x00 */ OSMesgQueue* queue; /* 0x04 */ OSMesg msg; } __osHwInt; // size = 0x08 -typedef struct { - /* 0x00 */ u32 initialized; - /* 0x04 */ OSThread* mgrThread; - /* 0x08 */ OSMesgQueue* cmdQueue; - /* 0x0C */ OSMesgQueue* eventQueue; - /* 0x10 */ OSMesgQueue* accessQueue; - /* 0x14 */ s32 (*piDmaCallback)(s32, uintptr_t, void*, size_t); - /* 0x18 */ s32 (*epiDmaCallback)(OSPiHandle*, s32, uintptr_t, void*, size_t); -} OSMgrArgs; // size = 0x1C - #endif diff --git a/include/PR/os_pi.h b/include/PR/os_pi.h index 74f9d2a478..1fd3d8e297 100644 --- a/include/PR/os_pi.h +++ b/include/PR/os_pi.h @@ -60,8 +60,8 @@ typedef struct { /* 0x14 */ OSPiHandle* piHandle; } OSIoMesg; // size = 0x88 -typedef struct { - /* 0x00 */ s32 active; // u32 maybe? need to check +typedef struct OSDevMgr { + /* 0x00 */ s32 active; /* 0x04 */ OSThread* thread; /* 0x08 */ OSMesgQueue* cmdQueue; /* 0x0C */ OSMesgQueue* evtQueue; diff --git a/include/PR/osint.h b/include/PR/osint.h index 5c14b29401..f472a35f59 100644 --- a/include/PR/osint.h +++ b/include/PR/osint.h @@ -34,7 +34,7 @@ void __osTimerServicesInit(void); extern __osHwInt __osHwIntTable[]; extern __OSEventState __osEventStateTab[OS_NUM_EVENTS]; -extern OSThread* __osThreadTail; +extern __OSThreadTail __osThreadTail; extern OSThread* __osRunQueue; extern OSThread* __osActiveQueue; extern OSThread* __osRunningThread; diff --git a/include/PR/ucode.h b/include/PR/ucode.h index 2314222ba6..848983ebee 100644 --- a/include/PR/ucode.h +++ b/include/PR/ucode.h @@ -23,9 +23,4 @@ extern u64 gspF3DZEX2_NoN_PosLight_fifoTextEnd[]; extern u64 gspF3DZEX2_NoN_PosLight_fifoDataStart[]; extern u64 gspF3DZEX2_NoN_PosLight_fifoDataEnd[]; -extern u64 gspS2DEX2_fifoTextStart[]; -extern u64 gspS2DEX2_fifoTextEnd[]; -extern u64 gspS2DEX2_fifoDataStart[]; -extern u64 gspS2DEX2_fifoDataEnd[]; - #endif diff --git a/include/variables.h b/include/variables.h index 9b295d497a..9fd61496c1 100644 --- a/include/variables.h +++ b/include/variables.h @@ -76,7 +76,6 @@ extern u32 sRandFloat; extern DmaEntry dmadata[1568]; // extern UNK_TYPE1 D_80186028; -extern u64 aspMainTextStart[]; extern u8 sDropTable[DROP_TABLE_SIZE * DROP_TABLE_NUMBER]; extern u8 sDropTableAmounts[DROP_TABLE_SIZE * DROP_TABLE_NUMBER]; diff --git a/src/boot_O2_g3/fault.c b/src/boot_O2_g3/fault.c index f62dfb8b7c..84d7c164f4 100644 --- a/src/boot_O2_g3/fault.c +++ b/src/boot_O2_g3/fault.c @@ -42,15 +42,20 @@ #include "fault_internal.h" #include "fault.h" -#include "global.h" +#include "prevent_bss_reordering.h" +#include "prevent_bss_reordering2.h" #include "vt.h" #include "PR/osint.h" #include "stackcheck.h" #include "z64thread.h" +#include "main.h" +#include "macros.h" +#include "global.h" FaultMgr* sFaultInstance; f32 sFaultTimeTotal; // read but not set anywhere + // data const char* sCpuExceptions[] = { "Interrupt", diff --git a/src/code/z_collision_check.c b/src/code/z_collision_check.c index af1f4ad6c9..39b57cbd03 100644 --- a/src/code/z_collision_check.c +++ b/src/code/z_collision_check.c @@ -1,4 +1,3 @@ -#include "prevent_bss_reordering.h" #include "global.h" #include "z64collision_check.h" diff --git a/src/code/z_demo.c b/src/code/z_demo.c index ba9199dbb8..f1966008cf 100644 --- a/src/code/z_demo.c +++ b/src/code/z_demo.c @@ -1,5 +1,5 @@ -#include "PR/ultratypes.h" #include "prevent_bss_reordering.h" +#include "PR/ultratypes.h" #include "prevent_bss_reordering2.h" // Variables are put before most headers as a hacky way to bypass bss reordering diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c index 3ba6a9e993..a3dc07aafe 100644 --- a/src/code/z_parameter.c +++ b/src/code/z_parameter.c @@ -1,4 +1,5 @@ #include "global.h" +#include "PR/gs2dex.h" #include "sys_cfb.h" #include "z64snap.h" #include "z64view.h" diff --git a/src/code/z_room.c b/src/code/z_room.c index 28a2974993..b8de6caeca 100644 --- a/src/code/z_room.c +++ b/src/code/z_room.c @@ -1,4 +1,5 @@ #include "global.h" +#include "PR/gs2dex.h" #include "debug.h" void Room_Noop(PlayState* play, Room* room, Input* input, s32 arg3) { diff --git a/src/libultra/io/pirawdma.c b/src/libultra/io/pirawdma.c index 07aa1b8221..5aba2946ef 100644 --- a/src/libultra/io/pirawdma.c +++ b/src/libultra/io/pirawdma.c @@ -9,7 +9,7 @@ s32 __osPiRawStartDma(s32 direction, uintptr_t devAddr, void* dramAddr, size_t s HW_REG(PI_DRAM_ADDR_REG, u32) = osVirtualToPhysical(dramAddr); - HW_REG(PI_CART_ADDR_REG, u32) = ((osRomBase | devAddr) & 0x1FFFFFFF); + HW_REG(PI_CART_ADDR_REG, u32) = K1_TO_PHYS((uintptr_t)osRomBase | devAddr); switch (direction) { case OS_READ: diff --git a/src/libultra/io/vimgr.c b/src/libultra/io/vimgr.c index f38974b8aa..ffeaec6305 100644 --- a/src/libultra/io/vimgr.c +++ b/src/libultra/io/vimgr.c @@ -9,7 +9,7 @@ OSMesgQueue viEventQueue; OSMesg viEventBuf[6]; OSIoMesg viRetraceMsg; OSIoMesg viCounterMsg; -OSMgrArgs __osViDevMgr = { 0 }; +OSDevMgr __osViDevMgr = { 0 }; u32 __additional_scanline = 0; void viMgrMain(void*); @@ -19,7 +19,7 @@ void osCreateViManager(OSPri pri) { OSPri newPri; OSPri currentPri; - if (!__osViDevMgr.initialized) { + if (!__osViDevMgr.active) { __osTimerServicesInit(); __additional_scanline = 0; osCreateMesgQueue(&viEventQueue, viEventBuf, ARRAY_COUNT(viEventBuf) - 1); @@ -39,11 +39,11 @@ void osCreateViManager(OSPri pri) { } prevInt = __osDisableInt(); - __osViDevMgr.initialized = true; - __osViDevMgr.mgrThread = &viThread; + __osViDevMgr.active = true; + __osViDevMgr.thread = &viThread; __osViDevMgr.cmdQueue = &viEventQueue; - __osViDevMgr.eventQueue = &viEventQueue; - __osViDevMgr.accessQueue = NULL; + __osViDevMgr.evtQueue = &viEventQueue; + __osViDevMgr.acsQueue = NULL; __osViDevMgr.piDmaCallback = NULL; __osViDevMgr.epiDmaCallback = NULL; @@ -58,7 +58,7 @@ void osCreateViManager(OSPri pri) { } void viMgrMain(void* vargs) { - OSMgrArgs* args; + OSDevMgr* args; static u16 viRetrace; u32 addTime; OSIoMesg* mesg; @@ -70,10 +70,10 @@ void viMgrMain(void* vargs) { viRetrace = 1; } - args = (OSMgrArgs*)vargs; + args = (OSDevMgr*)vargs; while (true) { - osRecvMesg(args->eventQueue, (OSMesg*)&mesg, OS_MESG_BLOCK); + osRecvMesg(args->evtQueue, (OSMesg*)&mesg, OS_MESG_BLOCK); switch (mesg->hdr.type) { case OS_MESG_TYPE_VRETRACE: __osViSwapContext(); diff --git a/src/libultra/rmon/xlitob.c b/src/libultra/rmon/xlitob.c index 34e9936e80..ddb1904ccd 100644 --- a/src/libultra/rmon/xlitob.c +++ b/src/libultra/rmon/xlitob.c @@ -8,7 +8,7 @@ char udigs[] = "0123456789ABCDEF"; void _Litob(_Pft* args, u8 type) { u8 buff[BUFF_LEN]; - const u8* numMap; + const char* numMap; s32 base; s32 idx; u64 num; diff --git a/src/overlays/actors/ovl_Boss_03/z_boss_03.c b/src/overlays/actors/ovl_Boss_03/z_boss_03.c index 168da53689..20a25036f9 100644 --- a/src/overlays/actors/ovl_Boss_03/z_boss_03.c +++ b/src/overlays/actors/ovl_Boss_03/z_boss_03.c @@ -49,7 +49,6 @@ * - Seaweed */ -#include "prevent_bss_reordering.h" #include "z_boss_03.h" #include "overlays/actors/ovl_Door_Warp1/z_door_warp1.h" #include "overlays/actors/ovl_En_Water_Effect/z_en_water_effect.h" diff --git a/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c b/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c index 33e49d6e5b..35bf70e5a9 100644 --- a/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c +++ b/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c @@ -4,6 +4,7 @@ * Description: Fishing Pond Elements (Owner, Fish, Props, Effects...) */ +#include "prevent_bss_reordering.h" #include "z_en_fishing.h" #include "z64rumble.h" #include "z64shrink_window.h" diff --git a/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope_NES.c b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope_NES.c index 04567cf9d9..6b451b506e 100644 --- a/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope_NES.c +++ b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope_NES.c @@ -4,6 +4,7 @@ * Description: Pause Menu */ +#include "prevent_bss_reordering.h" #include "z_kaleido_scope.h" #include "z64view.h" #include "overlays/gamestates/ovl_opening/z_opening.h"