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
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
Quickly becoming my favorite RUclipsr. Gen IV is the Gen I play the most currently, and historically. Love your research and I love these videos. Super useful!
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 ♡
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
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 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
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!
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!)
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 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?
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?
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
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.
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 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.
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.
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 >_
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 :]
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!
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. :)
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)
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?
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.
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.
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?
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
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
Did you happen to try more than one 3DS model, and if so, were the results the same for all of them? Real shame if there's no way to time travel on them. Though at least that one DSi works...
On modded 3ds you can change your system time/date then nullify the offset in the Rosalina menu, or just change the RTC directly with godmode9 or another tool. Worth noting that messing with your RTC like this can cause an extremely long (several minutes) black screen the first time you boot after collecting a new play coin, but this should only happen once.
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"
“Dialga! I’ve come to bargain!” -Time Travelers who can’t wait patiently.
You have just saved the Professor Oak Challenge community from Munchlax-related anguish. Thank you sincerely.
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
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.
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”
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.
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
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
youre a lifesaver. next year's safari week is gonna be so crazy!!!
You are quickly becoming my favorite pokemon channel XD, I FINALLY GET A REAL USE OUT OF MY DSI!!!
The apriblender is impactful because you need to walk a marathon to affect the mildness with walking.
Quickly becoming my favorite RUclipsr. Gen IV is the Gen I play the most currently, and historically. Love your research and I love these videos. Super useful!
Huge news; I helped Riyaly test the cornn berry trick way back when. This will certainly make it a lot easier for DSi users :)
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.
“The japanese dsi technically works better” *me looking at my japanese dsi knowing i will literally never do this*
Finally retribution for 15 years of owning a dsi
This is amazing!!!! Finally Safari Zone blocks and honey trees aren’t painful!
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 ♡
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
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.
Fascinating :] It's so cool that new things are still being uncovered about the Gen IV games
Love this for safari zone. A bit tricky for honey trees. Now break the pokewalker lol
love the vids. I never liked the gen4 games but your videos are making me appreciate them.
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!
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
This video is gonna be huge for the Full Odd’s Shiny Hunting, Oak Challenge communities!
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!
This is awesome! Thank you for sharing ❤
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.
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 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?
Great video and great research! If I had a DSi I would totally take advantage of this, maybe in the future some day.
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
My guy could play mahjong with all them DSs
This is gonna be immensely helpful when I take on the gen 4 Battle Frontier on my Platinum and Soul Silver.
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?
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 idea of waiting 100 years just for Bagon to show up in the Safari Zone is really funny
This is amazing, helped me so much. I can't thank you enough for this, your work is amazing! +1 subscriber
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.
Awesome!!
I'm so going to abuse this in my Professor Oak Challenge LMAO
Your style is exceptional!
110 days for bagon? Out of all the things how did gen 4 bagon slip my endless useless info.
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.
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 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.
12:54 diabolical joke you can't do this to me
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!
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 >_
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 :]
Great video, a lot of info getting explained.
Amazing video. DSI stonks going up!
This channel rocks
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
Why is the greatest feature of the DSi being advertized to me in 2024?! This would have sold an extra million back then!
"only way to get munchlax"
Me casually pulling out my pokewalker and walking 10,000 steps
Pikasprey in shambles
I would not be upset if your website had ads, make that paper girl
i just did the safari zone timeskip a few weeks ago, thisll be great when i do it again on other games
wow i didn’t know you owned sinjoh ruins
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
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. :)
This would have been perfect 5 years ago when i started my soulsilver playthrough but better late than never
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...
Can’t wait to get a munchlax now, thank you!!
And now I regret trying to fix my DSi’s yellow screen issues and breaking it
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)
"It could be exploited by the DSi"
>:D I LOVE MY DSi
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?
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
omg thank youuuuuu for your amazing work
13:46 PERSONA 3 JUMP SCARE
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 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).
DSi sales after the release of this video: 📈📈📈📈📈📈
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
This is fascinating, but throwing mud at a Spheal to make it mad is downright rude! What did the Spheal do to you?
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.
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?
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 wonder if somebody is going to shiny hunt munchlax or female combee in gen 4 now that this method has been discovered.
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.
Fascinating
Would you still take the punishment if you warp right before the date you want to have and then just wait 24 hours?
Nice….glad i have a dsi
Is this speedrunning viable? If so, speedruns will never be the same.
So a Bagon% run is now possible on HGSS now :kappa:
Yessss been waiting for this one ❤
Also no views gang
Did you happen to try more than one 3DS model, and if so, were the results the same for all of them? Real shame if there's no way to time travel on them. Though at least that one DSi works...
On modded 3ds you can change your system time/date then nullify the offset in the Rosalina menu, or just change the RTC directly with godmode9 or another tool. Worth noting that messing with your RTC like this can cause an extremely long (several minutes) black screen the first time you boot after collecting a new play coin, but this should only happen once.
Does removing the battery reset the internal clock?
I have a DSI but this is still way too confusing
Nice, it was so annoying. I wonder what will be next
Hmm... ok, cc cc jarhaps this may be truee. But consider this: 😢
ok but what if your DSi has important data or DSiware on it?
I wonder if this works for games like Animal Crossing
This video could've been like 10min long