• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

All-Instrument Patch (FireRed, Ruby, Emerald)

48
Posts
9
Years
  • Age 31
  • Seen Oct 26, 2015
First of all, I'd like to thank you for your hard work on this patch and for making it for Emerald as I had hoped ♥

However, I'm having a slight problem. When trying to apply the UPS patch to my clean Emerald ROM with Tsukuyomi, I'm getting an error: "Failed! Input checksum is invalid". Anyone know why this is? I'm 100% certain it's a perfectly clean ROM.

Also, would it be possible for you to make it into an IPS patch that does not expand the ROM in the future, or is that an impossibility?

Hm, I'm not sure why it's doing that...I'll look into it.

For Emerald? It's technically possible, using a similar method that GoGo did for the HGSS Music Patch. But the ROM will end up expanded in any case. Emerald simply doesn't have as much free space as FireRed, making using a non-expanded ROM for such a large patch less feasible.

This is an amazing patch. :D

But, I take it that this isn't compatible with already-hacked ROMs?
May I ask the range of offsets that you've used on Ruby for this?
So far, I can see that you've used the offset A00000 and further, which I've already used. =/

I used the offsets A00000-B68FA8. So, yeah, if you've already used those offsets, I'm afraid you're out of luck.

At least for now. In theory, I can create a program that can allow one to apply this patch using dynamic offsets. Such a program would require at least 68FA8 free space in the rom to work. But it is possible. It's something I'll probably do at some point in order to make this more compatible with already-hacked ROMs. I have other priorities right now though.
 

destinedjagold

You can contact me in PC's discord server...
8,593
Posts
16
Years
  • Age 33
  • Seen Dec 23, 2023
I used the offsets A00000-B68FA8. So, yeah, if you've already used those offsets, I'm afraid you're out of luck.

At least for now. In theory, I can create a program that can allow one to apply this patch using dynamic offsets. Such a program would require at least 68FA8 free space in the rom to work. But it is possible. It's something I'll probably do at some point in order to make this more compatible with already-hacked ROMs. I have other priorities right now though.

Thanks for that info! And a program like that would be really useful. I'll patiently wait for it for the time being then. :P

edit...

ahem, anyway... By this line here:
For FireRed and Ruby, the voicegroup offset is 0xB30C5C.
Do you mean that we're going to put 0xB30C5C on the Voicegroup Offset on Sappy?
2yljskm.jpg
 
Last edited:
48
Posts
9
Years
  • Age 31
  • Seen Oct 26, 2015
Thanks for that info! And a program like that would be really useful. I'll patiently wait for it for the time being then. :P

edit...

ahem, anyway... By this line here:

Do you mean that we're going to put 0xB30C5C on the Voicegroup Offset on Sappy?
2yljskm.jpg

Yes, that's exactly right!
 
173
Posts
12
Years
  • Seen Jan 2, 2015
I am wondering for this patch, if an instrument is already in another game, example, R/S instruments, will they be in the FR patch? Or will the instruments be midi samples, as stated before?
 

Karjam

AKA KarjamP
22
Posts
17
Years
Well it's pretty nice someone finally did this. The thing I don't like about that is that it uses those very old Roland Sound Canvas samples (which are almost 20 years old?) which imo don't sound very natural and have this typical MIDI synthesized sound everyone knows. I'd go for some more high quality samples but, well, it's still a decent job you ported it from FE.
I'd just like to point out that it's the Microsoft GS Wavetable SW Synth that comes with every Windows system that sucks when it comes to the quality of the samples, not the synthesizer its soundset's based upon (the Roland SC-55).

The Roland SC-55 uses higher quality versions of the samples used in the Microsoft GS Wavetable SW Synth, and while they resemble each other (especially when it comes to drum kits), there are noticable differences in quality of the sound if you were to play a song in Roland SC-55 (or future Roland Synthesisers that uses a similar soundset or can use a similar soundset, such as the Roland SD-50 {AKA the "Mobile Studio Canvas"} ).

Anyway, the fact of the matter is, there are better General Midi samples.

If I were the one who made this patch, I'd attempt to map the samples already existing in the game to their General Midi equivalents and borrow the samples from other games if said sample doesn't exist within the ROM.

Part of the problem is it's often extremely difficult to find high quality samples of the instruments you want, especially if the instrument is more obscure. For example, you won't believe the lengths I went to find shamisen samples, before I realized the HGSS Music patch had it. And I had no idea where I could find skakuhachi samples without paying for it. And samples for the Rain FX instrument were non-existent.

You can import from DS, but that can only take you so far. For those without good ears, it can be hard for us to discern between undocumented instruments. And even in games with documented sound fonts, no game has every instrument. Like, none of the Pokemon games seemed to have Electric Bass (Pick), an endless source of frustration for me. Not much luck finding samples for it online either.
I wouldn't worry about that if I were you - the General Midi standard only names the instruments. It doesn't tell you how they should sound like. This very fact is stated in the technical specs of the sound set to General Midi.

http://www.midi.org/techspecs/gm1sound.php
 

ipatix

Sound Expert
145
Posts
15
Years
Actually, there is quite a few good open sample libraries. (see Crisis GM 3, SGM, Musyng Kite)
Obviously you need to trim those before inserting them since most the samples are stereo and have super long loops which would take up too much memory usually. There is quite a lot of work involved redoing shorter sample loops, compressing (dynamics, not data) and EQing but with all of that you can get some pretty amazing sounds even for rare instruments and make them sound pretty good. Usually pretty low samplerates are enough because GBA Pokemon games run on 13379 Hz by default which doesn't require samples at >16 kHz obviously (which would cause more aliasing anyway),
 

BlankPoints

Dumb Apples
86
Posts
16
Years
  • Age 31
  • Seen Nov 3, 2023
Hey, I'm having a slight problem. I can't hear the drums in a few songs I inserted into the game.
I can hear in sappy quite well. The drums plays throughout the whole song.
719a0cac69f533acd8b6f32abb9ecd18.png


But as seen (or heard) in the video it can't be heard.

HELP PLEASE!!!
 
Last edited by a moderator:

ipatix

Sound Expert
145
Posts
15
Years
Remeber that by default Pokemon games have a track limit of 10. It seems like the hack doesn't intend to change that or failed to do so.
 

BlankPoints

Dumb Apples
86
Posts
16
Years
  • Age 31
  • Seen Nov 3, 2023
How would one go about changing this problem?

UPDATE: the 10 track limit is not the problem. I deleted one of the tracks to decrease the number and the drums still won't play.
 
Last edited:

AtecainCorp.

Rejishan awake...
1,377
Posts
15
Years
How would one go about changing this problem?

UPDATE: the 10 track limit is not the problem. I deleted one of the tracks to decrease the number and the drums still won't play.

You do it wrong dude... 10 limiter is not for tracks. But for Instruments played at the same time. Change it better for 12. It that do not help. You must change your midi to fit on 12 <Or 10 by default> Instruments played at the same time.
 

ipatix

Sound Expert
145
Posts
15
Years
Well the limit of 10 applys to the tracks but at the same time you need to care about the Voice limit (5 by default). Either trim the Midi so not too many notes play at the same time or increase the voice limit.

Usually this works by looking for a 4 aligned string of bytes: 0x00 0xC5 0x94 0x00
It "should" be the first occurance if there is multiple.
and replacing it with 0x00 0xC? 0x94 0x00 (replace ? with the voice limit; 12 is max)
 

BlankPoints

Dumb Apples
86
Posts
16
Years
  • Age 31
  • Seen Nov 3, 2023
Well the limit of 10 applys to the tracks but at the same time you need to care about the Voice limit (5 by default). Either trim the Midi so not too many notes play at the same time or increase the voice limit.

Usually this works by looking for a 4 aligned string of bytes: 0x00 0xC5 0x94 0x00
It "should" be the first occurance if there is multiple.
and replacing it with 0x00 0xC? 0x94 0x00 (replace ? with the voice limit; 12 is max)

I did that as well, I'll probably might have to decrease the notes played at one time.
 

ipatix

Sound Expert
145
Posts
15
Years
Well, you shouldn't go obviously above 12 then. Otherwise you might try moving the track upwards in the song to give it a higher priority and see what happens. If it still doesn't work it would mean that something else is broken.
 

BlankPoints

Dumb Apples
86
Posts
16
Years
  • Age 31
  • Seen Nov 3, 2023
Well, you shouldn't go obviously above 12 then. Otherwise you might try moving the track upwards in the song to give it a higher priority and see what happens. If it still doesn't work it would mean that something else is broken.

Still doesn't work :( .

I even tried inserting a song with only drum and that still didn't work-ish. Interesting to note that when played in Sappy it sound normal but when in the GBA emulator you can hear VERY small "pecks" in the sound replicating the drums. I only notice this when my speakers were at FULL volume.
 

ipatix

Sound Expert
145
Posts
15
Years
I haven't tried it yet but there is something wrong with your patch. The file is only 63 bytes big and cannot contain anything useful.
 

ipatix

Sound Expert
145
Posts
15
Years
Well, whoever made this instrument patch was smart enough to put the drum table to an unaligned offset which obviously makes everything fail (the hardware doesn't support unaligned memory reads).
You could probably solve that by moving the drum table from Instr #127 to a 4 byte aligned offset and changing the drum table pointer in the voicegroup accordingly
 
Back
Top