DS-Homebrew / nds-bootstrap

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

Black screen when loading Pokemon SoulSilver save #1388

Open chilhaps opened 2 years ago

chilhaps commented 2 years ago

Nintendo O3ds

Launching from SD card, Twilightmenu++ v24.3.1 and nds-bootstrap v0.55.3

Using release version

Rom: Pokemon - SoulSilver Version (USA).nds MD5 Checksum: 8a6c8888bed9e1dce952f840351b73f2

Game should have continued from save.

Black screen shows on top and bottom screen, with no sound.

Steps to reproduce

  1. Launch Pokemon SoulSilver
  2. Start new game
  3. Save when you are able to
  4. Exit game
  5. Launch Pokemon SoulSilver
  6. Attempt to continue from save

nds-bootstrap.ini

[NDS-BOOTSTRAP]
DEBUG = 0
LOGGING = 1
B4DS_MODE = 0
ROMREAD_LED = 0
DMA_ROMREAD_LED = -1
PRECISE_VOLUME_CONTROL = 0
SDNAND = 0
MACRO_MODE = 0
SOUND_FREQ = 0
CONSOLE_MODEL = 2
HOTKEY = 284
NDS_PATH = sd:/roms/nds/Pokemon - SoulSilver Version (USA).nds
SAV_PATH = sd:/roms/nds/saves/Pokemon - SoulSilver Version (USA).sav
AP_FIX_PATH = sd:/_nds/nds-bootstrap/apFix.ips
RAM_DRIVE_PATH = sd:/null.img
GUI_LANGUAGE = en
LANGUAGE = 1
REGION = 1
USE_ROM_REGION = 1
DSI_MODE = 1
BOOST_CPU = 0
BOOST_VRAM = 0
CARD_READ_DMA = 1
ASYNC_CARD_READ = 0
EXTENDED_MEMORY = 0
DONOR_SDK_VER = 0
PATCH_MPU_REGION = 0
PATCH_MPU_SIZE = 0
FORCE_SLEEP_PATCH = 0

Logs

findModuleParamsOffset:
Module params offset restored: 02000BBC
sdk_version: 04027533
arm9 is compressed

Switched to NTR mode BIOS
patchCardNds

cardIrqEnable location : 020D11D4

startOffset : 02000000

cardRead location : 020DD570
03700000

swi12 location : 02000358

cardPullOut location : 020DDAD0

cardId location : 020DD660

patchCardSetDma

NDMA CARD SET METHOD ACTIVE
cardSetDma location : 020DD2C0

NDMA CARD READ METHOD ACTIVE
cardEndReadDma location : 020DD35C

Mpu start: 02000ADC

Mpu data: 02000B70

Mpu init cache: 02000B2C

Mpu init: 020D3190

Mpu data alt: 020D2ABC

Mpu start 2: 02000AE4

Mpu data 2: 02000B74

Mpu init 2: 020D3198

reset location : 020D3B84

ERR_NONE

cardIrqEnable location : 02380B80

forwardedRelocStartAddr
02380198
vAddrOfRelocSrc
023801B0
Relocation src: 0238026C
Relocation dst: 037F8000

Arm7 (patch vAll)

JumpTableFunc: 02388730
Eeprom read:    0238873C
Eeprom page write:  02388750
Eeprom page prog:   02388764
Eeprom verify:  02388778
Eeprom page erase:  02388788
swi12 location : 02388B70

swiGetPitchTable location : 02383FCC

ERR_NONE

hookNdsRetailArm7
hookLocation arm7: 0238ECF4

ERR_NONE
hookLocation arm9: 027E0000

AP-fix found
AP-fix applied
chipID: E0017FC2

I put the same rom on a flashcart and tried it on a DS Lite, and it ran without issues. The game had the black screen issue when I attempted to play it on my 3ds with the same flashcart. Finally, I've also tried manually AP-patching the rom, but that did not work.

RocketRobz commented 2 years ago

I don't have this issue with HeartGold. Are there any cheats enabled?

chilhaps commented 2 years ago

I wasn't using any cheats. I also tried running in DS and DSi mode, and both had the same issue.

chilhaps commented 2 years ago

I am using a Japanese 3ds, if that makes any difference. I also tested HeartGold, and it has the same issue.

RocketRobz commented 2 years ago

I have no clue as to why this happens. Try re-installing TWiLight Menu++ by deleting the TWiLightMenu folder in sd:/_nds/, and install it again.

If the issue persists, then your save data may be corrupt somehow.

andrebrait commented 2 years ago

I just tried it with my DS Lite and an R4-SDHC card.

When using the card's firmware, it loads the save just fine. When using nds-bootstrap, I get a black screen.

Starting up a new game works, but I get a black screen as soon as I try to access the PC in the character's room. That doesn't happen when using the card's firmware.

@RocketRobz I think it might be something with nds-bootstrap, unless we both have problematic saves. It's happening in both a 3DS with CFW and a DS Lite with a flashcart.

andrebrait commented 2 years ago

@theRealSlimHenry is it still a problem for you?

chilhaps commented 2 years ago

Sorry, I just checked this thread again. Yes, I'm still having the same issue. Since my last update I've tried applying an AP patch as a cheat within Twilight Menu. but that did not work either. I've also tried disabling card read DMA, running in DS and DSi mode, changing the clock speed, and running the game with the DS VRAM option. No combination of settings has fixed the issue for me.

RocketRobz commented 2 years ago

AP cheats should not be enabled. Are you able to try the save file in an emulator?

chilhaps commented 2 years ago

I can try that, is there any particular emulator that would be the best for testing? I've tested with and without AP cheats, but neither fixed the issue.

RocketRobz commented 2 years ago

melonDS should work best.

chilhaps commented 2 years ago

I just copied both the rom and the save from my 3DS to my PC. The game started in melonDS and loaded the save without any issues.

RocketRobz commented 2 years ago

Hmm, in that case, try inserting a DS game (not a DSi/TWL card or any flashcard) into Slot-1, see if it fixes the black screen crash. If it does fix it, then the AP-patch isn't fully working.

chilhaps commented 2 years ago

I'm sorry, I don't have any DS cartridges on-hand. I owned a copy of SoulSilver, but I've lost it.

chilhaps commented 2 years ago

Will any DS game work, or does it need to be SoulSilver?

RocketRobz commented 2 years ago

Any cartridge with IR should work.

chilhaps commented 2 years ago

Does that include reproduction carts, or only authentic ones? I can try to pick up something to test with.

RocketRobz commented 2 years ago

As long as the cartridge has IR, any DS/NTR cartridge (repros or not, ig) should work.

chilhaps commented 1 year ago

I tested with an IR cartridge, it did not fix the issue.

chilhaps commented 1 year ago

I just discovered that Pokemon Platinum has the same issue.