mirror of https://github.com/zeldaret/mm.git
				
				
				
			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:
		
							parent
							
								
									626f09266d
								
							
						
					
					
						commit
						4b30f1a654
					
				| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			@ -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,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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,6 +3,7 @@
 | 
			
		|||
 | 
			
		||||
#include "ultratypes.h"
 | 
			
		||||
 | 
			
		||||
extern u8 __osPfsInodeCacheBank;
 | 
			
		||||
 | 
			
		||||
void __osSiGetAccess(void);
 | 
			
		||||
void __osSiRelAccess(void);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -63,6 +63,8 @@ typedef struct {
 | 
			
		|||
    /* 0x24 */ __OSViScale y;
 | 
			
		||||
} __OSViContext; // size = 0x30
 | 
			
		||||
 | 
			
		||||
extern OSDevMgr __osViDevMgr;
 | 
			
		||||
 | 
			
		||||
void __osViSwapContext(void);
 | 
			
		||||
extern __OSViContext* __osViCurr;
 | 
			
		||||
extern __OSViContext* __osViNext;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
#ifndef PR_VOICE_INTERNAL_H
 | 
			
		||||
#define PR_VOICE_INTERNAL_H
 | 
			
		||||
 | 
			
		||||
#include "ultratypes.h"
 | 
			
		||||
 | 
			
		||||
extern s32 __osPfsLastChannel;
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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__
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);   \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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];
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,6 +2,7 @@
 | 
			
		|||
#define Z64ACTOR_H
 | 
			
		||||
 | 
			
		||||
#include "PR/ultratypes.h"
 | 
			
		||||
#include "color.h"
 | 
			
		||||
#include "padutils.h"
 | 
			
		||||
#include "z64math.h"
 | 
			
		||||
#include "z64animation.h"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,6 +6,7 @@
 | 
			
		|||
#include "z64dma.h"
 | 
			
		||||
#include "z64math.h"
 | 
			
		||||
 | 
			
		||||
struct GameState;
 | 
			
		||||
struct PlayState;
 | 
			
		||||
struct Actor;
 | 
			
		||||
struct SkelAnime;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,6 +42,7 @@
 | 
			
		|||
 | 
			
		||||
#include "fault_internal.h"
 | 
			
		||||
#include "fault.h"
 | 
			
		||||
#include "prevent_bss_reordering2.h"
 | 
			
		||||
#include "global.h"
 | 
			
		||||
#include "vt.h"
 | 
			
		||||
#include "PR/osint.h"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,4 @@
 | 
			
		|||
#include "prevent_bss_reordering.h"
 | 
			
		||||
#include "irqmgr.h"
 | 
			
		||||
#include "main.h"
 | 
			
		||||
#include "stack.h"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,6 +36,8 @@
 | 
			
		|||
#include "PR/os_motor.h"
 | 
			
		||||
#include "fault.h"
 | 
			
		||||
 | 
			
		||||
extern FaultMgr gFaultMgr;
 | 
			
		||||
 | 
			
		||||
#define PADMGR_RETRACE_MSG (1 << 0)
 | 
			
		||||
#define PADMGR_PRE_NMI_MSG (1 << 1)
 | 
			
		||||
#define PADMGR_NMI_MSG (1 << 2)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,8 +3,7 @@
 | 
			
		|||
 * Description:
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "prevent_bss_reordering.h"
 | 
			
		||||
#include "global.h"
 | 
			
		||||
#include "z64actor.h"
 | 
			
		||||
#include "fault.h"
 | 
			
		||||
#include "sys_cfb.h"
 | 
			
		||||
#include "loadfragment.h"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,6 +43,7 @@
 | 
			
		|||
 *
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "prevent_bss_reordering.h"
 | 
			
		||||
#include "global.h"
 | 
			
		||||
#include "libc/string.h"
 | 
			
		||||
#include "z64quake.h"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,3 @@
 | 
			
		|||
#include "prevent_bss_reordering.h"
 | 
			
		||||
#include "global.h"
 | 
			
		||||
#include "z64collision_check.h"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,7 +13,7 @@ typedef struct {
 | 
			
		|||
NmiBuff* gNMIBuffer;
 | 
			
		||||
 | 
			
		||||
void Nmi_Init(void) {
 | 
			
		||||
    gNMIBuffer = (NmiBuff*)osAppNmiBuffer;
 | 
			
		||||
    gNMIBuffer = (NmiBuff*)osAppNMIBuffer;
 | 
			
		||||
    gNMIBuffer->resetting = false;
 | 
			
		||||
 | 
			
		||||
    if (osResetType == COLD_RESET) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
#include "global.h"
 | 
			
		||||
#include "PR/gs2dex.h"
 | 
			
		||||
#include "sys_cfb.h"
 | 
			
		||||
#include "z64snap.h"
 | 
			
		||||
#include "z64view.h"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
#include "global.h"
 | 
			
		||||
 | 
			
		||||
OSPiHandle CartRomHandle;
 | 
			
		||||
OSPiHandle __CartRomHandle;
 | 
			
		||||
 | 
			
		||||
OSPiHandle* osCartRomInit(void) {
 | 
			
		||||
    register u32 initialConfig;
 | 
			
		||||
| 
						 | 
				
			
			@ -17,15 +17,15 @@ OSPiHandle* osCartRomInit(void) {
 | 
			
		|||
 | 
			
		||||
    if (!sCartRomNeedsInit) {
 | 
			
		||||
        __osPiRelAccess();
 | 
			
		||||
        return &CartRomHandle;
 | 
			
		||||
        return &__CartRomHandle;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    sCartRomNeedsInit = false;
 | 
			
		||||
    CartRomHandle.type = DEVICE_TYPE_CART;
 | 
			
		||||
    CartRomHandle.baseAddress = 0xB0000000;
 | 
			
		||||
    CartRomHandle.domain = 0;
 | 
			
		||||
    CartRomHandle.speed = 0;
 | 
			
		||||
    bzero(&CartRomHandle.transferInfo, sizeof(__OSTranxInfo));
 | 
			
		||||
    __CartRomHandle.type = DEVICE_TYPE_CART;
 | 
			
		||||
    __CartRomHandle.baseAddress = 0xB0000000;
 | 
			
		||||
    __CartRomHandle.domain = 0;
 | 
			
		||||
    __CartRomHandle.speed = 0;
 | 
			
		||||
    bzero(&__CartRomHandle.transferInfo, sizeof(__OSTranxInfo));
 | 
			
		||||
 | 
			
		||||
    /* Uses `status & PI_STATUS_ERROR` in OoT */
 | 
			
		||||
    while (status = HW_REG(PI_STATUS_REG, u32), status & (PI_STATUS_DMA_BUSY | PI_STATUS_IO_BUSY)) {
 | 
			
		||||
| 
						 | 
				
			
			@ -42,11 +42,11 @@ OSPiHandle* osCartRomInit(void) {
 | 
			
		|||
    HW_REG(PI_BSD_DOM1_RLS_REG, u32) = 3;
 | 
			
		||||
    HW_REG(PI_BSD_DOM1_PWD_REG, u32) = 0xFF;
 | 
			
		||||
 | 
			
		||||
    initialConfig = HW_REG(CartRomHandle.baseAddress, u32);
 | 
			
		||||
    CartRomHandle.latency = initialConfig & 0xFF;
 | 
			
		||||
    CartRomHandle.pageSize = (initialConfig >> 0x10) & 0xF;
 | 
			
		||||
    CartRomHandle.relDuration = (initialConfig >> 0x14) & 0xF;
 | 
			
		||||
    CartRomHandle.pulse = (initialConfig >> 8) & 0xFF;
 | 
			
		||||
    initialConfig = HW_REG(__CartRomHandle.baseAddress, u32);
 | 
			
		||||
    __CartRomHandle.latency = initialConfig & 0xFF;
 | 
			
		||||
    __CartRomHandle.pageSize = (initialConfig >> 0x10) & 0xF;
 | 
			
		||||
    __CartRomHandle.relDuration = (initialConfig >> 0x14) & 0xF;
 | 
			
		||||
    __CartRomHandle.pulse = (initialConfig >> 8) & 0xFF;
 | 
			
		||||
 | 
			
		||||
    HW_REG(PI_BSD_DOM1_LAT_REG, u32) = lastLatency;
 | 
			
		||||
    HW_REG(PI_BSD_DOM1_PGS_REG, u32) = lastPageSize;
 | 
			
		||||
| 
						 | 
				
			
			@ -54,10 +54,10 @@ OSPiHandle* osCartRomInit(void) {
 | 
			
		|||
    HW_REG(PI_BSD_DOM1_PWD_REG, u32) = lastPulse;
 | 
			
		||||
 | 
			
		||||
    prevInt = __osDisableInt();
 | 
			
		||||
    CartRomHandle.next = __osPiTable;
 | 
			
		||||
    __osPiTable = &CartRomHandle;
 | 
			
		||||
    __CartRomHandle.next = __osPiTable;
 | 
			
		||||
    __osPiTable = &__CartRomHandle;
 | 
			
		||||
    __osRestoreInt(prevInt);
 | 
			
		||||
    __osPiRelAccess();
 | 
			
		||||
 | 
			
		||||
    return &CartRomHandle;
 | 
			
		||||
    return &__CartRomHandle;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
#include "global.h"
 | 
			
		||||
#include "PR/voice_internal.h"
 | 
			
		||||
 | 
			
		||||
#define BLOCKSIZE 32
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
#include "ultra64.h"
 | 
			
		||||
#include "PR/voice_internal.h"
 | 
			
		||||
#include "global.h"
 | 
			
		||||
 | 
			
		||||
s32 __osContRamWrite(OSMesgQueue* mq, s32 channel, u16 address, u8* buffer, s32 force) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,14 +1,14 @@
 | 
			
		|||
#include "global.h"
 | 
			
		||||
 | 
			
		||||
UNK_TYPE4 D_80097E40 = 0;
 | 
			
		||||
s32 __osContinitialized = false;
 | 
			
		||||
 | 
			
		||||
OSPifRam __osContPifRam;
 | 
			
		||||
u8 __osContLastPoll;
 | 
			
		||||
u8 __osMaxControllers;
 | 
			
		||||
 | 
			
		||||
OSTimer __osEepromTimer;
 | 
			
		||||
OSMesgQueue D_8009CF38;
 | 
			
		||||
OSMesg D_8009CF50[1];
 | 
			
		||||
OSMesgQueue __osEepromTimerQ;
 | 
			
		||||
OSMesg __osEepromTimerMsg[1];
 | 
			
		||||
 | 
			
		||||
s32 osContInit(OSMesgQueue* mq, u8* bitpattern, OSContStatus* data) {
 | 
			
		||||
    OSMesg dummy;
 | 
			
		||||
| 
						 | 
				
			
			@ -17,11 +17,11 @@ s32 osContInit(OSMesgQueue* mq, u8* bitpattern, OSContStatus* data) {
 | 
			
		|||
    OSTimer mytimer;
 | 
			
		||||
    OSMesgQueue timerMesgQueue;
 | 
			
		||||
 | 
			
		||||
    if (D_80097E40 != 0) {
 | 
			
		||||
    if (__osContinitialized) {
 | 
			
		||||
        return 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    D_80097E40 = 1;
 | 
			
		||||
    __osContinitialized = true;
 | 
			
		||||
 | 
			
		||||
    t = osGetTime();
 | 
			
		||||
    if (t < 0x165A0BC) {
 | 
			
		||||
| 
						 | 
				
			
			@ -43,7 +43,7 @@ s32 osContInit(OSMesgQueue* mq, u8* bitpattern, OSContStatus* data) {
 | 
			
		|||
    __osContGetInitData(bitpattern, data);
 | 
			
		||||
    __osContLastPoll = 0;
 | 
			
		||||
    __osSiCreateAccessQueue();
 | 
			
		||||
    osCreateMesgQueue(&D_8009CF38, D_8009CF50, ARRAY_COUNT(D_8009CF50));
 | 
			
		||||
    osCreateMesgQueue(&__osEepromTimerQ, __osEepromTimerMsg, ARRAY_COUNT(__osEepromTimerMsg));
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,13 +1,13 @@
 | 
			
		|||
#include "global.h"
 | 
			
		||||
 | 
			
		||||
UNK_TYPE4 __osPiAccessQueueEnabled = 0;
 | 
			
		||||
u32 __osPiAccessQueueEnabled = 0;
 | 
			
		||||
 | 
			
		||||
OSMesg D_8009E3F0[1];
 | 
			
		||||
OSMesg piAccessBuf[1];
 | 
			
		||||
OSMesgQueue __osPiAccessQueue;
 | 
			
		||||
 | 
			
		||||
void __osPiCreateAccessQueue(void) {
 | 
			
		||||
    __osPiAccessQueueEnabled = 1;
 | 
			
		||||
    osCreateMesgQueue(&__osPiAccessQueue, D_8009E3F0, ARRAY_COUNT(D_8009E3F0));
 | 
			
		||||
    osCreateMesgQueue(&__osPiAccessQueue, piAccessBuf, ARRAY_COUNT(piAccessBuf));
 | 
			
		||||
    osSendMesg(&__osPiAccessQueue, NULL, OS_MESG_NOBLOCK);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,12 +1,12 @@
 | 
			
		|||
#include "global.h"
 | 
			
		||||
#include "stack.h"
 | 
			
		||||
 | 
			
		||||
OSPiHandle D_8009D130;
 | 
			
		||||
OSPiHandle D_8009D1A8;
 | 
			
		||||
OSPiHandle __Dom1SpeedParam;
 | 
			
		||||
OSPiHandle __Dom2SpeedParam;
 | 
			
		||||
OSThread sPiMgrThread;
 | 
			
		||||
STACK(sPiMgrStack, 0x1000);
 | 
			
		||||
OSMesgQueue D_8009E3D0;
 | 
			
		||||
OSMesg D_8009E3E8[1];
 | 
			
		||||
OSMesgQueue piEventQueue;
 | 
			
		||||
OSMesg piEventBuf[1];
 | 
			
		||||
 | 
			
		||||
void osCreatePiManager(OSPri pri, OSMesgQueue* cmdQ, OSMesg* cmdBuf, s32 cmdMsgCnt) {
 | 
			
		||||
    u32 savedMask;
 | 
			
		||||
| 
						 | 
				
			
			@ -15,11 +15,11 @@ void osCreatePiManager(OSPri pri, OSMesgQueue* cmdQ, OSMesg* cmdBuf, s32 cmdMsgC
 | 
			
		|||
 | 
			
		||||
    if (!__osPiDevMgr.active) {
 | 
			
		||||
        osCreateMesgQueue(cmdQ, cmdBuf, cmdMsgCnt);
 | 
			
		||||
        osCreateMesgQueue(&D_8009E3D0, D_8009E3E8, ARRAY_COUNT(D_8009E3E8));
 | 
			
		||||
        osCreateMesgQueue(&piEventQueue, piEventBuf, ARRAY_COUNT(piEventBuf));
 | 
			
		||||
        if (!__osPiAccessQueueEnabled) {
 | 
			
		||||
            __osPiCreateAccessQueue();
 | 
			
		||||
        }
 | 
			
		||||
        osSetEventMesg(OS_EVENT_PI, &D_8009E3D0, (OSMesg)0x22222222);
 | 
			
		||||
        osSetEventMesg(OS_EVENT_PI, &piEventQueue, (OSMesg)0x22222222);
 | 
			
		||||
        oldPri = -1;
 | 
			
		||||
        myPri = osGetThreadPri(NULL);
 | 
			
		||||
        if (myPri < pri) {
 | 
			
		||||
| 
						 | 
				
			
			@ -30,7 +30,7 @@ void osCreatePiManager(OSPri pri, OSMesgQueue* cmdQ, OSMesg* cmdBuf, s32 cmdMsgC
 | 
			
		|||
        __osPiDevMgr.active = 1;
 | 
			
		||||
        __osPiDevMgr.thread = &sPiMgrThread;
 | 
			
		||||
        __osPiDevMgr.cmdQueue = cmdQ;
 | 
			
		||||
        __osPiDevMgr.evtQueue = &D_8009E3D0;
 | 
			
		||||
        __osPiDevMgr.evtQueue = &piEventQueue;
 | 
			
		||||
        __osPiDevMgr.acsQueue = &__osPiAccessQueue;
 | 
			
		||||
        __osPiDevMgr.piDmaCallback = __osPiRawStartDma;
 | 
			
		||||
        __osPiDevMgr.epiDmaCallback = __osEPiRawStartDma;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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) = (((uintptr_t)osRomBase | devAddr) & 0x1FFFFFFF);
 | 
			
		||||
 | 
			
		||||
    switch (direction) {
 | 
			
		||||
        case OS_READ:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
#ifndef _SIINT_H_
 | 
			
		||||
#define _SIINT_H_
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -1,13 +1,13 @@
 | 
			
		|||
#include "global.h"
 | 
			
		||||
 | 
			
		||||
__OSViContext D_80098060[2] = { 0 };
 | 
			
		||||
__OSViContext* __osViCurr = &D_80098060[0];
 | 
			
		||||
__OSViContext* __osViNext = &D_80098060[1];
 | 
			
		||||
static __OSViContext vi[2] = { 0 };
 | 
			
		||||
__OSViContext* __osViCurr = &vi[0];
 | 
			
		||||
__OSViContext* __osViNext = &vi[1];
 | 
			
		||||
 | 
			
		||||
void __osViInit(void) {
 | 
			
		||||
    bzero(D_80098060, sizeof(D_80098060));
 | 
			
		||||
    __osViCurr = &D_80098060[0];
 | 
			
		||||
    __osViNext = &D_80098060[1];
 | 
			
		||||
    bzero(vi, sizeof(vi));
 | 
			
		||||
    __osViCurr = &vi[0];
 | 
			
		||||
    __osViNext = &vi[1];
 | 
			
		||||
    __osViNext->retraceCount = 1;
 | 
			
		||||
    __osViCurr->retraceCount = 1;
 | 
			
		||||
    __osViNext->buffer = (void*)0x80000000;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,39 +3,39 @@
 | 
			
		|||
#define COLD_RESET 0
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
    /* 0x0 */ u32 ins_00;   // lui     k0, 0x8000
 | 
			
		||||
    /* 0x4 */ u32 ins_04;   // addiu   k0, k0, 0x39E0
 | 
			
		||||
    /* 0x8 */ u32 ins_08;   // jr      k0 ; __osException
 | 
			
		||||
    /* 0xC */ u32 ins_0C;   // nop
 | 
			
		||||
} struct_exceptionPreamble; // size = 0x10
 | 
			
		||||
    /* 0x0 */ u32 ins_00; // lui     k0, 0x8000
 | 
			
		||||
    /* 0x4 */ u32 ins_04; // addiu   k0, k0, 0x39E0
 | 
			
		||||
    /* 0x8 */ u32 ins_08; // jr      k0 ; __osException
 | 
			
		||||
    /* 0xC */ u32 ins_0C; // nop
 | 
			
		||||
} __osExceptionVector;    // size = 0x10
 | 
			
		||||
 | 
			
		||||
extern struct_exceptionPreamble __osExceptionPreamble;
 | 
			
		||||
extern __osExceptionVector __osExceptionPreamble;
 | 
			
		||||
 | 
			
		||||
u64 osClockRate = OS_CLOCK_RATE;
 | 
			
		||||
s32 osViClock = VI_NTSC_CLOCK;
 | 
			
		||||
UNK_TYPE4 __osShutdown = 0;
 | 
			
		||||
UNK_TYPE4 __OSGlobalIntMask = 0x003FFF01;
 | 
			
		||||
u32 __osShutdown = 0;
 | 
			
		||||
u32 __OSGlobalIntMask = 0x003FFF01;
 | 
			
		||||
 | 
			
		||||
UNK_TYPE4 D_8009CF70;
 | 
			
		||||
u32 __osFinalrom;
 | 
			
		||||
 | 
			
		||||
void __createSpeedParam(void) {
 | 
			
		||||
    D_8009D130.type = DEVICE_TYPE_INIT;
 | 
			
		||||
    D_8009D130.latency = HW_REG(PI_BSD_DOM1_LAT_REG, u32);
 | 
			
		||||
    D_8009D130.pulse = HW_REG(PI_BSD_DOM1_PWD_REG, u32);
 | 
			
		||||
    D_8009D130.pageSize = HW_REG(PI_BSD_DOM1_PGS_REG, u32);
 | 
			
		||||
    D_8009D130.relDuration = HW_REG(PI_BSD_DOM1_RLS_REG, u32);
 | 
			
		||||
    __Dom1SpeedParam.type = DEVICE_TYPE_INIT;
 | 
			
		||||
    __Dom1SpeedParam.latency = HW_REG(PI_BSD_DOM1_LAT_REG, u32);
 | 
			
		||||
    __Dom1SpeedParam.pulse = HW_REG(PI_BSD_DOM1_PWD_REG, u32);
 | 
			
		||||
    __Dom1SpeedParam.pageSize = HW_REG(PI_BSD_DOM1_PGS_REG, u32);
 | 
			
		||||
    __Dom1SpeedParam.relDuration = HW_REG(PI_BSD_DOM1_RLS_REG, u32);
 | 
			
		||||
 | 
			
		||||
    D_8009D1A8.type = DEVICE_TYPE_INIT;
 | 
			
		||||
    D_8009D1A8.latency = HW_REG(PI_BSD_DOM2_LAT_REG, u32);
 | 
			
		||||
    D_8009D1A8.pulse = HW_REG(PI_BSD_DOM2_PWD_REG, u32);
 | 
			
		||||
    D_8009D1A8.pageSize = HW_REG(PI_BSD_DOM2_PGS_REG, u32);
 | 
			
		||||
    D_8009D1A8.relDuration = HW_REG(PI_BSD_DOM2_RLS_REG, u32);
 | 
			
		||||
    __Dom2SpeedParam.type = DEVICE_TYPE_INIT;
 | 
			
		||||
    __Dom2SpeedParam.latency = HW_REG(PI_BSD_DOM2_LAT_REG, u32);
 | 
			
		||||
    __Dom2SpeedParam.pulse = HW_REG(PI_BSD_DOM2_PWD_REG, u32);
 | 
			
		||||
    __Dom2SpeedParam.pageSize = HW_REG(PI_BSD_DOM2_PGS_REG, u32);
 | 
			
		||||
    __Dom2SpeedParam.relDuration = HW_REG(PI_BSD_DOM2_RLS_REG, u32);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void __osInitialize_common(void) {
 | 
			
		||||
    u32 pifdata;
 | 
			
		||||
 | 
			
		||||
    D_8009CF70 = 1;
 | 
			
		||||
    __osFinalrom = 1;
 | 
			
		||||
 | 
			
		||||
    __osSetSR(__osGetSR() | 0x20000000);
 | 
			
		||||
    __osSetFpcCsr(0x01000800);
 | 
			
		||||
| 
						 | 
				
			
			@ -45,10 +45,10 @@ void __osInitialize_common(void) {
 | 
			
		|||
 | 
			
		||||
    while (__osSiRawWriteIo(0x1FC007FC, pifdata | 8)) {}
 | 
			
		||||
 | 
			
		||||
    *(struct_exceptionPreamble*)0x80000000 = __osExceptionPreamble;
 | 
			
		||||
    *(struct_exceptionPreamble*)0x80000080 = __osExceptionPreamble;
 | 
			
		||||
    *(struct_exceptionPreamble*)0x80000100 = __osExceptionPreamble;
 | 
			
		||||
    *(struct_exceptionPreamble*)0x80000180 = __osExceptionPreamble;
 | 
			
		||||
    *(__osExceptionVector*)0x80000000 = __osExceptionPreamble;
 | 
			
		||||
    *(__osExceptionVector*)0x80000080 = __osExceptionPreamble;
 | 
			
		||||
    *(__osExceptionVector*)0x80000100 = __osExceptionPreamble;
 | 
			
		||||
    *(__osExceptionVector*)0x80000180 = __osExceptionPreamble;
 | 
			
		||||
 | 
			
		||||
    osWritebackDCache(0x80000000, 400);
 | 
			
		||||
    osInvalICache(0x80000000, 400);
 | 
			
		||||
| 
						 | 
				
			
			@ -59,7 +59,7 @@ void __osInitialize_common(void) {
 | 
			
		|||
    osClockRate = (u64)((osClockRate * 3LL) / 4ULL);
 | 
			
		||||
 | 
			
		||||
    if (osResetType == COLD_RESET) {
 | 
			
		||||
        bzero(osAppNmiBuffer, 64);
 | 
			
		||||
        bzero(osAppNMIBuffer, 64);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (osTvType == OS_TV_PAL) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,8 @@
 | 
			
		|||
#include "global.h"
 | 
			
		||||
#include "PR/osint.h"
 | 
			
		||||
#include "libc/stdbool.h"
 | 
			
		||||
 | 
			
		||||
UNK_TYPE4 D_80097F10 = 0;
 | 
			
		||||
u32 __osPreNMI = false;
 | 
			
		||||
 | 
			
		||||
__OSEventState __osEventStateTab[OS_NUM_EVENTS];
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -17,10 +18,10 @@ void osSetEventMesg(OSEvent e, OSMesgQueue* mq, OSMesg m) {
 | 
			
		|||
    es->message = m;
 | 
			
		||||
 | 
			
		||||
    if (e == 14) {
 | 
			
		||||
        if ((__osShutdown != 0) && (D_80097F10 == 0)) {
 | 
			
		||||
        if (__osShutdown && !__osPreNMI) {
 | 
			
		||||
            osSendMesg(mq, m, OS_MESG_NOBLOCK);
 | 
			
		||||
        }
 | 
			
		||||
        D_80097F10 = 1;
 | 
			
		||||
        __osPreNMI = true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    __osRestoreInt(saveMask);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,6 @@
 | 
			
		|||
#include "global.h"
 | 
			
		||||
 | 
			
		||||
OSThread* __osThreadTail = NULL;
 | 
			
		||||
UNK_TYPE D_80097E14 = -1;
 | 
			
		||||
__OSThreadTail __osThreadTail = { NULL, OS_PRIORITY_THREADTAIL };
 | 
			
		||||
OSThread* __osRunQueue = (OSThread*)&__osThreadTail;
 | 
			
		||||
OSThread* __osActiveQueue = (OSThread*)&__osThreadTail;
 | 
			
		||||
OSThread* __osRunningThread = NULL;
 | 
			
		||||
| 
						 | 
				
			
			@ -11,7 +10,7 @@ void __osDequeueThread(OSThread** queue, OSThread* t) {
 | 
			
		|||
    register OSThread* pred;
 | 
			
		||||
    register OSThread* succ;
 | 
			
		||||
 | 
			
		||||
    pred = (OSThread*)queue; //! This seems questionable, but the function matches...
 | 
			
		||||
    pred = (OSThread*)queue;
 | 
			
		||||
    succ = pred->next;
 | 
			
		||||
    while (succ != NULL) {
 | 
			
		||||
        if (succ == t) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
#include "global.h"
 | 
			
		||||
 | 
			
		||||
OSTimer D_8009E590;
 | 
			
		||||
OSTimer __osBaseTimer;
 | 
			
		||||
OSTime __osCurrentTime;
 | 
			
		||||
u32 __osBaseCounter;
 | 
			
		||||
u32 __osViIntrCount;
 | 
			
		||||
| 
						 | 
				
			
			@ -8,7 +8,7 @@ u32 __osTimerCounter;
 | 
			
		|||
s32 D_8009E5C8[2]; // dummy bss padding required
 | 
			
		||||
OSPifRam __osPfsPifRam;
 | 
			
		||||
 | 
			
		||||
OSTimer* __osTimerList = &D_8009E590;
 | 
			
		||||
OSTimer* __osTimerList = &__osBaseTimer;
 | 
			
		||||
 | 
			
		||||
void __osTimerServicesInit(void) {
 | 
			
		||||
    __osCurrentTime = 0;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,6 +3,7 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
#include "PR/controller_voice.h"
 | 
			
		||||
#include "PR/voice_internal.h"
 | 
			
		||||
#include "PR/controller.h"
 | 
			
		||||
#include "functions.h"
 | 
			
		||||
#include "variables.h"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,6 +3,7 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
#include "PR/controller_voice.h"
 | 
			
		||||
#include "PR/voice_internal.h"
 | 
			
		||||
#include "PR/controller.h"
 | 
			
		||||
#include "functions.h"
 | 
			
		||||
#include "variables.h"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,6 +3,7 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
#include "PR/controller_voice.h"
 | 
			
		||||
#include "PR/voice_internal.h"
 | 
			
		||||
#include "PR/controller.h"
 | 
			
		||||
#include "functions.h"
 | 
			
		||||
#include "variables.h"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,6 +3,7 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
#include "PR/controller_voice.h"
 | 
			
		||||
#include "PR/voice_internal.h"
 | 
			
		||||
#include "PR/controller.h"
 | 
			
		||||
#include "functions.h"
 | 
			
		||||
#include "variables.h"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,6 +3,7 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
#include "PR/controller_voice.h"
 | 
			
		||||
#include "PR/voice_internal.h"
 | 
			
		||||
#include "PR/controller.h"
 | 
			
		||||
#include "functions.h"
 | 
			
		||||
#include "variables.h"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,6 +5,7 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
#include "global.h"
 | 
			
		||||
#include "PR/gs2dex.h"
 | 
			
		||||
#include "sys_cfb.h"
 | 
			
		||||
#include "z_fbdemo_wipe5.h"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,7 +7,7 @@
 | 
			
		|||
    0x80000310:("osCicId","UNK_TYPE","",0x4),
 | 
			
		||||
    0x80000314:("osVersion","UNK_TYPE","",0x4),
 | 
			
		||||
    0x80000318:("osMemSize","UNK_TYPE","",0x4),
 | 
			
		||||
    0x8000031C:("osAppNmiBuffer","s32","[0x10]",0x40),
 | 
			
		||||
    0x8000031C:("osAppNMIBuffer","s32","[0x10]",0x40),
 | 
			
		||||
    0x80000500:("gFramebuffer1","u16","[SCREEN_HEIGHT][SCREEN_WIDTH]",0x25800),
 | 
			
		||||
    0x80025D00:("D_80025D00","u8","[]",0x1), # TODO size
 | 
			
		||||
    0x800969C0:("rspbootTextStart","u64","[]",0x160),
 | 
			
		||||
| 
						 | 
				
			
			@ -47,13 +47,13 @@
 | 
			
		|||
    0x800975E0:("sintable","s16","[1024]",0x800),
 | 
			
		||||
    0x80097DE0:("__osHwIntTable","__osHwInt","[]",0x28),
 | 
			
		||||
    0x80097E08:("__osPiIntTable","__osHwInt","[]",0x28),
 | 
			
		||||
    0x80097E10:("__osThreadTail","OSThread*","",0x4),
 | 
			
		||||
    0x80097E10:("__osThreadTail","__OSThreadTail","",0x8),
 | 
			
		||||
    0x80097E18:("__osRunQueue","OSThread*","",0x4),
 | 
			
		||||
    0x80097E1C:("__osActiveQueue","OSThread*","",0x4),
 | 
			
		||||
    0x80097E20:("__osRunningThread","OSThread*","",0x4),
 | 
			
		||||
    0x80097E24:("__osFaultedThread","OSThread*","",0x4),
 | 
			
		||||
    0x80097E30:("__osSiAccessQueueEnabled","u32","",0x4),
 | 
			
		||||
    0x80097E40:("D_80097E40","UNK_TYPE4","",0x4),
 | 
			
		||||
    0x80097E40:("__osContinitialized","UNK_TYPE4","",0x4),
 | 
			
		||||
    0x80097E50:("osClockRate","u64","",0x8),
 | 
			
		||||
    0x80097E58:("osViClock","s32","",0x4),
 | 
			
		||||
    0x80097E5C:("__osShutdown","UNK_TYPE4","",0x4),
 | 
			
		||||
| 
						 | 
				
			
			@ -65,7 +65,7 @@
 | 
			
		|||
    0x80097EB0:("osViModeNtscHpn1","OSViMode","",0x50),
 | 
			
		||||
    0x80097F00:("__osPfsInodeCacheChannel","s32","",0x4),
 | 
			
		||||
    0x80097F04:("__osPfsInodeCacheBank","u8","",0x1),
 | 
			
		||||
    0x80097F10:("D_80097F10","UNK_TYPE4","",0x4),
 | 
			
		||||
    0x80097F10:("__osPreNMI","UNK_TYPE4","",0x4),
 | 
			
		||||
    0x80097F20:("spaces","char","[]",0x21),
 | 
			
		||||
    0x80097F44:("zeroes","char","[]",0x24),
 | 
			
		||||
    0x80097F70:("__osTimerList","OSTimer*","",0x4),
 | 
			
		||||
| 
						 | 
				
			
			@ -75,7 +75,7 @@
 | 
			
		|||
    0x80097FB0:("__osPfsLastChannel","s32","",0x4),
 | 
			
		||||
    0x80097FC0:("osViModeNtscLan1","OSViMode","",0x50),
 | 
			
		||||
    0x80098010:("osViModeMpalLan1","OSViMode","",0x50),
 | 
			
		||||
    0x80098060:("D_80098060","__OSViContext","[2]",0x60),
 | 
			
		||||
    0x80098060:("vi","__OSViContext","[2]",0x60),
 | 
			
		||||
    0x800980C0:("__osViCurr","__OSViContext*","",0x4),
 | 
			
		||||
    0x800980C4:("__osViNext","__OSViContext*","",0x4),
 | 
			
		||||
    0x800980D0:("sCartRomNeedsInit","UNK_TYPE4","",0x4),
 | 
			
		||||
| 
						 | 
				
			
			@ -251,14 +251,14 @@
 | 
			
		|||
    0x80099128:("D_80099128","char","[]",0x1),
 | 
			
		||||
    0x8009915C:("D_8009915C","char","[]",0x1),
 | 
			
		||||
    0x80099178:("D_80099178","char","[]",0x1),
 | 
			
		||||
    0x800991A0:("D_800991A0","u16","[64]",0x80),
 | 
			
		||||
    0x800991A0:("__osRcpImTable","u16","[64]",0x80),
 | 
			
		||||
    0x80099220:("P","du","[5]",0x28),
 | 
			
		||||
    0x80099248:("rpi","du","",0x8),
 | 
			
		||||
    0x80099250:("pihi","du","",0x8),
 | 
			
		||||
    0x80099258:("pilo","du","",0x8),
 | 
			
		||||
    0x80099260:("zero","fu","",0x4),
 | 
			
		||||
    0x80099270:("D_80099270","UNK_TYPE1","",0x1),
 | 
			
		||||
    0x80099290:("__osIntTable","UNK_PTR","",0x4),
 | 
			
		||||
    0x80099270:("__osIntOffTable","u8","",0x20),
 | 
			
		||||
    0x80099290:("__osIntTable","UNK_PTR","",0x30),
 | 
			
		||||
    0x800992C0:("D_800992C0","f64","",0x8),
 | 
			
		||||
    0x800992D0:("jtbl_800992D0","UNK_PTR","",0x4),
 | 
			
		||||
    0x800992F0:("D_800992F0","f64","",0x8),
 | 
			
		||||
| 
						 | 
				
			
			@ -330,32 +330,31 @@
 | 
			
		|||
    0x8009CEB0:("siAccessBuf","OSMesg","[1]",0x4),
 | 
			
		||||
    0x8009CEB8:("__osSiAccessQueue","OSMesgQueue","",0x18),
 | 
			
		||||
    0x8009CED0:("__osContPifRam","OSPifRam","",0x40),
 | 
			
		||||
    0x8009CF0C:("D_8009CF0C","UNK_TYPE1","",0x1),
 | 
			
		||||
    0x8009CF10:("__osContLastPoll","u8","",0x1),
 | 
			
		||||
    0x8009CF11:("__osMaxControllers","u8","",0x1),
 | 
			
		||||
    0x8009CF18:("__osEepromTimer","OSTimer","",0x20),
 | 
			
		||||
    0x8009CF38:("D_8009CF38","OSMesgQueue","",0x18),
 | 
			
		||||
    0x8009CF50:("D_8009CF50","OSMesg","",0x4),
 | 
			
		||||
    0x8009CF38:("__osEepromTimerQ","OSMesgQueue","",0x18),
 | 
			
		||||
    0x8009CF50:("__osEepromTimerMsg","OSMesg","",0x4),
 | 
			
		||||
    0x8009CF60:("sHandleStatus","UNK_TYPE1","",0x1),
 | 
			
		||||
    0x8009CF70:("D_8009CF70","UNK_TYPE4","",0x4),
 | 
			
		||||
    0x8009CF70:("__osFinalrom","UNK_TYPE4","",0x4),
 | 
			
		||||
    0x8009CF80:("__osThreadSave","OSThread","",0x1b0),
 | 
			
		||||
    0x8009D130:("D_8009D130","OSPiHandle","",0x74),
 | 
			
		||||
    0x8009D1A8:("D_8009D1A8","OSPiHandle","",0x74),
 | 
			
		||||
    0x8009D130:("__Dom1SpeedParam","OSPiHandle","",0x74),
 | 
			
		||||
    0x8009D1A8:("__Dom2SpeedParam","OSPiHandle","",0x74),
 | 
			
		||||
    0x8009D220:("sPiMgrThread","OSThread","",0x1b0),
 | 
			
		||||
    0x8009D3D0:("sPiMgrStack","u8","[4096]",0x1000),
 | 
			
		||||
    0x8009E3D0:("D_8009E3D0","OSMesgQueue","",0x18),
 | 
			
		||||
    0x8009E3E8:("D_8009E3E8","OSMesg","[1]",0x4),
 | 
			
		||||
    0x8009E3F0:("D_8009E3F0","OSMesg","[1]",0x4),
 | 
			
		||||
    0x8009E3D0:("piEventQueue","OSMesgQueue","",0x18),
 | 
			
		||||
    0x8009E3E8:("piEventBuf","OSMesg","[1]",0x4),
 | 
			
		||||
    0x8009E3F0:("piAccessBuf","OSMesg","[1]",0x4),
 | 
			
		||||
    0x8009E3F8:("__osPiAccessQueue","OSMesgQueue","",0x18),
 | 
			
		||||
    0x8009E410:("__osPfsInodeCache","__OSInode","",0x100),
 | 
			
		||||
    0x8009E510:("__osEventStateTab","__OSEventState","[16]",0x80),
 | 
			
		||||
    0x8009E590:("D_8009E590","OSTimer","",0x20),
 | 
			
		||||
    0x8009E590:("__osBaseTimer","OSTimer","",0x20),
 | 
			
		||||
    0x8009E5B0:("__osCurrentTime","OSTime","",0x8),
 | 
			
		||||
    0x8009E5B8:("__osBaseCounter","u32","",0x4),
 | 
			
		||||
    0x8009E5BC:("__osViIntrCount","u32","",0x4),
 | 
			
		||||
    0x8009E5C0:("__osTimerCounter","u32","",0x4),
 | 
			
		||||
    0x8009E5D0:("__osPfsPifRam","OSPifRam","",0x40),
 | 
			
		||||
    0x8009E610:("CartRomHandle","OSPiHandle","",0x74),
 | 
			
		||||
    0x8009E610:("__CartRomHandle","OSPiHandle","",0x74),
 | 
			
		||||
    0x8009E690:("viThread","OSThread","",0x1b0),
 | 
			
		||||
    0x8009E840:("sViStack","u8","[4096]",0x1000),
 | 
			
		||||
    0x8009F840:("viEventQueue","OSMesgQueue","",0x18),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,7 +14,7 @@ osResetType    = 0x8000030C;
 | 
			
		|||
osCicId        = 0x80000310;
 | 
			
		||||
osVersion      = 0x80000314;
 | 
			
		||||
osMemSize      = 0x80000318;
 | 
			
		||||
osAppNmiBuffer = 0x8000031C;
 | 
			
		||||
osAppNMIBuffer = 0x8000031C;
 | 
			
		||||
 | 
			
		||||
/// OS hardware registers
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue