View Single Post
Old July 23rd, 2012 (11:15 PM). Edited July 9th, 2017 by RichterSnipes.
RichterSnipes's Avatar
RichterSnipes RichterSnipes is offline
*pew pew pew*
    Join Date: Oct 2011
    Location: USA
    Age: 24
    Gender: Male
    Nature: Modest
    Posts: 370

    To PokéCommunity:

    I'm taking a break from hacking. However, that doesn't mean the end of Throwback!
    In my absence, tkim will provide new updates and changes to the long-running hack.

    Download most recent unofficial version
    Changelog for most recent unofficial version

    The official download is still below. I've updated it to v170709 to include a critical bug fix.
    You can also skip down to the source files and further fine-tune the hack to your liking, if you wish.

    I may return periodically to add new features to the official version.
    It might even include some additions from tkim's version of the hack.
    Regardless, I hope Throwback will be able to thrive long after I'm done working on it myself.

    Thank you, everyone!


    Read past here for hack information and my most recent official version:

    There are tons of hacks out there that completely change up the Pokémon experience to make something new. But what if you just wanted something that attempts to improve upon the great game that is already there? Pokémon Throwback is my attempt at doing just that. This hack incorporates new features and fixes into the 1st Gen remakes to try and create the most robust version of the original Kanto story available while remaining true to the GBA games at its core.

    Throwback contains a variety of patches that you can use at your own leisure: pick one or more things, or put the whole thing into the game.

    Throwback in its current form fully supports Pokémon FireRed Version (BPRE v1.0). I provide legacy support for Pokémon LeafGreen Version (BPGE v1.0). The main portion of the OP will cover FireRed support.

    GB Sounds
    Offering both new and old versions of tracks for a game is never a bad thing, as both have their own charm. This patch introduces tunes that represent what Pokémon Red/Green/Blue/Yellow had to offer. They're based right off of the code from the original ROMs, giving highly accurate results. They play off of the native PSG sound chip in the Game Boy Advance instead of DirectSound (save for one exception) to ensure minimal loss of sound quality.

    To play the classic music, check your Key Items Pocket at the start of the game and you'll see a new item there: the GB Sounds! With it you can choose which music you want to listen to throughout the game. The game saves which bank is in use, so saving with the 8-bit music on will allow you to keep them on when booting the game up. You'll also be able to play the music in stereo if you wish. Gen I tunes use basic custom panning based on what I felt was most conventional, while Gen II tunes retain their original panning. Keep in mind that Gen I music was originally meant to be heard in mono.

    Things to consider if you think something's off with any part of the sound:
    • Any quirk in an emulator's PSG sound chip implementation will cause some things to not sound quite right.
    • The volume of the tracks is rather loud. It is the same level as it was in the original games. Lowering it would ruin the fade outs of songs, making them reach zero volume (or velocity, both are impacted similarly) earlier than they should.
    • "Jigglypuff's Song" is played back through DirectSound, not through the PSG chip. This is because duty shifting is a custom feature of the Gen I/II music engine, not a native part of the Game Boy's standard music library.
    • The Game Freak logo sound heard in Throwback is from the Japanese releases of Red and Green. The later version heard in Japanese Blue, international Red and Blue, and Yellow uses duty shifting and is thus also impossible to recreate natively.
    • Pitch bending doesn't play accurately in my experience. I can't say whether this is an emulation issue or a GBA issue.
    • Modulation may not sound entirely correct. This is due to a variety of reasons, including lack of documentation, emulation inaccuracies, and even possible discrepancies between the GBA's legacy PSG chip support versus the Game Boy's PSG support. There appears to be more that I don't know about it, but it seems that no one around knows anything about it, either.

    Throwback's 8-bit tunes were tested with VBA-M for compatibility and accuracy. Another emulator may have more accurate audio emulation, which would cause these tracks to not be as accurate as previously thought.

    Catch 'em All
    Stuffing 300+ Pokémon into a game the size of FR/LG can make things feel claustrophobic. What I offer is an alternative that puts in all the Pokémon fitting for this game: the first two generations. They're all soundly located and dispersed throughout the game with no awkward confrontations in strange routes. I've also added some new events for the one-off Pokémon such as starters and legendaries. They're subtle and low-key enough to not feel too distracting or unfitting from the official game. Trade-evolved Pokémon still evolve through trade to keep with series canon, but you can also simulate trade through using Bill's Teleporter at the Sea Cottage. Check the included event guide for more information!

    Want to know where Pokémon have been moved in the wild? Scroll down to the downloads section and click the documentation link to find out! If you wish to get Pokémon only distributed through Nintendo events such as Mew, Celebi, Surfing Pikachu, and others, please read below in the "Event Giveaway" section.

    There are no Hoenn Pokémon in this hack. They really don't exist in the standard FR/LG game, and including them would make all areas too congested. If you want to play with Hoenn Pokémon, I suggest you play either Emerald or Omega Ruby/Alpha Sapphire, maybe even both. They're good games, too!

    Using this patch, or playing with the complete hack, will give you a version-less (even though it requires a specific ROM) title screen. "But Richter, why call it just 'Pokémon'?" you may ask. Well, if you think about it, the name makes sense. What's the name of the original Final Fantasy? Final Fantasy, of course. As a remake of the original experience that took the world by storm, it holds the name strongly.

    One of the presentation changes 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 their original looks with reasonable results. Almost all relevant sprites, including the overworld sprites, battle sprites, and opening and credits sprites, have been changed to do so. Now you can roll with the fresh versions of these dudes! Quit trippin' on today's junk and start chillin' in the old days to the max!

    Higher Quality Cries
    Have you ever felt that the quality of Pokémon cries in Generations III through V was lacking? Well, don't feel that way as much now! This patch will increase the clarity of the cries of all Kanto and Johto Pokémon over what was previously available. The cries were taken from clean recordings from Pokémon Crystal and downsampled to 13379Hz for insertion into the game. Why 13379Hz, besides the l33t honorifics? That's because the sound engine used by the GBA Pokémon games—and the vast majority of GBA games—plays back samples at 13379Hz, regardless of their size in the ROM. Yes, it's ridiculously low. There's a reason why the Game Boy Advance isn't looked back upon fondly when it comes to the sound department.

    FYI, this is a HUGE patch. Literally. It uses the entirety of the free space from 0xA7EFD4 to 0xCFFFFF. Since I'm not using compression, these WAV files take up twice the amount of space that they would if they were compressed. They sound better as a result, though.

    Did you ever wish that Game Freak made a few things more user-friendly or convenient in the games? Or do you just want to enjoy a few of the spoils brought about from later generations? This patch attempts to satisfy that craving of yours. With a varying array of fixes available, there's certainly something here to please you.
    • All unneccesary tutorials have been removed. These include the intro screens, little girl, help sign in your room, Teachy TV, and Oak's advice during your fist battle.
    • TMs are infinitely reusable. Item behavior, affected text, and a few TM locations have been changed to accommodate for this.
    • All Move Tutors will teach your Pokémon their moves an unlimited number of times.
    • You now start the game with the Running Shoes.
    • You can now run indoors, just as you can in later games.
    • Cut down a tree once and it will be gone for the rest of the game.
    • Stats affected by a Pokémon's specific nature are now color-coded in their Pokémon Info screen.
    • Collecting items from the ground or from certain people now plays the proper fanfare instead of the Level Up tune.
    • The Pokédex species glitch, roaming legendary IV glitch, and Nugget Bridge bug are now fixed.
    • You can use repels consecutivley as they run out, just like with the current games.
    • Poison no longer affects your Pokémon in the overworld, just like in the most recent games. Related text has been modified.
    • Wild Pokémon have had their held items tables changed to give players chances at obtaining items they may hold in later games.
    • The Scope Lens, BrightPowder, Mental Herb, White Herb, and Light Ball items are now obtainable.
    • All missing flutes are now obtainable.
    • All sensible missing Poké Ball and Mail types are now obtainable at various vendors.
    • You now turn to face trainers when they engage you in battle.
    • The Gamer trainer type has been reverted to Gambler, with all accompanying text changed.
    • Various graphical anomalies have been fixed.
    • The deeper areas in Mt. Moon have been touched up.
    • Giovanni's last Pokémon during the final Gym Leader Battle has been promoted back to 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.
    • Your character will now black out instead of white out.
    • The Pokémon League lobby music is now the Pokémon League theme.
    • Two charactes have been renamed to their canonical U.S. names; Green and Charine are now Blue and Janine, respectively.
    • The Game Freak opening now displays the word "Presents" as it should.
    • The Jigglypuff in Pewter City's Pokémon Center spins just like it did in the Gen. I games.
    • The space shuttle in the Pewter Museum of Science is once again identified as the Columbia. This was censored in FireRed/LeafGreen due to the shuttle's re-entry disaster on February 1, 2003.
    • The game's default text speed on starting a new game is now "Fast".
    • The game engine has been optimized to run better on very low-end emulation setups and to increase the maximum fast-forwarding speed in emulators.
    For practicality's sake, these are all part of one patch. I have individual patches for each part, but I don't include them in the main download due to it being excessive. If you need a more fine-tuned version of Throwback, download the source and use the individual feature patches included in it.

    Event Giveaway
    Did you miss your chance to get your Mystery Mew back in 2006? What about getting a Celebi? Or a Pokémon with moves it couldn't otherwise know how to use? If so, this is for you.

    This Event Giveaway isn't a patch file. It's a save file meant to be used with a vanilla FireRed/LeafGreen ROM. This makes it so the Event Giveaway isn't strictly part of Throwback. Feel free to trade in the Pokémon to any Gen III game you want. Including event-only Pokémon, Egg Pokémon with special moves, special Pikachu, and even never-officially-released Pokémon from the Pokémon Colosseum bonus disc, there's bound to be something you'll want. Each event-only Pokémon's data value in the save have been specially set to represent what the offically-distributed versions of them would be. They're about as close to tournament-legal as I could set them. If you end up importing one of these guys into the later games in the series, you can battle online with them with confidence.

    Make sure to read the included documentation for the Event Giveaway save file before trying to use it.

    This thing does just what you'd expect: It decapitalizes all the text in the game. Yeah, I know that there are many other people releasing decap patches and decap tools for others to use. Why make my own when others have their own all ready to use? For one simple reason: As far as I know, mine's the only one that decapitalizes using the official games' standards. Menu items and certain page headers are still capitalized, even in the most recent games. Trust me, I didn't "forget" about them.

    Previously just a single catch-all patch for the vanilla game, the Decapitalization portion of the hack now extends across all patches. Apply the ones you need. If you're a little confused, read just below the download link for information on how to use them.

    Custom/overhauled ASM routines:

    Jambo51: GB Sounds function, Trainer facing fix, time-based evolutions
    FBI: TM reusage (modified by Pokemon_XY), held item checking
    ZodiacDaGreat and Shiny Quagsire: real-time clock
    jiangzhengwenjzw: forced evolution
    diegoisawesome: port/restoration of "Presents" text on Game Freak screen
    Spherical Ice: color-coded stats affected by nature
    DizzyEggg: GBA Pokémon game optimization (ported by NewDenverCity)
    Darthatron: modern Repel system
    tkim: seamless audio continuation across battle-to-overworld transition

    Tools used:

    Audacity; v2.1.2
    Cry Editor; v1.3
    Gen 3 Tools (G3T); v2.9
    HxD; v1.7.7.0
    Advance Map; v1.92
    Nameless Sprite Editor (NSE); v2.1 Beta
    PKHeX; 9/8/16 release
    Sappy 2006; v17.1 mod
    WindHex; v2005.4.20
    eXtreme Script Editor (XSE); v1.1.1

    Download (for BPRE v1.0)
    Source files

    Current Version: 170709 (2017 July 09)

    Changelogs: v170709 | 170328 | 161216 | 161215 | 161129 | 161121 | 161113 | 161105 | 161104

    Legacy changelogs: 1.0.0 | 2.0.0 | 2.5.0 | 3.0.0 | 3.2.0 | 3.2.1 | 3.3.0 | 3.3.1 | 3.3.2 | 3.3.3 | 3.5.0 | 3.5.1 | 3.6.0 | 3.6.1 | 3.6.2 | 3.7.0 | 3.7.1 | 3.8.0 | 3.8.1 | 3.8.2 | 3.8.3 | 3.9.0 | 3.9.1 | 3.9.1a | 3.9.1b | 3.9.1c | 3.9.1d

    Support Banner:

    Catch 'em All documentation. I'll work on it from time to time, so it might be more up-to-date than the last time you looked at it!
    Save compatibility patch for players importing saves
    LeafGreen (BPGE v1.0) Throwback v3.9.1b Download
    GB Player for FR Italian Players (BPRI) v3.9.1b; special thanks to MF50 for translation and adaptation work! Interact with the NES to get the GB Player.

    The .zip file should contain the complete hack, folders with the separate patches, decapitalization patches, the Event Giveaway save file, and various documentation for the hack. The main patch includes all Throwback patches combined into one, along with full decapitalization of all text in the game—original or hack-added. Also included is a file with the name "rtc.asm." This file isn't meant to be applied to anything. It's only included for legal reasons.

    Check out the ReadMe file included with the download for information on customizing your Throwback experience. It includes several examples for patching things in the right order.

    Also available as a side download is a save compatibility patch. Only people importing vanilla FireRed/LeafGreen saves, older Throwback saves that don't have the items you start with in the hack (GB Sounds, Running Shoes), or older Throwback saves that now a "???????" item in their inventory should apply it to their ROM at the end. If you do apply the save compatibility patch, speak to the attendant on the left of the second floor of any Pokémon Center in the game to get your fixes. It'll make the fixes that apply to your specific configuration of Throwback.

    Throwback should run fine on actual hardware. The only issue you will have is with the real-time clock. The GBA doesn't have an internal clock, so the game won't have a dynamic in-game time that it can refer to. This will make obtaining Espeon and Umbreon complicated in this case. Keep in mind that this only affects actual hardware users. Players using emulators or flashcarts with built-in RTC support will be fine.

    Check out the guides for wild Pokémon held item changes, Event Giveaway Pokémon, and in-game event Pokémon. They're there to tell you what's changed and what to expect in the hack. The music documentation is there for people who want to delve deeper into music hacking. The documents primarily focus on PSG sound. The main documentation includes details and locations for everything inserted into the hack, as well as details and locations for most scripts changed in it. Only look at it if you're curious or are wanting to add your own things to the hack.

    If anyone has any suggestions for Throwback, feel free to notify me. Just keep in mind that keeping the hack compatible with the official games is an utmost priority. Also, anyone is free to use and modify these files for their own projects so long as you give proper credit. Enjoy your time in Kanto!

    Archived original post:
    Title: Pokémon FireRed - GB Sounds (Final?)


    A long time ago, I had a dream: to make the definitive, end-all-be-all version of the original Pokémon games. This game would include everything everyone loved about the GameBoy originals while catering towards the needs of the players. I would do this by using FireRed as a base. I had many plans with it: include new events, remove some inconveniences on the overworld, make all major competitive moves more accessible, etc...

    This hack is the realization that I didn't have the know-how or determination to make that dream a reality. But now on to the real meat of what is here.

    Sometime in to my "master hack," I decided to shift my focus on one area of the game that everyone was fond of in the 8-bit classic: the music. Sure, the new remastered/remixed tunes of FireRed/LeafGreen were highly enjoyable in their own right. But there was something missing in them that only the original tunes held: an elegant simplicity in both structure and instrumentation that could put a smile on anyone's face. I grew up with those GameBoy sounds, and I wanted to relive them in a (generally) superior version of that game.

    The resulting hack you will see below is the final efforts of my music hacking. I poured plenty of time editing the music files to be used in Sappy, tweaking them to best simulate the tracks of the original games. I guess you could say that these tracks are the best I could do at the time. I couldn't get the wave instrument just right for many tracks...I don't know if it's even possible to do so. The noise instruments might also be a tiny bit off, especially in the Gold/Silver/Crystal tracks.

    I haven't touched the game in a year, though. I just noticed the hack as I was digging through old files I was cleaning up and deleting. I figured that I might as well let the public try out this hack before I delete my old files!

    If anyone wishes to better my attempts at making a better 8-bit option for FireRed, or can somehow port the original tracks into the game, then by all means go ahead. What I can assure you is that the old-school tracks in this game are of higher accuracy than the ones you'll hear when using the GB Sounds item in HeartGold/SoulSilver!

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


    This list isn't 100% inclusive, as I don't fully recall what I changed in the game. There might be some interesting extras in here that are a surprise even to me!
    • 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.
    • A GameBoy Player prop has been added to your house in Pallet Town and every Pokémon Center in the game. 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.
    • I changed a couple of the games main tracks for certain areas where I felt the music was redundant. I'm pretty sure this was just a lazy porting of some unused music in Ruby/Sapphire. If you guys want me to change it back, I'll do that.
    • The 8-bit ending track is a bit...different from what it was in the original games, in order to fit with FireRed's/LeafGreen's extended track.
    Now for a few other things I did to the game...I think. Let me know if you catch something off!:
    • All version-exclusive Pokémon are included in the game.
    • Most Johto Pokémon can be obtained in the latter Sevii Islands.
    • I edited an event on Sevii Isle 4, which is merely a leftover of my more ambitious goal.
    • The little girl in Pallet Town no longer acts as a Start button tutorial.
    • Cut down a tree once and it will be gone for the rest of the game.
    • All move tutors, excluding the elemental beam tutor, will teach your Pokémon their moves an unlimited number of times.
    • Some trainers have been edited to reflect their original Red/Green/Blue iterations.
    • I implemented the Trainer Facing Fix for "correctness."

    It's kind of hard to show images for a music hack, since the changes are audible ones. Nevertheless, I have images showing the new GameBoy Player prop in use. They're in the thumbnails below. I'll reupload them once I'm not a "junior" member.

    Credits and Tools Used

    If I forgot to include someone here who I should have, yell at me and I'll add it to the list.
    • Jambo51 - for the Trainer Facing Fix and the music bank switching script. Seriously, thank you so much!
    • VGMusic and João *Johnnyz* Buaes - for providing the base MIDI tracks to be converted for this game (I edited the heck out of them).
    • HackMew - for XSE, A-Trainer, FSF, and the beginner ASM guide.
    • Helmeted Rodent and the Fire Emblem Community: for Sappy mod 15.
    • Gamer2020: for GBA Pokémon Game Editor.
    • DavidJCobb and NarutoActor: for providing crucial offsets for the alternate music bank.
    I have some leftover code in here for other various things that are not used in this hack, such as prime-dialga's Day/Night/Seasons system, JPAN's hacked FireRed engine, and knizz's long grass FireRed Patch. I'm just covering my bases here, in case anyone is curious enough to dig into the hack's code.

    I hope you all enjoy my hack. Happy listening!
    Reply With Quote