Move libultra variables to their respective headers (#1369)

* internal_rsp; move size_t and NULL to ultratypes.h

* guint.h

* Move system variables to os_system.h

* controller, pi and vi

* osint.h

* piint.h

* siint, ucode, viint, voiceinternal

* Remove remaining variables from variables.h

* format

* final renames

* bss

* review

* review
This commit is contained in:
Anghelo Carvajal
2023-09-15 11:02:27 -03:00
committed by GitHub
parent 626f09266d
commit 4b30f1a654
56 changed files with 226 additions and 274 deletions
+4 -3
View File
@@ -4,6 +4,7 @@
#include "ultratypes.h"
#include "os_cont.h"
#include "os_pfs.h"
#include "rcp.h"
#define CHNL_ERR(format) (((format).rxsize & CHNL_ERR_MASK) >> 4)
@@ -199,10 +200,10 @@ s32 __osPfsGetStatus(OSMesgQueue* queue, s32 channel);
s32 __osContChannelReset(OSMesgQueue* mq, s32 channel);
extern OSPifRam __osContPifRam;
// extern UNK_TYPE1 D_8009CF0C;
extern u8 __osContLastPoll;
extern u8 __osMaxControllers;
// extern OSMesgQueue D_8009CF38;
// extern OSMesg D_8009CF50;
extern OSMesgQueue __osEepromTimerQ;
extern OSMesg __osEepromTimerMsg[];
extern OSPifRam __osPfsPifRam;
#endif
+23
View File
@@ -0,0 +1,23 @@
#ifndef PR_GUINT_H
#define PR_GUINT_H
#include "ultratypes.h"
typedef union {
f64 d;
struct {
u32 hi;
u32 lo;
} word;
} du;
typedef union {
u32 i;
f32 f;
} fu;
#define ROUND(x) (s32)(((x) >= 0.0) ? ((x) + 0.5) : ((x) - 0.5))
extern f32 __libm_qnan_f;
#endif
+1 -2
View File
@@ -6,8 +6,7 @@
#include "os_pi.h"
#include "os_internal_rsp.h"
typedef struct {
typedef struct __osHwInt {
/* 0x00 */ OSMesgQueue* queue;
/* 0x04 */ OSMesg msg;
} __osHwInt; // size = 0x08
-2
View File
@@ -2,12 +2,10 @@
#define PR_OS_INTERNAL_RSP_H
#include "ultratypes.h"
#include "libc/stddef.h"
u32 __osSpGetStatus(void);
void __osSpSetStatus(u32 data);
s32 __osSpSetPc(void* pc);
s32 __osSpRawStartDma(s32 direction, void* devAddr, void* dramAddr, size_t size);
#endif
+3 -2
View File
@@ -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;
@@ -99,6 +99,7 @@ typedef struct {
#define PI_DOMAIN1 0
#define PI_DOMAIN2 1
extern OSPiHandle* __osPiTable;
void osCreatePiManager(OSPri pri, OSMesgQueue* cmdQ, OSMesg* cmdBuf, s32 cmdMsgCnt);
+27
View File
@@ -3,6 +3,33 @@
#include "ultratypes.h"
/*
* Values for osTvType
*/
#define OS_TV_PAL 0
#define OS_TV_NTSC 1
#define OS_TV_MPAL 2
/*
* Size of buffer the retains contents after NMI
*/
#define OS_APP_NMI_BUFSIZE 64
extern s32 osTvType;
extern s32 osRomType;
extern void* osRomBase;
extern s32 osResetType;
extern s32 osCicId;
extern s32 osVersion;
extern u32 osMemSize;
extern s32 osAppNMIBuffer[];
extern u64 osClockRate;
extern s32 osViClock;
extern u32 __OSGlobalIntMask;
u32 osGetMemSize(void);
s32 osAfterPreNMI(void);
+7 -4
View File
@@ -113,12 +113,16 @@ typedef struct {
#define OS_VI_FPAL_HPN2 54
#define OS_VI_FPAL_HPF2 55
#define OS_TV_PAL 0
#define OS_TV_NTSC 1
#define OS_TV_MPAL 2
#define OS_VI_UNK28 28
extern OSViMode osViModeNtscHpf1;
extern OSViMode osViModePalLan1;
extern OSViMode osViModeNtscHpn1;
extern OSViMode osViModeNtscLan1;
extern OSViMode osViModeMpalLan1;
extern OSViMode osViModeFpalLan1;
void* osViGetCurrentFramebuffer(void);
void* osViGetNextFramebuffer(void);
void osViSetXScale(f32 value);
@@ -131,5 +135,4 @@ void osViSwapBuffer(void* frameBufPtr);
void osViBlack(u8 active);
void osCreateViManager(OSPri pri);
#endif
+15
View File
@@ -34,5 +34,20 @@ void __osTimerServicesInit(void);
extern __osHwInt __osHwIntTable[];
extern __OSEventState __osEventStateTab[OS_NUM_EVENTS];
extern __OSThreadTail __osThreadTail;
extern OSThread* __osRunQueue;
extern OSThread* __osActiveQueue;
extern OSThread* __osRunningThread;
extern OSThread* __osFaultedThread;
extern u32 __osShutdown;
extern OSTimer* __osTimerList;
extern OSTimer __osBaseTimer;
extern OSTime __osCurrentTime;
extern u32 __osBaseCounter;
extern u32 __osViIntrCount;
extern u32 __osTimerCounter;
#endif
+9 -1
View File
@@ -6,6 +6,15 @@
#include "libc/stdint.h"
extern OSDevMgr __osPiDevMgr;
extern OSPiHandle* __osCurrentHandle[];
extern u32 __osPiAccessQueueEnabled;
extern OSPiHandle __Dom1SpeedParam;
extern OSPiHandle __Dom2SpeedParam;
extern OSMesgQueue __osPiAccessQueue;
void __osDevMgrMain(void* arg);
void __osPiCreateAccessQueue(void);
void __osPiRelAccess(void);
@@ -16,5 +25,4 @@ s32 __osEPiRawReadIo(OSPiHandle* handle, uintptr_t devAddr, u32* data);
s32 __osEPiRawStartDma(OSPiHandle* handle, s32 direction, uintptr_t cartAddr, void* dramAddr, size_t size);
OSMesgQueue* osPiGetCmdQueue(void);
#endif
+1
View File
@@ -3,6 +3,7 @@
#include "ultratypes.h"
extern u8 __osPfsInodeCacheBank;
void __osSiGetAccess(void);
void __osSiRelAccess(void);
-5
View File
@@ -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
+6
View File
@@ -22,6 +22,12 @@ typedef volatile s64 vs64;
typedef float f32;
typedef double f64;
typedef u32 size_t;
#ifndef NULL
#define NULL (void*)0
#endif
// TODO: move this somewhere else
typedef void* TexturePtr;
+2
View File
@@ -63,6 +63,8 @@ typedef struct {
/* 0x24 */ __OSViScale y;
} __OSViContext; // size = 0x30
extern OSDevMgr __osViDevMgr;
void __osViSwapContext(void);
extern __OSViContext* __osViCurr;
extern __OSViContext* __osViNext;
+8
View File
@@ -0,0 +1,8 @@
#ifndef PR_VOICE_INTERNAL_H
#define PR_VOICE_INTERNAL_H
#include "ultratypes.h"
extern s32 __osPfsLastChannel;
#endif
+2 -2
View File
@@ -103,7 +103,7 @@ typedef struct FaultMgr {
/* 0x844 */ void* fb;
} FaultMgr; // size = 0x848
extern FaultMgr gFaultMgr;
// TODO: Commented out to try to avoid bss reorder in fault.c
// extern FaultMgr gFaultMgr;
#endif
-15
View File
@@ -10,21 +10,6 @@
#define SHT_MAX 32767.0f
#define SHT_MINV (1.0f / SHT_MAX)
typedef union {
f64 d;
struct {
u32 hi;
u32 lo;
} word;
} du;
typedef union {
u32 i;
f32 f;
} fu;
extern f32 __libm_qnan_f;
float fabsf(float f);
#pragma intrinsic(fabsf)
#ifdef __GNUC__
-6
View File
@@ -3,14 +3,8 @@
#include "PR/ultratypes.h"
typedef u32 size_t;
typedef s32 ptrdiff_t;
#ifndef NULL
#define NULL (void*)0
#endif
#ifdef __GNUC__
#define offsetof(structure, member) __builtin_offsetof (structure, member)
#else
-2
View File
@@ -95,8 +95,6 @@
#define CLAMP_MAX(x, max) ((x) > (max) ? (max) : (x))
#define CLAMP_MIN(x, min) ((x) < (min) ? (min) : (x))
#define ROUND(x) (s32)(((x) >= 0.0) ? ((x) + 0.5) : ((x) - 0.5))
#define SWAP(type, a, b) \
{ \
type _temp = (a); \
+1
View File
@@ -5,6 +5,7 @@
#include "PR/gbi.h"
#include "PR/gu.h"
#include "PR/guint.h"
#include "PR/controller_voice.h"
#include "PR/hardware.h"
#include "PR/os.h"
-124
View File
@@ -6,14 +6,6 @@
#include "macros.h"
// pre-boot variables
extern u32 osTvType;
extern u32 osRomType;
extern uintptr_t osRomBase;
extern u32 osResetType;
extern u32 osCicId;
extern u32 osVersion;
extern size_t osMemSize;
extern s32 osAppNmiBuffer[0x10];
extern u16 gFramebuffer1[SCREEN_HEIGHT][SCREEN_WIDTH]; // at 0x80000500
extern u8 D_80025D00[];
@@ -31,103 +23,7 @@ extern s32 sIrqMgrRetraceCount;
// extern UNK_TYPE1 sGfxPrintFontData;
// extern UNK_TYPE4 D_80097524;
// extern u32 sRandInt;
extern OSViMode osViModeNtscHpf1;
extern OSViMode osViModePalLan1;
extern s16 sintable[0x400];
// extern UNK_TYPE1 D_80097DE4;
// extern UNK_TYPE4 D_80097E08;
extern OSThread* __osThreadTail;
extern OSThread* __osRunQueue;
extern OSThread* __osActiveQueue;
extern OSThread* __osRunningThread;
extern OSThread* __osFaultedThread;
extern u32 __osSiAccessQueueEnabled;
extern UNK_TYPE4 D_80097E40;
extern u64 osClockRate;
extern s32 osViClock;
extern UNK_TYPE4 __osShutdown;
extern UNK_TYPE4 __OSGlobalIntMask;
extern OSDevMgr __osPiDevMgr;
extern OSPiHandle* __osPiTable;
extern OSPiHandle* __osCurrentHandle[];
extern UNK_TYPE4 __osPiAccessQueueEnabled;
extern OSViMode osViModeNtscHpn1;
extern s32 __osPfsInodeCacheChannel;
extern u8 __osPfsInodeCacheBank;
extern UNK_TYPE4 D_80097F10;
extern char spaces[];
extern char zeroes[];
extern OSTimer* __osTimerList;
extern s32 __osPfsLastChannel;
extern OSViMode osViModeNtscLan1;
extern OSViMode osViModeMpalLan1;
// extern __OSViContext D_80098060[2];
// extern UNK_TYPE4 sCartRomNeedsInit;
extern OSViMode osViModeFpalLan1;
// extern u8 ldigs[];
// extern u8 udigs[];
// extern OSDevMgr __osViDevMgr;
extern char bootThreadName[];
extern char idleThreadName[];
extern char irqmgrThreadName[];
extern char mainThreadName[];
extern f32 D_800981B0;
extern char D_800981C0[];
extern const char dmamgrString800981C4[];
extern const char dmamgrString800981D4[];
extern const char dmamgrString800981E4[];
extern const char dmamgrString800981F4[];
extern const char dmamgrThreadName[];
extern char D_80098210[];
extern char yaz0String80098220[];
extern char yaz0String8009823C[];
extern char D_80098280[];
extern char D_80098290[];
extern char D_800982A4[];
extern char D_800990B0[];
extern f32 D_800990C0[9];
extern f32 D_800990E4;
extern f32 D_800990E8;
extern f32 D_800990EC;
extern f32 D_800990F0;
extern f32 D_800990F4;
extern f32 D_800990F8;
extern f32 D_800990FC;
extern f32 D_80099100;
extern f32 D_80099104;
extern f32 D_80099108;
extern f32 D_8009910C;
extern u16 D_800991A0[64];
extern du P[5];
extern du rpi;
extern du pihi;
extern du pilo;
extern fu zero;
// extern UNK_TYPE1 D_80099270;
extern UNK_PTR __osIntTable;
extern f64 D_800992C0;
extern f64 D_800992F0;
extern f64 D_800992F8;
extern char D_80099300[];
extern char D_80099304[];
extern unsigned int D_8009930C[6];
extern f32 D_80099400;
extern f64 D_80099428;
extern f64 D_80099430;
extern f64 D_80099438;
// extern UNK_TYPE4 D_80099440;
extern f32 __libm_qnan_f;
extern f64 D_80099460[9];
extern char D_800994A8[];
extern char D_800994AC[];
extern char D_800994B0[];
// extern UNK_TYPE1 D_800994B1;
extern f64 D_800994B8;
extern f64 D_800994C0;
extern f64 D_800994C8;
extern char gBuildTeam[];
extern char gBuildDate[];
extern char gBuildMakeOption[];
@@ -145,29 +41,9 @@ extern void* gYaz0DecompressDstEnd;
// extern UNK_TYPE4 D_8009CD10;
extern u32 sRandFloat;
// extern UNK_TYPE4 sArenaLockMsg;
extern OSTask tmp_task;
extern OSMesg siAccessBuf[1];
extern OSMesgQueue __osSiAccessQueue;
extern OSThread __osThreadSave;
extern OSPiHandle D_8009D130;
extern OSPiHandle D_8009D1A8;
extern OSMesg D_8009E3F0[1];
extern OSMesgQueue __osPiAccessQueue;
extern __OSInode __osPfsInodeCache;
extern OSTimer D_8009E590;
extern OSTime __osCurrentTime;
extern u32 __osBaseCounter;
extern u32 __osViIntrCount;
extern u32 __osTimerCounter;
extern OSPifRam __osPfsPifRam;
extern OSPiHandle CartRomHandle;
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];

Some files were not shown because too many files have changed in this diff Show More