summaryrefslogtreecommitdiff
path: root/psg.c
diff options
context:
space:
mode:
Diffstat (limited to 'psg.c')
-rw-r--r--psg.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/psg.c b/psg.c
index 86c612d..48d220b 100644
--- a/psg.c
+++ b/psg.c
@@ -135,7 +135,7 @@ void psg_run(psg_context * context, uint32_t cycles)
context->accum = tmp >> 16;
context->buffer_fraction += context->buffer_inc;
- if (context->buffer_fraction >= BUFFER_INC_RES) {
+ while (context->buffer_fraction >= BUFFER_INC_RES) {
context->buffer_fraction -= BUFFER_INC_RES;
int32_t tmp = context->last_sample * ((context->buffer_fraction << 16) / context->buffer_inc);
tmp += context->accum * (0x10000 - ((context->buffer_fraction << 16) / context->buffer_inc));