From: gameblabla Date: Wed, 18 Aug 2021 20:58:45 +0000 (+0000) Subject: [SPU] Emulate SPUSTAT[5:0] as a mirror of SPUCNT[5:0] (#190) X-Git-Tag: r23~138 X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d056f51b31f2856968e2efac75c3d437b2e6c000;p=pcsx_rearmed.git [SPU] Emulate SPUSTAT[5:0] as a mirror of SPUCNT[5:0] (#190) Fix is from PCSX-Redux : https://github.com/grumpycoders/pcsx-redux/commit/4e905d7953a26bffd52f486dc5b03c2a19075d01 I have tested the fix against Loonies 8192 (a PSn00bSDK made homebrew game) and it no longer locks up during loading. Co-authored-by: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com> --- diff --git a/plugins/dfsound/registers.c b/plugins/dfsound/registers.c index bb64658d..d508c068 100644 --- a/plugins/dfsound/registers.c +++ b/plugins/dfsound/registers.c @@ -315,7 +315,7 @@ unsigned short CALLBACK SPUreadRegister(unsigned long reg) return spu.spuCtrl; case H_SPUstat: - return spu.spuStat; + return (spu.spuStat & ~0x3F) | (spu.spuCtrl & 0x3F); case H_SPUaddr: return (unsigned short)(spu.spuAddr>>3);