From 18dfadfa79c8cd99538b7bd612ba7d3318fad819 Mon Sep 17 00:00:00 2001 From: arcum42 Date: Sat, 11 Jul 2009 17:26:11 +0000 Subject: [PATCH] Fixed the last commit. :( git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1488 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/IPU/IPU.cpp | 1 - pcsx2/IPU/mpeg2lib/Mpeg.cpp | 30 +++++++----------------------- 2 files changed, 7 insertions(+), 24 deletions(-) diff --git a/pcsx2/IPU/IPU.cpp b/pcsx2/IPU/IPU.cpp index 4054336681..4b4cd3845c 100644 --- a/pcsx2/IPU/IPU.cpp +++ b/pcsx2/IPU/IPU.cpp @@ -461,7 +461,6 @@ static __forceinline BOOL ipuIDEC(u32 val) s_routine = so_create(mpeg2sliceIDEC, &s_RoutineDone, s_tempstack, sizeof(s_tempstack)); assert(s_routine != NULL); - //return; so_call(s_routine); if (s_RoutineDone) s_routine = NULL; diff --git a/pcsx2/IPU/mpeg2lib/Mpeg.cpp b/pcsx2/IPU/mpeg2lib/Mpeg.cpp index 7297baeb6a..f0a25b34c4 100644 --- a/pcsx2/IPU/mpeg2lib/Mpeg.cpp +++ b/pcsx2/IPU/mpeg2lib/Mpeg.cpp @@ -1131,7 +1131,8 @@ void __forceinline finishmpeg2sliceIDEC(decoder_t* &decoder) } // This fixes Mana Khemia if uncommented, but needs testing. -#define ALWAYS_RESUME_BEFORE_EXITING +// Breaks Figital Devil Saga. +//#define ALWAYS_RESUME_BEFORE_EXITING void mpeg2sliceIDEC(void* pdone) { u32 read; @@ -1221,11 +1222,6 @@ void mpeg2sliceIDEC(void* pdone) while (g_nIPU0Data > 0) { read = FIFOfrom_write((u32*)g_pIPU0Pointer, g_nIPU0Data); - - if (read != 8) - { - Console::Error("g_nIPU0Data = 0x%x; read = 0x%x", params g_nIPU0Data, read); - } if (read == 0) { @@ -1245,14 +1241,6 @@ void mpeg2sliceIDEC(void* pdone) NEEDBITS(decoder->bitstream_buf, decoder->bitstream_bits, decoder->bitstream_ptr); mba_inc = 0; - - #ifdef ALWAYS_RESUME_BEFORE_EXITING - if (!resumed) - { - so_resume(); - Console::Error("Resume forced in mpeg2sliceIDEC:1"); - } - #endif while (1) { @@ -1270,20 +1258,20 @@ void mpeg2sliceIDEC(void* pdone) { case 8: /* macroblock_escape */ - Console::Error("macroblock escape "); mba_inc += 33; /* pass through */ case 15: /* macroblock_stuffing (MPEG1 only) */ - Console::Error("macroblock_stuffing (MPEG1 only) "); DUMPBITS(decoder->bitstream_buf, decoder->bitstream_bits, 11); NEEDBITS(decoder->bitstream_buf, decoder->bitstream_bits, decoder->bitstream_ptr); continue; default: /* end of slice/frame, or error? */ { - Console::Error("UBITS(decoder->bitstream_buf, 11) is 0x%x", params UBITS(decoder->bitstream_buf, 11)); - + #ifdef ALWAYS_RESUME_BEFORE_EXITING + if (!resumed) so_resume(); + #endif + finishmpeg2sliceIDEC(decoder); *(int*)pdone = 1; @@ -1311,11 +1299,7 @@ void mpeg2sliceIDEC(void* pdone) } #ifdef ALWAYS_RESUME_BEFORE_EXITING - if (!resumed) - { - so_resume(); - Console::Error("Resume forced in mpeg2sliceIDEC:2"); - } + if (!resumed) so_resume(); #endif finishmpeg2sliceIDEC(decoder);