mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 00:42:34 +01:00
Refer to end of buffers instead of trailing data (#938)
This commit is contained in:
parent
768e88f20d
commit
f0ae9177ee
@ -145,7 +145,6 @@ extern UNK_FUN_PTR(gCurtainDrawCallback);
|
||||
|
||||
extern u16 gCurrentDoorSounds;
|
||||
|
||||
extern s32 D_800D9620;
|
||||
extern UNK_TYPE D_800E92D8;
|
||||
extern UNK_TYPE D_80147574;
|
||||
extern s8 D_8014C248[];
|
||||
|
@ -21,13 +21,13 @@ extern s32 AlMinFrameSize;
|
||||
extern OSMesgQueue nuAuDmaMesgQ;
|
||||
extern OSMesg nuAuDmaMesgBuf[50];
|
||||
extern OSIoMesg nuAuDmaIOMesgBuf[];
|
||||
extern NUDMABuffer* D_800A3BD4;
|
||||
extern NUDMABuffer nuAuDmaBufList[50];
|
||||
extern AuSynDriver auSynDriver;
|
||||
extern u64 rspbootUcodeBuffer[];
|
||||
extern u64 n_aspMain_text_bin[];
|
||||
extern u64 n_aspMain_data_bin[];
|
||||
extern u8 AuHeapBase[AUDIO_HEAP_SIZE];
|
||||
extern u64 AuStack[NU_AU_STACK_SIZE / sizeof(u64)];
|
||||
|
||||
void create_audio_system(void) {
|
||||
u32 i;
|
||||
@ -84,7 +84,7 @@ void create_audio_system(void) {
|
||||
nuAuPreNMIFunc = nuAuPreNMIProc;
|
||||
au_driver_init(&auSynDriver, &config);
|
||||
au_engine_init(config.outputRate);
|
||||
osCreateThread(&nuAuMgrThread, NU_MAIN_THREAD_ID, nuAuMgr, NULL, &AlCmdListBuffers, NU_AU_MGR_THREAD_PRI); //why main thread?
|
||||
osCreateThread(&nuAuMgrThread, NU_MAIN_THREAD_ID, nuAuMgr, NULL, &AuStack[NU_AU_STACK_SIZE / sizeof(u64)], NU_AU_MGR_THREAD_PRI); //why main thread?
|
||||
osStartThread(&nuAuMgrThread);
|
||||
}
|
||||
|
||||
@ -188,7 +188,7 @@ s32 nuAuDmaCallBack(s32 addr, s32 len, void *state, u8 arg3) {
|
||||
}
|
||||
|
||||
lastDmaPtr = NULL;
|
||||
dmaPtr = D_800A3BD4;
|
||||
dmaPtr = nuAuDmaState.firstUsed;
|
||||
addrEnd = addr + len;
|
||||
|
||||
while (dmaPtr != NULL) {
|
||||
|
@ -5,11 +5,12 @@
|
||||
|
||||
NOP_FIX
|
||||
|
||||
extern u64 nuScStack[NU_SC_STACK_SIZE / sizeof(u64)];
|
||||
extern u64 nuMainStack[NU_SC_STACK_SIZE / sizeof(u64)];
|
||||
extern u64 IdleStack[NU_SC_STACK_SIZE / sizeof(u64)];
|
||||
|
||||
void nuBoot(void) {
|
||||
osInitialize();
|
||||
osCreateThread(&IdleThread, NU_IDLE_THREAD_ID, boot_idle, NULL, &nuScStack, 10);
|
||||
osCreateThread(&IdleThread, NU_IDLE_THREAD_ID, boot_idle, NULL, &IdleStack[NU_SC_STACK_SIZE / sizeof(u64)], 10);
|
||||
osStartThread(&IdleThread);
|
||||
}
|
||||
|
||||
@ -19,7 +20,7 @@ void boot_idle(void* data) {
|
||||
nuPiInit();
|
||||
nuScCreateScheduler(OS_VI_NTSC_LAN1, 1);
|
||||
osViSetSpecialFeatures(OS_VI_GAMMA_OFF | OS_VI_GAMMA_DITHER_OFF | OS_VI_DIVOT_ON | OS_VI_DITHER_FILTER_ON);
|
||||
osCreateThread(&MainThread, NU_MAIN_THREAD_ID, boot_main, NULL, &nuYieldBuf, NU_MAIN_THREAD_PRI);
|
||||
osCreateThread(&MainThread, NU_MAIN_THREAD_ID, boot_main, NULL, &nuMainStack[NU_SC_STACK_SIZE / sizeof(u64)], NU_MAIN_THREAD_PRI);
|
||||
osStartThread(&MainThread);
|
||||
osSetThreadPri(&IdleThread, NU_IDLE_THREAD_PRI);
|
||||
|
||||
|
@ -14,7 +14,8 @@ extern s16 swapBufMsg;
|
||||
extern OSThread GfxTaskMgrThread;
|
||||
extern NUScTask nuGfxTask[NU_GFX_TASK_NUM];
|
||||
extern s32 D_800DA040;
|
||||
extern s32 D_800B91D0;
|
||||
extern s32 D_800B91D0[NU_GFX_RDP_OUTPUTBUFF_SIZE / sizeof(u32)];
|
||||
extern u64 GfxTaskMgrStack[NU_GFX_TASKMGR_STACK_SIZE / sizeof(u64)];
|
||||
extern u8 rspbootUcodeBuffer[];
|
||||
|
||||
void nuGfxTaskMgr(void* data) {
|
||||
@ -60,7 +61,7 @@ void nuGfxTaskMgrInit(void) {
|
||||
swapBufMsg = NU_SC_SWAPBUFFER_MSG;
|
||||
nuGfxTaskSpool = 0;
|
||||
nuGfxDisplayOff();
|
||||
osCreateThread(&GfxTaskMgrThread, NU_GFX_TASKMGR_THREAD_ID, nuGfxTaskMgr, NULL, &D_8009E6D0, NU_GFX_TASKMGR_THREAD_PRI);
|
||||
osCreateThread(&GfxTaskMgrThread, NU_GFX_TASKMGR_THREAD_ID, nuGfxTaskMgr, NULL, &GfxTaskMgrStack[NU_GFX_TASKMGR_STACK_SIZE / sizeof(u64)], NU_GFX_TASKMGR_THREAD_PRI);
|
||||
osStartThread(&GfxTaskMgrThread);
|
||||
|
||||
for (i = 0; i < NU_GFX_TASK_NUM; i++) {
|
||||
@ -76,7 +77,7 @@ void nuGfxTaskMgrInit(void) {
|
||||
nuGfxTask[i].list.t.dram_stack = (u64*) &D_800DA040;
|
||||
nuGfxTask[i].list.t.dram_stack_size = SP_DRAM_STACK_SIZE8;
|
||||
nuGfxTask[i].list.t.output_buff = (u64*) &D_800B91D0;
|
||||
nuGfxTask[i].list.t.output_buff_size = (u64*) &gZoneCollisionData;
|
||||
nuGfxTask[i].list.t.output_buff_size = (u64*) &D_800B91D0[NU_GFX_RDP_OUTPUTBUFF_SIZE / sizeof(u32)];
|
||||
nuGfxTask[i].list.t.yield_data_ptr = (u64*) &nuYieldBuf;
|
||||
nuGfxTask[i].list.t.yield_data_size = NU_GFX_YIELD_BUF_SIZE;
|
||||
}
|
||||
|
@ -3,12 +3,12 @@
|
||||
|
||||
void gfxThread(void*);
|
||||
|
||||
extern OSMesg nuContWaitMesgBuf;
|
||||
extern s32 GfxStack[NU_GFX_STACK_SIZE / 4];
|
||||
extern OSThread D_800B1B90;
|
||||
extern OSMesg nuGfxMesgBuf[NU_GFX_MESGS];
|
||||
|
||||
void nuGfxThreadStart(void) {
|
||||
osCreateThread(&D_800B1B90, 4, gfxThread, NULL, &nuContWaitMesgBuf, NU_GFX_THREAD_PRI);
|
||||
osCreateThread(&D_800B1B90, 4, gfxThread, NULL, &GfxStack[NU_GFX_STACK_SIZE / 4], NU_GFX_THREAD_PRI);
|
||||
osStartThread(&D_800B1B90);
|
||||
}
|
||||
|
||||
|
@ -71,7 +71,7 @@ void state_step_startup(void) {
|
||||
|
||||
fio_has_valid_backup();
|
||||
|
||||
if (D_800D9620 == 0) {
|
||||
if (D_800D95E8.saveSlot == 0) {
|
||||
gGameStatusPtr->soundOutputMode = SOUND_OUT_STEREO;
|
||||
audio_set_stereo();
|
||||
} else {
|
||||
|
@ -242,10 +242,11 @@ dlabel swapBufMsg
|
||||
.space 2
|
||||
|
||||
dlabel GfxTaskMgrThread
|
||||
.space 0x000021b0
|
||||
.space 0x000001b0
|
||||
|
||||
dlabel D_8009E6C8
|
||||
.space 8
|
||||
.align 4
|
||||
dlabel GfxTaskMgrStack
|
||||
.space 0x00002000
|
||||
|
||||
dlabel D_8009E6D0
|
||||
.space 0x00000020
|
||||
@ -476,7 +477,10 @@ dlabel D_800A0F54
|
||||
.space 4
|
||||
|
||||
dlabel nuAuMgrThread
|
||||
.space 0x000025b8
|
||||
.space 0x000005b8
|
||||
|
||||
dlabel AuStack
|
||||
.space 0x00002000
|
||||
|
||||
dlabel AlCmdListBuffers
|
||||
.space 0x0000000c
|
||||
@ -512,14 +516,10 @@ dlabel nuAuDmaIOMesgBuf
|
||||
.space 0x000004b0
|
||||
|
||||
dlabel nuAuDmaState
|
||||
.space 4
|
||||
.space 0x0000000c
|
||||
|
||||
dlabel D_800A3BD4
|
||||
.space 4
|
||||
|
||||
dlabel D_800A3BD8
|
||||
.space 8
|
||||
|
||||
dlabel nuAuDmaBufList
|
||||
.space 0x000003e8
|
||||
|
||||
@ -629,7 +629,10 @@ dlabel IdleThread
|
||||
.space 0x000001b0
|
||||
|
||||
dlabel MainThread
|
||||
.space 0x000021b0
|
||||
.space 0x000001b0
|
||||
|
||||
dlabel IdleStack
|
||||
.space 0x00002000
|
||||
|
||||
dlabel nuScStack
|
||||
.space 0x00002000
|
||||
@ -650,7 +653,10 @@ dlabel D_800AC5E8
|
||||
.space 0x000000c8
|
||||
|
||||
dlabel nuGfxMesgBuf
|
||||
.space 0x00002020
|
||||
.space 0x00000020
|
||||
|
||||
dlabel GfxStack
|
||||
.space 0x00002000
|
||||
|
||||
dlabel nuContWaitMesgBuf
|
||||
.space 4
|
||||
@ -932,9 +938,12 @@ dlabel D_800B451F
|
||||
.space 1
|
||||
|
||||
dlabel D_800B4520
|
||||
.space 0x00002070
|
||||
.space 0x00000070
|
||||
|
||||
dlabel D_800B6590
|
||||
dlabel nuBootStack
|
||||
.space 0x00002000
|
||||
|
||||
dlabel nuMainStack
|
||||
.space 0x00002000
|
||||
|
||||
dlabel nuYieldBuf
|
||||
|
@ -19,8 +19,8 @@ glabel entry_point
|
||||
/* 101C 80025C1C 2129FFF8 */ addi $t1, $t1, -8
|
||||
/* 1020 80025C20 1520FFFB */ bnez $t1, .L80025C10
|
||||
/* 1024 80025C24 00000000 */ nop
|
||||
/* 1028 80025C28 3C1D800B */ lui $sp, %hi(D_800B6590)
|
||||
/* 102C 80025C2C 27BD6590 */ addiu $sp, $sp, %lo(D_800B6590)
|
||||
/* 1028 80025C28 3C1D800B */ lui $sp, %hi(nuBootStack + 0x2000)
|
||||
/* 102C 80025C2C 27BD6590 */ addiu $sp, $sp, %lo(nuBootStack + 0x2000)
|
||||
/* 1030 80025C30 3C0A8006 */ lui $t2, %hi(nuBoot)
|
||||
/* 1034 80025C34 254AE8B0 */ addiu $t2, $t2, %lo(nuBoot)
|
||||
/* 1038 80025C38 01400008 */ jr $t2
|
||||
|
@ -2828,8 +2828,6 @@ phys_get_spin_history = 0x800E5938; // type:func rom:0x7EDE8
|
||||
phys_reset_spin_history = 0x800E59A0; // type:func rom:0x7EE50
|
||||
phys_update_action_state = 0x800E5A2C; // type:func rom:0x7EEDC
|
||||
nuAuDmaState = 0x800A3BD0; // rom:0x7EFD0
|
||||
D_800A3BD4 = 0x800A3BD4; // type:data rom:0x7EFD4
|
||||
D_800A3BD8 = 0x800A3BD8; // type:data rom:0x7EFD8
|
||||
nuAuDmaBufList = 0x800A3BE0; // rom:0x7EFE0
|
||||
phys_peach_update = 0x800E5C78; // type:func rom:0x7F128
|
||||
set_action_state = 0x800E5DA4; // type:func rom:0x7F254
|
||||
|
Loading…
Reference in New Issue
Block a user