The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > Creative Discussions > Emulation & ROM Hacking > Hacks Showcase > Sideshow Showcase
Register New Account FAQ/Rules Chat Blogs Mark Forums Read

Notices

Sideshow Showcase The place to show side-projects that you're working on, for the small yet still big things you want to do, such as translation patches, "386" patches, and anything small like that.
New threads in this forum are to be approved by a moderator before they are displayed.



View Poll Results: Mew and Celebi: How should you obtain them?
In a new event battle on a present map. 27 38.03%
In a new event battle on a map in a different game. Ex: Faraway Island. 28 39.44%
In a new non-battle event in the game. 12 16.90%
Nowhere! You can't get more authentic than that. 2 2.82%
In the wild, in patches of grass. 2 2.82%
Voters: 71. You may not vote on this poll

Reply
Thread Tools
  #1  
Unread July 24th, 2012, 07:15 AM
RichterSnipes's Avatar
RichterSnipes
What comes after five?
 
Join Date: Oct 2011
Location: USA
Age: 20
Gender: Male
Nature: Modest
*This should go without saying, but older posts in this topic do not reflect the current state of this hack.*

Black backgrounds stink, don't they?
Story

A long time ago, I had a dream: to make the definitive, end-all-be-all version of the original Pokémon games. I wanted to use FireRed [BPRE] as a base because of the ease of hacking it and the fact that it is already a remake of the classics. What you see today is my current efforts to make this a reality. But I hope for what is available at present to only be a work-in-progress. Now on to the real meat of what is here.

...Oh, you wanted the game's story. You're a ten 11-year old kid from Pallet Town who is sent off into the world of Japan Pokémon to capture certified fighting monsters for sport. And battling! Be the best by becoming champion and...catching ém all? Insert motivational sentence here.

Main Features

Pokémon FireRed Throwback is comprised of several different functioning patches. Here is a breakdown of each one, just for you!

GB Player
Home of the first full-featured set of beep-and-boop tunes for GBA Pokémon hacks.

Sometime in to my "master hack," I decided to shift my primary focus on one area of the game that everyone was fond of in the 8-bit classic: the music. At first, I made the songs using MIDI files from VGMusic uploader João *Johnnyz* Buaes as a base and editing them with careful listening.

That was then, though. What you see now are tracks that, after many toils and revelations, truly represent what Pokémon Red/Green/Blue/Yellow had to offer. The current songs are based right off of the code from the original ROMs. Barring a few discrepancies, these tunes are almost identical to their original iterations.

If anyone wishes to fix the few issues in my tracks that I'm clueless on, then by all means go ahead. Heck, if anyone wants to further polish the game into the flawless gem it deserves to be or use some form of it as a base for FireRed extensions, that's OK by me, too! Check the included Music Hacking Notes for my conversion procedure and music locations in my hack.

This hack includes the following:

  • A completely separate sound bank with the recreated 8-bit soundtrack from Pokémon Red/Green/Blue/Yellow (and a little bit from Gold/Silver/Crystal). They play off of the GB Synth instruments of the GameBoy Advance instead of DirectSound to ensure minimal loss of sound quality. As they are based off of the original code, they are almost perfect recreations. Certainly of a much higher accuracy than the ones you'll hear when using the GB Sounds item in HeartGold/SoulSilver!
  • A new key item, the GB Player, has been added to your house in Pallet Town. With it you can choose which music you want to listen to throughout the game. The game saves which bank is chosen, so saving with the 8-bit tracks on will allow you to keep them on when booting the game up.
Note that different GBA emulators are in different states of accuracy. I know that certain ones still lack precise GB Synth emulation and make the tracks I've reconstructed sound off. The latest version of VBA-M on computers works real well with this. Variants of VBA on other platforms likely play nice with it, too, but I can't speak for other emulators.

For anyone who cares, here's a list of things I couldn't get to sound just right:

Spoiler:
  • Absolute accuracy means that any flaw in the GBA's GB Synth playback will cause some things to not sound quite right. This can be seen with notes held for a short time. This is most apparent with Viridian Forest, which sounds noticeably off. This isn't my fault, but one with the system itself...unless I'm proven wrong!
  • The GameBoy had a function to handle note raises smoothly without changing volume. I haven't perfectly figured out how the GBA handles them yet. For now, they start at velocity 0 and gradually rise with manual code. This results is slight static. If I fully figure out their implementation, I'll fix them in a future update.
  • The noise instrument values have predefined patterns of code in the original GameBoy ROMs. I haven't been able to find where it is, so for now I have estimated notes playing for each track. Because of this, the "drums" in the Route 1/2 song and any Gold/Silver/Crystal town track don't sound right.
  • I have absolutely no idea how certain square wave distortions are made. These are prominent in two of the jingles that don't have 8-Bit versions of them in this hack: the evolution start jingle, and Jigglypuff's Song. The Game Freak logo sound also has something funny going on with it that I can't figure out.
  • I don't know if I'm the only one having this problem, but there are a couple of jingles that I just can't replace without the game deciding not to play them when they're supposed to be heard. These jingles are all the Game Corner ones.
  • I refuse to do anything with the solitary jingle that plays the Level Up/Item Obtained/Move Learned/TM Obtained/Just About Everything in the Known Universe in FireRed and LeafGreen. Something must be done about it outside the limits of this hack to allow for multiple jingles to be played for separate occasions.

Wardrobe
A Red and Green I can remember from long ago...yet I never actually saw Green in-game. Or was it Leaf? Well, that sentence just lost a lot of steam.

Things have changed over time in the Pokémon universe. Psychic- types no longer reign supreme. Physical- and Special- type attacks mean something completely different nowadays. Game Corners are now more extinct than Aerodactyls (I don't know how much validity that statement ever held). The main characters from the original games changed their clothes...

Wait, what? Yes, one of the new features of FireRed and LeafGreen was new clothing styles for the main characters (the player and the rival). With this hack, I try to replicate the looks of the characters' original looks to the greatest of my feeble paintbrush's ability. Relive the old days to the max!

P.S.: Combo this patch up with the GB Player patch for extra nostalgia, and something else for maximum nostaliga-tripping!

This hack includes the following:

  • All three characters have new OW sprites to reflect their old styles.
  • All battle sprites and backsprites have been altered to show the old clothing.
  • The opening sprites are also different to do what you expected.
Proper credits sprites will be added when time permits...and when I'm able to do it without screwing up the animations.

And yes, the female protagonist has a hat on. It's to keep with the tradition that all playable characters in the main Pokémon games have some sort of headwear on and totally not because I suck at drawing hair.

Catch 'em All
Circa 2000.

It seems like the majority of non-overhaul hacks have their own form of "catch every Pokémon!" in them. To me, they seem kind of awkward with respect to the gameplay (not to discredit any of those hackers, they do great stuff). They try to stuff 386/493/649/whatever-X-and-Y-will-make-it Pokémon into one single game with no more than two full-fleged regions. What this leads to is many Pokémon in the wild where their type of habitat would normally not be and Pokémon in regions where they shouldn't even be heard of as of yet.

Well, I'm going to throw my hat in the ring and give this my own try. However, all Pokémon will be soundly located and dispersed throughout the game, rather than awkwardly being placed in wild patches of grass where they shouldn't be. This means adding several new events for the one-off Pokémon. Check out the screenshots below for hints on these events!

Also, this means that there will be no Hoenn Pokémon in this hack. They really don't exist in the standard FireRed game, and including them would make all areas too congested. If you want to play with Hoenn Pokémon, go play Pokémon Emerald. I hear it's a great game and that it has some great hacks available for it. The same goes for Sinnoh, Unova, and [insert new region here] Pokémon, by the way.

This hack includes the following:
  • All version-exclusive Pokémon are included in the game.
  • Trade-evolved Pokémon currently have one single map in the game where they can be caught. Otherwise, they still evolve through trade; I'll look into this if I gain proper ASM skills.
  • The starter your rival chose will become available to you through your encounter with him on Four Island.
  • The third starter now has its own quest available after getting all eight badges.
  • The fossil Pokémon you don't choose can be obtained in Fuchsia City.
  • All non-special Johto Pokémon can be obtained in the latter Sevii Islands.
  • The bare-bones Real Time Clock code and time-based evolution assembly code have been implemented to make Espeon and Umbreon obtainable.
  • All three Johto roaming legendaries can be obtained. The two that don't roam can be first found somewhere else (screenshots are your friend!).
  • The strange old woman on Seven Island now gives you the (properly-functioning) Mysticticket for you to catch Ho-Oh and Lugia.
  • The Lax Incense and Sea Incense items have been removed. It's better to have no Hoenn Pokémon than have two of them creating tons of holes in the Pokédex.
Of the two generations of Pokémon in the hack, the only ones unobtainable are the Johto starters and the two real-world-event exclusives. I hope to one day get them in the game, too!

Extras
For the hack-playing connoisseurs.

Did you ever wish that Game Freak/Nintendo had made a few things more user-friendly or convenient for serious playing? Or do you just want to enjoy a few of the spoils brought about from later generations? This hack attempts to satisfy that craving of yours. With a varying array of fixes available, there's certainly something here to please you.

This hack includes the following:
  • Cut down a tree once and it will be gone for the rest of the game.
  • All move tutors, excluding the elemental Hyper Beam tutor, will teach your Pokémon their moves an unlimited number of times.
  • The areas in Mt. Moon have been more properly filled out.
  • You room no longer has a Help button message, the little girl in Pallet Town no longer acts as a Start button tutorial, and the old man in Viridian City no longer gives you the Teachy TV.
  • Giovanni's last Pokémon during the final Gym Leader Battle is once again a Rhydon.
  • The Elite Four and Pokémon Champion have had their 1st playthrough teams' levels increased by 2 to reflect their original Red/Green/Blue iterations.
  • I changed the track that plays in the Pokémon League lobby from the Gym Leader theme to the Pokémon League theme.
  • I implemented Jambo51's Trainer Facing Fix for "correctness."
  • You can now run indoors, a convenience officially introduced in the 4th Gen games; this is just the byte change as shown by HackMew.
  • The Pokédex species glitch and roaming legendary IV glitch now have their fixes, also shown by HackMew.
  • Two charactes now hold their canonical default names; Green and Charine are now Blue and Janine.
  • A few grammatical, consistency, and spelling () errors in the original game have been corrected.
For practicality's sake, these are all part of one patch for now. Who knows if it will stay that way, though...

Decapitalization
Wait, why is this its own patch?

Due to the nature of my patches, there was no way I could include this with all the other extras without screwing things up a bit. It won't be able to affect custom text from the other patches because of this. This will be left separate for the time, but it'll be merged among the other extra things if I ever get to overhauling the feature-choosing process.

I'll keep this short: This Decapitalization patch aims to make text in the game consistent with the current (5th Gen entries in the franchise. This means that most, but not all things are decapitalized. For example, although Pokémon, Names, types, and items have all been decapitalized, options in the main menu are still capitalized. Trust me, I didn't forgot to decapitalize these things.

If, however, you catch some sort of obvious error with this patch not related to text added from other patches, please notify me and I'll change it first-thing
. Chances are I screwed something up amongst the ridiculous amount of text in this game!

If you want to have the text introduced in my other patches to be decapitalized, check out the full hack! :D


Images

Ironically, none of the following groups of images show any decapitalization. But trust me, the patch is just fine!

GB Player

Spoiler:



Yeah, there's only three images. What do you expect from an audio hack?

Wardrobe
Spoiler:


Catch 'em All
Spoiler:


Extras
Spoiler:


These changes are quite subtle in pictures, but prove to be significant in-game.


Known Bugs
Spoiler:
GB Player
  • Registering the GB Player and using it while the music is fading out (due to moving to a different area) will cause all sound to fade away until the scene changes. This is an issue with the game itself.
Decapitalization:
  • When you get your Poké Balls from Prof. Oak at the beginning of the game, the game says "(player) put the Poké BallS in the POKé BALLS Pocket." Similar issues may happen with other scripts involving more than one of a certain item being gained.

Credits and Tools Used

Besides the above credits for their specific hacks, these are the more general thanks:
  • Jambo51: for all of the custom ASM code present. Seriously, thank you so much!
  • HackMew: for the basic THUMB ASM compiling tools (and again for your fixes above)
  • DavidJCobb and NarutoActor: for providing crucial offsets
Here is the list of tools used:
Spoiler:
HxD
Hexecute (yeah, it was a bit of a pain)
XSE
A-Trainer
APE
Sappy mod 17.1
AdvanceMap 1.92
YAPE/GBA Pokémon Game Editor's Pokémon Editor
NSE Classic
NSE 2.0
DNS
GBA Item Editor
Item Manager (to circumvent a bug from the previous editor)


Download

Try out the hack and its assorted options right now!

The .zip file should contain the complete hack, a folder with the five separate patches, and various documentation for the hack. The main patch includes all five patches combined into one, along with exclusive decapitalization of text from the other patches. If you want to patch things individually, then go ahead. You can apply as many of them as you want, in any order you please!

The documentation includes locations for most of the things inserted into the hack. Only look at it if you're curious or are wanting to add your own things to the hack!

I haven't been able to test the hack on actual hardware, so do so at your own discretion. If it you do, it'd be interesting to know how it ran on it!

If anyone has any suggestions to refine FireRed by bringing back charm from the original games or implementing new/fixed things to the game, feel free to notify me.

I hope you all enjoy my hack. Happy retro-tripping!
__________________




Last edited by RichterSnipes; April 5th, 2013 at 08:41 PM. Reason: New Version
Reply With Quote
  #2  
Unread July 24th, 2012, 12:48 PM
NewMew's Avatar
NewMew
Jukethehitman
 
Join Date: Feb 2007
Location: Wales
Nature: Adamant
This is so cool! very nice hack. Dude you've got some talent!
Reply With Quote
  #3  
Unread July 26th, 2012, 01:46 AM
RichterSnipes's Avatar
RichterSnipes
What comes after five?
 
Join Date: Oct 2011
Location: USA
Age: 20
Gender: Male
Nature: Modest
Quote:
Originally Posted by NewMew View Post
This is so cool! very nice hack. Dude you've got some talent!
Thanks! To be honest I'm actually amazed I was able to get the music to sound the way it does now. I wouldn't consider myself a master hacker by any stretch of the imagination, but I'm happy with what I've been able to do on this.
Reply With Quote
  #4  
Unread August 5th, 2012, 02:18 AM
Nicole Peterson's Avatar
Nicole Peterson
Beginning Trainer
 
Join Date: Jan 2012
Gender: Female
Its soo amazing! I love it!
Reply With Quote
  #5  
Unread August 5th, 2012, 05:48 AM
Pingouin7's Avatar
Pingouin7
¬‿¬
 
Join Date: Feb 2008
Age: 19
Gender: Male
Nature: Hardy
It's great, though I can't help but notice an error in Pallet Town's music. :/
Reply With Quote
  #6  
Unread August 6th, 2012, 01:24 AM
Jambo51's Avatar
Jambo51
...
 
Join Date: Jun 2009
Location: Livingston, Scotland
Gender: Male
Nature: Quiet
This is exactly what I was hoping someone would do with my Music Table swapping hack when I wrote it. I look forward to potentially seeing even more 8 bit tunes running on GBA.

I like all the nice little touches, like the 8 bit versions of FRLG specific music (stuff that wasn't in RBY, I mean). You didn't have to do that, but you did, and it's a nice little touch.

Small criticism - to me the Trainer Battle music sounds off. Not sure exactly what - it just doesn't sound right.

Also, I since worked out how to create a carryable item which is capable of switching the music too. I could forward that code to you if you wanted - it doesn't require JPAN's hack, it runs on code already in the game.

NOSTALGIA!!!!!!! :D:D:D
__________________


Guys, please don't send me question which belong in the Simple Questions or Scripting Help threads. I don't mind the occasional question about ASM or something, though. And definitely don't send me PMs or VMs asking for help with your hack or requesting custom ASM. I will not answer.
Reply With Quote
  #7  
Unread August 9th, 2012, 04:25 AM
RichterSnipes's Avatar
RichterSnipes
What comes after five?
 
Join Date: Oct 2011
Location: USA
Age: 20
Gender: Male
Nature: Modest
Quote:
Originally Posted by Nicole Peterson View Post
Its soo amazing! I love it!
Thanks!

Quote:
Originally Posted by Pingouin7 View Post
It's great, though I can't help but notice an error in Pallet Town's music. :/
I think I understand what you think is wrong. Is it the wave instrument? Yeah, it really pained me that I could never get it sounding quite right. It's even more noticeable in places like Lavender Town and Pokémon Tower.

I'll be ecstatic if anyone is able to make it sound just right. Who knows, maybe I'll give the wave another try, too!

Quote:
Originally Posted by Jambo51 View Post
This is exactly what I was hoping someone would do with my Music Table swapping hack when I wrote it. I look forward to potentially seeing even more 8 bit tunes running on GBA.

I like all the nice little touches, like the 8 bit versions of FRLG specific music (stuff that wasn't in RBY, I mean). You didn't have to do that, but you did, and it's a nice little touch.

Small criticism - to me the Trainer Battle music sounds off. Not sure exactly what - it just doesn't sound right.
I wanted to make every possible sound to be heard in 8-bit, if only to allow players to be immersed in the atmosphere of it all. I went so far as to even give a small effort into making the RSE trainer battle music 8-bit, too! Just do a Link Battle for it. I'll be happy to take any criticisms of it and improve myself off of them. Same goes for the "adjusted" credits music.

As for certain sound effects, such as Level Up/Item Get (why they are the same in this game I will never know...they even had separate tunes in the original RGBY) and Game Corner jingles, they are currently unchanged in any way. Whenever I tried to change them in Sappy, they would become muted in the actual game (they sounded fine in the program). Any ideas on this?

And those off tunes...they're really starting to bug me now. You know what? I'm going to give this project another go! I'll see how much better I can make this hack with time! And I don't want to just stop at more musical enhancements.

Quote:
Also, I since worked out how to create a carryable item which is capable of switching the music too. I could forward that code to you if you wanted - it doesn't require JPAN's hack, it runs on code already in the game.
Ooh, really? That would be great! I tried making a custom item with JPAN's hacked engine late into my work, but I could never get it right. Every time I tried using it, the game froze. I'd love to be able to get this thing working.

Just out of curiosity, this code will work for making a Key Item, right?

And don't worry, people. I'll give you access to it right at the beginning of the game.

Quote:
NOSTALGIA!!!!!!! :D:D:D
Yep! That's exactly what I was going for. I'm a major gamer at heart, both classic and current, and I have a real passion for seeing old classics get remastered at excellently as possible. I've supported game companies who've done this (Nintendo with Zelda: Ocarina of Time 3D, Square Enix with Chrono Trigger for the DS, etc.) and have even worked on another hack for a classic game with all intentions of making it as polished as possible.

Something as delicate as Pokémon needs to be approached with caution. Pokémon Red is one of my favorite games of all time, yet I couldn't help but feel that FireRed was a bit...out of place for me. It took until I got the GB Sounds item in SoulSilver years later that I realized what it was: those classic 8-bit tunes. Once I started doing my own work to put a few of them in, waves of nostalgia really did sink in. Seriously, my spine shivered from hearing them ingame the first time.

But now I don't want to stop there. If there's anything else I can change to bring in more charm of the original games while keeping the polished, non-overwhelming system of the 3rd-gen games, I'll be sure to try to do something about it. Improvements will also always be on my mind.

It's very humbling to know that I could please someone as accomplished at PokéCommunity as you, BTW.
Reply With Quote
  #8  
Unread August 9th, 2012, 02:01 PM
Jambo51's Avatar
Jambo51
...
 
Join Date: Jun 2009
Location: Livingston, Scotland
Gender: Male
Nature: Quiet
Quote:
Originally Posted by RichterSnipes View Post
Ooh, really? That would be great! I tried making a custom item with JPAN's hacked engine late into my work, but I could never get it right. Every time I tried using it, the game froze. I'd love to be able to get this thing working.

Just out of curiosity, this code will work for making a Key Item, right?

And don't worry, people. I'll give you access to it right at the beginning of the game.
Yes, of course it does! That's a major difference between his and mines. Mines works as a key item! However, I do have to admit, mines is based off his, so I can't take full credit. I just worked out how to run it without his engine.

Quote:
Originally Posted by RichterSnipes View Post
It's very humbling to know that I could please someone as accomplished at PokéCommunity as you, BTW.
Don't do that. I hate it when people treat me like I'm better than them!

Insert this following code and take note of it's location. It's important for later.

Code:
.text
.align 2
.thumb
.thumb_func
.global gbpitemroutine2

main:
	push {r4,lr}
	ldr r0, return
	bx r0
.align
return:	.word 0x080A1323
Now assemble and insert the following one too. Remember to take note of the location of the routine you just assembled. You'll need it before assembling the next routine.

Code:
.text
.align 2
.thumb
.thumb_func
.global gbpitemroutine

main:
	push {r4,r5,lr}
	lsl r0, r0, #0x18
	lsr r5, r0, #0x18
	ldr r0, place
	ldr r1, place2
	str r0, [r1, #0x0]
	ldr r0, script
	bl scriptexecuter
	ldr r1, scriptflagset
	mov r0, #0x1
	strb r0, [r1, #0x0]
	add r0, r5, #0x0
	bl bagexiter
	pop {r4,r5,pc}
scriptexecuter:	ldr r1, address
	bx r1
bagexiter:	ldr r1, exit
	bx r1
.align
script:	.word 0x08FFFFFF
scriptflagset:	.word 0x03000F9C
address:	.word 0x08069AE5
exit:		.word 0x080A103D
place:		.word 0x08ZZZZZZ
place2:		.word 0x02039998
Remember that earlier routine you assembled? Make place: .word 0x08ZZZZZZ point to it, adding one for thumb mode of course! Remember to make the script point to a valid GBP script also.

Assemble and insert. Note the address down. This is the routine the item will call later to execute a script. (Note how similar it is to JPAN's?)

Job done! Now you just create the item, and make the field behaviour point to that item routine. Easy, huh?

ETA: http://www.youtube.com/watch?v=6AlWk9pWr4
Have a listen to that. It's your version of the main square instruments combined with a custom bass track I made. Sounds closer, doesn't it?
__________________


Guys, please don't send me question which belong in the Simple Questions or Scripting Help threads. I don't mind the occasional question about ASM or something, though. And definitely don't send me PMs or VMs asking for help with your hack or requesting custom ASM. I will not answer.

Last edited by Jambo51; August 10th, 2012 at 04:42 AM.
Reply With Quote
  #9  
Unread August 10th, 2012, 02:27 PM
Mallowigi's Avatar
Mallowigi
Beginning Trainer
 
Join Date: Aug 2010
Gender: Male
That's a great project you have here. Also, did you insert only soundtracks from the Pokemon games or from other games as well? That would be really awesome!
Reply With Quote
  #10  
Unread August 10th, 2012, 05:24 PM
ShinyDragonHunter
Unhatched Egg
 
Join Date: Nov 2010
Gender: Male
Nature: Calm
Can you apply this to an existing hack then edit the 8-bit soundbank?
Reply With Quote
  #11  
Unread August 10th, 2012, 06:21 PM
RichterSnipes's Avatar
RichterSnipes
What comes after five?
 
Join Date: Oct 2011
Location: USA
Age: 20
Gender: Male
Nature: Modest
Thanks for the code Jambo51! I've got it *mostly* working, but there's one little problem with it. If you got my PM (or didn't, for that matter), please try to shoot one back to me soon!

I hope I'll be able to get it fully working so you guys can enjoy the convenience of an item in the near future, which might be sooner than expected. I gotta fix a nasty bug (on my part) that affects everyone who chose Squirtle as their starter (it won't show up until the post-game). It's not me discriminating, I promise!

Quote:
Originally Posted by Mallowigi View Post
That's a great project you have here. Also, did you insert only soundtracks from the Pokemon games or from other games as well? That would be really awesome!
All the "new" tracks in my hack are from the older Pokémon games. I don't know how to directly port tracks of another system's format from other games to GBA games, or if that is even possible. I think there are a few things one could use to get tracks sounding mostly right (record the original, turn it into a MIDI format, create instruments in Sappy that play the right sounds for the track, insert the track, fine-tweak it and presto?). I don't know myself, but if I find out a more practical method I'll get right to trying it out.

Technically you could emulate any sound you want using the GBA's DirectSound tracks. The only problem with doing that would be that the sound of them would be really muddled thanks to the system's weak speaker. Plus there are only two DirectSound tracks available, limiting your options for overlapping sounds.

Quote:
Originally Posted by ShinyDragonHunter View Post
Can you apply this to an existing hack then edit the 8-bit soundbank?
Are you talking about putting part of my currently-existing custom soundbank into another hack? Unless you plan on using tracks from it, it would be easier to just create a new custom soundbank. Many other, if not most other, existing hacks have different data where I have my tracks, so data would be overwritten and the game would be screwed up if you tried direct porting. Even if you were to change its location, you'd have to change the pointers to the table's the assembly code's new location, as well as change it and the song table if need be. DavidJCobb has a guide up for that that I used to implement this myself. It's really helpful for anyone wanting to add a new soundbank while retaining the original tracks.

DavidJCobb's guide isn't as "dreadful" as it seems. In fact, if you fully know how to use Sappy Mod 15 a few of the more arduous steps can be passed by! Make sure to also refer to Maginus's guide for general music hacking.

As for my soundbank, the table begin at 0x800000. The actual tracks appear at 0x808000. You'll also need the assembly code at 0x880000 - 0x880037. And it isn't strictly an 8-bit soundbank, just so you know!

Last edited by RichterSnipes; August 29th, 2012 at 12:18 AM. Reason: Long overdue correction of myself.
Reply With Quote
  #12  
Unread August 10th, 2012, 06:39 PM
machomuu's Avatar
machomuu
Double Dealing Character
 
Join Date: Apr 2008
Location: Amurca
Gender: Male
Nature: Relaxed
I can't express how great this is, it's pretty amazing. I loved the feature in HGSS and I'm glad (yet rather surprised) to see it implemented (and I'm a little disappointed that I didn't notice it sooner)
__________________
My Reviews


Reply With Quote
  #13  
Unread August 10th, 2012, 06:40 PM
ShinyDragonHunter
Unhatched Egg
 
Join Date: Nov 2010
Gender: Male
Nature: Calm
Quote:
Originally Posted by RichterSnipes View Post
Thanks for the code Jambo51! I've got it *mostly* working, but there's one little problem with it. If you got my PM (or didn't, for that matter), please try to shoot one back to me soon!

I hope I'll be able to get it fully working so you guys can enjoy the convenience of an item in the near future, which might be sooner than expected. I gotta fix a nasty bug (on my part) that affects everyone who chose Squirtle as their starter (it won't show up until the post-game). It's not me discriminating, I promise!



All the "new" tracks in my hack are from the older Pokémon games. I don't know how to directly port tracks of another system's format from other games to GBA games, or if that is even possible. I think there are a few things one could use to get tracks sounding mostly right (record the original, turn it into a MIDI format, create instruments in Sappy that play the right sounds for the track, insert the track, fine-tweak it and presto?). I don't know myself, but if I find out a more practical method I'll get right to trying it out.

It doesn't seem as if many developers acknowledged the actual strength of the GBA's audio tracks, resorting to most using that French horn that lurks in most of RSE's music, among other instruments. From what I've observed, it seems theoretically possible to just about perfectly insert any track from any old game system up to the Sega Genesis. I don't think the GBA can handle SNES music, considering the massive amount of GBA ports of those games the system saw that had nerfed music (Super Mario Advance titles, Donkey Kong Country titles, Final Fantasy titles, The Legend of Zelda: A Link to the Past, Mega Man and Bass, Super Mario Kart tracks in Mario Kart: Super Circuit, etc.).



Are you talking about putting part of my currently-existing custom soundbank into another hack? Unless you plan on using tracks from it, it would be easier to just create a new custom soundbank. Many other, if not most other, existing hacks have different data where I have my tracks, so data would be overwritten and the game would be screwed up if you tried direct porting. Even if you were to change its location, you'd have to change the pointers to the table's new location. DavidJCobb has a guide up for that that I used to implement this myself. It's really helpful for anyone wanting to add a new soundbank while retaining the original tracks.

DavidJCobb's guide isn't as "dreadful" as it seems. In fact, if you fully know how to use Sappy Mod 15 a few of the more arduous steps can be passed by! Make sure to also refer to Maginus's guide for general music hacking.

As for my soundbank, the listings begin at 0x800000. The actual tracks appear at 0x808000. And it isn't strictly an 8-bit soundbank, just so you know!
I've applied the patch to a ROM with an edited songtable and music changes, it appears to run just fine.
If I were to insert a new song after the Teachy TV song, would that be affected by the GB Player?
Reply With Quote
  #14  
Unread August 10th, 2012, 07:18 PM
RichterSnipes's Avatar
RichterSnipes
What comes after five?
 
Join Date: Oct 2011
Location: USA
Age: 20
Gender: Male
Nature: Modest
Quote:
Originally Posted by ShinyDragonHunter View Post
I've applied the patch to a ROM with an edited songtable and music changes, it appears to run just fine.
If I were to insert a new song after the Teachy TV song, would that be affected by the GB Player?
If the main table's listings/tracks were only changed, not extended, and no data currently exists at 0x800000, then the patch should work properly. Of course, a few other things will also change as mentioned in the 1st post.

My custom table only goes as far as the original table, so it stops at the Teachy TV tune as well. You'd have to extend both the original table and my custom one to add in new tracks (on top of the ones already present) to the game. As long as both tables are the same length and there are tracks specified for both tables, the tunes will be affected by the GB Player as expected.

Last edited by RichterSnipes; August 10th, 2012 at 07:23 PM.
Reply With Quote
  #15  
Unread August 10th, 2012, 09:29 PM
Team Fail's Avatar
Team Fail
Walk the walk // Talk the talk
 
Join Date: May 2009
Age: 18
Gender: Male
Nature: Brave
Oh my crap this patch is amazing. I now have a newfound love for Fire Red. I would probably apply this to a hack as well.
__________________
Reply With Quote
  #16  
Unread August 11th, 2012, 03:21 AM
RichterSnipes's Avatar
RichterSnipes
What comes after five?
 
Join Date: Oct 2011
Location: USA
Age: 20
Gender: Male
Nature: Modest
After some deliberation and input from others, I've decided to consider splitting this patch in two: one patch will be my complete hack, while the other will be just the inclusion of the music.

I should explain. It seems that there is enough interest in using the custom tracks for other hacks. I feel that it would be best to offer the 8-bit tracks as a separate package so others can use them without having to deal with the extra "clutter" that I have in my hack. You know, like the altered events and new tree behavior. If it will lead to interest in music hacking increasing or joy while playing, then I'll be willing to do it. I'll still work on my own hack with full intentions of crafting what I feel is the "definitive" Pokémon (Fire)Red. It was my original intention with this hack, and I now feel I have enough of a drive to advance in my attempts to make it more of a reality.

If I do make the bare-bones patch, I need to know what people's opinions on a few questions are. The question is a bit too open-ended to be used in a poll, so anyone who wants to share their opinion can do so:

1) Should I revert the changes I made on a couple of the primary FireRed tracks to what they were in the original game? Currently the GSC Legendary Trio tune plays when facing off against one of the legendary birds or [insert what you collectively call Raikou, Entei, and Suicune here]. Also, I added a second GSC route music for the latter Sevii Isles. Both GBA tracks are unused tunes from RSE and are of a bit noticeably lower quality.

2) Is there any interest in including any of the conveniences I have in the hack into the lite patch? Some of the subtle changes include once-and-done tree cutting, unlimited use of included Move Tutors, and the end of version exclusivity for Pokémon (they're not distributed randomly, but in the areas they'd appear in their respective games).

3) Is there any preferred location you'd like the retro soundbank to be in the hack? Are there any areas of the ROM that seem to always be empty in popular pre-existing mini-hacks of FireRed?

If the lite patch sees the light of day, it won't be until after the next release of the main one. I want to at least change the GB Player into a key item before I start on it.

Last edited by RichterSnipes; August 12th, 2012 at 06:04 PM.
Reply With Quote
  #17  
Unread August 12th, 2012, 02:38 PM
ShinyDragonHunter
Unhatched Egg
 
Join Date: Nov 2010
Gender: Male
Nature: Calm
Quote:
Originally Posted by RichterSnipes View Post
After some deliberation and input from others, I've decided to consider splitting this patch in two: one patch will be my complete hack, while the other will be just the inclusion of the music.

I should explain. It seems that there is enough interest in using the custom tracks for other hacks. I feel that it would be best to offer the 8-bit tracks as a separate package so others can use them without having to deal with the extra "clutter" that I have in my hack. You know, like the altered events and new tree behavior. If it will lead to interest in music hacking increasing or joy while playing, then I'll be willing to do it. I'll still work on my own hack with full intentions of crafting what I feel is the "definitive" Pokémon (Fire)Red. It was my original intention with this hack, and I now feel I have enough of a drive to advance in my attempts to make it more of a reality.

If I do make the bare-bones patch, I need to know what people's opinions on a few questions are. The question is a bit too open-ended to be used in a poll, so anyone who wants to share their opinion can do so:

1) Should I revert the changes I made on a couple of the primary FireRed tracks to what they were in the original game? Currently the GSC Legendary Trio tune plays when facing off against one of the legendary birds or [insert what you collectively call Raikou, Entei, and Suicune here]. Also, I added a second GSC route music for the latter Sevii Isles. Both GBA tracks are unused tunes from RSE and are of a bit noticeably lower quality.

2) Is there any interest in including any of the conveniences I have in the hack into the lite patch? Some of the subtle changes include once-and-done tree cutting, unlimited use of included Move Tutors, and the end of version exclusivity for Pokémon (they're not distributed randomly, but in the areas they'd appear in their respective games).

3) Is there any preferred location you'd like the retro soundbank to be in the hack? Are there any areas of the ROM that seem to always be empty in popular pre-existing mini-hacks of FireRed?

If the lite patch sees the light of day, it won't be until after the next release of the main one. I want to at least change the GB Player into a key item before I start on it.
I would just add the custom 8-bit tracks, like you did with the original patch. In the second patch, could you do it so that the tracks revert to the standard tracks like in HGSS?
Will you be adding the GB Player as a key item in the second patch?
Reply With Quote
  #18  
Unread August 12th, 2012, 06:02 PM
RichterSnipes's Avatar
RichterSnipes
What comes after five?
 
Join Date: Oct 2011
Location: USA
Age: 20
Gender: Male
Nature: Modest
Quote:
Originally Posted by ShinyDragonHunter View Post
I would just add the custom 8-bit tracks, like you did with the original patch. In the second patch, could you do it so that the tracks revert to the standard tracks like in HGSS?
Will you be adding the GB Player as a key item in the second patch?
Well, this *IS* the original, as in only, patch. And I don't know why I even thought of throwing in other things into a "music-only" patch. If I make a separate one, I'll do just that, so ignore question 2 everyone.

When you say "revert," do you mean change back to the GBA tracks EVER, or revert to them after saving the game and turning it off/on? You know you can always turn off the GB Player if it is on.

The next patch will (hopefully) be out within a few days, and it will indeed add the GB Player as a key item. It's fully functional, I'm just trying to figure out what's going on with a particularly annoying bug that's related to it.
Reply With Quote
  #19  
Unread August 12th, 2012, 08:07 PM
EdensElite's Avatar
EdensElite
No0b, but getting there.
 
Join Date: Jun 2011
Location: UK
Gender: Male
Nature: Bold
Hi, This is amazing work I'm currently working on a retro hack and this is perfect. I would love to see it seperate as a carriable item. I looked at the script. I think the command that triggers the switch is the writebyteoffset? I tried adding the writebyteoffset command to a level script as I want the music straight away, but it didn't work, any help? If you made an ips that swapped the banks so you had the 8-bit first you would be a real legend :D
__________________

ROM Hacking was getting frustrating for me. I've now stopped productions and writing the game from scratch in HTML 5.

That means it will be playable in the browser, and across multiple devices such as the iPod touch.

Last edited by EdensElite; August 12th, 2012 at 08:42 PM.
Reply With Quote
  #20  
Unread August 12th, 2012, 09:19 PM
RichterSnipes's Avatar
RichterSnipes
What comes after five?
 
Join Date: Oct 2011
Location: USA
Age: 20
Gender: Male
Nature: Modest
Quote:
Originally Posted by EdensElite View Post
Hi, This is amazing work I'm currently working on a retro hack and this is perfect. I would love to see it seperate as a carriable item. I looked at the script. I think the command that triggers the switch is the writebyteoffset? I tried adding the writebyteoffset command to a level script as I want the music straight away, but it didn't work, any help? If you made an ips that swapped the banks so you had the 8-bit first you would be a real legend :D
Yes, the "writebytettooffset" command is what controls which soundbank is in use. If you want to use it elsewhere in the game, make sure you set or clear flag 0x8F0 before you do it. And the item will be coming very soon, I promise!

What exactly do you mean by "straight away?" As in, ASAP in-game, or right when you boot the game for the first time? If I was to do the latter, that would demote the GBA music to secondary status, which is not my intention here. I figured that the best way for everyone to enjoy the 8-bit music was to make it an option alongside the standard music, something that people can switch on and off conveniently. I could always do the latter by simply switching which soundbank is the "primary" one, but it isn't exactly what I want from the hack. An optional IPS patch that does that isn't unreasonable, but I'm not making any promises on that.

Do remember that the soundbank in use stays active even after saving and turning off the game, so you could keep the GB Player on for the entire game if you wanted!

And I don't deserve the title "legend" regardless of what anyone might think of this hack. If it wasn't for Jambo51's crucial ASM code I wouldn't have gotten the hack in the state it is in now. Unless you're talking about the music itself, of course, but even then that term is quite extreme .
Reply With Quote
  #21  
Unread August 12th, 2012, 10:09 PM
EdensElite's Avatar
EdensElite
No0b, but getting there.
 
Join Date: Jun 2011
Location: UK
Gender: Male
Nature: Bold
Yeah I meant when you boot the first time, if you released a patch that swapped banks I would be very appreciative
__________________

ROM Hacking was getting frustrating for me. I've now stopped productions and writing the game from scratch in HTML 5.

That means it will be playable in the browser, and across multiple devices such as the iPod touch.
Reply With Quote
  #22  
Unread August 12th, 2012, 11:05 PM
Nintendork15
I'm gone. Bye.
 
Join Date: Feb 2009
Location: Undertaker. Co.
Age: 18
Gender: Male
Nature: Naughty
Played through the whole things (Walking through walls, lol).

All I can say is:

NOSTALGIA

hit me so hard.

All the songs are in there and work like a charm!! C:
Well done with this.
__________________
gone.
Reply With Quote
  #23  
Unread August 13th, 2012, 04:24 PM
cyberius
Unhatched Egg
 
Join Date: Dec 2010
Gender: Male
i want gb sounds in firered for red and blue and yellow.
Reply With Quote
  #24  
Unread August 13th, 2012, 06:52 PM
RichterSnipes's Avatar
RichterSnipes
What comes after five?
 
Join Date: Oct 2011
Location: USA
Age: 20
Gender: Male
Nature: Modest
I’m happy to release an update to this throwback patch today. Head back to the first post for your goodies!

Changelog:
  • The GB Player is now a key item! Grab it on your way out of your house in Pallet Town. It backpack image and base description are from HG/SS. Huge thanks to Jambo51 for the Item-Script-Redirect ASM codes.
  • To coincide with the new item, GB Player props have been removed from all Pokémon Centers in the game.
  • A script error on Four Island that occurred to anyone who chose Squirtle as their starter has been fixed.
  • Also: various code cleanup to remove unused modifications in the game.
This new patch comes with a warning. Just in case you don’t catch it in the first post, I’ll reiterate it here: DO NOT REGISTER THE GB PLAYER ITEM TO SELECT AND USE IT FROM THERE. Happy times will not be had by those who do so.

Enjoy!

***

Quote:
Originally Posted by cyberius View Post
i want gb sounds in firered for red and blue and yellow.
I...well...uhh...what?
Spoiler:

***

Some people may have noticed that the hack has been retitled to “Pokémon FireRed Throwback.” Since starting it up again, I have become more interested in making modifications to the game to make it more reminiscent of the original titles. The 8-bit music will still be the core focus (or, at worst, a core focus), but I’ve been thinking of branching out to changing other elements of the game.

In saying that, I have two images for you to look at. The one to the left is of the main characters as they appear in FR/LG. To the right is…well, you should get what it is.




Note that the sprites to the right were quick mock-ups that use the same palettes as their base images. If I went any further with this makeover I’d tidy them up a little bit. Also, keep in mind that this might or might not turn into anything.

What do you all think?

Last edited by RichterSnipes; October 12th, 2012 at 02:15 AM. Reason: Nobody saw anything! Or cared, for that matter.
Reply With Quote
  #25  
Unread August 13th, 2012, 11:03 PM
Nintendork15
I'm gone. Bye.
 
Join Date: Feb 2009
Location: Undertaker. Co.
Age: 18
Gender: Male
Nature: Naughty

I found this little error here.
__________________
gone.
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. The time now is 01:26 AM.


Style by Perdition Haze, artwork by Sa-Dui.
Like our Facebook Page Follow us on TwitterMessage Board Statistics | © 2002 - 2013 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to Pokémon USA, Inc. and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company, Pokémon USA, Inc., The Pokémon Company International, or Wizards of the Coast. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2013 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User posts belong to the user.