Jump to content

TSB Music Info


jstout

Recommended Posts

awesome! thanks jstout!

any "inbetween" timing intervals would be to add "shuffle" or "swing".

Interesting, never heard of that. If the notes are too fast then maybe 81 is a Sixty-fourth Note and you'll just need to bump the label tags up one. Someone with musical talent will likely know once they hear the length themselves.

Link to comment
Share on other sites

How do I know what sound or effect matches up with what? Just guess?

Also lets say I have a nsf file that I want to put in the game. Can I do this? Yes I know each game is different and it is not as simple as just putting it in. I just thought that I could break down the nsf file to get some data that can be used in the game.

Link to comment
Share on other sites

Can you further explain how the pointers relate to the music? I'm not really grasping this.

Sound Test Song/Effect Table: x346D1-x3470C (In order of sound 1 to 60)

To get the Song/Effect in the Music Pointer Table (x36EC0-x36F4F), multiple the Song/Effect by 2 then add the music pointer table start address (x36EC0).

The location and pointers are:

Song/Effect x00-x1F = located in x36010-x3800F ($8000-$9FFF)

Song/Effect x20-x3C = located in x3A010-x3C00F ($A000-$BFFF)

Song/Effect x3D-x47 = located in x38010-x3A00F ($A000-$BFFF)

Examples:

Song 4 = x3C

x3C*2 = x78

x78+x36EC0 = x36F38

In the rom x36F38 = $A145

$A145 = x3A155

Song 5 = x3D

x3D*2 = x7A

x7A+x36EC0 = x36F3A

In the rom x36F3A = $B2C9

$B2C9 = x392D9

-------------------

For the song data pointers it will be located as above (pointers will add x10 for the header).

Examples:

Song 4 - x3A155

04 $A275 05 $A45C 06 $A152 07 $A4F2 FF

SQUARE 1 = x3A285, SQUARE 2 = x3A46C, TRIANGLE = x3A162, NOISE = x3A502

Song 5 - x392D9

04 $B3A4 05 $B46B 06 $B2D6 07 $B57F FF

SQUARE 1 = x393B4, SQUARE 2 = x3947B, TRIANGLE = x392E6, NOISE = x3958F

Link to comment
Share on other sites

  • 6 years later...

The E0 command is really like an instrument envelope setting... though smoothness is a somewhat accurate setting. 

 

The XX in the E0 XX command  is an index into a pointer table. The pointers point to volume envelope data. This controls the envelope through the sustain phase.

 

Envelopes-Multi.jpg

Link to comment
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.

×
×
  • Create New...