Notices
For all updates, view the main page.

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.

Reply
 
Thread Tools
  #1    
Old July 23rd, 2012 (11:15 PM). Edited 4 Days Ago by RichterSnipes.
RichterSnipes's Avatar
Pakachew use tunder wipe now!!!
 
Join Date: Oct 2011
Location: USA
Age: 23
Gender: Male
Nature: Modest
Posts: 348
Notice: If you see any instances of trolling or harassment, please hit the "Report Post" button to the top right of the offending post.




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). Sometime in the future I may provide full support to it. 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:
Spoiler:
  • 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.

If you want to best experience the GB Sounds music on PC, I suggest you play Throwback using VBA-M. Although mGBA has by and large surpassed VBA-M in terms of accuracy, its PSG sound emulation is still lacking. Sounds aren't even as crisp as they were on original hardware. I'll see about contacting endrift regarding this issue.



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!

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.



Wardrobe
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. 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.

Extras
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 download due to it being excessive. No need to confuse people any more than possible. If you really need a more fine-tuned version of Throwback, PM me and I'll hook you up with your own curated verison.



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.

Decapitalization
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.

Known Longtime Issues

Spoiler:
GB Sounds
  • 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, as it requires advanced ASM knowledge to fix.


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

Tools used:

Spoiler:
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)

Current Version: 161129 (2016 November 29)

Changelogs: 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:

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.

Confused on what to do? I wouldn't blame you if you were. I'm trying to make Throwback as modular as possible, but it seems to be showing some of the limitations of IPS patching. If you just want the whole hack, just apply the "Throwback" patch. If you want to patch things individually, patch things in this order, skipping the patches you don't want:
  1. Base decapitalization patch; filename "Base Game (BPRE v1.0)"
  2. Any individual patches you want
  3. The relevant decapitalization patches for each individual patch you apply
The main download includes a compatibility patch for people who apply both the Extras and Wardrobe patches separately to the same ROM (in case they don't want to include the other changes Throwback makes). If this applies to you, apply it after applying the two previously-mentioned patches. 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 patches for their own projects so long as you give proper credit. Enjoy your time in Kanto!

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

Story

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.

Features

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."
Images

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

Relevant Advertising!

  #2    
Old July 24th, 2012 (4:48 AM).
NewMew's Avatar
Sephiroth
 
Join Date: Feb 2007
Location: Wales
Gender: Male
Nature: Adamant
Posts: 71
This is so cool! very nice hack. Dude you've got some talent!
Reply With Quote
  #3    
Old July 25th, 2012 (5:46 PM).
RichterSnipes's Avatar
Pakachew use tunder wipe now!!!
 
Join Date: Oct 2011
Location: USA
Age: 23
Gender: Male
Nature: Modest
Posts: 348
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    
Old August 4th, 2012 (6:18 PM).
Nicole Peterson's Avatar  
Join Date: Jan 2012
Gender: Female
Posts: 4
Its soo amazing! I love it!
Reply With Quote
  #5    
Old August 4th, 2012 (9:48 PM).
Ammako's Avatar
:3
Silver Tier
 
Join Date: Feb 2008
Location: Canada, Quebec
Age: 22
Gender: Female
Nature: Gentle
Posts: 610
It's great, though I can't help but notice an error in Pallet Town's music. :/
Reply With Quote
  #6    
Old August 5th, 2012 (5:24 PM).
Jambo51's Avatar
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Posts: 732
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
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Reply With Quote
  #7    
Old August 8th, 2012 (8:25 PM).
RichterSnipes's Avatar
Pakachew use tunder wipe now!!!
 
Join Date: Oct 2011
Location: USA
Age: 23
Gender: Male
Nature: Modest
Posts: 348
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    
Old August 9th, 2012 (6:01 AM). Edited August 9th, 2012 by Jambo51.
Jambo51's Avatar
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Posts: 732
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?
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Reply With Quote
  #9    
Old August 10th, 2012 (6:27 AM).
Mallowigi's Avatar  
Join Date: Aug 2010
Gender: Male
Posts: 54
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    
Old August 10th, 2012 (9:24 AM).
 
Join Date: Nov 2010
Gender: Male
Nature: Calm
Posts: 29
Can you apply this to an existing hack then edit the 8-bit soundbank?
Reply With Quote
  #11    
Old August 10th, 2012 (10:21 AM). Edited August 28th, 2012 by RichterSnipes.
RichterSnipes's Avatar
Pakachew use tunder wipe now!!!
 
Join Date: Oct 2011
Location: USA
Age: 23
Gender: Male
Nature: Modest
Posts: 348
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!
Reply With Quote
  #12    
Old August 10th, 2012 (10:39 AM).
machomuu's Avatar
Made of magic and a symphony of red dreams
Crystal Tier
 
Join Date: Apr 2008
Location: Americalanavania
Gender: Male
Nature: Relaxed
Posts: 10,005
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)
__________________
Paired to a literal Symphony of legs.

I also watch anime sometimes. Just a little.
Reply With Quote
  #13    
Old August 10th, 2012 (10:40 AM).
 
Join Date: Nov 2010
Gender: Male
Nature: Calm
Posts: 29
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    
Old August 10th, 2012 (11:18 AM). Edited August 10th, 2012 by RichterSnipes.
RichterSnipes's Avatar
Pakachew use tunder wipe now!!!
 
Join Date: Oct 2011
Location: USA
Age: 23
Gender: Male
Nature: Modest
Posts: 348
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.
Reply With Quote
  #15    
Old August 10th, 2012 (1:29 PM).
Incineroar's Avatar
the [christmas] spirit of the fighter
Moderator
 
Join Date: May 2009
Location: Iki Town
Age: 21
Gender: Male
Nature: Brave
Posts: 12,931
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.
__________________
Incineroar
the labpmalt
pair 1pair 2twitter

on reduced activity
Reply With Quote
  #16    
Old August 10th, 2012 (7:21 PM). Edited August 12th, 2012 by RichterSnipes.
RichterSnipes's Avatar
Pakachew use tunder wipe now!!!
 
Join Date: Oct 2011
Location: USA
Age: 23
Gender: Male
Nature: Modest
Posts: 348
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.
Reply With Quote
  #17    
Old August 12th, 2012 (6:38 AM).
 
Join Date: Nov 2010
Gender: Male
Nature: Calm
Posts: 29
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    
Old August 12th, 2012 (10:02 AM).
RichterSnipes's Avatar
Pakachew use tunder wipe now!!!
 
Join Date: Oct 2011
Location: USA
Age: 23
Gender: Male
Nature: Modest
Posts: 348
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    
Old August 12th, 2012 (12:07 PM). Edited August 12th, 2012 by EdensElite.
EdensElite's Avatar
No0b, but getting there.
 
Join Date: Jun 2011
Location: UK
Gender: Male
Nature: Bold
Posts: 190
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.
Reply With Quote
  #20    
Old August 12th, 2012 (1:19 PM).
RichterSnipes's Avatar
Pakachew use tunder wipe now!!!
 
Join Date: Oct 2011
Location: USA
Age: 23
Gender: Male
Nature: Modest
Posts: 348
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    
Old August 12th, 2012 (2:09 PM).
EdensElite's Avatar
No0b, but getting there.
 
Join Date: Jun 2011
Location: UK
Gender: Male
Nature: Bold
Posts: 190
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    
Old August 12th, 2012 (3:05 PM).
Lord Varion's Avatar
Guess who's back?
 
Join Date: Feb 2009
Age: 22
Gender: Other
Nature: Naughty
Posts: 2,648
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    
Old August 13th, 2012 (8:24 AM).
 
Join Date: Dec 2010
Gender: Male
Posts: 9
i want gb sounds in firered for red and blue and yellow.
Reply With Quote
  #24    
Old August 13th, 2012 (10:52 AM). Edited October 11th, 2012 by RichterSnipes.
RichterSnipes's Avatar
Pakachew use tunder wipe now!!!
 
Join Date: Oct 2011
Location: USA
Age: 23
Gender: Male
Nature: Modest
Posts: 348
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?
Reply With Quote
  #25    
Old August 13th, 2012 (3:03 PM).
Lord Varion's Avatar
Guess who's back?
 
Join Date: Feb 2009
Age: 22
Gender: Other
Nature: Naughty
Posts: 2,648

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 GMT -8. The time now is 4:47 PM.