Edit 2: Very minor but mistake in the script, DS "flipping point" is 1/20/2068 not 4/20 (no blazing it sorry). But its actually an unsigned-32 bit integer, not signed 64-bit. Basically just means that the DS original date is still 1/1/2000 at 00:00. Doesn't impact any of the findings or ways you can take advantage of it. Also big thanks to the hardware experts chiming in, if it's not obvious this is an area where I lack expertise lol. Edit: It's very hard to explain this in a comment but it turns out there's not technically a second hidden clock on the DS systems, only the 3DS ones. It looks like the RTC offset just gets adjusted when you change system date/time. Like if your offset is 0, and you change the system date/time by 2 minutes, it would add 120 to the offset. When you system reset, it would calculate the offset from a pre-determined date/time (ie: the "hidden RTC" I refer to in the video). I unfortunately trusted the multiple online forum posts that explained it as two clocks. However, it doesn't change the findings in the video and is functionally the same as what I describe. It's much easier to conceptualize and explain it as a hidden clock. I'll be sure to clarify and test all of this when I post it to the website. Writing out the steps for the two examples in the video for clarity, I'll add this to sinjohruins.com as well soon! Example 1: Skip 110 days for Bagon 1. Format system memory to 1/1/2008 at 00:00 2. Format system memory to 1/1/2008 at 00:00 3. Save in game 4. Format system memory to 1/3/2008 at 00:00 5. Format system memory to 1/3/2008 at 00:00 6. Make sure the proper area(s) are in place in the Safari Zone and save 7. Format system memory to 5/1/2008 at 00:00 8. Format system memory to 5/1/2008 at 00:00 9. Go back in game and save to lock in the upgrades Example 2: Honey Tree 1. Format system memory to the current system date at 23:59 (in this example it was 1/4/2008) 2. Load the game, wait 2 minutes, slather the honey tree, and save 3. Format system memory to the new current system date at 23:59 (the date should have rolled over to 1/5/2008, so use that) 4. Load the game quickly and mash A to get the honey tree encounter
Whether it sets the difference between the times or the actual time is irrelevant here. It's the difference between x = 2 and x+y = 2+y. The 2nd equation has different values on either side, but the same solutions for x.
@@simonwillover4175 It's mathematically equivalent, but totally different behavior. If there were two RTCs, it would be possible for the offset to change on its own, since RTCs are a hardware resource. Plus, the game would have to calculate the offset rather than just loading it from system memory and comparing it to the number stored in the save file
As a software dev I can't help but be amazed by the hidden mechanics we never knew about, sure, but infinitely more so by the amount of research you put into reverse-engineering this badboy. The gen4 games are my all-time favorite and all this new nerdy info gives my brain the happy chemical. Kudos.
I remember seeing lightning on that route when I was putting Honey on trees for Munchlax. I was convinced there had to be a Raikou or a Zapdos in the grass, lol.
Your videos scratch some kind of weird itch in my brain. I love watching and learning about these old exploits and gen 4 mechanics so much, especially because that's the generation I grew up playing the most. (Heart Gold and Pearl my beloveds)
Man, this channel keeps blowing me away. Unreal how much there still is left to discover in these games (or in this case, these consoles) that people have already been researching for so long.
Bro, I just finished catching the last safari pokemon last week for my living dex project 😭 Took me literal years. Either way, awesome video. Your work is so much appreciated! Huuuuuge win for the gen 4 pokemon fans! Well done :)
I had to use the Safari Zone specifically for Seviper for my Gen 4 National Dex because I didn’t own Sapphire at the time, and my god it made me want to tear my freaking hair out by the end. The concept for it is cool, but the execution is just convoluted and confusing, and obviously a huge time sink for a bunch of mons
@ Yeah, this would have been way better if the waiting days would be like a week max or something. I do like the concept as well, changing the environment to make new species appear
As someone who spent literal years playing my original Diamond & SoulSilver games until max time, complete PokeDex, all events, and then having them stolen and just getting back into a brand new SoulSilver game, thank you for giving me the option to cut out even more years of grinding if I ever need/want to use it ♡
Quickly becoming my favorite UA-camr. Gen IV is the Gen I play the most currently, and historically. Love your research and I love these videos. Super useful!
I swear I remember seeing a video a year or so ago that said the 23:58 trick works for the HGSS safari zone. which I need it to, bc this mess sounds exhausting just for that. like I'd almost rather just actually wait lmao but props to you for putting in all this effort every single time! you are truly a gift to the community
I wasted hoooours doing the 11:59 'skip' for gible. I wasn't counting my resets so I have no idea how many I did, but it was 100% more than the 110 days needed. Haven't watched the full video yet but I hope you've actually cracked it
@@jonathanfischer7395 It's 49 Plains and 49 Peak points, making it the most annoying HGSS Safari Zone encounter. I didn't have to do it, I own the Sinnoh games too, but I like trying to catch every possible encounter available in a game without trading when possible
Every new upload from your channel is so exciting. Thank you for all the time and effort that goes into researching all these gen 4 features ❤ So eager to see what comes next
You missed the Trainer House in HGSS where trainers can be battled once a day for 1BP per victory. In gen4 it was the fastest way to get battle points if you had enough friends, as connecting to friends via the pokewalker allowed their avatars to show up in the trainer house. You can't battle any trainers there if you're under the time travel penalty. We had so much fun coming up with fun teams to send to our friends' games through that system back in the day.
Hey thanks for the heads up! Wasn't aware of any timegating for Trainer House. Did a quick check, doesn't look like it uses the exact penalty timer that other features do. Might just be the same time check as other daily features, I'll definitely dig more into the Trainer House when I get my hands on a second Pokewalker lol
Incredible discovery, it was always such a frustration for me not being able to figure this out as a kid. I think I still have a DSi somewhere but I don't really play Gen 4 games anymore, so sadly I won't be using this, but it's still really satisfying to know that it's possible!
As a teen, I used to get burned by this without even trying to time travel. I had multiple DS systems, I had a DS Lite but got the DSi when it came out. I used to do daily events in Gen IV religiously. Sometimes I would want to swap which console I was using with which cart because I wanted to use my newer console on whichever cart I was currently focusing on for non-daily events. But of course then I got whacked with the penalty and couldn't do the daily events. I always assumed the game stored the time of last save, and then when loading if the time elapsed was not equal to the difference between load time and last save time, it would hit you with the penalty (not far off from how it actually works). I figured that if the clocks on the two DS systems were different, this would then result in the penalty because things wouldn't line up anymore. I was actually trying to play fully legitimately, and actually had my clocks on both systems set to the second matching official time for that reason, but I figured the time saved was to the millisecond or something so I couldn't hope to match them, even before accounting for clock drift. I never imagined it would actually check the MAC address and consider that enough to penalize you even if you weren't time traveling, so that was an interesting piece of information. Honestly I wish the penalty just didn't exist at all. Here I was trying to play the way Gamefreak intended, but I was getting penalized for trying to freely use the two DS systems I owned or trying to keep the time correct as intended during the Daylight Saving Time switch (which incidentally was built into Gen II when the system had no clock, but they somehow didn't think to allow such a thing to avoid the penalty in later games?). I would rather they just let people play the way they wanted. If someone wants to do shenanigans let them, and if someone prefers not to play that way like me, let me play that way unhindered. It's a game, let people enjoy it how they want.
Dude I've been constantly working on putting together my super-cool-pokedex-that-has-like-literally-every-pokemon, and to do so I had to get every in-game gift Pokemon. I did NOT know about the 23:58 trick working in Gen 5. I actually WAITED OUT the days to trade with Yancy and Curtis 💀
awesome vid, great research. its funny how you kind of needed to research this with 3ds cfw to learn the offsets and test the method, when the method itself requires no cfw. I homebrewed my 3ds 3 years ago, and I have 2 homebrew apps, rtc-no-time that lets me view my offset, and RTC Changer, which lets me change the internal RTC. using a combo of these 2, I've been enjoying time traveling for the last 3 years from gen 4 all the way to to gen 7 with Ultra sun and ultra moon. I even bypass any timegates all in every 3ds game like tomodachi life. They all use RTC offset to detect time travel.
I don't mean to sound like a commenter who spreads misinformation or maybe misunderstood the video, but in regards to the Johto Safari Zone: in 2020 I completed my Johto PokeDex and utilized the Safari Zone heavily since I didn't have access to certain games at the time. I'm fairly sure that date skipping and letting the clock tick over to midnight works for increasing the Safari Zone object multiplier. I used a >New< Nintendo 3DS XL to do this. And the reason I'm fairly sure this is what I did is because I did all of my Safari Zone catching over the course of a day or two and while I didn't catch Bagon in it, I did catch Shelgon in there, which is a similarly long day requirement. Really enjoyed your video btw!!
Heya! Two questions: 1. Are you saying you date skipped 70 days then did the rollover or that you did the rollover 70 times? 2. Does your 3DS have custom firmware?
This is probably a pretty obvious question in hindsight but does this same method of time traveling using a DSi also apply to the Gen V games or does BW/BW2 have a different system in place to prevent it (I remember trying to do the 23:58 trick when I was younger but I noticed *any* time traveling shenanigans caused the game to punish me for trying to time travel, even if was just to alter time for daylights savings, etc) Edit (12/02/2024): This exploit does indeed work on Gen V as well, I had tested it with the NPC on Route 13 in BW1 that gives out daily items and the breeder on Route 5 in BW2 that sells you the EV reducing berries and doing the same steps as in Gen IV, I found that it does also work with being able to do daily events again, I could see this being *extremely* useful for speeding up leveling up Join Avenue in BW2
Looking at gbatek, it doesn't appear like there are multiple clocks in the hardware. There is however a RTC offset field in the firmware settings data.
That would explain the weird 99 year rollover (as in the "hidden RTC" isn't rolling over, just the offset remaining the same). So I guess the RTC offset just gets adjusted when you change system date/time? Like if your offset is 0, and you change the system date/time by 2 minutes, it would add 120 to the offset. When you system reset, it would calculate the offset from a pre-determined date/time. I'll look into it more later today and make sure to update the pinned comment/on the website if needed. That's my bad for trusting online forum posts explaining it as two clocks lol. At least its easy to conceptualize it this way.
That would make sense. With an offset value, you can determine the system time at any moment without storing its value. you get the exact distance between the two times. That offset never changes since both times are basically updated by the same clock. Unless you change the system clock manually. Or so they thought. When the RTC + offset gets beyond 12/31/2099, the date roll over to 01/01/2000. I'd assume that's the limit date of the RTC as well. The problem is, that overflow changes the distance between the RTC and the system clock, You get behind the RTC technically, the offset should be updated. But it's not. That's how Gen 4 games gets tricked I guess. When you save the game in 1/1/2000 with the offset not updated, Then remove the battery and set the system clock at 12/31/2099, The offset does not change. It makes sense, since you set the same date the first and second time, and the RTC probably starts on a constant date. So when you load the game again, it sees that the date increased 99 years, and the offset is the same. So you waited this time "for real".
Yeah, there's only one RTC, and your configured one is stored as an offset from the internal one. You can think of it as two separate RTCs if you want though, it makes no practical difference to the observed behavior.
Adding another comment just to clarify: the 3ds does in fact have a hidden clock, the DS systems do not though. This explains a lot of the confusion on my end lol
The date is 2/6/2136. Humanity has left earth behind and gone onto the stars. They've colonized hundreds of planets, and terraformed hundreds more. The concept of games and pokemon are meaningless. Genetic engineering has made pokemon games past Scarlet and Violet unneeded. As pokemon can be made and exist in our real world! Video games have been replaced by full body immersive VR. Alien and Human life live in harmony. It seems that there's no room left for the nintendo switch in this new galaxy. Until the galactic standard calendar tips over to 2/7/2136. Pokemon Legends Z-A is finally announced. The galaxy rejoices. As they know it's finally time for gen 10. (Great video by the way! I've been rather hesitant to replay gen 4 cause of all the time based BS. Now I have a way to actually skip past it! Thank you!)
Wow, this was such an incredible video! I love how deep you went with your research to solve this problem. It’s amazing to see all the hidden mechanics behind how Gen 4 games protect against time travel and even more impressive how you figured out a way to bypass it without hacking or cheating, just by working with the original hardware. This really makes me want to dust off my old DS and try it myself. 😊 Do you think this method could inspire similar discoveries for newer games or even other retro titles?
In the video you mentioned at 10:40 that the offset is stored as a signed 64-bit integer, but I'm wondering if it's actually stored as an unsigned 32-bit integer instead? It would explain the strange alternate reference date of 2136 and the large negative offset when you set your clock to 12/31/2099. Instead of interpreting -1,139,207,416 as a signed 32-bit int, it would instead be 2^32-1,139,207,416 = 3,155,759,880 when interpreted as an unsigned int, which turns out to be exactly the offset from 1/1/2000! This probably makes more sense than having two separate reference dates? This also explains the discontinuity in the hidden RTC (that you found in 14:20) that takes place in 2068, since the time offset from 1/1/2000 exceeds 2^31-1 ~ 2,147,483,647 on 1/19/2068, which then underflows into the negative numbers if interpreted as a signed integer and appears as if the reference date jumped to a date much further in the future -- 2/7/2136 6:28:16 is exactly 2^32 seconds after 1/1/2000, which is consistent with an underflow of a 32-bit integer, but no such issue occurs if we interpret all the offsets as unsigned.
Heya, first thanks for making me realize I wrote the date wrong in my script and didn’t catch it. The flipping point is actually on 1/20/68 not 4/20, whoops. Anyways I actually had a similar thought that it was underflowing when it hit the 32-bit integer max, the integer max in seconds from 1/1/200 00:00 would take you to 1/19/2068 at 3:13:something (don’t remember exactly). So I tested 3:14 and later and it actually just kept increasing past the 32-bit integer max. So if you did 1/19/2068 at 11:59pm, the offset is still positive and above 32 bit integer max. But I’m an idiot! It was going above the signed integer 32 bit max, not unsigned. I completely forgot how that worked lol. I think you’re completely correct, thank you! Doesn’t seem like it matters regardless since there’s not actually a second clock and it’s just calculating an offset then adjusting, but I’ll be sure to note it when I do my write up.
6:52 Not quite true! You can migrate 6 Pokémon per Gen III version a day, however if you tune travel then try to transfer, you will be locked out of that version for 24 hours... and only that one, For Some Reason. You can simply alternate two Gen 3 carts and move the day forward repeatedly and it'll still work, oddly enough.
@Etch I looked it up and it's specifically once per save file, so you can use multiple of the same version, or even reset the save and transfer again. The exact method for the multiple cart exploit is explained better on Bulbapedia but actually involves putting in the second cart first, then triggering the message, then reinserting the original cart, which then can be transferred again.
This is a really big discovery for me, as I was trying to catch every possible Safari Ball encounter a few years ago. Annoyingly, while the DSi trick is simple and easy to do, my DSi has that limited-time Zelda Four Swords Anniversary downloaded onto it >_
Funny how Gamefreak added so many time-gated features in their games and then said that cellphones were competing against consoles for people's attention. Don't get me wrong, the ideas and intentions were nice in the sense of user immersion but ultimately "punished" you for wanting to play the games.
Okay but now you have to re-do your munchlax speedrun, you have no excuse! And don't think I forgot about the Snorlax onesie, you better wear that too :]
One day my dreamed strategy of catching 4 ghastly with destiny bond and give them an item to attack first will be investigated thouroughly (by me) for speedruns My coveted strategy to self-destruct during the early proved insuficient due to a lack of choices. Fun fact, you can catch a pineco early in diamond pearl, but the strategy is banned bc you have to encounter pineco by inserting a GBA game on your DS Lite. Not that I know if it can work
As a child who owned multiple DS and would constantly switch between them, the MAC address check was such a silly idea. Punish the ones who spent more money than they should've, amazing!
After seeing the part about the offset being saved as an integer, I fully suspected the solution to be “Save your date as the current date plus 2^32 seconds, triggering integer overflow”. Could this work in theory? Not sure whether it’d be 2^32 or 2^64 or similar.
I've never heard of that issue with DSi XLs with the screens, is it just the non XL versions? I've had my 25th Anniversary SMB DSi XL since it was released and other then some normal play scratches on the screen it's fine, and some friends own various models and those are fine. Ah well, it's worth getting one anyway because they are extremely easy to softmod with the SD card slot. :)
Pretty sure formatting my DSi would be rough if you're like me and have digital games on there. I don't know if it's possible to download purchased content on there anymore
So... all available catches speedrun in a gen 4 game now feasible? Not sure what would stop one in D/P/Pt other than the misery of Munchlax and other honies, but definitely if possible now in HGSS?
Can you do me a favor and try to solve the mysery of the Secret Key? Is it true that Japanese Secret Keys can be Mixed Recorded? Does it also work for Western Secret Keys? If not what if a Japanese Wonder Card is mixed with a Western Game(that works in Gen 3 for the Regidolls)? If so 100% legit even by my stickler standard Secret Keys can still exist, just find a verifiably legit one(old youtube video) and mix
Just wanted to make sure I’m reading this right bc I could actually test. So what you wanna know is: Is it possible for a gen 4 jap game (D/P/Pt) that has the secret key wonder card and mix records with an English copy of Gen 4 (D/P/Pt) and acquire its own Secert key?
@@LunaMatrix I have 3 things I wanna know. 1. Is it true the Japanese secret key can be spread by mixing records, like how the Eon Ticket works in Gen 3? I've read this in multiple places. 2. Ok, what about the English version? Does that one mix fine? Or are the rules different? 3. If 1 is true and 2 is false, what happens if you mix between regions? It worked for the Regidolls
I believe that can be saved to the SD card. Also, any purchased DSiware should be available for re-download through the DSi shop, or at least it was as of a couple of years ago when I last did a system format. I was actually surprised to see that they still let you download the games you purchased years after closing the store.
@@panelatermica8683 I just checked for you, and you can still get any DSiWare back through the shop. 1)Open the DSi Shop 2)Tap on "Start Shopping" 3)Tap "settings" 4)"Titles you've downloaded" they should all be here, and you can still get them. You can also go to the dsi settings from the main menu, go to "Data Management" and back up your stuff on the sd card.
I don't know how to say this but I only had to change the date on my 3ds to a year later and got the bagon in the safari zone in like 3 minutes... Am I Dialga, god of time travel?
If the real time offset is just saved on the cart, would you not be able to mess with it using ACE? I'm not too familiar with gen 4 ACE, but it's just a thought
Edit 2: Very minor but mistake in the script, DS "flipping point" is 1/20/2068 not 4/20 (no blazing it sorry). But its actually an unsigned-32 bit integer, not signed 64-bit. Basically just means that the DS original date is still 1/1/2000 at 00:00. Doesn't impact any of the findings or ways you can take advantage of it. Also big thanks to the hardware experts chiming in, if it's not obvious this is an area where I lack expertise lol.
Edit: It's very hard to explain this in a comment but it turns out there's not technically a second hidden clock on the DS systems, only the 3DS ones. It looks like the RTC offset just gets adjusted when you change system date/time. Like if your offset is 0, and you change the system date/time by 2 minutes, it would add 120 to the offset. When you system reset, it would calculate the offset from a pre-determined date/time (ie: the "hidden RTC" I refer to in the video). I unfortunately trusted the multiple online forum posts that explained it as two clocks. However, it doesn't change the findings in the video and is functionally the same as what I describe. It's much easier to conceptualize and explain it as a hidden clock. I'll be sure to clarify and test all of this when I post it to the website.
Writing out the steps for the two examples in the video for clarity, I'll add this to sinjohruins.com as well soon!
Example 1: Skip 110 days for Bagon
1. Format system memory to 1/1/2008 at 00:00
2. Format system memory to 1/1/2008 at 00:00
3. Save in game
4. Format system memory to 1/3/2008 at 00:00
5. Format system memory to 1/3/2008 at 00:00
6. Make sure the proper area(s) are in place in the Safari Zone and save
7. Format system memory to 5/1/2008 at 00:00
8. Format system memory to 5/1/2008 at 00:00
9. Go back in game and save to lock in the upgrades
Example 2: Honey Tree
1. Format system memory to the current system date at 23:59 (in this example it was 1/4/2008)
2. Load the game, wait 2 minutes, slather the honey tree, and save
3. Format system memory to the new current system date at 23:59 (the date should have rolled over to 1/5/2008, so use that)
4. Load the game quickly and mash A to get the honey tree encounter
Does this mean it works for all the models of DS? or still only DSi?
I was about to comment about this! The 3DS uses the same system, RTC + user configurable offset. I believe the Switch does something similar too.
Whether it sets the difference between the times or the actual time is irrelevant here. It's the difference between x = 2 and x+y = 2+y. The 2nd equation has different values on either side, but the same solutions for x.
@@simonwillover4175 It's mathematically equivalent, but totally different behavior. If there were two RTCs, it would be possible for the offset to change on its own, since RTCs are a hardware resource. Plus, the game would have to calculate the offset rather than just loading it from system memory and comparing it to the number stored in the save file
@agumike Still only DSi (assuming you mean the trick I show at the end of the video)
I remember being punished with the 24 hours freeze when I had to change my DS time because of daylight saving.
Yeah! So annoying omg
Yet another reason daylight savings time sucks lol
@@SnakebitSTI*Another reason why gen 4 sucks
@@helper809 i mean the 24h punishment was still a thing in the 3ds games. at least there wasnt thaaat much things to wait in real time
I have never looked at my DS clock being wrong during DLS and thought, "I should fix that"
You have just saved the Professor Oak Challenge community from Munchlax-related anguish. Thank you sincerely.
This man is a hero.
Poor Johnstone having just completed his Gen 4 living dex and having to give up and breed Munchlax.
I'm working on a living dex for gen IV and Munchlax is one of the last 9 I need, this will be huge
My first thought on seeing this video was “god poor johnstone”
I hope he sees this so he can know about this next time
“Dialga! I’ve come to bargain!” -Time Travelers who can’t wait patiently.
As a software dev I can't help but be amazed by the hidden mechanics we never knew about, sure, but infinitely more so by the amount of research you put into reverse-engineering this badboy. The gen4 games are my all-time favorite and all this new nerdy info gives my brain the happy chemical. Kudos.
I remember seeing lightning on that route when I was putting Honey on trees for Munchlax. I was convinced there had to be a Raikou or a Zapdos in the grass, lol.
You foresaw gen 5 roamers lol
Theoretically, Zapdos could be there
“The japanese dsi technically works better” *me looking at my japanese dsi knowing i will literally never do this*
Does this glitch let me time travel back to when my parents were together?
Only if you get a shiny living dex first.
no its you’re fault
That would have been the Z time line ... We are in the USUM timeline...
That's actually in the DLC so no not yet
No, but you may be able to accomplish that with tweaking.
Your videos scratch some kind of weird itch in my brain. I love watching and learning about these old exploits and gen 4 mechanics so much, especially because that's the generation I grew up playing the most. (Heart Gold and Pearl my beloveds)
I love that I've been able to find channels like you and Hunter R. that are very specifically focused on cool stuff about older games.
Delete this video, buying DSi's off ebay is a hobby of mine and i dont want the prices to go up. JK awesome vid, incredible work.
damn i just spent several MONTHS just spawning a munchlax to shiny hunt it. thanks for the upload!
im surprised you didnt try to find your trees online before that
@ i had my trees. it just wasn't spawning. got in in floaroma meadow tho which is what i was shooting for
@@afhunts thats fair i forgot it also has an abysmal 1% rate
@afhunts what a coincidence I'd see your comment on a random UA-cam video I clicked on ha
small world lol
Man, this channel keeps blowing me away. Unreal how much there still is left to discover in these games (or in this case, these consoles) that people have already been researching for so long.
Finally retribution for 15 years of owning a dsi
youre a lifesaver. next year's safari week is gonna be so crazy!!!
Bro, I just finished catching the last safari pokemon last week for my living dex project 😭
Took me literal years.
Either way, awesome video. Your work is so much appreciated! Huuuuuge win for the gen 4 pokemon fans! Well done :)
I had to use the Safari Zone specifically for Seviper for my Gen 4 National Dex because I didn’t own Sapphire at the time, and my god it made me want to tear my freaking hair out by the end. The concept for it is cool, but the execution is just convoluted and confusing, and obviously a huge time sink for a bunch of mons
@ Yeah, this would have been way better if the waiting days would be like a week max or something.
I do like the concept as well, changing the environment to make new species appear
The DS clock flipping over from 2099 back to 2000 gave me 'World will end in 2012 b/c Mayan calendar ends that year' vibes
The apriblender is impactful because you need to walk a marathon to affect the mildness with walking.
The idea of waiting 100 years just for Bagon to show up in the Safari Zone is really funny
You are quickly becoming my favorite pokemon channel XD, I FINALLY GET A REAL USE OUT OF MY DSI!!!
As someone who spent literal years playing my original Diamond & SoulSilver games until max time, complete PokeDex, all events, and then having them stolen and just getting back into a brand new SoulSilver game, thank you for giving me the option to cut out even more years of grinding if I ever need/want to use it ♡
"only way to get munchlax"
Me casually pulling out my pokewalker and walking 10,000 steps
Huge news; I helped Riyaly test the cornn berry trick way back when. This will certainly make it a lot easier for DSi users :)
Quickly becoming my favorite UA-camr. Gen IV is the Gen I play the most currently, and historically. Love your research and I love these videos. Super useful!
This is amazing!!!! Finally Safari Zone blocks and honey trees aren’t painful!
I swear I remember seeing a video a year or so ago that said the 23:58 trick works for the HGSS safari zone. which I need it to, bc this mess sounds exhausting just for that. like I'd almost rather just actually wait lmao but props to you for putting in all this effort every single time! you are truly a gift to the community
This video is gonna be huge for the Full Odd’s Shiny Hunting, Oak Challenge communities!
I wasted hoooours doing the 11:59 'skip' for gible. I wasn't counting my resets so I have no idea how many I did, but it was 100% more than the 110 days needed. Haven't watched the full video yet but I hope you've actually cracked it
Why’d you have to do it for Gible?
@@jonathanfischer7395cause certain pokemon require a lot of days and unique tiles to get them in HG/SS
@@jonathanfischer7395 hgss safari zone requires a 100 day wait for gible
@@jonathanfischer7395 It's 49 Plains and 49 Peak points, making it the most annoying HGSS Safari Zone encounter.
I didn't have to do it, I own the Sinnoh games too, but I like trying to catch every possible encounter available in a game without trading when possible
that skip doesnt work for the safari zone which is why it doesnt work, only the battery removal method was proven to work before this video
Love this for safari zone. A bit tricky for honey trees. Now break the pokewalker lol
Every new upload from your channel is so exciting. Thank you for all the time and effort that goes into researching all these gen 4 features ❤ So eager to see what comes next
Fascinating :] It's so cool that new things are still being uncovered about the Gen IV games
You missed the Trainer House in HGSS where trainers can be battled once a day for 1BP per victory. In gen4 it was the fastest way to get battle points if you had enough friends, as connecting to friends via the pokewalker allowed their avatars to show up in the trainer house. You can't battle any trainers there if you're under the time travel penalty.
We had so much fun coming up with fun teams to send to our friends' games through that system back in the day.
Hey thanks for the heads up! Wasn't aware of any timegating for Trainer House. Did a quick check, doesn't look like it uses the exact penalty timer that other features do. Might just be the same time check as other daily features, I'll definitely dig more into the Trainer House when I get my hands on a second Pokewalker lol
Incredible discovery, it was always such a frustration for me not being able to figure this out as a kid. I think I still have a DSi somewhere but I don't really play Gen 4 games anymore, so sadly I won't be using this, but it's still really satisfying to know that it's possible!
As a teen, I used to get burned by this without even trying to time travel. I had multiple DS systems, I had a DS Lite but got the DSi when it came out. I used to do daily events in Gen IV religiously. Sometimes I would want to swap which console I was using with which cart because I wanted to use my newer console on whichever cart I was currently focusing on for non-daily events. But of course then I got whacked with the penalty and couldn't do the daily events. I always assumed the game stored the time of last save, and then when loading if the time elapsed was not equal to the difference between load time and last save time, it would hit you with the penalty (not far off from how it actually works). I figured that if the clocks on the two DS systems were different, this would then result in the penalty because things wouldn't line up anymore. I was actually trying to play fully legitimately, and actually had my clocks on both systems set to the second matching official time for that reason, but I figured the time saved was to the millisecond or something so I couldn't hope to match them, even before accounting for clock drift. I never imagined it would actually check the MAC address and consider that enough to penalize you even if you weren't time traveling, so that was an interesting piece of information.
Honestly I wish the penalty just didn't exist at all. Here I was trying to play the way Gamefreak intended, but I was getting penalized for trying to freely use the two DS systems I owned or trying to keep the time correct as intended during the Daylight Saving Time switch (which incidentally was built into Gen II when the system had no clock, but they somehow didn't think to allow such a thing to avoid the penalty in later games?). I would rather they just let people play the way they wanted. If someone wants to do shenanigans let them, and if someone prefers not to play that way like me, let me play that way unhindered. It's a game, let people enjoy it how they want.
Dude I've been constantly working on putting together my super-cool-pokedex-that-has-like-literally-every-pokemon, and to do so I had to get every in-game gift Pokemon.
I did NOT know about the 23:58 trick working in Gen 5. I actually WAITED OUT the days to trade with Yancy and Curtis 💀
awesome vid, great research. its funny how you kind of needed to research this with 3ds cfw to learn the offsets and test the method, when the method itself requires no cfw.
I homebrewed my 3ds 3 years ago, and I have 2 homebrew apps, rtc-no-time that lets me view my offset, and RTC Changer, which lets me change the internal RTC. using a combo of these 2, I've been enjoying time traveling for the last 3 years from gen 4 all the way to to gen 7 with Ultra sun and ultra moon. I even bypass any timegates all in every 3ds game like tomodachi life. They all use RTC offset to detect time travel.
love the vids. I never liked the gen4 games but your videos are making me appreciate them.
I would not be upset if your website had ads, make that paper girl
This is gonna be immensely helpful when I take on the gen 4 Battle Frontier on my Platinum and Soul Silver.
I don't mean to sound like a commenter who spreads misinformation or maybe misunderstood the video, but in regards to the Johto Safari Zone: in 2020 I completed my Johto PokeDex and utilized the Safari Zone heavily since I didn't have access to certain games at the time. I'm fairly sure that date skipping and letting the clock tick over to midnight works for increasing the Safari Zone object multiplier. I used a >New< Nintendo 3DS XL to do this. And the reason I'm fairly sure this is what I did is because I did all of my Safari Zone catching over the course of a day or two and while I didn't catch Bagon in it, I did catch Shelgon in there, which is a similarly long day requirement. Really enjoyed your video btw!!
Heya! Two questions: 1. Are you saying you date skipped 70 days then did the rollover or that you did the rollover 70 times? 2. Does your 3DS have custom firmware?
Being able to time travel to a good egg hatching date is gonna make resets for shiny gift Togepi and the Primo egg in HGSS so much better...
This is probably a pretty obvious question in hindsight but does this same method of time traveling using a DSi also apply to the Gen V games or does BW/BW2 have a different system in place to prevent it (I remember trying to do the 23:58 trick when I was younger but I noticed *any* time traveling shenanigans caused the game to punish me for trying to time travel, even if was just to alter time for daylights savings, etc)
Edit (12/02/2024): This exploit does indeed work on Gen V as well, I had tested it with the NPC on Route 13 in BW1 that gives out daily items and the breeder on Route 5 in BW2 that sells you the EV reducing berries and doing the same steps as in Gen IV, I found that it does also work with being able to do daily events again, I could see this being *extremely* useful for speeding up leveling up Join Avenue in BW2
This is awesome! Thank you for sharing ❤
Your style is exceptional!
Pikasprey in shambles
hey, an actual use for the dsi i picked up recently! i got it as a novelty because i found one for cheap, might get some legit use out of it now!
Looking at gbatek, it doesn't appear like there are multiple clocks in the hardware. There is however a RTC offset field in the firmware settings data.
That would explain the weird 99 year rollover (as in the "hidden RTC" isn't rolling over, just the offset remaining the same). So I guess the RTC offset just gets adjusted when you change system date/time? Like if your offset is 0, and you change the system date/time by 2 minutes, it would add 120 to the offset. When you system reset, it would calculate the offset from a pre-determined date/time. I'll look into it more later today and make sure to update the pinned comment/on the website if needed. That's my bad for trusting online forum posts explaining it as two clocks lol. At least its easy to conceptualize it this way.
That would make sense. With an offset value, you can determine the system time at any moment without storing its value.
you get the exact distance between the two times. That offset never changes since both times are basically updated by the same clock.
Unless you change the system clock manually. Or so they thought.
When the RTC + offset gets beyond 12/31/2099, the date roll over to 01/01/2000. I'd assume that's the limit date of the RTC as well.
The problem is, that overflow changes the distance between the RTC and the system clock,
You get behind the RTC technically, the offset should be updated. But it's not.
That's how Gen 4 games gets tricked I guess. When you save the game in 1/1/2000 with the offset not updated, Then remove the battery and set the system clock at 12/31/2099,
The offset does not change. It makes sense, since you set the same date the first and second time, and the RTC probably starts on a constant date.
So when you load the game again, it sees that the date increased 99 years, and the offset is the same. So you waited this time "for real".
Yeah, there's only one RTC, and your configured one is stored as an offset from the internal one. You can think of it as two separate RTCs if you want though, it makes no practical difference to the observed behavior.
Adding another comment just to clarify: the 3ds does in fact have a hidden clock, the DS systems do not though. This explains a lot of the confusion on my end lol
This is amazing, helped me so much. I can't thank you enough for this, your work is amazing! +1 subscriber
The date is 2/6/2136. Humanity has left earth behind and gone onto the stars. They've colonized hundreds of planets, and terraformed hundreds more. The concept of games and pokemon are meaningless. Genetic engineering has made pokemon games past Scarlet and Violet unneeded. As pokemon can be made and exist in our real world! Video games have been replaced by full body immersive VR. Alien and Human life live in harmony.
It seems that there's no room left for the nintendo switch in this new galaxy. Until the galactic standard calendar tips over to 2/7/2136. Pokemon Legends Z-A is finally announced. The galaxy rejoices. As they know it's finally time for gen 10.
(Great video by the way! I've been rather hesitant to replay gen 4 cause of all the time based BS. Now I have a way to actually skip past it! Thank you!)
Happy 140th birthday, Mewtwo.
Great video and great research! If I had a DSi I would totally take advantage of this, maybe in the future some day.
Wow, this was such an incredible video! I love how deep you went with your research to solve this problem. It’s amazing to see all the hidden mechanics behind how Gen 4 games protect against time travel and even more impressive how you figured out a way to bypass it without hacking or cheating, just by working with the original hardware.
This really makes me want to dust off my old DS and try it myself. 😊 Do you think this method could inspire similar discoveries for newer games or even other retro titles?
In the video you mentioned at 10:40 that the offset is stored as a signed 64-bit integer, but I'm wondering if it's actually stored as an unsigned 32-bit integer instead? It would explain the strange alternate reference date of 2136 and the large negative offset when you set your clock to 12/31/2099. Instead of interpreting -1,139,207,416 as a signed 32-bit int, it would instead be 2^32-1,139,207,416 = 3,155,759,880 when interpreted as an unsigned int, which turns out to be exactly the offset from 1/1/2000! This probably makes more sense than having two separate reference dates?
This also explains the discontinuity in the hidden RTC (that you found in 14:20) that takes place in 2068, since the time offset from 1/1/2000 exceeds 2^31-1 ~ 2,147,483,647 on 1/19/2068, which then underflows into the negative numbers if interpreted as a signed integer and appears as if the reference date jumped to a date much further in the future -- 2/7/2136 6:28:16 is exactly 2^32 seconds after 1/1/2000, which is consistent with an underflow of a 32-bit integer, but no such issue occurs if we interpret all the offsets as unsigned.
Heya, first thanks for making me realize I wrote the date wrong in my script and didn’t catch it. The flipping point is actually on 1/20/68 not 4/20, whoops. Anyways I actually had a similar thought that it was underflowing when it hit the 32-bit integer max, the integer max in seconds from 1/1/200 00:00 would take you to 1/19/2068 at 3:13:something (don’t remember exactly). So I tested 3:14 and later and it actually just kept increasing past the 32-bit integer max. So if you did 1/19/2068 at 11:59pm, the offset is still positive and above 32 bit integer max.
But I’m an idiot! It was going above the signed integer 32 bit max, not unsigned. I completely forgot how that worked lol. I think you’re completely correct, thank you!
Doesn’t seem like it matters regardless since there’s not actually a second clock and it’s just calculating an offset then adjusting, but I’ll be sure to note it when I do my write up.
@Etch thanks for the quick response and investigation, great work on the recent educational and entertaining content!
Great video, a lot of info getting explained.
6:52 Not quite true! You can migrate 6 Pokémon per Gen III version a day, however if you tune travel then try to transfer, you will be locked out of that version for 24 hours... and only that one, For Some Reason. You can simply alternate two Gen 3 carts and move the day forward repeatedly and it'll still work, oddly enough.
Wow that's really weird. Glad they just removed the restriction in HGSS lol
@Etch I looked it up and it's specifically once per save file, so you can use multiple of the same version, or even reset the save and transfer again.
The exact method for the multiple cart exploit is explained better on Bulbapedia but actually involves putting in the second cart first, then triggering the message, then reinserting the original cart, which then can be transferred again.
4:44 i once bought a PCI addon LAN card, a motherboard i got later had the exact same MAC address, they are not 100% unique, they do recycle them
This is a really big discovery for me, as I was trying to catch every possible Safari Ball encounter a few years ago. Annoyingly, while the DSi trick is simple and easy to do, my DSi has that limited-time Zelda Four Swords Anniversary downloaded onto it >_
This would have been perfect 5 years ago when i started my soulsilver playthrough but better late than never
Funny how Gamefreak added so many time-gated features in their games and then said that cellphones were competing against consoles for people's attention. Don't get me wrong, the ideas and intentions were nice in the sense of user immersion but ultimately "punished" you for wanting to play the games.
Amazing video. DSI stonks going up!
My guy could play mahjong with all them DSs
12:54 diabolical joke you can't do this to me
This channel rocks
110 days for bagon? Out of all the things how did gen 4 bagon slip my endless useless info.
Awesome!!
I'm so going to abuse this in my Professor Oak Challenge LMAO
Why is the greatest feature of the DSi being advertized to me in 2024?! This would have sold an extra million back then!
I'm currently working through a Heart Gold Prof Oaks challenge w ithh the goal of completing it before my thesis is due and you've saved my run lmao
Okay but now you have to re-do your munchlax speedrun, you have no excuse!
And don't think I forgot about the Snorlax onesie, you better wear that too :]
One day my dreamed strategy of catching 4 ghastly with destiny bond and give them an item to attack first will be investigated thouroughly (by me) for speedruns
My coveted strategy to self-destruct during the early proved insuficient due to a lack of choices. Fun fact, you can catch a pineco early in diamond pearl, but the strategy is banned bc you have to encounter pineco by inserting a GBA game on your DS Lite. Not that I know if it can work
As a child who owned multiple DS and would constantly switch between them, the MAC address check was such a silly idea. Punish the ones who spent more money than they should've, amazing!
big agree
wow i didn’t know you owned sinjoh ruins
2:16 nah fr fr like im not tryna be 45 when i get something but also not trying to flat out cheat unless required.
i can already see the broken memorys from Dsi
After seeing the part about the offset being saved as an integer, I fully suspected the solution to be “Save your date as the current date plus 2^32 seconds, triggering integer overflow”. Could this work in theory? Not sure whether it’d be 2^32 or 2^64 or similar.
I've never heard of that issue with DSi XLs with the screens, is it just the non XL versions? I've had my 25th Anniversary SMB DSi XL since it was released and other then some normal play scratches on the screen it's fine, and some friends own various models and those are fine.
Ah well, it's worth getting one anyway because they are extremely easy to softmod with the SD card slot. :)
Whats the song at 16:54? I know it but i cant remember
HGSS Safari Zone Gate theme
@@Etch thanks, It was driving me a bit crazy that i couldn't remember
i just did the safari zone timeskip a few weeks ago, thisll be great when i do it again on other games
And now I regret trying to fix my DSi’s yellow screen issues and breaking it
omg thank youuuuuu for your amazing work
Can’t wait to get a munchlax now, thank you!!
Does this exploit work for the DSi XL too? Or is it just the base DSi? Bc I'd love to do this but I only have the XL
The DSi LL shown off for the honey tree example is just the Japanese version of the DSi XL, so it should
Yep!
@@LunaAlphaKretinomg two fellow trans people...
Pretty sure formatting my DSi would be rough if you're like me and have digital games on there. I don't know if it's possible to download purchased content on there anymore
13:46 PERSONA 3 JUMP SCARE
So... all available catches speedrun in a gen 4 game now feasible?
Not sure what would stop one in D/P/Pt other than the misery of Munchlax and other honies, but definitely if possible now in HGSS?
"It could be exploited by the DSi"
>:D I LOVE MY DSi
Can you do me a favor and try to solve the mysery of the Secret Key?
Is it true that Japanese Secret Keys can be Mixed Recorded? Does it also work for Western Secret Keys? If not what if a Japanese Wonder Card is mixed with a Western Game(that works in Gen 3 for the Regidolls)? If so 100% legit even by my stickler standard Secret Keys can still exist, just find a verifiably legit one(old youtube video) and mix
Just wanted to make sure I’m reading this right bc I could actually test. So what you wanna know is:
Is it possible for a gen 4 jap game (D/P/Pt) that has the secret key wonder card and mix records with an English copy of Gen 4 (D/P/Pt) and acquire its own Secert key?
@@LunaMatrix I have 3 things I wanna know.
1. Is it true the Japanese secret key can be spread by mixing records, like how the Eon Ticket works in Gen 3? I've read this in multiple places.
2. Ok, what about the English version? Does that one mix fine? Or are the rules different?
3. If 1 is true and 2 is false, what happens if you mix between regions? It worked for the Regidolls
So a Bagon% run is now possible on HGSS now :kappa:
I wonder if somebody is going to shiny hunt munchlax or female combee in gen 4 now that this method has been discovered.
a much more reasonable way to get munchlax would be to trade it with the community gts but i guess you gotta go the extra mile for speedrunning
my brain died
dang, the DSi didn't release until I already had a regular DS and it also didn't have a GBA slot so I had no reason to get one
Shame it's hyper specific, only have a new 3ds xl now no time traveling for me qwq
is the 2ds functionally the same as the 3ds in this regard?
ok but what if your DSi has important data or DSiware on it?
I believe that can be saved to the SD card. Also, any purchased DSiware should be available for re-download through the DSi shop, or at least it was as of a couple of years ago when I last did a system format. I was actually surprised to see that they still let you download the games you purchased years after closing the store.
Same question
@@panelatermica8683 I just checked for you, and you can still get any DSiWare back through the shop.
1)Open the DSi Shop
2)Tap on "Start Shopping"
3)Tap "settings"
4)"Titles you've downloaded"
they should all be here, and you can still get them.
You can also go to the dsi settings from the main menu, go to "Data Management" and back up your stuff on the sd card.
I wonder if this works for games like Animal Crossing
I don't know how to say this but I only had to change the date on my 3ds to a year later and got the bagon in the safari zone in like 3 minutes... Am I Dialga, god of time travel?
I was hoping to get a fast Munchlax with this but I don't own a DSi (only a DS Lite and a New 3DS XL).
Would you still take the punishment if you warp right before the date you want to have and then just wait 24 hours?
DSi sales after the release of this video: 📈📈📈📈📈📈
If the real time offset is just saved on the cart, would you not be able to mess with it using ACE? I'm not too familiar with gen 4 ACE, but it's just a thought
It would also be useful for time travel on non dsi consoles, making it not hardware locked
Yeah I don’t know exactly how it’d work but it should be possible. Would need to find out your console’s RTC offset still.