Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Reload this Page Tutorial Editing The .S File

For all updates, view the main page.

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.

Thread Tools
Old August 31st, 2013 (7:50 AM). Edited September 1st, 2013 by xGal.
xGal's Avatar
xGal xGal is offline
Join Date: Nov 2011
Location: A tree
Gender: Other
Nature: Relaxed
Posts: 239
- Title -

Not much to say here... This is a tutorial on editing the .S file... Yup, the mysterious .S file that contains MIDI music's data!

Let's start!

Changing Speed
If you use Anvil Studio, like me, you might've noticed that there's a speed limit of 300, but you've seen some music that their speed is over 300. Example: Vs. Turner (Pokémon Vega [510 speed lololol]). This is how you do it.

Open the .S file in notepad and search for the following:

    .byte    TEMPO , X*M_tbs/2
Where X stands, put the current speed and where the M stands, put the name of the .S file (example: if the name is battle.s, I will change X to "battle").

Now, to edit the speed, replaceX with the speed you want.

Changing Volume
This one was found by Team Fail, so credit him!

If you once imported a MIDI from a DS game, you might noticed it didn't play in-game. It's because the music is too loud for the GBA to play.

Find the following:
    .equ    X_mvl, 127
Replace X with the name of the .S file.

Now, replace "127" with the volume you want. I recommend to set it to 79.

Changing an Instrument
Navigate to the start of the track and find the following:
    .byte        VOICE , X
Replace X with:
Current instrument -1
Replace it with:
Instrument you want it to set to -1

MIDI Events
Program Change
Write the following in the position you want the program change to start:
    .byte        VOICE , X
Replace X with the instrument you want it to set to -1.

Write the following in the position you want the panpot to start:
    .byte        PAN   , c_v+X
Replace X with:
0 = Left
64 = Middle
127 = Right

That's it, FOR NOW!
Ten Sho Sho Ten Sho
Reply With Quote
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are UTC -8. The time now is 5:30 PM.