Currently YM2203 / YM2608 assumes a fixed prescaler setting that suits the clock. However there are some VGMs which do use the prescaler setting after all. In that case, we should adjust the frequency we set, either by shifting the fnum / incrementing the octave.
On the YM2608 the prescaler only affects the FM and PSG, the ADPCM is unaffected. The YM2610 and YM2612 don’t have a prescaler.
When there’s frequency translation we should probably also adjust the base clock. I think we can just check if it’s less than half the reference frequency, etc. This can also be used to predict the prescaler setting prior to actual playback.
Example VGM which uses prescaling:
Another example:
- Ghosts ’n Goblins