walker7

Modifying the Organ Ditties

Recommended Posts

walker7    0

Does anyone here know or can figure out how the organ ditties in the Sega Genesis version of NHL '94 are formatted? If so, could you please note how the data is arranged and what each byte stands for (e.g. note, note length, etc)? It would be interesting as you can put in your own organ ditties in the game, and figure out how the pointers to them are calculated. For example, in the note values, which value stands for Middle C? What byte denotes a quarter note? A half note? A rest?

You can also do this for any other game, be it NHL or anything else. This next part could go in an off-topic section, but it would be interesting to find out what the format is for the organ ditties in MLBPA Baseball for the Sega Genesis. As a start, if you have played it before, in that game, you know that organ ditties are played any time a player from the home team comes up to bat. An index is stored in RAM address $FFE842, from $01-$18, and the starting ROM address is put in RAM address $FFE802. Each organ ditty is terminated with an $FF, and they run from $1A8DD0 to $1B4C27 in ROM (a total of $BE58 or 48,728 bytes). I think each note takes four bytes, because, for example, you might see something like 45 50 05 00 4A 50 04 00 42 50 03 01 3E 50 03 0E (this can be found in the ROM at $1AA235). I think the first byte has to do with the note, the fourth byte has to do with the note length. And there is some kind of header that might look like C1 09 00 B1 01 1E 00 91 (this can be found at $1AA245).

If anyone can fill me in on how to modify the organ ditties in any game like this, I would appreciate your help.

Share this post


Link to post
Share on other sites
smozoma    100
Does anyone here know or can figure out how the organ ditties in the Sega Genesis version of NHL '94 are formatted? If so, could you please note how the data is arranged and what each byte stands for (e.g. note, note length, etc)? It would be interesting as you can put in your own organ ditties in the game, and figure out how the pointers to them are calculated. For example, in the note values, which value stands for Middle C? What byte denotes a quarter note? A half note? A rest?

You can also do this for any other game, be it NHL or anything else. This next part could go in an off-topic section, but it would be interesting to find out what the format is for the organ ditties in MLBPA Baseball for the Sega Genesis. As a start, if you have played it before, in that game, you know that organ ditties are played any time a player from the home team comes up to bat. An index is stored in RAM address $FFE842, from $01-$18, and the starting ROM address is put in RAM address $FFE802. Each organ ditty is terminated with an $FF, and they run from $1A8DD0 to $1B4C27 in ROM (a total of $BE58 or 48,728 bytes). I think each note takes four bytes, because, for example, you might see something like 45 50 05 00 4A 50 04 00 42 50 03 01 3E 50 03 0E (this can be found in the ROM at $1AA235). I think the first byte has to do with the note, the fourth byte has to do with the note length. And there is some kind of header that might look like C1 09 00 B1 01 1E 00 91 (this can be found at $1AA245).

If anyone can fill me in on how to modify the organ ditties in any game like this, I would appreciate your help.

You've just provided more info on organ ditties right here than anyone else here has :)

Hopefully someone can use your hints from the MLBPA format to explore this...

Share this post


Link to post
Share on other sites
shaftman    0

I tried looking into it but didn't have much luck.

If anyone can figure it out I'd love to compose some 94 tunes.

Share this post


Link to post
Share on other sites
smozoma    100

One thing this would be really useful for would be 'moving' songs between teams so that, in edited ROMs, teams can maintain their theme music (brass bonanza in hartford, saints come marching in in st. louis...) if the order of the teams is changed.

Edited by smozoma

Share this post


Link to post
Share on other sites
shaftman    0

I wonder If this is the same for 94. The 1-7 I believe means octaves.

$81 C

$82 C♯/D♭

$83 D

$84 D♯/E♭

$85 E

$86 F

$87 F♯/G♭

$88 G

$89 G♯/A♭

$8A A

$8B A♯/B♭

$8C B

$8D 1C

$8E 1C♯/D♭

$8F 1D

$90 1D♯/E♭

$91 1E

$92 1F

$93 1F♯/G♭

$94 1G

$95 1G♯/A♭

$96 1A

$97 1A♯/B♭

$98 1B

$99 2C

$9A 2C♯/D♭

$9B 2D

$9C 2D♯/E♭

$9D 2E

$9E 2F

$9F 2F♯/G♭

$A0 2G

$A1 2G♯/A♭

$A2 2A

$A3 2A♯/B♭

$A4 2B

$A5 3C

$A6 3C♯/D♭

$A7 3D

$A8 3D♯/E♭

$A9 3E

$AA 3F

$AB 3F♯/G♭

$AC 3G

$AD 3G♯/A♭

$AE 3A

$AF 3A♯/B♭

$B0 3B

$B1 4C

$B2 4C♯/D♭

$B3 4D

$B4 4D♯/E♭

$B5 4E

$B6 4F

$B7 4F♯/G♭

$B8 4G

$B9 4G♯/A♭

$BA 4A

$BB 4A♯/B♭

$BC 4B

$BD 5C

$BE 5C♯/D♭

$BF 5D

$C0 5D♯/E♭

$C1 5E

$C2 5F

$C3 5F♯/G♭

$C4 5G

$C5 5G♯/A♭

$C6 5A

$C7 5A♯/B♭

$C8 5B

$C9 6C

$CA 6C♯/D♭

$CB 6D

$CC 6D♯/E♭

$CD 6E

$CE 6F

$CF 6F♯/G♭

$D0 6G

$D1 6G♯/A♭

$D2 6A

$D3 6A♯/B♭

$D4 6B

$D5 7C

$D6 7C♯/D♭

$D7 7D

$D8 7D♯/E♭

$D9 7E

$DA 7F

$DB 7F♯/G♭

$DC 7G

$DD 7G♯/A♭

$DE 7A

$DF 7A♯/B♭

Share this post


Link to post
Share on other sites
smozoma    100
I wonder If this is the same for 94. The 1-7 I believe means octaves.

$81 C

$82 C♯/D♭

...

$DE 7A

$DF 7A♯/B♭

unfortunately, probably not:

http://info.sonicretro.org/ROM_hacking#Music_hacking

Music hacking

Music hacks are relatively rare, due to the wide variety of ways games store music data (hence the difficulty in locating and modifying this data) and the difficulties in composing new music (or porting music from another game).

I'd stick to the MLBPA Baseball hints from walker7 above, rather than the Sonic game info, since NHL94 and the baseball game were both EA games, at least (though likely developed by completely different groups). The music still sounds quite different in each game, so I'm kind of doubtful it'll be the same :)

Edited by smozoma

Share this post


Link to post
Share on other sites
HABS    6

this would be the ultimate hack imo

better than fighting

Share this post


Link to post
Share on other sites
HABS    6

damn looks like this thread died

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Who's Online   0 Members, 0 Anonymous, 19 Guests (See full list)

    There are no registered users currently online