DS-Homebrew / nds-bootstrap

Boot an nds file
https://wiki.ds-homebrew.com/nds-bootstrap/
GNU General Public License v3.0
1.19k stars 76 forks source link

Animal Crossing: Wild World Time Glitch detailed #998

Closed NothanyTPM closed 3 years ago

NothanyTPM commented 4 years ago

Your console: DSi Launch Method: TWLMenu++ v15.1.1 Version used: Release v0.35.1 Game tested/used/applicable: Animal Crossing: Wild World (ADME)

Expected Behavior: Clock is supposed to chime every hour with Pelly giving announcements at 7:00am, at the start of a special event, or at the end of a special event Actual Behavior: Clock chimes every time the weather pattern or the cloud patterns change

Steps to reproduce

nds-bootstrap.zip

  1. Start the game
  2. Wait a while

Logs

findModuleParamsOffset: Module params offset restored: 02000B64 sdk_version: 030028A0 This rom is compressed

Switched to NTR mode BIOS old heap pointer: 0229BDC0

new heap pointer: 0229D5C0

Heap Shrink Sucessfull

relocate_ce9 firstCardLocation 0229BDC0 : 02780000

armReadCardLocation 0229BEB4 : 02780000

thumbReadCardLocation 0229BED0 : 02780000

armReadCardDmaLocation 0229BF00 : 02780000

armReadSlot2Location 0229BF24 : 02780000

armSetDmaCardLocation 0229BF58 : 02780000

thumbReadCardDmaLocation 0229BF90 : 02780000

thumbSetDmaCardLocation 0229BFB0 : 02780000

armReadNandLocation 0229BFDC : 02780000

thumbReadNandLocation 0229C008 : 02780000

armWriteNandLocation 0229C030 : 02780000

thumbWriteNandLocation 0229C050 : 02780000

armIrqEnableLocation 0229C080 : 02780000

thumbIrqEnableLocation 0229C0A0 : 02780000

pdashReadLocation 0229C0CC : 02780000

thumbReadSlot2Location 0229C0F0 : 02780000

ipcSyncHandlerLocation 0229C130 : 02780000

resetLocation 0229C15C : 02780000

globalCardLocation 0229D48C : 02780000

ce9->patches 0229BDF8

patchCardNds

swi12 location : 02000232

cardIrqEnable location : 020E7628

startOffset : 02000000

cardRead location : 0212423C

cardPullOut location : 0212499C

patchCardSetDma cardReadDma location : 0212433C

patchMpuSize: 00000000

reset location : 0211B3A8

ERR_NONE

Arm7 (patch v2) forwardedRelocStartAddr 02380198 vAddrOfRelocSrc 023801B0 Relocation src: 0238028C Relocation dst: 037F8000 cardReadEndAddr: 02388D68 cardstructAddr: 038090C0 readCacheEnd: 02388EA4 JumpTableFunc: 02388EA8 returned_A0_with_MKDS: 02388F48 addrOfSomething_85C0: 0238884C anotherLocinA7WRAM: 038096E4 amal_8CBC: 02388F48 aFinalLocation: FE388F2C Eeprom protect: 02388F88 Card id: 02388F90 Card read: 02388FB0 Eeprom read: 02388FC8 Eeprom page write: 02388FE0 Eeprom page prog: 02388FF8 Eeprom verify: 02389010 Eeprom page erase: 02389020 swi12 location : 0238948C

swiGetPitchTable location : 02384448

ERR_NONE

hookNdsRetailArm7 hookLocation arm7: 0238F7C0

ERR_NONE hookLocation arm9: 027E0000

chipID: 00001FC2

Other notes

I've been playing Wild World via my hacked DSi for a while now and while I'm enjoying it the Clock glitch has been quite annoying. I've seen this RTC issue on your forums just to make sure I'm not repeating the same things, and found little to no documentation on how the Time glitch is triggered, so I thought I'd do a little research with AC:WW to document the behaviour of the RTC.

So the Time glitch seems to occur whenever the weather changes, or whenever the cloud pattern changes. This doesn't seem to happen every single time, as I've had days where the Time glitch rarely happened. I've decided to record my DS with a video camera for an hour just to see if I can find a pattern and here are the results.

Started recording at 4:02 pm

Original time & date during Time glitch Time & date during Time glitch for 1 frame Difference in time
8/16 4:07pm0/0 12:00am4:02 > 4:07 = 5Min
8/16 4:12pm0/0 12:00am4:07 > 4:12 = 5Min
8/16 4:16pm0/0 12:00am4:12 > 4:16 = 4Min
8/16 4:18pm0/0 12:00am4:16 > 4:18 = 2Min
8/16 4:21pm0/0 12:00am4:18 > 4:21 = 3Min
8/16 4:26pm0/0 12:00am4:21 > 4:26 = 5Min
8/16 4:29pm0/0 12:00am4:26 > 4:29 = 3Min
8/16 4:35pm0/0 12:00am4:29 > 4:35 = 6Min
8/16 4:40pm0/0 12:00am4:35 > 4:40 = 5Min
8/16 4:46pm0/0 12:00am4:40 > 4:46 = 6Min
8/16 4:51pm0/0 12:00am4:46 > 4:51 = 5Min
8/16 4:56pm0/0 12:00am4:51 > 4:56 = 5Min
8/16 5:07pm0/0 12:00am4:56 > 5:07 = 11Min
8/16 5:12pm0/0 12:00am5:07 > 5:12 = 5Min

[NOTE: The clock chimed at 5pm, but unlike all the other chimes the screen didn't change to night. There are times where the glitch happens a minute before or after the hour, but this is one of the few cases where nothing happened]

Total times the glitch occured: 14 Total time between the first and last glitch: 1 hour and 5 minutes Average time between occurences: 5 minutes

As you can see the weather at this hour changed very frequently, which means the Clock reseted a lot. The clock seems to reset to "0/0 12:00am" everytime this happens, though in the game it sometimes feels like it goes at an earlier or later time (Moon appears at a diferent location, sometimes the screen flashes white instead of the regular night time, sometimes it thinks it's the evening instead on night).

Pros to this glitch:

Animals who were previously asleep are now awake for a brief moment before going back to bed

Trees still grow as normal

Fosil locations don't move

Animals still know that you've talked to them that day, and won't yell at you for not talking to them like it would normally happen if you jumped in time

Snow will sometimes fall if the glitch happens while raining

New weeds won't appear when it occurs

Bugs, fishes, and balloons will not dissapear [NOTE: not sure if you can catch winter fishes in the one frame this glitch occurs]

Event specific items will not reset their location

Cons to this glitch:

Town tune chimes every time the glitch happens

Sometimes the player will get interupted by Pelly annoucing that it's a new day which will cause fish, bugs, and balloons to reset their position while losing control of your character for 15 seconds, but nothing else will be reset (I.E.: new weeds won't grow, fosil locations will still be in the same place, Animals will still remember that you've talked to them, etc...) [NOTE: I haven't done anything with turnips yet]

When events happen, and the glitch occurs, the player will always be inturupted by Pelly annoucing that the event is over, followed by another annoucement that the event has started. Like the previous con, bugs, fish, & balloon locations will be reset, but the event will still continue as if nothing happened and will still keep track of your progress. This is still a major annoyance as every time the weather pattern changes, you lose control of your character for about 30 seconds.

Sometimes the player will get kicked-out from Tom Nook's shop, but the player can just go back in without any problems The same thing could happen in the Able Sisters. One thing to note is that Tom Nook won't kick you if Pelly interupts first, and Pelly won't interrupt if Tom Nook kicks you.

The weather changes very quickly, though upon further inspection in the few times where the glitch doesn't occur during a weather change. The weather is supposed to change often, but slowly from one to the other. The glitch only makes the weather quickly snap between one to the next (due to it reseting the time)

I hope this little research of mine has given you a clue as to what's happening with the RTC on the DSi. I'd love for this to get fixed one day, but I can understand if it's not possible at the moment.

If you'd like me to, I can also make another test that also documents what the weather pattern is, what the glitch does to the weather, and whether or not I get interrupted by Pelly.

KyX7 commented 4 years ago

Your console: DSi Launch Method: TWLMenu++ 16.3.0 Version used: All Releases from v0.35.1 down to v0.29.3 Game tested/used/applicable: Animal Crossing Wild World (E)(Legacy) Device used: SD card

Hello, I am also having the issue described by NothanyTPM.

I kept downgrading nds-bootstrap in order to check if the issue persisted with other versions and the issue did persist. I tried all versions ranging from nds-bootstrap v0.35.1 down to v0.29.3 .

In order to downgrade I just downloaded the nds-bootstrap files of a version and replaced those with the same name and extension present on the SD card.

I also have a 3DS, with TWL Menu 15.0.0 and nds-bootStrap v0.35.0 but the issue doesn't occour there.

I tried downgrading TWL Menu to v15.0.0 on the DSi by replacing the "_nds" and "BOOT.NDS", it still said v16.3.0 when I checked on the menu so I beleive I've failed to downgrade it. I still played the game after and the issue persisted.

I also played a bit with the "Games and Apps settings" of TWL Menu++ (changing each setting at a time and always using nds-bootstrap 0.35.1) but I had no luck. None of the changes seemed to solve the issue.

lncrypt3d commented 3 years ago

I am also having this issue I recently switched over to a dsi xl for all of my ds games and this glitch just started happening note that this never happened when I would play it on my 2ds XL I just want this fixed Phyllis every 5 mins is annoying

PorousPuffins36 commented 3 years ago

I just got wild world on twilight menu as well and I’m still experiencing this annoying issue. I hope it gets resolved soon since I’d really like to enjoy my game again! Thank you!

NightScript370 commented 3 years ago

Seems like it got fixed, as per #827 Closing...