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

Communication Error in MKDS when hosting local multiplayer #1513

Closed kkellogg378 closed 3 weeks ago

kkellogg378 commented 1 year ago

Your console: O3DS

Launch Method: SD Card

Version used: nds-bootstrap 0.68.0

Game tested/used/applicable: Mario Kart DS

Save file: nds-bootstrap.ini.zip

Expected Behavior: Host local multiplayer without issues due to alleged fix in 0.64.0

Actual Behavior: Says "Communication Error has occurred" after a few seconds

Steps to reproduce

  1. boot Mario Kart DS (I used both NDS Forwarder and Twilight Menu++)
  2. select Multiplayer, then host a game that other consoles without the game card can connect to (Simple mode)
  3. try to connect using a second console (I was trying to use a DSi) in Download Play mode
  4. Choose "Cut Off" after the player joins
  5. Wait for a few seconds. The other player should get into the "Downloading....please wait" screen with two blue bars before the communication error occurs

nds-bootstrap.ini

NDS_PATH = sd:/romsNDS/Mario Kart DS (USA) (En,Fr,De,Es,It).nds
SAV_PATH = sd:/romsNDS/saves/Mario Kart DS (USA) (En,Fr,De,Es,It).sav
BOOST_CPU = 0
DEBUG = 0
LOCK_ARM9_SCFG_EXT = 0
CACHE_FAT_TABLE = 0
BOOST_VRAM = 0
CARD_READ_DMA = 1
ASYNC_CARD_READ = 0
DSI_MODE = 1
SWI_HALT_HOOK = 1
EXTENDED_MEMORY = 0
DONOR_SDK_VER = 0
PATCH_MPU_REGION = 0
PATCH_MPU_SIZE = 0
CONSOLE_MODEL = 2
LANGUAGE = -1
REGION = 1
LOGGING = 0
B4DS_MODE = 0
ROMREAD_LED = 0
DMA_ROMREAD_LED = -1
PRECISE_VOLUME_CONTROL = 0
SDNAND = 0
MACRO_MODE = 0
SLEEP_MODE = 1
SOUND_FREQ = 0
HOTKEY = 284
USE_ROM_REGION = 1
RAM_DRIVE_PATH = sd:/null.img
GUI_LANGUAGE = en
FORCE_SLEEP_PATCH = 0

Logs

NDSBTSRP.LOG

Other notes

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

Yes

RocketRobz commented 1 year ago

Try turning off card read DMA in the per-game settings menu. If the issue persists, then wait for a fix (which may be unlikely).

Hunter16g commented 1 year ago

Turning off card read DMA fixes the issue for me (DSi XL, v0.72.0, from SD card).

Golem642 commented 1 year ago

Nothing changed for me, it still errors 50% of the time, and sometimes even after the course select. I noticed that mkds is the only game that struggles with connection. I see the connectivity bars drop to yellow/red even thought the consoles are a meter apart. But the other games don't do that, it all stays perfectly in the green zone and it's stable. Idk why this issue happens only with mkds but it would be nice to find a working solution for everyone because i can't play one of my favorites games with my friends because of that

StoneDeal commented 11 months ago

I had the same issue and turning off card read DMA did not fix it. I was attempting to connect two dsi’s that were both running the game off of an sd card in twighlight menu ++. This may not be an ideal fix but if I run one dsi in the original Nintendo os and use the download play feature it works flawlessly. The host dsi will have to run the “simple”multiplayer setup. Which is limited but it’s better than nothing!

HerzogVonWiesel commented 9 months ago

Having the same issue as well. other games work fine, just mario kart kicks us out with a connection error.

RocketRobz commented 9 months ago

Having the same issue as well. other games work fine, just mario kart kicks us out with a connection error.

Are you using nds-bootstrap v1.0.3? If so, then just turn off card read DMA and/or try connecting again when the error occurs.

HerzogVonWiesel commented 9 months ago

Having the same issue as well. other games work fine, just mario kart kicks us out with a connection error.

Are you using nds-bootstrap v1.0.3? If so, then just turn off card read DMA and/or try connecting again when the error occurs.

Seems that updating nds-bootstrap has fixed it, thank you!

S3542U commented 2 months ago

I have the same issue, but with FFCC: Rings of Fate.

We are able to play a little bit, but we get the communication error pretty randomly. Sometimes we can play for a few hours with no issue and sometimes we get the error after only 5 mins into the game.

Would using flashcards instead offer a more stable connection?

I'm going to try it and report later.

I want to confirm if it's the game that is just unstable.

Issue #1712 seems to be related.

Edit: I had NO issues with flashcards and was able to finish the game.

pistonfish commented 3 weeks ago

According to the changelogs this is fixed in v1.6.0, but I still encounter this problem with a clean European dump of the game. I always get a connection error when the client tries to download the game, resulting in the client freezing at the Nintendo Splashscreen. I'm launching the game through nds-bootstrap using TWiLightMenu on a New3DS with the client being an old DS Lite. Disabling DMA doesn't make any difference and trying to do the same with a flashcard (using wood) or official cartridge yields perfect results. Also when trying to play the game wireless without download play, the network indicator suggests a bad connection, even if both devices are literally touching each other. This doesn't happen when using a flashcard (using wood) or the official cartridge.

RocketRobz commented 3 weeks ago

According to the changelogs this is fixed in v1.6.0, but I still encounter this problem with a clean European dump of the game. I always get a connection error when the client tries to download the game, resulting in the client freezing at the Nintendo Splashscreen. I'm launching the game through nds-bootstrap using TWiLightMenu on a New3DS with the client being an old DS Lite. Disabling DMA doesn't make any difference and trying to do the same with a flashcard (using wood) or official cartridge yields perfect results. Also when trying to play the game wireless without download play, the network indicator suggests a bad connection, even if both devices are literally touching each other. This doesn't happen when using a flashcard (using wood) or the official cartridge.

Sounds like the ROM that's placed on the 3DS SD card is bad. Try copying it from your flashcard to the 3DS SD card. If the issue persists, try the flashcard on the New3DS console, and have it host a single-card game to the DS Lite.

pistonfish commented 3 weeks ago

Sounds like the ROM that's placed on the 3DS SD card is bad. Try copying it from your flashcard to the 3DS SD card. If the issue persists, try the flashcard on the New3DS console, and have it host a single-card game to the DS Lite.

It seems that nds-bootstrap has some issues regarding wireless connectivity when used with trimmed roms. Redumping helped there.

RocketRobz commented 3 weeks ago

It seems that nds-bootstrap has some issues regarding wireless connectivity when used with trimmed roms. Redumping helped there.

Later dumping tools (such as latest versions of GodMode9 & GodMode9i) leave in the RSA key at the end of trimmed ROMs, in order for Download Play to work properly.