OT: MLBPA Baseball (Genesis) Music Format


Recommended Posts

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 by walker7
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.