diff --git a/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_Zelda.h b/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_Zelda.h index 6cbd3c94a2..01b92b03d2 100644 --- a/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_Zelda.h +++ b/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_Zelda.h @@ -97,8 +97,8 @@ union ZeldaVoicePB // Read-only part u16 Format; // 0x80 | audio format u16 RepeatMode; // 0x81 | 0 = one-shot, non zero = loop - u16 LoopYN1; // 0x82 | YN1 reload (when AFC loops) - u16 LoopYN2; // 0x83 | YN2 reload (when AFC loops) + u16 LoopYN2; // 0x82 | YN2 reload (when AFC loops) + u16 LoopYN1; // 0x83 | YN1 reload (when AFC loops) u16 Unk84; // 0x84 | IIR Filter # coefs? u16 StopOnSilence; // 0x85 | Stop on silence? (Flag for something volume related. Decides the weird stuff at 035a/ZWW, alco 0cd3) u16 Unk86; // 0x86 | unknown diff --git a/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_Zelda_Voice.cpp b/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_Zelda_Voice.cpp index 874393aa53..dc5f74194a 100644 --- a/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_Zelda_Voice.cpp +++ b/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_Zelda_Voice.cpp @@ -291,8 +291,8 @@ restart: PB.CurAddr = PB.StartAddr; //+ (PB.LoopStartPos >> 4) * PB.Format + ; PB.ReachedEnd = 0; // Hmm, this shouldn't be reversed .. or should it? Is it different between versions of the ucode? - PB.YN1 = PB.LoopYN2; - PB.YN2 = PB.LoopYN1; + PB.YN1 = PB.LoopYN1; + PB.YN2 = PB.LoopYN2; } } diff --git a/Source/Plugins/Plugin_VideoDX9/Src/main.cpp b/Source/Plugins/Plugin_VideoDX9/Src/main.cpp index dfec3cac31..fa8c597630 100644 --- a/Source/Plugins/Plugin_VideoDX9/Src/main.cpp +++ b/Source/Plugins/Plugin_VideoDX9/Src/main.cpp @@ -268,14 +268,12 @@ void Video_SendFifoData(u8* _uData, u32 len) void VideoFifo_CheckSwapRequest() { + // CPU swap unimplemented } void VideoFifo_CheckSwapRequestAt(u32 xfbAddr, u32 fbWidth, u32 fbHeight) { -} - -void VideoFifo_CheckEFBAccess() -{ + // CPU swap unimplemented } void Video_BeginField(u32 xfbAddr, FieldType field, u32 fbWidth, u32 fbHeight) @@ -346,7 +344,7 @@ void Video_Screenshot(const char *_szFilename) } } -void Video_OnThreadAccessEFB() +void VideoFifo_CheckEFBAccess() { s_criticalEFB.Enter(); s_AccessEFBResult = 0; @@ -371,7 +369,8 @@ void Video_OnThreadAccessEFB() } */ - s_AccessEFBDone.Set(); + if (g_VideoInitialize.bUseDualCore) + s_AccessEFBDone.Set(); s_criticalEFB.Leave(); } @@ -380,30 +379,30 @@ u32 Video_AccessEFB(EFBAccessType type, u32 x, u32 y) { u32 result; - s_criticalEFB.Enter(); +s_criticalEFB.Enter(); s_AccessEFBType = type; s_EFBx = x; s_EFBy = y; if (g_VideoInitialize.bUseDualCore) - { s_AccessEFBDone.Init(); - } - s_criticalEFB.Leave(); +s_criticalEFB.Leave(); if (g_VideoInitialize.bUseDualCore) s_AccessEFBDone.Wait(); else - Video_OnThreadAccessEFB(); + VideoFifo_CheckEFBAccess(); + +s_criticalEFB.Enter(); - s_criticalEFB.Enter(); if (g_VideoInitialize.bUseDualCore) s_AccessEFBDone.Shutdown(); result = s_AccessEFBResult; - s_criticalEFB.Leave(); + +s_criticalEFB.Leave(); return result; }