Mostly MSX projects
Japanese MSX user にがHP has made a limited-issue cart called P6/MSX, which has an OPN2 on the same I/O ports as Makoto (14H-17H).
This will need timer-based detection, and it also needs to pass a negative check for Makoto first. Not sure if the status register can be read from I/O port 16H, the datasheet says “inactive read” so if that’s true then the detection should use 14H instead, though note that it conflicts with the Music Module MIDI input.
When present, it can be used to play OPN2 music. PCM should be sent to the OPN2 rather than the turboR PCM.
Actually now that I looked into it a bit more, I don’t think this would work for anything but algorithm 7.
In other algorithms, the operators still interact with each other, and the OPM simply can’t control the individual operator’s frequency like the OPN does.
Used quite extensively in Eve Burst Error.
Mirror writes to channel 3 operators 2-4 to channels 5-7. Then when 3CH* mode is enabled, redirect channel 3 fnum / key writes to channels 5-8 and mask the key on bits appropriately.
Should be disabled when a 2nd OPN or an OPNA/B/2 is bound because then the OPM does not have sufficient free channels for it. Or drop 1 channel.
It should be possible to emulate the GameBoy sound chip on PSG (noise) + SCC (2x pulse + wave).
Additionally the Gameboy DMG has some built-in envelope generators, for volume on the noise and pulse channels, and one for pitch on the first pulse channel. Each channel also has a mute counter. Due to this the emulation needs to be ticked by the timer (somewhat similar to #36 but low frequency).
And improved in 2bac68a865d4.
Was implemented last year in f72935f6caf2.
- Ghosts ’n Goblins
After the above fix, it would still not always work:
Press ESC on the C2 boot screen and VGMPlay sees the Carnivore2 and doesn’t detect it as MMM, but when you press ENTER it doesn’t work.
This has been fixed in the Carnivore2 firmware earlier this year, see this thread.