From d14aa2eba9e96986e19eab72d33c8b7a5619bd24 Mon Sep 17 00:00:00 2001 From: Frank-74 Date: Fri, 22 Sep 2017 22:30:42 +0100 Subject: [PATCH 1/5] Update SoundBase.cpp --- Source/Project64-audio/Driver/SoundBase.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Source/Project64-audio/Driver/SoundBase.cpp b/Source/Project64-audio/Driver/SoundBase.cpp index 52961921d..1293abd4a 100644 --- a/Source/Project64-audio/Driver/SoundBase.cpp +++ b/Source/Project64-audio/Driver/SoundBase.cpp @@ -182,6 +182,11 @@ void SoundDriverBase::BufferAudio() WriteTrace(TraceAudioDriver, TraceVerbose, "Done (m_BufferRemaining: 0x%08X)", m_BufferRemaining); } +uint32_t SoundDriverBase::AI_ReadLength() +{ + return (m_AI_DMAPrimaryBytes & ~ 3); +} + void SoundDriverBase::SetFrequency(uint32_t /*Frequency*/) { } @@ -192,4 +197,4 @@ void SoundDriverBase::StartAudio() void SoundDriverBase::StopAudio() { -} \ No newline at end of file +} From 1cb0ff0a49f179a296da1c304a11377a7a64d486 Mon Sep 17 00:00:00 2001 From: Frank-74 Date: Fri, 22 Sep 2017 22:35:09 +0100 Subject: [PATCH 2/5] Update SoundBase.h --- Source/Project64-audio/Driver/SoundBase.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/Project64-audio/Driver/SoundBase.h b/Source/Project64-audio/Driver/SoundBase.h index 9a6a2c019..1ac71f71a 100644 --- a/Source/Project64-audio/Driver/SoundBase.h +++ b/Source/Project64-audio/Driver/SoundBase.h @@ -28,6 +28,7 @@ public: void AI_Startup(); void AI_Shutdown(); void AI_Update(bool Wait); + uint32_t AI_ReadLength(); virtual void SetFrequency(uint32_t Frequency); virtual void StartAudio(); @@ -52,4 +53,4 @@ private: uint32_t m_CurrentWriteLoc; // Currently writing Buffer uint8_t m_Buffer[MAX_SIZE]; // Emulated buffers bool m_SyncAudio; -}; \ No newline at end of file +}; From be8b97983a6a42249d698088470f696b70956256 Mon Sep 17 00:00:00 2001 From: Frank-74 Date: Fri, 22 Sep 2017 22:36:54 +0100 Subject: [PATCH 3/5] Update AudioMain.cpp --- Source/Project64-audio/AudioMain.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Source/Project64-audio/AudioMain.cpp b/Source/Project64-audio/AudioMain.cpp index 16dbba4f7..b4923a2aa 100644 --- a/Source/Project64-audio/AudioMain.cpp +++ b/Source/Project64-audio/AudioMain.cpp @@ -106,8 +106,12 @@ EXPORT void CALL AiLenChanged(void) EXPORT uint32_t CALL AiReadLength(void) { - WriteTrace(TraceAudioInterface, TraceDebug, "Called"); - return 0; + WriteTrace(TraceAudioInterface, TraceDebug, "Start"); + if (g_SoundDriver == NULL) + { + return 0; + } + return g_SoundDriver->AI_ReadLength(); } EXPORT void CALL AiUpdate(int32_t Wait) @@ -208,4 +212,4 @@ extern "C" void UseUnregisteredSetting(int /*SettingID*/) #ifdef _WIN32 DebugBreak(); #endif -} \ No newline at end of file +} From a7f7ea5058dbc9d17cee6ce7c4b311a302c2f8d4 Mon Sep 17 00:00:00 2001 From: Frank-74 Date: Sat, 23 Sep 2017 04:30:34 +0100 Subject: [PATCH 4/5] Update AudioMain.cpp --- Source/Project64-audio/AudioMain.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Source/Project64-audio/AudioMain.cpp b/Source/Project64-audio/AudioMain.cpp index b4923a2aa..efc63048a 100644 --- a/Source/Project64-audio/AudioMain.cpp +++ b/Source/Project64-audio/AudioMain.cpp @@ -107,11 +107,12 @@ EXPORT void CALL AiLenChanged(void) EXPORT uint32_t CALL AiReadLength(void) { WriteTrace(TraceAudioInterface, TraceDebug, "Start"); - if (g_SoundDriver == NULL) - { - return 0; - } - return g_SoundDriver->AI_ReadLength(); + if (g_SoundDriver == NULL) + { + return 0; + } + WriteTrace(TraceAudioInterface, TraceDebug, "Done (res: %d)", g_SoundDriver->AI_ReadLength()); + return g_SoundDriver->AI_ReadLength(); } EXPORT void CALL AiUpdate(int32_t Wait) From dddfdd8cbfb0d0687bf8069292c46a07140adca2 Mon Sep 17 00:00:00 2001 From: Frank-74 Date: Sat, 23 Sep 2017 04:31:46 +0100 Subject: [PATCH 5/5] Update SoundBase.cpp --- Source/Project64-audio/Driver/SoundBase.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Project64-audio/Driver/SoundBase.cpp b/Source/Project64-audio/Driver/SoundBase.cpp index 1293abd4a..cd34ebd43 100644 --- a/Source/Project64-audio/Driver/SoundBase.cpp +++ b/Source/Project64-audio/Driver/SoundBase.cpp @@ -184,7 +184,7 @@ void SoundDriverBase::BufferAudio() uint32_t SoundDriverBase::AI_ReadLength() { - return (m_AI_DMAPrimaryBytes & ~ 3); + return (m_AI_DMAPrimaryBytes & ~ 3); } void SoundDriverBase::SetFrequency(uint32_t /*Frequency*/)