SM8521: the actual rate is /2 rather than /4

This commit is contained in:
tildearrow 2025-03-09 04:06:47 -05:00
parent d1234ad59e
commit ef1fae3bee

View file

@ -24,7 +24,7 @@
//#define rWrite(a,v) pendingWrites[a]=v; //#define rWrite(a,v) pendingWrites[a]=v;
#define rWrite(a,v) if (!skipRegisterWrites) {writes.push(QueuedWrite(a,v)); if (dumpWrites) {addWrite(a,v);} } #define rWrite(a,v) if (!skipRegisterWrites) {writes.push(QueuedWrite(a,v)); if (dumpWrites) {addWrite(a,v);} }
#define CHIP_DIVIDER 64 #define CHIP_DIVIDER 32
const char* regCheatSheetSM8521[]={ const char* regCheatSheetSM8521[]={
"SGC", "40", "SGC", "40",
@ -402,7 +402,7 @@ void DivPlatformSM8521::setFlags(const DivConfig& flags) {
chipClock=11059200; chipClock=11059200;
CHECK_CUSTOM_CLOCK; CHECK_CUSTOM_CLOCK;
antiClickEnabled=!flags.getBool("noAntiClick",false); antiClickEnabled=!flags.getBool("noAntiClick",false);
rate=chipClock/4; // CKIN -> fCLK(/2) -> Function blocks (/2) rate=chipClock/2; // CKIN -> fCLK(/2) -> Function blocks (/2)
for (int i=0; i<3; i++) { for (int i=0; i<3; i++) {
oscBuf[i]->setRate(rate); oscBuf[i]->setRate(rate);
} }