I got sound in genesis plus too, the problem is that your code make use of an undocumented feature of YM2612 (only recently found by Nemesis).
Here is what I logged in my emulator:
Code: Select all
FM port 2 write $B6 (000008DC)
FM port 0 write $2B (000008DC)
FM port 1 write $80 (000008DC)
FM port 0 write $2A (000008DC)
FM port 1 write $80 (000008DC)
then later
What happen in Kega/Gens is that they use two separate address registers for writes to FM ports 0 and ports 2, so when port 3 is written, $02 will be written to $B6 register, thus disabling channel 6 output !
On real hardware (and more accurate emulators), address port is shared so the first write to FM port 2 is made useless by the next write to FM port 0 and the first writes to FM port 3 goes to DAC register ($2A) instead.