@@ -1280,6 +1280,17 @@ static int Hook_omertachinmokunookitethelegacy_download_frame() {
12801280 return 0 ;
12811281}
12821282
1283+ // Function at 0886665C in US version
1284+ static int Hook_persona1_download_frame () {
1285+ const u32 fb_address = 0x04088000 ; // hardcoded at 088666D8
1286+ // const u32 dest_address = currentMIPS->r[MIPS_REG_A1]; // not relevant
1287+ if (Memory::IsVRAMAddress (fb_address)) {
1288+ gpu->PerformReadbackToMemory (fb_address, 0x00088000 );
1289+ NotifyMemInfo (MemBlockFlags::WRITE, fb_address, 0x00088000 , " persona1_download_frame" );
1290+ }
1291+ return 0 ;
1292+ }
1293+
12831294static int Hook_katamari_render_check () {
12841295 const u32 fb_address = Memory::Read_U32 (currentMIPS->r [MIPS_REG_A0] + 0x3C );
12851296 const u32 fbInfoPtr = Memory::Read_U32 (currentMIPS->r [MIPS_REG_A0] + 0x40 );
@@ -1595,6 +1606,7 @@ static const ReplacementTableEntry entries[] = {
15951606 { " ZZT3_select_hack" , &Hook_ZZT3_select_hack, 0 , REPFLAG_HOOKENTER, 0xC4 },
15961607 { " blitz_fps_hack" , &Hook_blitz_fps_hack, 0 , REPFLAG_HOOKEXIT , 0 },
15971608 { " brian_lara_fps_hack" , &Hook_brian_lara_fps_hack, 0 , REPFLAG_HOOKEXIT , 0 },
1609+ { " persona1_download_frame" , &Hook_persona1_download_frame, 0 , REPFLAG_HOOKENTER, 0 },
15981610 {}
15991611};
16001612
0 commit comments