From 5469d59de9a1eb6c650ae6bbdbcb1299dafbc35d Mon Sep 17 00:00:00 2001 From: Goatman13 <101417270+Goatman13@users.noreply.github.com> Date: Sat, 4 Jun 2022 08:01:41 +0200 Subject: [PATCH] IPU: Set ECD if start code is not 1xx Onimusha 3 send 0x200 and expect that start code search finish on it. Setting ECD here helps The Sims Bustin' Out --- pcsx2/IPU/mpeg2lib/Mpeg.cpp | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/pcsx2/IPU/mpeg2lib/Mpeg.cpp b/pcsx2/IPU/mpeg2lib/Mpeg.cpp index 2014b793ac..c3bddc9a35 100644 --- a/pcsx2/IPU/mpeg2lib/Mpeg.cpp +++ b/pcsx2/IPU/mpeg2lib/Mpeg.cpp @@ -938,13 +938,20 @@ finish_idec: return false; } start_check = UBITS(24); - if (start_check == 1) + if (start_check != 0) { - ipuRegs.ctrl.SCD = 1; + if (start_check == 1) + { + ipuRegs.ctrl.SCD = 1; + } + else + { + ipuRegs.ctrl.ECD = 1; + } break; } DUMPBITS(8); - } while (start_check != 1); + } while (1); } } [[fallthrough]]; @@ -1229,13 +1236,20 @@ __fi bool mpeg2_slice() return false; } start_check = UBITS(24); - if (start_check == 1) + if (start_check != 0) { - ipuRegs.ctrl.SCD = 1; + if (start_check == 1) + { + ipuRegs.ctrl.SCD = 1; + } + else + { + ipuRegs.ctrl.ECD = 1; + } break; } DUMPBITS(8); - } while (start_check != 1); + } while (1); } } [[fallthrough]];