I'm currently reverse engineering a handful of music file formats from early 1990s computer games, many of which used the OPL2/3 chips for playback.
I have unfortunately run into a bit of a dead end as far as documentation goes for the OPL's rhythm mode, so I am hoping that someone here may have investigated this and can provide some answers.
The main problem is that I can't find concrete answers about how note pitch is handled for the percussive instruments in rhythm mode. Some of the documentation I have found says that specific instruments have a fixed pitch, others say the pitch cannot be set at all, certain file formats allow pitch to be set for all percussive instruments but don't sound right if you set those frequencies, etc.
So I am looking for a definitive answer. Does anyone know with 100% certainty:
- Whether you can set the pitch of all percussive instruments? If not, which ones are fixed?
- If the pitch can be set, how? Do you write to the channel block/fnum and end up setting the pitch of both percussive instruments at the same time? Will this pitchbend an active percussive note?
- Are there any channel-wide settings (aside from the block and frequency, like registers 0xC0-0xC8) that affect both percussive instruments sharing that channel? If not, which operator/instrument (if any) do the channel-wide settings affect?