Advertiser Content
Seen 12 Hours Ago
Posted 5 Days Ago
231 posts
8.1 Years
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?
Age 26
Male
USA
Seen 17 Hours Ago
Posted 3 Days Ago
387 posts
7.7 Years
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.
Seen 12 Hours Ago
Posted 5 Days Ago
231 posts
8.1 Years
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:
0x400c
0x400d
0x4015
0x4016
0x4017
0x4018
0x4019
0x401a
0x401b
0x401d
0x401e
0x401f

0x4029
0x402A
0x402b
0x402c
0x402d
0x402e
0x402f

0x4034
0x403f
0x4041
0x404c
0x404f


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.
Age 26
Male
USA
Seen 17 Hours Ago
Posted 3 Days Ago
387 posts
7.7 Years
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...


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?
Seen 12 Hours Ago
Posted 5 Days Ago
231 posts
8.1 Years
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:
loc_80DAA44:				@ CODE XREF: sub_80DA9B8+50j
					@ sub_80DA9B8+7Cj
		BL	fdecoder
		MOV	R0, #2
		STR	R0, [R7,#0x6C]
		BL	sub_809C854
		CMP	R0, #1
		BNE	loc_80DAA6C
		LDR	R0, dword_80DAA68
		MOV	R1, #1
		BL	var_set
		B	loc_80DAA70
@ ---------------------------------------------------------------------------
		.byte	 0
		.byte	 0
		.align 2
off_80DAA60:	.long 0x2021D18		@ DATA XREF: sub_80DA9B8:loc_80DAA40r
off_80DAA64:	.long unk_8488CCE	@ DATA XREF: sub_80DA9B8+8Ar
dword_80DAA68:	.long 0x4033


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/showthread.php?t=302347
Age 26
Male
USA
Seen 17 Hours Ago
Posted 3 Days Ago
387 posts
7.7 Years
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/showthread.php?t=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.
Age 26
Male
USA
Seen 17 Hours Ago
Posted 3 Days Ago
387 posts
7.7 Years
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.
Age 26
Male
USA
Seen 17 Hours Ago
Posted 3 Days Ago
387 posts
7.7 Years
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.
Male
Seen 5 Days Ago
Posted April 24th, 2019
2 posts
5.9 Years
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 ;)
Seen 1 Week Ago
Posted May 14th, 2019
2 posts
49 Days
Hi, first of all let me say congrats and thanks for the awesome work you did on this rom-hack. It fit my needs perfectly as to how I'd like to approach FRLG. I always dreamt of having a living dex of the first gen and you made it possible for me. Or so I believed, until I got stuck trying to get the fossil at Rock Tunnel. I've spent an hour with sped up emulator at 4x trying to find it. Broke every single rock on that cave several times and nothing popped up. Am I doing something wrong? Was it supposed to be this hard? I'm very close to finishing my 151 dex and this fossil is holding me back. I'll gladly wait for a reply.
Also, concerning other topics, it is said in the post that this hack only makes all pokemon appear where before there was only version exclusives, and this is kinda wrong. Not all routes contain all version exclusives. Surfing, fishing are the best way to represent that, as we have to find in which routes we find each pokemon, and it takes a long time, depending on the rarity, so you can't rely on guides online. Also, pokemon such as Growlithe and Vulpix were supposed to be found both at route 8, but are actually split between 7 and 8. This lack of information could mislead players.
As a request, if I may, please make a comprehensive list of found pokemon and where so "we" completionists can have a guide to follow or at least finish the Catch 'Em All documentation at the main page. If anything, I volunteer to finish the documentation, since I love this hack so much. Just send me the numbers so I can finish the guide.
Much appreciated dudes.
Age 26
Male
USA
Seen 17 Hours Ago
Posted 3 Days Ago
387 posts
7.7 Years
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.
Hi, first of all let me say congrats and thanks for the awesome work you did on this rom-hack. It fit my needs perfectly as to how I'd like to approach FRLG. I always dreamt of having a living dex of the first gen and you made it possible for me. Or so I believed, until I got stuck trying to get the fossil at Rock Tunnel. I've spent an hour with sped up emulator at 4x trying to find it. Broke every single rock on that cave several times and nothing popped up. Am I doing something wrong? Was it supposed to be this hard? I'm very close to finishing my 151 dex and this fossil is holding me back. I'll gladly wait for a reply.
It sounds like both of you are using tkim's version of Throwback as opposed to my last update of the game. One of the changes tkim made was that you have to leave the map in order to let the Move Tutor teach one of your Pokémon a move again. Simply talking to them again will only give you the end dialogue over and over until you load into a different area. As for the other fossil, tkim moved it to the eastmost chamber in the Tanoby Ruins. The fossil change only applies to his version of Throwback; his Official Version release should still have it at Rock Tunnel. The Move Tutor change applies to both versions that he maintains.

If I put out an update soon, there's a good chance that both of those will be reverted to how I had them. Especially the Move Tutor change.
Also, concerning other topics, it is said in the post that this hack only makes all pokemon appear where before there was only version exclusives, and this is kinda wrong. Not all routes contain all version exclusives. Surfing, fishing are the best way to represent that, as we have to find in which routes we find each pokemon, and it takes a long time, depending on the rarity, so you can't rely on guides online. Also, pokemon such as Growlithe and Vulpix were supposed to be found both at route 8, but are actually split between 7 and 8. This lack of information could mislead players.
As a request, if I may, please make a comprehensive list of found pokemon and where so "we" completionists can have a guide to follow or at least finish the Catch 'Em All documentation at the main page. If anything, I volunteer to finish the documentation, since I love this hack so much. Just send me the numbers so I can finish the guide.
Much appreciated dudes.
I don't know if you remember when I said that I'd be updating my Pokémon location guide from time to time after I stopped working on Throwback. Well... yeah. That didn't pan out. Luckily, I did make myself a personal location list for wild Pokémon. I used it to help guide myself through the major update I made to the hack a few years ago. Here's the changes. Sorry for the formatting, I typed this all in a text file and only made minimal changes when pasting it here. I also didn't list which maps each Pokémon is available in when it comes to caves or the Safari Zone. A driven player could always look up those areas in a map editor or the like, but I realize that takes away from actually playing the game.

As for the guide, feel free to make one if you'd like. I still do want to make a proper one someday, but I've grown dissatisfied with how the one I was working on turned out.
Spoiler:
Version Exclusives
023 - Ekans; Routes 8, 11
027 - Sandshrew; Routes 9, 10
Both: Routes 4 and 23

024 - Arbok; 23
028 - Sandslash; Victory Road

043 - Oddish; Routes 7 and 12, Cape Brink, Water Path
069 - Bellsprout; Routes 13, 14, and 15, Berry Forest, Bond Bridge
Both: Routes 5, 6, 24, and 25

044 - Gloom; Route 12, Cape Brink, Water Path
070 - Weepinbell; Routes 13, 14, and 15, Berry Forest, Bond Bridge

054 - Psyduck; Seafoam Islands, Kindle Road, Bond Bridge, Berry Forest, Water Path, Ruin Valley, Canyon Entrance
Routes 6 and 25, Fuchsia City, Cerulean Cave, Berry Forest (Surfing)
Routes 12 and 13 (Super Rod)
079 - Slowpoke; Treasure Beach, Cape Brink, Five Isle Meadow
Routes 22 and 23, Viridian City, Celadon City, Seafoam Islands, Cape Brink, Four Island, Icefall Cave (Surfing)
Both: Safari Zone (Surfing)

055 - Golduck; Seafoam Islands
Cerulean Cave, Berry Forest (Surfing)
080 - Slowbro; Cape Brink
Seafoam Islands, Cape Brink (Surfing)

058 - Growlithe; Route 7
037 - Vulpix; Route 8
Both: Pokémon Mansion

090 - Shellder; Pallet Town, Vermilion City (Super Rod)
120 - Staryu; One Island, Five Island (Super Rod)
Both: Cinnabar Island, Icefall Cave (Super Rod)

123 - Scyther
127 - Pinsir
Both: Safari Zone

125 - Electabuzz; Power Plant
126 - Magmar; Mt. Ember

194 - Wooper; Four Island, Icefall Cave
183 - Marill; Ruin Valley

198 - Murkrow
200 - Misdreavus
Both: Lost Cave

211 - Qwilfish; Five Isle Meadow, Memorial Pillar, Resort Gorgeous, Water Labyrinth (Super Rod)
223 - Remoraid; Green Path, Outcast Island, Tanoby Ruins, Trainer Tower, Water Path (Super Rod)

225 - Delibird
215 - Sneasel
Both: Icefall Cave

227 - Skarmory; Sevault Canyon
226 - Mantine; Tanoby Ruins, Trainer Tower

Paired Pokémon; encounter rate depends on version, so they've been tweaked a bit
014 - Kakuna
011 - Metapod
Both: Routes 24 and 25, Viridian Forest, Pattern Bush

032 - Nidoran♂
029 - Nidoran♀
Both: Route 3, Safari Zone

033 - Nidorino
030 - Nidorina
Both: Safari Zone

109 - Koffing
088 - Grimer
Both: Pokémon Mansion

110 - Weezing
089 - Muk
Both: Pokémon Mansion

116 - Horsea; Routes 19, 20, and 21, Pallet Town, Cinnabar Island, Resort Gorgeous, Water Labyrinth, Water Path, Green Path, Outcast Island, Tanoby Ruins, Trainer Tower (Good Rod and Super Rod)
Seafoam Islands (Surfing)
098 - Krabby; Routes 4, 10, 11, 12, 13, and 24, Cerulean City, Vermilion City, Kindle Road, Treasure Beach, Bond Bridge, Five Isle Meadow, Memorial Pillar, One Island, Five Island, Icefall Cave (Good Rod and Super Rod)
Both: Seafoam Islands (Good Rod and Super Rod)

117 - Seadra; Routes 19, 20, and 21, Pallet Town, Cinnabar Island, Resort Gorgeous, Water Labyrinth, Water Path, Green Path, Outcast Island, Tanoby Ruins, Trainer Tower (Super Rod)
099 - Kingler; Kindle Road, Treasure Beach, Bond Bridge, Five Isle Meadow, Memorial Pillar, One Island, Five Island, Icefall Cave (Super Rod)

167 - Spinarak
165 - Ledyba
Pattern Bush

Normally-Unavailable Pokémon
163 - Hoothoot
Pattern Bush, Lv. 10; 5%, replaces Lv. 9 Metapod

170 - Chinchou
Green Path, Outcast Island, Trainer Tower (Super Rod), Lv. 15-25; 40%, replaces Horsea/Krabby

185 - Sudowoodo
Five Isle Meadow, Lv. 30; 10%, replaces Lv. 48 Pidgeotto

191 - Sunkern
Canyon Entrance, Lv. 10; 20%, replaces Lv. 44 Spearow

203 - Girafarig
Five Isle Meadow, Lv. 25; 20%, replaces Lv. 44 Pidgey

207 - Gligar
Sevault Canyon, Lv. 20; 10%, replaces Lv. 43 Meowth

209 - Snubbull
Water Path, Lv. 20; 10%, replaces Lv. 41 Meowth

222 - Corsola
Water Labyrinth, Resort Gorgeous, Tanoby Ruins (Super Rod), Lv. 15-25; 40%, replaces Horsea/Krabby

241 - Miltank
Water Path, Lv. 20/25; 5%, replaces Lv. 47/50 Persian
Age 26
Male
USA
Seen 17 Hours Ago
Posted 3 Days Ago
387 posts
7.7 Years
The upcoming update is mainly a maintenance update. I'll be reimplementing various improvements tkim has made to Throwback into my main download, as well as making them available in separate patches in the source. Any additional changes I make will be small changes. I'm definitely going to consider making event Pokémon available in-game, but I won't be able to do anything about that right away. It'll take some time for me to do anything regarding that.
Seen May 8th, 2019
Posted May 7th, 2019
2 posts
51 Days
It sounds like both of you are using tkim's version of Throwback as opposed to my last update of the game. One of the changes tkim made was that you have to leave the map in order to let the Move Tutor teach one of your Pokémon a move again. Simply talking to them again will only give you the end dialogue over and over until you load into a different area. As for the other fossil, tkim moved it to the eastmost chamber in the Tanoby Ruins. The fossil change only applies to his version of Throwback; his Official Version release should still have it at Rock Tunnel. The Move Tutor change applies to both versions that he maintains.

If I put out an update soon, there's a good chance that both of those will be reverted to how I had them. Especially the Move Tutor change.
Ahh, yeah. I literally just figured that out after testing it with the Seismic Toss Tutor in the Pewter Museum.

I will note, that I have been encountering an interesting bug - certain world items will reappear after awhile (the Awakening immediately on the Route to the right of Vermillion City for example). Not sure if this is intended or not, but might lead to balance issues that you didn't foresee (also appears to do the same with the fossil you choose in Mt. Moon).
Age 26
Male
USA
Seen 17 Hours Ago
Posted 3 Days Ago
387 posts
7.7 Years
I will note, that I have been encountering an interesting bug - certain world items will reappear after awhile (the Awakening immediately on the Route to the right of Vermillion City for example). Not sure if this is intended or not, but might lead to balance issues that you didn't foresee (also appears to do the same with the fossil you choose in Mt. Moon).
Interesting. That'd suggest that something is causing the flags for those items to be reset. It certainly could be something from the hack, but I'm pretty sure this is the first time someone's mentioned something about it. I'll take a look at it sometime.
Age 26
Male
USA
Seen 17 Hours Ago
Posted 3 Days Ago
387 posts
7.7 Years
So... it's been awhile since I've been on here. I'll admit, I haven't done much work on Throwback as of late. But I do have some more time I could throw into it now, and chances are I'll pick things back up from where I left off some weeks ago.

I've got some exciting news, though! Well, on my end, at least. I've finally tested out Pokémon Throwback on actual hardware! All this time I've been using versions of VBA-M (and some versions of mGBA here and there) for testing my hack, but now I've got the real deal. I only checked it out up to Viridian Forest, but things seem really solid as of right now.

My main concern with using actual hardware was that the 8-bit tracks in the GB Sounds portion of the hack would sound terrible. They're incredibly low-quality and grating in mGBA, which is otherwise head-and-shoulders better than any version of VBA. Luckily, things are actually much better when playing around on actual GBA hardware. Entirely passable, even! Audio isn't entirely crisp like in VBA-M, and there are a couple of small issues that are more noticeable there (such as with quick phase shifting of noise instruments), but it sounds way better than it does in mGBA. That's a relief. For awhile now I thought that PSG audio on the GBA must have sounded a lot worse than I remember, but it turns out my memory was pretty spot on. Now that I know that the GB Sounds music is supposed to sound a lot better than it does in mGBA, I'll be sure to provide some input to endrift if necessary. It seems she might already be working on that with the in-development XQ GBA Audio option.

I'll be around here in case anyone needs any help or has suggestions. I might even have something neat to announce or show off, soon! 😄
Advertiser Content