walker7 Posted October 2, 2010 Report Share Posted October 2, 2010 (edited) Just in case you don't know, this is the game I am talking about: http://www.sega-16.com/review_page.php?id=570&title=MLBPA+Baseball Obviously, I will not provide a ROM here. The music pointer table can actually be found at offset $16EFF0 in ROM. Each entry has 4 bytes: Byte #1: Always $03 Byte #2: This byte starts at $00 for the first entry, $01 for the second, etc. up to $19, then skipping $1A-$1F and then going from $20-$35. This is the ID for each song/sound effect. ($00-$19 are organ ditties, $20-$32 and $35 are sound effects, $33 is the main theme, and $34 is the options theme.) Bytes #3-#4: A 16-byte value that tells the length of each song, in bytes. Now, here's an example of an organ ditty: At song ID $08, or offset $1AA22A, this is the "Charge!" theme. It all begins with the header: 00 00 00 C0 08 00 B0 01 1E 00 The "C0 08" is the organ instrument. I am not sure of what the "B0 01 1E" does. If a byte is in the range of $90-$9F, then what follows is a series of notes; the lower nybble tells what instrument to use. It begins: 45 50 05 00 | 4A 50 04 00 | 42 50 03 01 | 3E 50 03 0E This is the first note. Each entry has 4 bytes: Byte #1: Note Byte #2: I am not sure, though it always seems to be somewhere around $50 Byte #3: Length of note Byte #4: Amount of time to wait before next entry Now, here is the list of notes, $24 is Middle C. The theme song and options theme use this setup, but for the organ ditties, the key is transposed somewhat: $00 = C-1 $01 = C#-1 / Db-1 $02 = D-1 $03 = D#-1 / Eb-1 $04 = E-1 $05 = F-1 $06 = F#-1 / Gb-1 $07 = G-1 $08 = G#-1 / Ab-1 $09 = A-1 $0A = A#-1 / Bb-1 $0B = B-1 $0C = C-2 $0D = C#-2 / Db-2 $0E = D-2 $0F = D#-2 / Eb-2 $10 = E-2 $11 = F-2 $12 = F#-2 / Gb-2 $13 = G-2 $14 = G#-2 / Ab-2 $15 = A-2 $16 = A#-2 / Bb-2 $17 = B-2 $18 = C-3 $19 = C#-3 / Db-3 $1A = D-3 $1B = D#-3 / Eb-3 $1C = E-3 $1D = F-3 $1E = F#-3 / Gb-3 $1F = G-3 $20 = G#-3 / Ab-3 $21 = A-3 $22 = A#-3 / Bb-3 $23 = B-3 $24 = C-4 (This is Middle C) $25 = C#-4 / Db-4 $26 = D-4 $27 = D#-4 / Eb-4 $28 = E-4 $29 = F-4 $2A = F#-4 / Gb-4 $2B = G-4 $2C = G#-4 / Ab-4 $2D = A-4 $2E = A#-4 / Bb-4 $2F = B-4 $30 = C-5 $31 = C#-5 / Db-5 $32 = D-5 $33 = D#-5 / Eb-5 $34 = E-5 $35 = F-5 $36 = F#-5 / Gb-5 $37 = G-5 $38 = G#-5 / Ab-5 $39 = A-5 $3A = A#-5 / Bb-5 $3B = B-5 $3C = C-6 $3D = C#-6 / Db-6 $3E = D-6 $3F = D#-6 / Eb-6 $40 = E-6 $41 = F-6 $42 = F#-6 / Gb-6 $43 = G-6 $44 = G#-6 / Ab-6 $45 = A-6 $46 = A#-6 / Bb-6 $47 = B-6 $48 = C-7 $49 = C#-7 / Db-7 $4A = D-7 $4B = D#-7 / Eb-7 $4C = E-7 $4D = F-7 $4E = F#-7 / Gb-7 $4F = G-7 $50 = G#-7 / Ab-7 $51 = A-7 $52 = A#-7 / Bb-7 $53 = B-7 $54 = C-8 $55 = C#-8 / Db-8 $56 = D-8 $57 = D#-8 / Eb-8 $58 = E-8 $59 = F-8 $5A = F#-8 / Gb-8 $5B = G-8 $5C = G#-8 / Ab-8 $5D = A-8 $5E = A#-8 / Bb-8 $5F = B-8 That means notes $45, $4A, $42, and $3E play all at once; if it were in the key of C, this is an A, D, F#, and D one octave lower all at once, making a chord. A byte of $FF signifies the end of the song. Here are the ID's for the sound effects: 19 - Menu Move SFX (a "ding" sound) 20 - Hit the Ball 21 - Hit the Ball 2 22 - "Foul!" 23 - "Foul Ball!" 24 - Hit the Ball 3 25 - Hit the Ball 4 26 - Hit the Ball 5 27 - Bump 28 - "Out!" 29 - "Safe!!!!!" 2A - "Safe!" 2B - "Strike Three!" 2C - "Stee-rike!" 2D - "Strike!" 2E - "Take Your Base!" 2F - "You're Out!" 30 - "You're Outta There!" (this is when you get three outs to retire the side) 31 - Big Cheer 32 - Cheer 35 - Slide The addresses for the organ ditties are: 00 - 1A8DD1 01 - 1A901D 02 - 1A9049 03 - 1A923D 04 - 1A96BD 05 - 1A99FF 06 - 1A9DDD 07 - 1AA1EE 08 - 1AA22A 09 - 1AA53E 0A - 1AA704 0B - 1AAC7E 0C - 1AAFFC 0D - 1AB526 0E - 1ABB8A 0F - 1AC205 10 - 1AC738 11 - 1ACB28 12 - 1AD374 13 - 1AD978 14 - 1ADE9C 15 - 1AE7B4 16 - 1AEA6E 17 - 1AF0BC 18 - 1AF11C Edited October 2, 2010 by walker7 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.