Thread: Hack Series: Pokémon Throwback: Kanto Refined
View Single Post
Old July 23rd, 2012 (11:15 PM). Edited 4 Weeks Ago by RichterSnipes.
RichterSnipes's Avatar
RichterSnipes RichterSnipes is offline
Pakachew use tunder wipe now!!!
Join Date: Oct 2011
Location: USA
Age: 23
Gender: Male
Nature: Modest
Posts: 321
Big changes are coming to Throwback in the future. Until then, only bug fixes will be released. Stay tuned!

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 remake to try and create the best, most faithful version of the original Kanto story available.

...Oh, you wanted the game's story. Here you go.

Throwback contains a variety of patches that you can use at your own leisure: pick one or some things, or put all of them into the game! Fully read through the Extras section for a boatload of (minor) changes!

The next release will (hopefully) have full support across both FireRed and LeafGreen. For now, though, some things are restricted to FireRed. Look for the Venusaur icons to see what is currently working for LeafGreen.

GB Player
Home of the first full-featured set of 8-bit tunes for GBA Pokémon hacks. No relation to the GameCube accessory.

Disclaimer: This video was from an earlier version of Throwback. Many tweaks have been made since then.

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.
  • 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 Game Boy Advance instead of DirectSound (save for a few exceptions) to ensure minimal loss of sound quality. As they are based off of the original code, they are incredibly accurate recreations. Think GB Sounds from HeartGold/SoulSilver, but actually good.
  • A new key item, the GB Player, in 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.
  • Stereo sound for all tracks. 1st-Gen tracks use similar panning to Yellow's "Earphone1" sound option, while 2nd-Gen tracks retain their original panning. For headphone listeners, it may actually be better to listen to the Gen 1 tracks in mono.
Things to consider for minor sound differences:
  • Any quirk in an emulator's GB Synth 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.
  • Duty shifting was an engine-specific feature in the GB(C) Pokémon games. The AGB sound engine used in many GBA games (including FireRed/LeafGreen) doesn't support this. Tunes using it have their sounds directly played back through DirectSound instead. Note that this will change from "tunes" to "tune" in the upcoming update.
  • Note attacks/rises have been applied literally as best as possible. Some instances could not be implemented perfectly because of differences of handling note rises between the two hardware sets. inaccurately. This will be fixed in the upcoming update.
  • Modulation is implemented differently between actual GB hardware and GB Synth. Modulation adjusts itself to changes in tempo in GB Synth, but not in standard GB hardware. It also only hits the standard and bend notes in the Gen. 1 games, as opposed to everything in between in the GBA games. I'll apply this better in the upcoming update, but there's only so much I can reasonably do.
  • The original Game Boy could play two noise samples at once, so long as one was a 256-sample noise and the other was a 32768-sample noise. I don't think it can be recreated in GB Synth, but I'm not certain. It's used in the Route 1 theme and Johto town music. This statement is completely incorrect and I'm an idiot. Successive noise instruments will be fixed in the upcoming update.
  • Note sweeping/bending for the evolution start jingle has been implemented through DirectSound. I will properly implement it in the upcoming update.
  • A few tunes, such as the Move Deleter track, have not been altered. This will be rectified in the upcoming update.

Catch 'em All
*Circa 2000.

Stuffing 300+ Pokémon into a game the size of FR/LG can make things awfully crazy, and not necessarily in a good way. 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 added several new events for the one-off Pokémon such as starters and legendaries. Trade-evolved Pokémon still evolve through trade to keep with series canon, but can also be caught on one specific map in the game.
If you wish to get Celebi, please read below in the "Other Patches" section. Consult the included location/event guides for more information!

This means that 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 Omega Ruby/Alpha Sapphire. From all that I've seen and heard, they appear to do justice to the Gen 3 experiences that the original GBA games could not. If you need your Battle Frontier fix, there's always Emerald. As for Pokémon from later regions, you should experience their original games if you're interested. That's not to say that you should ignore Johto, though! Check out Crystal and/or HeartGold/SoulSilver if they interest you. Both the GBC game and the DS games offer different experiences from one another and should be enjoyed for what they are.

Using this patch, or playing with the complete hack, will yield you the above, version-agnostic (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.


My screenies must have been deleted. I'll reupload some replacements once the update is ready.

Keepin' it old school with super-stylin' threads. Like this one!

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. Most 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!


What a way to visualize graphical changes, huh? I've changed these a lot for the upcoming update, so I'll put those screenshots up when ready.

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 wear some sort of headwear.

For the hack-playing connoisseurs.

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 hack attempts to satisfy that craving of yours. With a varying array of fixes available, there's certainly something here to please you.

Portions of this patch description that are in red are only available for FireRed, not LeafGreen. This might be due to discrepancies in the code between FireRed and LeafGreen that extend beyond shifted data.
  • Collecting items from the ground or from certain people now plays the proper fanfare instead of the Level Up tune.
  • Cut down a tree once and it will be gone for the rest of the game.
  • TMs are infinitely reusable. Item behavior 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 can use repels consecutivley as they run out, just like with the current games.
  • Poison on the overworld no longer causes your Pokémon to faint. Its behavior is similar to the 4th Gen games.
  • The Scope Lens, BrightPowder, Mental Herb, and Light Ball items are now obtainable.
  • All missing flutes (sans the redundant Blue Flute) are now obtainable.
  • All sensible missing Poké Ball and Mail types are now obtainable.
  • The areas in Mt. Moon have been more properly filled out.
  • 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.
  • You now turn to face trainers when they engage you in battle.
  • The Pokédex species glitch and roaming legendary IV glitch are now fixed.
  • The Gamer trainer type has been reverted to Gambler, with all accompanying text changed as well.
  • 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.
  • The Pokémon League lobby music is now the Pokémon League theme.
  • Some transparency tile issues have been fixed.
  • Two charactes now hold their canonical U.S. names; Green and Charine are now Blue and Janine.
  • The Game Freak opening now displays the word "Presents" as it should. Also, the title screen lasts a little longer before looping back to the demo.
For practicality's sake, these are all part of one patch for now. Individual patches for each feature are currently in the works, as well as separate patches for different parts of the hack as a whole. I have no idea when I'll have them ready for a future release style.


There was a SCREENSHOT here. It's gone now.

Other Patches
Because goodness knows there's not enough patches in the download already!

Included in the download are a few other patches that can enhance your playing experience. These aren't part of Throwback itself and can be considered off-shoots. If time, reasoning, and demand prevail, I may also post these in the Resources section.
  • Celebi Giveaway: Outside of Japan, Celebi has never been obtainable in-game. You've always had to receive it through some real-world event, each of which would just give you the Pokémon rather than let you go through some now-accessible in-game event to get it. Noting this, along with the fact that Ilex Forest is not in FR/LG, I've decided to (currently) not have Celebi obtainable using the Catch 'em All patch. Instead, I've offered an alternative: a simulation of a real-world event that didn't happen but totally could have! Please read the included document pertaining to it before you use this patch.
  • Decapitalization: This patch does just what you'd expect: It decapitalizes all the text in the game to meet with official game standards. In other words, everything besides menu items and certain headers are no longer shouting at you! Note that this won't affect events unique to my hack and that it will conflict with changes to text that other patches also change. It's incorporated into the main hack patch with all of these situations accounted for.
  • Higher Quality Cries: Have you ever felt that the quality of Pokémon cries in Generations 3-5 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 16000Hz for insertion into the game. Just to let you know: This is a HUGE patch. Literally. The patch uses the entirety of the free space from 0xA00000 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 do sound better as a result, though. I really had to do some massive sqeezing just to get them all to fit in that. Heck, astute listeners will note that the last part of Electabuzz's cry has been removed just for that reason! If Throwback didn't cause any conflicts with other hackers' patches you may be using in tandem with it, there's a good chance this will.
Known Longtime Issues

GB Player
  • Upon beating the Pokémon Champion in the final battle, the victory theme will restart rather than continue playing past the battle screen. This is because the game is hardcoded to only allow one predefined song to play seamlessly between battle and the overworld. There's nothing I myself can do about this, but I'm sure someone can come up with an ASM-based solution.
Catch 'em All
  • Lighting in maps will occasionally disable itself. This is only noticeable in a few areas in the game, such as Viridian Forest. In emulators without RTC support/enabled, this happens whenever the amount of minutes played in-game changes while the overworld is visible. Otherwise, this happens every ten minutes from a given hour (12:00, 12:10, 12:20, ..., 11:40, 11:50) based on the clock's registered time while the overworld is visible. This bug will be fixed in the big update.
Note that there is bound to be some tiny issue brought about by using some combination of patches. This is the unfortunate reality of combining patches for any game. The complete patch doesn't have any of those things, but will still have the specified bug(s) above. I hope to do something about this with the new update. I know I've been hyping it a lot, but it's honestly the biggest changes I've ever done - and will ever do - for this hack at once.

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
Game features/fixes utilized:

Jambo51: Music bank switching, time-based evolutions, Trainer facing fix
ZodiacDaGreat (with fixes by Shiny Quagsire): Real Time Clock
HackMew: Pokédex fix, Roaming IV fix
Darthatron: Modern Repel system
diegoisawesome: Game Freak opening fix, skip intro tutorials
FBI agent: Infinite TM usage
daniilS: 4th Gen Poison on the overworld behavior

Here is the list of tools used:
Sappy mod 17.1
Adobe Photoshop
AdvanceMap 1.92
Item Manager
NSE 2.x
PGE's Pokémon Editor
unLZ hacked

Finally, select your download! The correct ROMs to patch to are BPRE and BPGE v1.0.

FireRed Download
LeafGreen Download

GB Player for FR Italian Players (BPRI)
Note: Examine the NES to get the GB Player item in this version.
Special thanks to MF50 for translation and adaptation work!

The .zip file should contain the complete hack, folders with the separate patches and other patches (the LeafGreen version has no folders), 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. If you want to patch things individually, then go ahead. You can apply as many of them as you want!

It should run fine on actual hardware. The only issue you will have is with obtaining Espeon and Umbreon. The GBA doesn't have an internal clock, so the game won't have a dynamic in-game time that it can refer to.

The Pokémon location guides are for the content from Catch 'em All. Refer to them if ever you have a question about where a Pokémon can be found in the wild or need help finishing the events. The main 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!

If anyone has any suggestions to refine FireRed and LeafGreen to the best they can be, 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 patches for their own projects so long as you give proper credit. I hope you all like my hack. Enjoy your time in Kanto!

The original post follows. Note that the described thumbnails in it aren't here anymore:
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