This commit is contained in:
Niko 2023-09-17 17:00:54 -04:00
parent 3e5c786a9d
commit 08439c115c
5 changed files with 23 additions and 14 deletions

View File

@ -11,7 +11,7 @@ void DECOMP_CDSYS_XAPauseForce()
// dont call SpuSetIRQ here,
// it's called in SpuDisableIRQ anyway
CDSYS_SpuDisableIRQ();
DECOMP_CDSYS_SpuDisableIRQ();
CdControl(CdlPause, 0, 0);

View File

@ -5,5 +5,5 @@ void DECOMP_CDSYS_XAPauseAtEnd()
// wait until IRQ says XA is finished
if(sdata->XA_boolFinished == 0) return;
CDSYS_XAPauseForce();
DECOMP_CDSYS_XAPauseForce();
}

View File

@ -19,12 +19,9 @@ u_int DECOMP_main()
gGT = sdata->gGT;
#ifdef REBUILD_PS1
printf("PS1 Rebuild effort: %08x\n", gGT);
while(1) {}
#else
#ifndef REBUILD_PS1
__main();
#endif
do
{
@ -37,8 +34,10 @@ while(1) {}
}
#endif
#ifndef REBUILD_PS1
LOAD_NextQueuedFile();
CDSYS_XAPauseAtEnd();
#endif
DECOMP_CDSYS_XAPauseAtEnd();
switch(sdata->mainGameState)
{
@ -47,6 +46,7 @@ while(1) {}
StateZero();
break;
#ifndef REBUILD_PS1
// Happens on first frame that loading ends
case 1:
@ -366,6 +366,7 @@ while(1) {}
AH_MaskHint_Update();
}
break;
#endif
#if 0
// In theory, this is left over from the demos,
@ -397,10 +398,8 @@ while(1) {}
#endif
}
} while( true );
#endif
}
#ifndef REBUILD_PS1
// by separating this, it can be
// overwritten dynamically (oxide fix)
void StateZero()
@ -418,18 +417,22 @@ void StateZero()
ResetCallback();
// We have 2mb RAM total
MEMPACK_Init(0x800000);
DECOMP_MEMPACK_Init(0x800000);
#ifndef REBUILD_PS1
// also sets debug variables to "off"
LOAD_InitCD();
// Without this, checkered flag will draw one frame after the copyright page draws, then go away once Naughty Dog Box scene is ready
TitleFlag_SetFullyOffScreen();
#endif
ResetGraph(0);
SetGraphDebug(0);
#ifndef REBUILD_PS1
MainInit_VRAMClear();
#endif
SetDispMask(1);
SetDefDrawEnv(&gGT->db[0].drawEnv, 0, 0, 0x200, 0xd8);
@ -476,6 +479,7 @@ void StateZero()
// traffic light countdown timer, set to negative one second
gGT->trafficLightsTimer = 0xfffffc40;
#ifndef REBUILD_PS1
RCNT_Init();
// set callback and save callback
@ -574,6 +578,7 @@ void StateZero()
// sdata->ptrBigfile1 is the Pointer to "cd position of bigfile"
// Add a bookmark before loading (param_3 is 0 in the call)
LOAD_VramFile(sdata->ptrBigfile1, 0x102, 0, &vramSize, 0xffffffff);
#endif
sdata->mainGameState = 3;
@ -583,5 +588,9 @@ void StateZero()
clockEffect = &gGT->clockEffectEnabled;
gGT->gameMode1 |= LOADING;
gGT->clockEffectEnabled = *clockEffect & 0xfffe;
#ifdef REBUILD_PS1
printf("End of Rebuild_PS1\n%s\n%s\n", __DATE__, __TIME__);
while(1) {}
#endif
}
#endif

View File

@ -1,4 +1,4 @@
//#define REBUILD_PS1
#define REBUILD_PS1
#include <gccHeaders.h>
#include <macros.h>

View File

@ -1,2 +1,2 @@
common, exe, start, 0x0, ../decompile/General/psyq_start.c
common, exe, 0x80010000, 0x0, ../decompile/General/MAIN/MainMain.c, game.bin
common, exe, 0x80010000, 0x0, ../decompile/General/MAIN/MainMain.c ../decompile/General/CDSYS/CDSYS_c19_XAPauseAtEnd.c ../decompile/General/CDSYS/CDSYS_c18_XAPauseForce.c ../decompile/General/CDSYS/CDSYS_c11_SpuDisableIRQ.c ../decompile/General/MEMPACK/MEMPACK_Init.c, game.bin