I'm beginning work on a YM2151 patch design program to run on X16. While going over all of the various inputs in the application manual, I came across something that is confusing (shocker, I know) regarding the LFO.
The PMD/AMD register is used to set the magnitude of the effect which the LFO has when modulating the phase / amplitude of the generated sound. phase = frequency in their terminology, and amplitude = sound's volume (obviously).
So here's the catch: there's just one register for both values.
My interpretation is as follows:
The OPM actually stores these two parameters separately inside the chip, but only uses one register to access them both. The register is 8 bits wide, but the values are 7-bit values. The MSB is used to tell the YM whether you're writing the PMD or the AMD. So if you were to write $8F, this would mean that you're setting PMD=$0F. If you write $04 to the register, it's going to set AMD=$04, and the PMD would remain $0F.
Here's the datasheet:
![image.png.a00538dbef34004cb1f3e255c00ce2c5.png](<fileStore.core_Attachment>/monthly_2021_07/image.png.a00538dbef34004cb1f3e255c00ce2c5.png)
So, community... do you agree with my interpretation of this?