From be883ed3876a5979520308965fa9e1accc563007 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 21 Sep 2024 18:23:43 -0500 Subject: [PATCH] SID2: fix chan osc overflow --- res/releaseReadme/stable-linux.txt | 1 + res/releaseReadme/stable-mac.txt | 1 + res/releaseReadme/stable-win.txt | 1 + src/engine/platform/sid2.cpp | 5 ++++- 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/res/releaseReadme/stable-linux.txt b/res/releaseReadme/stable-linux.txt index c3e9bf6ca..f6f584355 100644 --- a/res/releaseReadme/stable-linux.txt +++ b/res/releaseReadme/stable-linux.txt @@ -17,6 +17,7 @@ if you find issues (e.g. bugs or annoyances), report them. links below. - issues: https://github.com/tildearrow/furnace/issues - discussion: https://github.com/tildearrow/furnace/discussions - online manual: https://tildearrow.org/furnace/doc/v0.6.7/ +- Furnace on Discord: https://discord.gg/QhA26dXD23 # notes diff --git a/res/releaseReadme/stable-mac.txt b/res/releaseReadme/stable-mac.txt index 0f98a4ec8..8888ac150 100644 --- a/res/releaseReadme/stable-mac.txt +++ b/res/releaseReadme/stable-mac.txt @@ -27,6 +27,7 @@ if you find issues (e.g. bugs or annoyances), report them. links below. - issues: https://github.com/tildearrow/furnace/issues - discussion: https://github.com/tildearrow/furnace/discussions - online manual: https://tildearrow.org/furnace/doc/v0.6.7/ +- Furnace on Discord: https://discord.gg/QhA26dXD23 # notes diff --git a/res/releaseReadme/stable-win.txt b/res/releaseReadme/stable-win.txt index 41e8c1508..0f7038d9f 100644 --- a/res/releaseReadme/stable-win.txt +++ b/res/releaseReadme/stable-win.txt @@ -17,6 +17,7 @@ if you find issues (e.g. bugs or annoyances), report them. links below. - issues: https://github.com/tildearrow/furnace/issues - discussion: https://github.com/tildearrow/furnace/discussions - online manual: https://tildearrow.org/furnace/doc/v0.6.7/ +- Furnace on Discord: https://discord.gg/QhA26dXD23 # notes diff --git a/src/engine/platform/sid2.cpp b/src/engine/platform/sid2.cpp index 4215e27f9..cb3bf0beb 100644 --- a/src/engine/platform/sid2.cpp +++ b/src/engine/platform/sid2.cpp @@ -93,7 +93,10 @@ void DivPlatformSID2::acquire(short** buf, size_t len) for(int j = 0; j < 3; j++) { - oscBuf[j]->data[oscBuf[j]->needle++] = sid2->chan_out[j] / 4; + int co=sid2->chan_out[j]>>2; + if (co<-32768) co=-32768; + if (co>32767) co=32767; + oscBuf[j]->data[oscBuf[j]->needle++]=co; } } }