the overclock logic is incorrect.
|
NST_SINGLE_CALL void Apu::Dmc::WriteReg2(const uint data) |
|
{ |
|
regs.address = 0xC000 | (data << 6); |
|
|
|
if (regs.address != 0) |
|
{ |
|
overclockingIsSafe = true; |
|
} |
|
} |
overclockingIsSafe will always be true because regs.address is guaranteed to be at least have a value of 0xC000
|
NST_SINGLE_CALL void Apu::Dmc::WriteReg3(const uint data) |
|
{ |
|
regs.lengthCounter = (data << 4) + 1; |
|
|
|
if (regs.lengthCounter != 0) |
|
{ |
|
overclockingIsSafe = true; |
|
} |
|
} |
same here. regs.lengthCounter will always be at least 1.
the overclock logic is incorrect.
nestopia/source/core/NstApu.cpp
Lines 2382 to 2390 in c24ffe8
overclockingIsSafe will always be true because regs.address is guaranteed to be at least have a value of 0xC000
nestopia/source/core/NstApu.cpp
Lines 2392 to 2400 in c24ffe8
same here. regs.lengthCounter will always be at least 1.