Messed up music in the PAL version of Over Horizon

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Messed up music in the PAL version of Over Horizon
by on (#213845)
While it is a known fact nowadays how some PAL conversions of NES games are just plain garbage like not optimizing game speed, pitch in music etc. I found something special.
I can't really compare this to the case of Shadow Warriors, where the DPCM samples are corrupted for whatever reason... (replacing the hardwired bank with NG's data solves the problem there) but it is a weird music bug that went unnoticed by developers.
It is an unknown SMHUP game called Over Horizon (only came out in Germany and Japan).
I was playing the game, and all of a sudden the channels went out of sync. Triangle drums got all weird, and noise was playing its own thing.

I was like... OK, I probably used a bad dump.
Searched a few weeks for it, and every [E] version had this bug. Then I was like.... there is no way that they released the thing like this.
https://www.youtube.com/watch?v=eKK5jYgJw3M

Turns out yeah... they released this like this.

So all in all, without hesitation I can call this the worst PAL optimazed game (at least music wise).

I attached .MP3 recordings from the ROMs. I used Stage 2's music, since it is quite good.
Re: Messed up music in the PAL version of Over Horizon
by on (#213867)
MrNorbert1994 wrote:
I can't really compare this to the case of Shadow Warriors, where the DPCM samples are corrupted for whatever reason... (replacing the hardwired bank with NG's data solves the problem there)
They rewrote the fixed bank with some compensation for PAL, and when they relinked, they ran out of space for the DPCM samples.

It'd be nice to know why those changes were there, though.

Quickly comparing differences:
Addresses $C000-$D565 - more or less unchanged ; specific numbers change but code is in same place
$D566-$D658 - Shadow Warriors has more or less the same code, shifted later by three bytes
$D659-$DDE4 - more or less unchanged
$DDE5-$E344 - Shadow warriors is earlier by three bytes
$E345-$E603 - somehow just different
$E604-EB7A - Shadow Warriors is later by 132 bytes
shadow warriors extra insert
$EB9B- - Shadow Warriors is later by 404 bytes
ninja gaiden insert
$EFF0-$F8E3 - Shadow Warriors is later by 156 bytes