I have finally had the opportunity to test the game on the real hardware.
The PSG notes are fine in the music, but random FM notes are played instead of the desired ones. Besides, the engine sound effect can be heard sometimes, but not always, and the crash sound effect seems to be never heard. Does anyone know why this happens?
Yes - according to Sega, you must NEVER use the second part (as you call it) for reading the status. It will return not busy even when it is. ALWAYS read the status from the first part (0x4000). That's in the same bulletin as where they mention that the VDP isn't reset by the reset, so you have to check for DMA on reset before trying to use it or it may fail.
The audio on the real hardware is fine now. Thanks, Chilly Willy.
However, according to the Genesis Technical Overview document, the status of the YM2612 can be read from "any of the four locations". This seems to be another mistake in that document.
I has been verified that status register is read from all addresses by other people and Yamaha OPN family docs also say that. Maybe there's more to the address decode that it seems on the MD around YM...
TmEE co.(TM) wrote:It has been verified that status register is read from all addresses by other people and Yamaha OPN family docs also say that. Maybe there's more to the address decode that it seems on the MD around YM...
Must be something to do with the Sega... maybe this is only an issue on models with the built-in FM rather than the discrete FM. If someone has a model with the separate YM2612, they could try the older version to see if it still has sound problems. But Sega's note on the FM is in response to an issue just like this one - "missing" or bad sounds, and is specifically stated to be the result of missing the busy status by reading the "wrong" register and getting a bad status.
A new version is now available. It features new music, now using DAC samples. Also, the audio issues on the real hardware and the bug that caused the game to run faster have been fixed.
I would like to thank Chilly Willy, who is now in the "Thanks to" section of the credits.