Minor ROM research project
Jan 4, 2011 21:23:53 GMT -5
Post by Tombstoner on Jan 4, 2011 21:23:53 GMT -5
So, as I will soon post in another thread, I am starting a hack of Pokémon Blue, Pokémon Postbellum. This won't just be a minor mod: it will be a serious hack, done primarily with Hex editing.
But more on that later.
I decided that I might want to, if not create a whole new song, mod some of the music. So, I found a ROM map and downloaded a GBS file (which is just music data in Hex, identical to the ROM,) and searched the offsets on the main ROM and then the first bytes of those offsets on the GBS file to locate them for editing (I edited them on the GBS because they could then be played directly.) I spent a bit too long doing original research before I found this: skeetendo.proboards.com/index.cgi?board=gen2&action=display&thread=11
So, now I'm able to hack the music completely.
Something huge was missing, however. There were quite a few headers missing from that list! Where are all the battle themes, for instance? The evolution music? Because of this, I decided I'd try to find the remaining ones on my own.
By a total fluke, I found the Gym Leader Battle Theme at 0x22370. Well, it wasn't a total fluke. It was weird how I did it though. Basically, I looked for a typical header start (they start with a high number with an unknown function, followed by 0x00, and a tempo number,) searched the first few bytes and located it on the GBS file, changed the tempo, and went through every track. The Gym Leader Battle Theme played much faster! So we have one new bit already not documented anywhere to my knowledge.
However it ends up being done (the way above might actually work better than others,) the area we should search first is from 0x217E8-0x23F52. That's because the DataCrystal ROM Map already states that it is "Music Data," but the locations of the individual songs in there aren't known.
Hope I can get some helpers. I don't think this will take a really long time, though.
EDIT: I now realize I used some incorrect terminology. I have to go to bed now though for school tomorrow.
But more on that later.
I decided that I might want to, if not create a whole new song, mod some of the music. So, I found a ROM map and downloaded a GBS file (which is just music data in Hex, identical to the ROM,) and searched the offsets on the main ROM and then the first bytes of those offsets on the GBS file to locate them for editing (I edited them on the GBS because they could then be played directly.) I spent a bit too long doing original research before I found this: skeetendo.proboards.com/index.cgi?board=gen2&action=display&thread=11
So, now I'm able to hack the music completely.
Something huge was missing, however. There were quite a few headers missing from that list! Where are all the battle themes, for instance? The evolution music? Because of this, I decided I'd try to find the remaining ones on my own.
By a total fluke, I found the Gym Leader Battle Theme at 0x22370. Well, it wasn't a total fluke. It was weird how I did it though. Basically, I looked for a typical header start (they start with a high number with an unknown function, followed by 0x00, and a tempo number,) searched the first few bytes and located it on the GBS file, changed the tempo, and went through every track. The Gym Leader Battle Theme played much faster! So we have one new bit already not documented anywhere to my knowledge.
However it ends up being done (the way above might actually work better than others,) the area we should search first is from 0x217E8-0x23F52. That's because the DataCrystal ROM Map already states that it is "Music Data," but the locations of the individual songs in there aren't known.
Hope I can get some helpers. I don't think this will take a really long time, though.
EDIT: I now realize I used some incorrect terminology. I have to go to bed now though for school tomorrow.