DS-Homebrew / nds-bootstrap

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

The World Ends With You title cut scene crash #1720

Open spitzeqc opened 3 months ago

spitzeqc commented 3 months ago

Game Console(s) used

Launch Method

Launched with flashcart (aliexpress ace3ds+ bootleg) running TwilightMenu v27.5.2. Flashme has been installed on the DS

Version used

Release 1.5.4

Game tested/used/applicable

The World Ends With You (USA) (trimmed using tokyo trimmer) MD5: 405edb1aec7cf266ab97643872abbb22 SHA1: 977344179e2dce16a3d6ee1f9672b8f95fd9eb8d

Expected Behavior

Game should Just Work(tm)

Actual Behavior

The game will crash part way through the cut scene that plays after the first tutorial (the one where you run away from frogs)

Steps to reproduce

  1. Launch game
  2. Start new game
  3. Complete tutorial
  4. Wait for crash

nds-bootstrap.ini

[NDS-BOOTSTRAP]
USE_ROM_REGION = 1
DEBUG = 0
LOGGING = 1
MACRO_MODE = 0
SLEEP_MODE = 1
SOUND_FREQ = 0
CONSOLE_MODEL = 0
HOTKEY = 284
NDS_PATH = fat:/roms/World Ends with You, The (USA).nds
SAV_PATH = fat:/roms/saves/World Ends with You, The (USA).sav
AP_FIX_PATH =
RAM_DRIVE_PATH = sd:/null.img
GUI_LANGUAGE = en
LANGUAGE = -1
REGION = 1
DSI_MODE = 0
DONOR_SDK_VER = 0
PATCH_MPU_REGION = 0
PATCH_MPU_SIZE = 0
FORCE_SLEEP_PATCH = 0

Logs

NDSBTSRP.LOG ramDump.bin.zip

Other notes

The "fix" from this issue https://github.com/DS-Homebrew/nds-bootstrap/issues/486 (use v0.14.1) results in a guru meditation IMG_20240715_234010291

Using the version mentioned on the compatibility list (0.46.3) also results in a guru meditation IMG_20240716_000124001

Issue https://github.com/DS-Homebrew/nds-bootstrap/issues/235 suggests AP patching as a potential solution (though it seems like this was more a trouble shooting suggestion instead of an actual solution), so maybe the issue is AP patches not applying correctly to the trimmed rom? I will test with an untrimmed version in a day or two when I have some free time

Will you be available for future issues and/or replies?

Yes

spitzeqc commented 3 months ago

Just tested with an untrimmed version and I am experiencing the same issue. MD5: 3bfc95753b37c97a6d30018630048a51 SHA1: 23e87b1e72aab7f9b718f83e92fd1c3039f23675

An interesting note is I am unable to replicate the guru meditation error with v0.46.3 after adding "(Trimmed)" to the end of the original rom nor with the untrimmed version that shares the name of the original after regenerating the original save

Ammako commented 3 months ago

Do you have other sd cards to try? This game is pretty infamous for breaking like this during the first cutscene on flashcards and emulators

For example: https://github.com/melonDS-emu/melonDS/issues/380

spitzeqc commented 3 months ago

I may have another sd card i can use but I would need to look for it. I will say though that I have experienced slowdown with ace attorney which further supports this theory.

I have also further tested with a dsi (running bootstrap v1.5.1) which is not experiencing this issue, though whether this is caused by the console, sd card, or bootstrap version would need further testing

Ammako commented 2 months ago

I would check card read speeds using something like CrystalDiskMark. I have a 16 GB card where sequential reads were around 19 MB/s like my other cards, but random access reads were stupidly low at 2 MB/s... my other cards did 7-8 MB/s on random access reads. Unsurprisingly enough, games struggled on that card that didn't struggle on other cards.

(Also, nds-bootstrap in B4DS mode generally has worse compatibility, so it's not necessarily surprising if a game might work on DSi but not on DS-mode flashcart.)

spitzeqc commented 2 months ago

I just ran a speed test on the flashcart sd card along with the sd card in my dsi. If I understand the results correctly, both cards have a random read speed of ~4 MB/s, so it might be a case of B4DS just not working

Flashcart blue_sd

DSi black_sd

Ammako commented 2 months ago

I'm not entirely sure if this is necessarily a B4DS issue, because the same crash happens when running the game from a flashcart with Twilight Menu Slot 1 SD access. If you set it to TWL clock speed, then it doesn't crash, despite it working fine with regular DS clock speeds when played from SD card.

Or at least, I was under the impression that B4DS and running games from flashcart microSD were two different things. but I guess even if they are technically different, they would both share some compatibility problems and limitations, by virtue of having to run the games from slot-1 microSD instead of SD card. tbh it's not completely clear what the difference is between B4DS and running games in DS mode with slot-1 microSD access/unlocked SCFG, if there even are any.

This is with the card that tests at 8 MB/s for random reads, also. The same card runs the game fine with the regular flashcart kernel. So I don't think it's necessarily the memory card at fault. I guess nds-bootstrap struggles a bit with card reads from Slot-1.