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

FireRed hack: Pokémon Throwback v211001: Kanto, Your Way

I'm not sure why it's listed under "addendum" over there. Chronosplit's patch is an addendum, but tkim's version is the whole thing. Just apply his patch and nothing else if you want to play with his version.
I can go ahead and edit the RHDN page to not list it as an addendum (anyone can submit entries and edits to those entries). I figured that was completely wrong, but I didn't upload it to the site.

Welcome back!

EDIT: Submitted!
 
Last edited:
Thanks, everyone! I'm always happy to see continuing support for Throwback even now, and the kind words are always appreciated. They really do mean a lot.

Sorry for not getting back for several days, BTW. I spent most of my free time last week watching March Madness and going out. Reeeeally gutted for UCF.
Welcome back! Seeing your comment got me really excited. I hope you do pick up this project again and if you do, best of luck! I can't wait to see any future updates coming from you!
Like I said in my first post back, I can't promise that I'll get back to fully working on Throwback. I certainly want to keep it around in case of the odd server cleanup here or there. I also intend to fully incorporate the bug fixes tkim's added into the source and documentation at some point.

Anything else would depend on how much I'd be willing to invest to get back into all this. It'd certainly be interesting if I do start work on it again. It's been closer to two years since I've last touched any Pokemon hacking tools, so it'd be a slog at first. The more interesting thing would be my changed perspective on it. I've lightened up a bit with the passage of time, and these past couple of years have helped me mature my views on things. I might even surprise myself with some of the choices I'd theoretically make for the hack if I do get back to it!
I just don't understand why every rom hack has decapitalization nowadays, I simply don't like it haha. It feels off and takes away some of the nostalgia for me personally. Anyway, you jokingly mentioned editing but I'm curious, how hard would that actually be? I wouldn't mind getting into rom hacking if it's not too crazy, I just need a place to start.
It's all a subjective thing. There's plenty of JRPGs that either capitalize or colorize important words, and I'm pretty sure that there's still some being released with that today. So it's not just an archaic practice of an old time. It's entirely optional in Throwback, and that's something I want to keep consistent for mainline Throwback no matter what: play with the features that you want to use. As for general Pokemon hacks, it's just something you have to accept and get used to. It's in their efforts to bring an experience more in line with the most recent official games in the series and, given how popular Pokemon still is today, it's easy to see why they choose to do that.

If you want to get into Pokemon hacking, check out the ROM Hacking Help section of the forums. It's got plenty of tutorials for you to both learn the basics (editing maps, items, Pokemon, etc.) and more advanced techniques (scripting and, at the end of the totem pole, assembly). There's also a lot of resources for you to. Most importantly of all, there's plenty of people around that you can ask if you're confused about any of it or want to dive even deeper.

It might be a substantial amount of stuff, but it's all helpful in its own way. If you want to start small, ask yourself what you want to accomplish. If it's just modifying a thing here or there in another hack to your liking, figure out what tools or techniques you need to use to change it, and learn how to change them yourself. If you have bigger ambitions, try to learn the general gamut of hacking skills, starting with the smaller and easier concepts before you go into bigger things like scripting. Build up your repertoire of skills and be amazed at what you can accomplish!

But that's only if you want to put the time and passion into it. That's where you should truly start: determine if you actually want to get into hacking. If you do, though, you'll have plenty of help around for your journey! :nod:
I can go ahead and edit the RHDN page to not list it as an addendum (anyone can submit entries and edits to those entries). I figured that was completely wrong, but I didn't upload it to the site.

Welcome back!

EDIT: Submitted!
Thanks for that! I was never going to do it myself without asking tkim, just because of how inappropriate it'd seem for me to touch his work like that.
 
If you want to get into Pokemon hacking, check out the ROM Hacking Help section of the forums. It's got plenty of tutorials for you to both learn the basics (editing maps, items, Pokemon, etc.) and more advanced techniques (scripting and, at the end of the totem pole, assembly). There's also a lot of resources for you to. Most importantly of all, there's plenty of people around that you can ask if you're confused about any of it or want to dive even deeper.

It might be a substantial amount of stuff, but it's all helpful in its own way. If you want to start small, ask yourself what you want to accomplish. If it's just modifying a thing here or there in another hack to your liking, figure out what tools or techniques you need to use to change it, and learn how to change them yourself. If you have bigger ambitions, try to learn the general gamut of hacking skills, starting with the smaller and easier concepts before you go into bigger things like scripting. Build up your repertoire of skills and be amazed at what you can accomplish!

But that's only if you want to put the time and passion into it. That's where you should truly start: determine if you actually want to get into hacking. If you do, though, you'll have plenty of help around for your journey! :nod:

Thanks for the in-depth reply, I'll check it out for sure!
 
Hi Richter, chrono, guys.. it's been a while.

I'm thrilled to hear that RichterSnipes is wanting to standardize the fixes I made for my "official" throwback. I realize how confusing it could be for some of you to hear me mention "official" and "unofficial" when in actuality, RichterSnipes' patch is the only official version. I created my "official" patch in the hopes that RichterSnipes would implement the fixes in his patch someday, and it looks like it'll happen soon. When it happens, I will remove my "official" version.

I'll have some free time the week after this one, and hopefully RichterSnipes and I will be able to work together then.

A note about the "romhacking" site (https://www.romhacking.net/hacks/4147/):

Someone else has uploaded my "Unofficial Throwback" using my name from here. I did not upload on that website nor any other, besides here on pokecommunity. Though proper credits are given, I nor RichterSnipes cannot be held liable for whatever errors occur when using the patches obtained from that particular web address.

edit: I am sorry for not responding to many of you since my last comment in September. I hope ya'll managed to squash your questions and had an enjoyable experience with Throwback.
 
Last edited:
Hey, tkim! Long time no see.

I haven't had a good opportunity to look at all the changes yet. With March Madness mostly in the rear view mirror, though, I should have a some free time I can use to scope things out and "properly" implement the changes. They'll likely end up inserted the same way you've got them in the hack as-is, but I might change their locations in the ROM the keep things consistent with my code placement. I'll also add whatever I can from them to the source download.

We definitely need to change the "Unofficial Throwback" name to something else. It's not very descriptive, since nearly any edit to vanilla Throwback that's shared can be accurately called that. Depending on how far off the path your version goes, it might even be a good idea to eschew "Throwback" from the title altogether! Let your passion run rampant and make the hack you want out of it.

I'll definitely look to get in the swing of things a bit again. Having someone around for that would be amazing. :smile:

On romhacking.net: Before the last time I updated Throwback, I had been updating and maintaining the RHDN entry for it myself. Looks like it's been updated since then. Not by me.
 
Does anyone know if any versions of this hack work with the Moemon Revival project? I've been trying to combine this with their latest patch (2.5).
 
Does anyone know if any versions of this hack work with the Moemon Revival project? I've been trying to combine this with their latest patch (2.5).
Compatibility with graphics-based hacks will depend on where in free-space the custom sprites are being inserted into the ROM hack. If its in the same location as parts of Throwback, then either the new sprites in that area will be corrupted, or the functions in that area in Throwback will be corrupted. It'd depend on which patches you apply in what order. I'm also guessing there'd be more of a chance of that happening with tkim's version, since his has more changes made to the base game.

The only real way to find out is to apply both and see what happens. I can't promise compatibility with a hack of this nature.
 
Hey, tkim! Long time no see.

I haven't had a good opportunity to look at all the changes yet. With March Madness mostly in the rear view mirror, though, I should have a some free time I can use to scope things out and "properly" implement the changes. They'll likely end up inserted the same way you've got them in the hack as-is, but I might change their locations in the ROM the keep things consistent with my code placement. I'll also add whatever I can from them to the source download.

We definitely need to change the "Unofficial Throwback" name to something else. It's not very descriptive, since nearly any edit to vanilla Throwback that's shared can be accurately called that. Depending on how far off the path your version goes, it might even be a good idea to eschew "Throwback" from the title altogether! Let your passion run rampant and make the hack you want out of it.

I'll definitely look to get in the swing of things a bit again. Having someone around for that would be amazing. :smile:

On romhacking.net: Before the last time I updated Throwback, I had been updating and maintaining the RHDN entry for it myself. Looks like it's been updated since then. Not by me.

If you haven't already, take a look at the documentations in my "official" throwback. I've included most of the offsets I've used starting from 0x740000 and so on. I'm guessing you'd basically want those offsets moved up to right after yours. Offsets that aren't mentioned (mostly way before 0x730000) include routines that I had to repoint in order to include additional checks, and those routines take the offsets of repointed tables' original offsets.

I'll have to take another look at my additions in "Unofficial" Throwback sometime in the later future.. If anything, I'd rather include the additions as individual patches under an "Optional" folder in the main archive. I'll have to restart them from scratch though so it won't be anytime soon.

May I send you PMs? Is there another way you'd like for me to message you?
 
If you haven't already, take a look at the documentations in my "official" throwback. I've included most of the offsets I've used starting from 0x740000 and so on. I'm guessing you'd basically want those offsets moved up to right after yours. Offsets that aren't mentioned (mostly way before 0x730000) include routines that I had to repoint in order to include additional checks, and those routines take the offsets of repointed tables' original offsets.

I'll have to take another look at my additions in "Unofficial" Throwback sometime in the later future.. If anything, I'd rather include the additions as individual patches under an "Optional" folder in the main archive. I'll have to restart them from scratch though so it won't be anytime soon.

May I send you PMs? Is there another way you'd like for me to message you?
I actually haven't looked closely yet at any of the documentation you've done for the hack. That's great to hear! Thanks for marking down all the offsets for the changes you've made to the base Throwback, that'll help immensely with my repackaging of sorts. I intend to move the fixes to the same area that I have the other changes, sorted by change type. Scripts are placed in one part of free space, assembly code in another, and so on...

... I'm actually just relearning about this right now. And boy, this is kind of confusing me. :confused: :blush:

Don't worry about the time aspect. By the looks of things, I'll be starting from square one myself. At least in terms of hacking knowledge. Hopefully some of it clicks with me again soon. If you want to make your changes into individual patches, that's cool. You don't have to, though. Like I said earlier, though: If your version of Throwback ends up being unique enough, don't feel like you have to have it weighed down by my mainline release.

PMs are fine, just keep in mind that my inbox is nearly full. I already had to clear some stuff out. I'm stunned that this website still hasn't increased the amount of messages you can have at one time. If there's something that isn't secretive, speculative, or personal, we could always discuss that in this very thread.
 
Sounds good. There is one thing that I haven't gotten to fixing yet, and it's the two variables you used for the legendary beasts (0x4032 and 0x4033). Those two are used internally in 1 or 2 of the many asm routines in the unmodified rom. I made a list of all of the available vars you can use:
Spoiler:


I'm certain that these are all fine to use, but I feel most comfortable with the last five. I'm not sure how you handle those save compatibility scripts, and I thought you'd like to handle this instead.
 
Last edited:
I'm going through the changes you made in my absence in order. I completed the needed work for the first change yesterday (Rival's OW sprites in the name screen). In other words...

[PokeCommunity.com] Pokémon Throwback v211001: Kanto, Your Way

However, I'm wondering if I took the right approach. I saw that rather than edit the graphics in that area, you repointed them to the standard OW sprites. Obviously both are functionally similar, I'm just trying to figure out which solution would be "better" and "more correct" from a philosophical standpoint. That'll be the one I end up using in the refresh patch.

Either way, thank you so much for all the work you put into this. I truly appreciate it, and it'll really help with giving me a jumpstart back into working on Throwback.
Sounds good. There is one thing that I haven't gotten to fixing yet, and it's the two variables you used for the legendary beasts (0x4032 and 0x4033). Those two are used internally in 1 or 2 of the many asm routines in the unmodified rom. I made a list of all of the available vars you can use:
Huh. I think you meant 0x4031 and 0x4032, but I got it. I honestly don't remember why I chose those variables. Either I thought they were unused before, or I decided that whatever they were being used for in the game was now no longer in use. Do you remember, by chance, what the game uses those vars for?
 
Last edited:
Welcome back!

I like your approach better. It's definitely the right way to go about it.

No problem! Let me know if you need assistance.

Oops, I meant that 0x4032 was for the legendary beasts, but 0x4033 is still used in a routine (I have no idea what the routine does, though). 0x4031 is fine.

0x4033 is used here:
Spoiler:

0x4032 is used in 3 different routines, and again, I don't know what those routines do.

I CTRL+F through shinyquagsire23's DisFire/firered.asm at https://github.com/shinyquagsire23/DisFire/blob/master/firered.asm to find the vars

You probably looked through this thread for the vars: https://www.pokecommunity.com/threads/302347
 
Last edited:
Thanks! It feels weird to be back after so long, but something seems kinda right about it.
Oops, I meant that 0x4032 was for the legendary beasts, but 0x4033 is still used in a routine (I have no idea what the routine does, though). 0x4031 is fine.

0x4033 is used here:

0x4032 is used in 3 different routines, and again, I don't know what those routines do.

I CTRL+F through shinyquagsire23's DisFire/firered.asm at https://github.com/shinyquagsire23/DisFire/blob/master/firered.asm to find the vars

You probably looked through this thread for the vars: https://www.pokecommunity.com/threads/302347
Oh wow. That topic takes me back. I remember asking karatekid many years ago about the flags in the 300 range. Never did get a definitive answer back from him, just a "try them out and see if anything breaks" response. I guess it'll be easier to figure that out now with the disassembly. I also recall row that I needed to manipulate variable 0x4031 (starter choice) in order to get the legendary beast cycling to work. Not surprised now that 0x4032 and 0x4033 are used in the vanilla game, too.

But, man... this is all just hitting me like a tidal wave.
 
I'd like to make a quick note about any potential upcoming patches:

All future Throwback patches will be provided in the .ups format. This is so I can avoid any additional issues that might crop up from the IPS patch creation process. I also want to avoid having any copyrighted material from the base ROM included in the patches. If I find any technical issues that have already creeped in from years of using the .ips format, I'll get them fixed. I'm getting the message out now so you all have advanced notice before the change kicks in.
 
Last edited:
You can apply multiple UPS patches to one file so long as you disable the checksum match requirement. If using NUPS, just select any option under "If file is invalid" other than Abort. Although it's still a good idea to have Abort selected for the first patch you apply. That way you can make sure that you're patching to the right base ROM in the first place.

Oh, one other reason I chose UPS is because both mGBA and VBA-M support auto-patching of .ups files if the patch file shares the same name as the selected ROM.

Turns out UPS patching doesn't like to play nice when two patches affecting the same parts of data get applied. I'm gonna need to find a new approach or keep settling with IPS.
 
Last edited:
How's everything going, Richter? Are my inputs in the documentation and changelog easy to understand?
 
Yeah, the stuff you typed into them are fairly straightforward. The questions I've got are about the explanations behind some of the things being fixed. You know, the "Whats" and "Hows" about it. I'll ask you about them through PM.
 
Hi, I see that the RTC is implemented and that you took out the palette change. I was wondering why would you do that ?
Also I've been trying to bring it back (from the asm included) but it either crash, do the palette change but only letting me evolve into umbreon, or simply do nothing?

What I tried:
Replacing the RTC routine (with the offset you gave in your documentation) with the "complete" routine (I took out the "comment" to bring the palette change back) but it looks like if I compile it with Hackmew's Thumb compiler it takes too much bytes?

I then tried Nisarg's ShinyQuagsire DNS patch, which basicly, insert the routine in some other free place. The palette change then work but eevee only evolve into umbreon (I kind of predicted that, maybe I need to change some offset pointer or whatever?)

I also tried to play with DNS tool from Prime Dialga and editing umbreon and the other evolution's asm but without success (freeze / crash)

I can live without but I'd like to make it more obvious when I can evolve into this or this, can you show me a way to do it? It's for personnal use.
Thanks for sharing your work anyway, I love it.

EDIT :
I found out by myself thanks to your changelog that Eevee evolving's hours are switch at 00:00 and 12:00. So I decided to fully remove your DNS implementation (actually shinyquagsire's) thanks to the offset you gave and your evolutions sources (to revert pointers) and use Primedialga's tool for RTC/Palette change and evolution system (umbreon evolve at 19PM - 4AM).

Anyway thanks again, I love it that there are so much info about this rom ;)
 
Last edited:
Aren't the Move Tutors supposed to be re-useable? Only tested so far on the Mega Punch one outside of Mt. Moon, but once he teaches it, he just gives you the "Get out of here before the other guy notices you" text instead of offering to teach MP again.
 
Back
Top