Hi! I’ve been porting this JV880 emulation to Ableton Move (https://github.com/charlesvestal/move-anything-jv880) and noticed phrase‑loop patches (e.g., SR‑JV80‑06 Dance “Dance Again” / “Easy R&B”) run too fast.
It looks like mini‑jv880 has two PCM timing differences vs jv880_juce:
- reg_slots is hard‑coded to 28.
- oversampling is forced off.
jv880_juce uses reg_slots = (config_reg_3d & 31) + 1 and forces oversampling on; applying that fixed the loop tempo for me.
Proposed change (in src/emulator/pcm.cpp):
- constexpr int reg_slots = 28;
+ int reg_slots = (pcm.config_reg_3d & 31) + 1;
- if (false) // oversampling
+ if (true) // oversampling
- constexpr int cycles = (reg_slots + 1) * 25;
+ const int cycles = (reg_slots + 1) * 25;
This matches jv880_juce behavior and fixes the tempo issue on the SR‑JV80‑06 Dance expansion for me. Not sure if oversampling was disabled for performance; sharing in case it helps.
Hi! I’ve been porting this JV880 emulation to Ableton Move (https://github.com/charlesvestal/move-anything-jv880) and noticed phrase‑loop patches (e.g., SR‑JV80‑06 Dance “Dance Again” / “Easy R&B”) run too fast.
It looks like mini‑jv880 has two PCM timing differences vs jv880_juce:
jv880_juce uses reg_slots = (config_reg_3d & 31) + 1 and forces oversampling on; applying that fixed the loop tempo for me.
Proposed change (in src/emulator/pcm.cpp):
This matches jv880_juce behavior and fixes the tempo issue on the SR‑JV80‑06 Dance expansion for me. Not sure if oversampling was disabled for performance; sharing in case it helps.