Download StarTropics (Music Fix) ROM Hack

StarTropics (Music Fix) Game
Spread the love:
Parameter Info
Console: NES
Original Game: StarTropics
Type: Bug Fix
Genre: Role Playing > Action RPG
Modifications: S
Creator: rainwarrior
Date Created: 11/19/2014
Last Modified: 02/09/2017
Parameter Info
File Name: startropics_music_fix.zip
Downloads: 27
Requirements: No Special Requirements
Version: 1.0
Rating:

StarTropics (Music Fix)Description

Don’t think this is gonna be a 100% Gold Remake, it’ll have its differences. Extra battles (some’ll be optionals, tough but rewarding), Hoenn Pokemon (in every area, and hard to find) New areas, Remapped some dungeons (so your old guides wont work) , Extra recurring characters (some’ll hate you, some’ll help you)

Note that the hack is incomplete but feel free to enjoy the hack as-is.

StarTropics (Music Fix)Read Me

StarTropics music disassembly and bugfix.
Brad Smith
11/19/2014
http://rainwarrior.ca


This is a complete annotated disassembly of the music engine and data from StarTropics,
originally released by Nintendo in 1990.

I started this project because I noticed the broken accomaniment pattern in the
island map music (track 1), and I wanted to find out what went wrong with it. In the
process I discovered and fixed a broken bassline in another tune (track 30).


If you are interested in the music data format, or the music engine source code, 
you will find the details in: st_music.s

If you would like to see how the track was fixed, and for an annotated example of how to
understand and insert music data into StarTropics, see: stf_music.s


If you have questions or comments, you may contact me at: [email protected]




Steps to create the disassembly from scratch:

1. Install python 3 if you do not have it. https://www.python.org/

2. Place a copy of cc65 in a folder in this directory called "cc65". http://cc65.github.io/cc65/

3. Place a ROM called "startropics.nes" in this directory,

4. Create a folder called "temp" in this directory.

5. Run "split.py" to create "temp/combo.bin" from the ROM.

6. Run "disassemble.bat" to create the raw disassembly: "st_music_raw2.s"

7. Clean up "st_music_raw2.s" by hand and save as "st_music.s"

8. Run "compile_st_nsf.bat" to create "temp/st_nsf.nsf"



Other files:

startropics_music_fix.ips
- IPS patch to fix the music in the NES ROM

stf_nsf.s
stf_music.s
compile_stf_nsf.bat
- creates NSF with "fixed" tracks 1 and 30

analyze_cdl.py
- displays information from a FCEUX code data log run on the NSF

st_nsf.cfg
- linker configuration file used by ld65 when building st_nsf.nsf

disassemble.py
- script for disassembly

fceux_symbols.py
- creates FCEUX debugging symbols when building st_nsf.nsf

orders.py
- creates a table of orders for use in disasm_info.txt

st_disasm_info.txt
- disassembly annotation file used for automated labelling during disassembly

apply_patch.py
- copies the patched NSF into the NES ROM



Brad Smith
11/19/2014
http://rainwarrior.ca