Restructure how buffers are set up (#77)

This commit is contained in:
Rozelette
2021-03-27 12:44:39 -05:00
committed by GitHub
parent 807db1ca54
commit 6536afc6d3
14 changed files with 85 additions and 62 deletions
-17
View File
@@ -1,17 +0,0 @@
#ifndef _PRE_BOOT_VARIABLES_H_
#define _PRE_BOOT_VARIABLES_H_
#include <PR/ultratypes.h>
extern UNK_TYPE osTvType; // D_80000300
extern UNK_TYPE osRomType; // D_80000304
extern UNK_TYPE osRomBase; // D_80000308
extern UNK_TYPE osResetType; // D_8000030C
extern UNK_TYPE osCicId; // D_80000310
extern UNK_TYPE osVersion; // D_80000314
extern UNK_TYPE osMemSize; // D_80000318
extern UNK_TYPE D_8000031C; // D_8000031C
extern UNK_TYPE D_80000500; // D_80000500
extern UNK_TYPE D_80025D00; // D_80025D00
#endif
+2
View File
@@ -3,6 +3,8 @@
#include <PR/ultratypes.h>
#define OS_YIELD_DATA_SIZE 0xC00
typedef struct {
/* 0x0 */ u32 type;
/* 0x4 */ u32 flags;
+1
View File
@@ -13,5 +13,6 @@
#define UNK_FUN_ARG void(*)(void)
#define UNK_FUN_PTR(name) void(*name)(void)
#define UNK_ARGS void
#define UNK_SIZE 1
#endif
+21 -8
View File
@@ -5,7 +5,19 @@
#include <segment_symbols.h>
#include <segment.h>
#include <section.h>
#include <pre_boot_variables.h>
// pre-boot variables
extern UNK_TYPE osTvType;
extern UNK_TYPE osRomType;
extern UNK_TYPE osRomBase;
extern UNK_TYPE osResetType;
extern UNK_TYPE osCicId;
extern UNK_TYPE osVersion;
extern UNK_TYPE osMemSize;
extern s32 osAppNmiBuffer[0x10];
extern u16 gFramebuffer1[SCREEN_HEIGHT][SCREEN_WIDTH]; // at 0x80000500
extern u16 gFramebufferHighRes1[SCREEN_HEIGHT_HIGH_RES][SCREEN_WIDTH_HIGH_RES]; // at 0x80000500
extern u8 D_80025D00[];
// data
extern UNK_TYPE1 D_800969C0;
@@ -4514,14 +4526,15 @@ extern OSMesg D_80203290[1];
// extern UNK_TYPE1 D_80208E98;
// extern UNK_TYPE1 D_80208E99;
// extern UNK_TYPE1 D_80208E9C;
// extern UNK_TYPE1 D_80208EA0;
// extern UNK_TYPE1 D_80209AA0;
extern u8 gGfxSPTaskYieldBuffer[OS_YIELD_DATA_SIZE];
extern u8 gGfxSPTaskStack[0x400];
extern GfxPool gGfxPools[2];
extern u8 gAudioHeap[1277952];
extern u32 gSystemHeap[1046224];
extern u8 D_80780000[17920];
extern u8 D_80784600[352768];
extern u16 D_807DA800[76800];
extern u8 gAudioHeap[0x138000];
extern u32 gSystemHeap[UNK_SIZE];
extern u16 gFramebufferHighRes0[SCREEN_HEIGHT_HIGH_RES][SCREEN_WIDTH_HIGH_RES]; // at 0x80780000
extern u8 D_80780000[0x4600];
extern u8 D_80784600[0x56200];
extern u16 gFramebuffer0[SCREEN_HEIGHT][SCREEN_WIDTH]; // at 0x807DA800
#endif
+6
View File
@@ -27,6 +27,12 @@
#include <z64object.h>
#include <z64scene.h>
#define SCREEN_WIDTH 320
#define SCREEN_HEIGHT 240
#define SCREEN_WIDTH_HIGH_RES 576
#define SCREEN_HEIGHT_HIGH_RES 454
typedef struct {
/* 0x0 */ s16 priority; // Lower means higher priority. -1 means it ignores priority
/* 0x2 */ s16 length;