Go Back   The PokéCommunity Forums > ROM Hacking > Research & Development
Reload this Page Fancy Knowledge #3 - Using Two Different Musics In One Event

Notices
For all updates, view the main page.

Research & Development Got a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!
Research & Development programs in this forum are subject to moderator approval before they are displayed.



Reply
 
Thread Tools
  #26    
Old August 17th, 2012 (11:25 AM).
Golden Empoleon
 
Join Date: Jan 2011
Gender: Male
Quote originally posted by thanethane98:
I believe with the modified version used in Azure Horizons it's 7030 and 7033. That worked for me in XSE, and it should work for you no matter what program you're using for scripting.
How do you make a level script
Reply With Quote
  #27    
Old August 17th, 2012 (12:18 PM).
thanethane98's Avatar
thanethane98
Self Proclaimed Expert
 
Join Date: Jun 2012
Nature: Relaxed
Quote originally posted by Golden Empoleon:
How do you make a level script
I actually just learned how to do this today, lol. Here's the tutorial I used: link

By the way, I may try to develop a tool to insert this in at some point, once I've learned a bit more programming.
__________________
Back and ROM hacking again!
Reply With Quote
  #28    
Old August 17th, 2012 (12:55 PM).
Golden Empoleon
 
Join Date: Jan 2011
Gender: Male
Thanks thanethane98
And also Jambo51
The credit goes to both of you.

It finally work!!!!
I will keep this link in mind.
Reply With Quote
  #29    
Old August 24th, 2012 (07:41 PM).
thanethane98's Avatar
thanethane98
Self Proclaimed Expert
 
Join Date: Jun 2012
Nature: Relaxed
I'm currently looking for the offsets for this in emerald. I'll update this post when I find them.
__________________
Back and ROM hacking again!
Reply With Quote
  #30    
Old August 25th, 2012 (02:21 AM). Edited August 25th, 2012 by sonic1.
sonic1's Avatar
sonic1
ASM is my life now...
 
Join Date: May 2008
Location: Portugal
Age: 20
Gender: Male
Nature: Timid
Don't bother.

Here they are:
0x086B49C0 -> Offset of channel table
0x086B49F0 -> Offset of Music Table.

And the offsets you must start overwriting is 0x2E0130 (the music_loader routine)
~Sonic1
__________________
This signature has been disabled.
over 350px high
Please review and fix the issues by reading the signature rules.

You must edit it to meet the limits set by the rules before you may remove the [sig-reason] code from your signature. Removing this tag will re-enable it.

Do not remove the tag until you fix the issues in your signature. You may be infracted for removing this tag if you do not fix the specified issues. Do not use this tag for decoration purposes.
Reply With Quote
  #31    
Old March 8th, 2013 (02:38 AM).
tajaros's Avatar
tajaros
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 15
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to tajaros
Since the revival rule doesn't work around here, I'm gonna post a fancy idea I thought about earlier this morning.

Some midi from later generations have more than 10 tracks which cannot be inserted in a gen 3 rom. But I think my idea can make a Firered or another rom like ruby and emerald play midi from new generations with tracks higher than 10. First split it into two parts, midi will have 10 tracks and the other 6. This is the case if the midi you want to play in your hack has 16 tracks. So I guess you have to loop the two at the same time and play them both at the same time and tada! A music with more than 10 tracks.

Though I haven't tested this out yet but when I do I'll be sure to inform you guys if it's working or not.
__________________
Reply With Quote
  #32    
Old March 8th, 2013 (08:42 PM).
Omega Zero's Avatar
Omega Zero
Is back...
Community Supporter Tier 4
 
Join Date: Dec 2009
Location: I'm always living aren't I?
Age: 17
Gender: Male
Nature: Relaxed
Send a message via Skype™ to Omega Zero
Quote originally posted by tajaros:
Since the revival rule doesn't work around here, I'm gonna post a fancy idea I thought about earlier this morning.

Some midi from later generations have more than 10 tracks which cannot be inserted in a gen 3 rom. But I think my idea can make a Firered or another rom like ruby and emerald play midi from new generations with tracks higher than 10. First split it into two parts, midi will have 10 tracks and the other 6. This is the case if the midi you want to play in your hack has 16 tracks. So I guess you have to loop the two at the same time and play them both at the same time and tada! A music with more than 10 tracks.

Though I haven't tested this out yet but when I do I'll be sure to inform you guys if it's working or not.
First of all this - http://www.pokecommunity.com/showpost.php?p=7559059&postcount=316
That alone gives you the ability to use up to 12 direct tracks in Pokemon firered, why would you need any more?
Yeah 16 would be nice but you can nearly always find dumbed down version of songs and most midis
have nearly duplicate tracks.

Second, how would you go about playing two songs at the same time?
__________________
Reply With Quote
  #33    
Old March 8th, 2013 (09:11 PM).
tajaros's Avatar
tajaros
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 15
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to tajaros
Quote originally posted by Omega Zero:
First of all this - http://www.pokecommunity.com/showpost.php?p=7559059&postcount=316
That alone gives you the ability to use up to 12 direct tracks in Pokemon firered, why would you need any more?
Yeah 16 would be nice but you can nearly always find dumbed down version of songs and most midis
have nearly duplicate tracks.

Second, how would you go about playing two songs at the same time?
Hmm... It seems I misunderstood what this thread really for I have not really read the OP fully.

Haha, I thought this was for having two songs play at the same time haha... xD

Sorry for that disregard my previous post.
__________________
Reply With Quote
  #34    
Old March 19th, 2013 (07:11 PM).
Chaos Rush's Avatar
Chaos Rush
im sexy and i know it
 
Join Date: May 2007
Location: Taylor Swift
Gender: Male
Nature: Adamant
Quote originally posted by Omega Zero:
First of all this - http://www.pokecommunity.com/showpost.php?p=7559059&postcount=316
That alone gives you the ability to use up to 12 direct tracks in Pokemon firered, why would you need any more?
Nonono you don't understand. What you linked to extends the Direct Sound limit from 5 to 12. In the GBA games, only 5 Direct Sound instruments can be playing at once. This allows 12. This does NOT allow a Sappy song to have 12 instruments, the limit is still 10. All it does it make it so that up to 12 Direct Sound instruments can be playing at once, which is possible even with 10 tracks, since you can have a single track play more than one note at the same time. In other words, in the GBA games unmodified, you can only have 5 Direct Sound instruments playing at once, and 5 "Game Boy" instruments playing at once, but you must limit it to 10 Sappy tracks total. With this extension, you can now have up to 12 Direct Sound instruments playing at once, and 5 "Game Boy" instruments playing at once, but you're still limited to 10 Sappy tracks.

What tajaros was talking about is if its possible to extend the maximum amount of Sappy tracks to 16. The thing you linked to just makes it so that you can have 12 Direct Sound notes playing at once, but the track limit is still 10.
__________________
Reply With Quote
  #35    
Old March 20th, 2013 (05:16 AM).
tajaros's Avatar
tajaros
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 15
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to tajaros
Quote originally posted by Chaos Rush:
Nonono you don't understand. What you linked to extends the Direct Sound limit from 5 to 12. In the GBA games, only 5 Direct Sound instruments can be playing at once. This allows 12. This does NOT allow a Sappy song to have 12 instruments, the limit is still 10. All it does it make it so that up to 12 Direct Sound instruments can be playing at once, which is possible even with 10 tracks, since you can have a single track play more than one note at the same time. In other words, in the GBA games unmodified, you can only have 5 Direct Sound instruments playing at once, and 5 "Game Boy" instruments playing at once, but you must limit it to 10 Sappy tracks total. With this extension, you can now have up to 12 Direct Sound instruments playing at once, and 5 "Game Boy" instruments playing at once, but you're still limited to 10 Sappy tracks.

What tajaros was talking about is if its possible to extend the maximum amount of Sappy tracks to 16. The thing you linked to just makes it so that you can have 12 Direct Sound notes playing at once, but the track limit is still 10.
Actually that's not what I am talking about. I should have explained further for example we have a 20 tracked Midi and you want it to be played in your game let's say we split the Midi to 10 each and just have the two songs play at the same time so it will look like you have the Midi playing as one.

Though if it's possible to make two music play at the same time.
__________________
Reply With Quote
  #36    
Old March 20th, 2013 (05:52 AM).
Chaos Rush's Avatar
Chaos Rush
im sexy and i know it
 
Join Date: May 2007
Location: Taylor Swift
Gender: Male
Nature: Adamant
Quote originally posted by tajaros:
Actually that's not what I am talking about. I should have explained further for example we have a 20 tracked Midi and you want it to be played in your game let's say we split the Midi to 10 each and just have the two songs play at the same time so it will look like you have the Midi playing as one.

Though if it's possible to make two music play at the same time.
I knew what you're talking about, but, Omega Zero thought the Direct Sound extension lets you have up to 12 tracks playing, which is false, the Direct Sound extension just lets you have 12 Direct Sound notes playing at any given time.
__________________
Reply With Quote
  #37    
Old March 24th, 2013 (03:47 PM).
Shiny Quagsire's Avatar
Shiny Quagsire
Working on KARL3DS
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 17
Gender: Male
Nature: Jolly
Quote originally posted by tajaros:
Actually that's not what I am talking about. I should have explained further for example we have a 20 tracked Midi and you want it to be played in your game let's say we split the Midi to 10 each and just have the two songs play at the same time so it will look like you have the Midi playing as one.

Though if it's possible to make two music play at the same time.
I doubt that it's possible to play two songs at the same time, since even with sounds, it usually has to stop one track to play the sound depending on how many tracks the song is. Either that or there are a few tracks (probably 2-6) reserved specifically for sound effects.
__________________



Reply With Quote
  #38    
Old March 24th, 2013 (04:09 PM).
tajaros's Avatar
tajaros
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 15
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to tajaros
Quote originally posted by shiny quagsire:
I doubt that it's possible to play two songs at the same time, since even with sounds, it usually has to stop one track to play the sound depending on how many tracks the song is. Either that or there are a few tracks (probably 2-6) reserved specifically for sound effects.
That would be cool if we can do that! We can play BW music properly haha... xD
__________________
Reply With Quote
  #39    
Old March 24th, 2013 (10:37 PM). Edited March 24th, 2013 by Jambo51.
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Yes, sounds and fanfares have separate memory, so that the main music pauses and resumes. No, you cannot abuse this fact to extend the number of tracks available in a song since it is a physical limit of the M4AA engine inside the given game. You'd have to rewrite the engine and vastly optimise it to be able to do what you want. Or did you think we didn't try numbers higher than 0xC in the limiter? Lol

ETA: the Sfx don't generally stop the music from playing, whereas fanfares do. You could exploit this behaviour to have "indefinite" fanfares, which would, in effect, emulate BW's behaviour with regard to certain music.

2 issues with this being, the game doesn't support indefinite fanfares (requires a length in music ticks (I think) to operate), and the physical coding to have this happen would not be easy.
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Reply With Quote
  #40    
Old April 16th, 2014 (01:00 PM). Edited April 16th, 2014 by DealNotTheDevil.
DealNotTheDevil
 
Join Date: Jan 2012
Gender: Male
Quote originally posted by sonic1:
Don't bother.

Here they are:
0x086B49C0 -> Offset of channel table
0x086B49F0 -> Offset of Music Table.

And the offsets you must start overwriting is 0x2E0130 (the music_loader routine)
~Sonic1
I've tried inserting using these offsets, but all I get is a buzzing sound.
(with black and white flashing screen)
Haven't been able to even load the rom :/

Any help will be seriously seriously appreciated, as I've been looking at this for a long, long time.


EDIT:

As a matter of fact,
I've tried to "get the method correct" first for Firered.

I've copied everything, even the original addresses the OP used.
End result:

It's loads the intro, and hangs before "Press Start" is displayed.
Reply With Quote
Reply
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 07:43 PM.