Fixing the broken music in StarTropics

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Fixing the broken music in StarTropics
by on (#136670)
Probably most people never noticed, but two of the tracks in StarTropics have always been slightly broken. I decided to disassemble it and fix them. I made a video about it here:

Image
Fixing Startropics


IPS patch: http://rainwarrior.ca/projects/nes/startropics_music_fix.ips
NSF: http://rainwarrior.ca/projects/nes/startropics_music_fix.nsf
Source: http://rainwarrior.ca/projects/nes/startropics_music_fix.zip

NSF of original soundtrack for comparison: http://rainwarrior.ca/projects/nes/startropics.nsf

The source is probably of interest to the NESDev crowd. I made a fully labelled disassembly, and documented the process a bit. Anyone looking to hack StarTropics' music should have all the info they need right at hand with this. I suppose you could even borrow its music engine if you wanted (but it's really limited, maybe not great to use, possibly fun as a challenge).

The NSF of the original soundtrack is a new rip I made built from the disassembly to prove I had done it correctly. It's not significantly different than the existing NSF rip of StarTropics, but it doesn't have unused data stripped out.
Re: Fixing the broken music in StarTropics
by on (#136675)
Will this be posted on romhacking.net? They have a section for bug fixes.
Re: Fixing the broken music in StarTropics
by on (#136677)
I tried to submit to romhacking.net yesterday, but this morning I got an e-mail telling me that, apparently, I didn't get the submission ritual exactly right and will have to do it again. Site has a lot of usability issues. D:
Re: Fixing the broken music in StarTropics
by on (#136678)
Great work! Thanks for sharing your disassembly as well!

Always thought the ending music didn't fit the game, but the fixed tune certainly does
Re: Fixing the broken music in StarTropics
by on (#136699)
Very cool, and thanks for giving a thorough explanation in your video.

(Also, your speaking voice/style sounds a lot like my own... maybe it's a Canadian thing?)
Re: Fixing the broken music in StarTropics
by on (#136898)
I think it may be buggy, try listening to the music on the first level, a channel cuts out after a while and starts playing weird high notes. Perhaps they shared data with the overworld theme?
Re: Fixing the broken music in StarTropics
by on (#136899)
All of the music data was accounted for in the disassembly. Nothing is shared between tracks.

Maybe tell me your ROM's CRC and which emulator you were using? I have tested on two Startropics ROMs, the (U) one matched the dump from my own cartridge, and the (Europe) one I have seen has identical music data (so the same IPS works on it).
Re: Fixing the broken music in StarTropics
by on (#136900)
File matches bootgod's CRC32s, I was using FCEUX (old ppu). Rom's mapper was set to mapper 4 (MMC3).

Crap, it was just the low hearts beeping....
Re: Fixing the broken music in StarTropics
by on (#136901)
Oh, ha ha.
Re: Fixing the broken music in StarTropics
by on (#136959)
I got to say that it is a pretty awesome job you did. Very interesting! I wonder if the programmer did not notice or didn't think it was a big deal enough to fix.

Now the next time Canada get blamed for Justin Bieber, I'll be able to fight back and state proudly that Canada also fixed StarTropic's soundtrack! Xp
Re: Fixing the broken music in StarTropics
by on (#136960)
SkinnyV wrote:
I got to say that it is a pretty awesome job you did. Very interesting! I wonder if the programmer did not notice or didn't think it was a big deal enough to fix.

Quoting myself on Twitter: I'd bet money someone noticed these at the time but deadlines & priorities never allowed for its resolution.
Re: Fixing the broken music in StarTropics
by on (#158683)
A bit late to this discovery, but I did want to inform everyone that this fix works in both the PowerPak and EverDrive N8 despite the Mapper 4 issue.
Re: Fixing the broken music in StarTropics
by on (#158684)
It plays nice with any emulator that ignores the MMC3's RAM disable function, since without that it's MMC6 compatible. No MMC3 or MMC6 games actually rely on these bits to function, but they do get used to try and protect the data against accidental corruption, so they'll have an effect if you implement them.

If you don't implement the RAM disable in mapper 4, though, your emulator probably has a problem with Low G Man due to a bug in its music code, which is why I patched it too: http://forums.nesdev.com/viewtopic.php?f=2&t=13105
Re: Fixing the broken music in StarTropics
by on (#158866)
Oh, hey! I didn't notice this thread before. Now that I've played & beaten StarTropics I suppose I can partake in this discussion now. :mrgreen:

Your, sir Brad Smith, are a gentleman and a scholar. I fell in love with that ending theme since day one, and it's nice to know there's more to it--it's kinda like listening to the Ninja Ryukenden soundtrack release with those extra notes added. :mrgreen:

koitsu wrote:
Quoting myself on Twitter: I'd bet money someone noticed these at the time but deadlines & priorities never allowed for its resolution.


It's a shame. This could have been fixed for the Virtual Console release (I take it it wasn't?).