Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DSi mode support for DSi-Enhanced/Exclusive games #300

Closed
cole36912 opened this issue Jul 8, 2018 · 26 comments
Closed

DSi mode support for DSi-Enhanced/Exclusive games #300

cole36912 opened this issue Jul 8, 2018 · 26 comments

Comments

@cole36912
Copy link

This is not an Issue. I was just wondering because I haven't seen much discussion on this. I know the features that use this are pretty rare in the nds library but I think it would make it more like using a real cartridge and it is something flashcarts can't provide(except for one). So is it possible? And are there plans for it?

@piratesephiroth
Copy link
Contributor

yeah I thought the enhanced CPU clock was already DSi mode but nope, heh

@RinMaru
Copy link

RinMaru commented Jul 8, 2018

That's what I thought lol

@piratesephiroth
Copy link
Contributor

well nds-bootstrap already has access to the DSi clock speed and the SD card so the remaining features (camera and WPA wifi) are probably possible too.

@damianoamatruda damianoamatruda added this to To Do in Enhancements Aug 15, 2018
@ahezard ahezard added this to the 2.0 Release milestone Mar 6, 2019
@ahezard ahezard moved this from To Do to Low Priority in Enhancements Mar 6, 2019
@NightScript370
Copy link
Member

Hasn't this already been implemented?

@RocketRobz
Copy link
Member

DSi mode doesn't work with DSi-enhanced games yet.

@RocketRobz
Copy link
Member

Currently WIP by @shutterbug2000

@RocketRobz RocketRobz changed the title Is it planned to implement DSi-Enhanced mode? DSi mode support for DSi-Enhanced/Exclusive games Mar 19, 2020
@RocketRobz RocketRobz pinned this issue Mar 19, 2020
@ahezard
Copy link
Collaborator

ahezard commented Apr 3, 2020

Here is the debug output with IS-TWL, in dsi mode and nds-bootstrap v0.32.0 of 5325 - Mario vs. Donkey Kong - Mini-Land Mayhem! (USA)

It is crashing with the following error

[[ Fatal Error: ARM9CPU stopped running because "Data access exception" occurred. ]]

Symbol: STATIC:0x02004D88
02004D88: E4812004 STR R2, [R1], #4

CPSR:A000001F
R0:02198698 R1:02FE4000 R2:49D84DCF R3:02406C74
R4:04000300 R5:023DA808 R6:04000200 R7:8307F100
R8:FFFF820F R9:00000000 R10:00000000 R11:00000051
R12:02406C70 SP:02FE3760 LR:02004CC4 PC:02004D88

@ahezard
Copy link
Collaborator

ahezard commented Apr 3, 2020

Here is the debug output with IS-TWL, in dsi mode and nds-bootstrap v0.32.0 of 5585 - Pokemon - Black Version

It is crashing with the following error

[[ Fatal Error: ARM9CPU stopped running because "Data access exception" occurred. ]]

Symbol: STATIC:0x02086E20
02086E20: 05805000 STREQ R5, [R0]

CPSR:6000001F
R0:027FFD9C R1:00000000 R2:7BF9DD5B R3:FDDB597D
R4:02FFFD9C R5:02086E40 R6:04000200 R7:8307F100
R8:FFFF820F R9:00000000 R10:00000000 R11:00000051
R12:02FE0000 SP:02FE3738 LR:02086E18 PC:02086E20

@ahezard
Copy link
Collaborator

ahezard commented Apr 3, 2020

The MPU end up badly configured when the dsi enhanced game runs via in nds boostrap : only 4MB is configured instead of 16MB. This is the cause of the crashes above.

@ahezard
Copy link
Collaborator

ahezard commented Apr 3, 2020

configuration of the MPU in 5585 - Pokemon - Black Version

image

@ahezard
Copy link
Collaborator

ahezard commented Apr 3, 2020

As a reference here is the correct configuration of the MPU of 5585 - Pokemon - Black Version in no$gba in dsi mode

image

@ahezard
Copy link
Collaborator

ahezard commented Apr 3, 2020

Some SCFG registers are wrong

image

@ahezard
Copy link
Collaborator

ahezard commented Apr 3, 2020

for reference
image
image

@DraconicNEO
Copy link

DraconicNEO commented Jan 28, 2021

What are the main issues With getting this feature working on 3DS? This isn't just an issue for Playing DSi Enhanced Games, but also DSiware. Since the 3DS has a title limit and the same amount of storage in TWL nand as a real DSi it makes more sense to load from SD anyway.

@Tavisco
Copy link

Tavisco commented Apr 1, 2021

Is this the cause of when I try to boot a DSi enhanced game via TWiLight Menu++ the upper screen turns black and the bottom white?

@lifehackerhansol
Copy link
Member

Is this the cause of when I try to boot a DSi enhanced game via TWiLight Menu++ the upper screen turns black and the bottom white?

You would be correct. It is not fully implemented and thus not working in DSi mode.
You can change to DS-mode in either global settings or game-specific settings to mitigate this.

@RocketRobz
Copy link
Member

Some progress has been made!

Most games will no longer crash with a top black screen and bottom white screen, and on DSi, it'll not show the nds-bootstrap error message. Depending on the ROM, it'll start with either white screens or black screens.
However, card reads are currently broken.
On DSi consoles, the card read code is stuck in a loop, with the card read LED staying on forever.

Some <=16MB ROMs will boot in DSi mode on NO$GBA though, but keep in mind that reading/writing save data will cause the game to crash. If the ROM is DSiWare, it'll show an error screen instead.

@Squall-Leonhart
Copy link

you've got pokemon black/white working with the current progress,i i can load a save and even see my 3ds connect to the wifi (and get a "this service has been discontinued" message on xtransceiver.

not working is pokemon black 2/white 2, it gets the menu and then black screens on loading save.

@RocketRobz
Copy link
Member

As of later commits, most DSi-Enhanced games, all 5 DSi-Exclusives, and some DSiWare, all boot in DSi mode!
After nearly 3 years since this issue was open, this has finally been implemented.

Enhancements automation moved this from Low Priority to Closed Apr 19, 2021
@NightScript370
Copy link
Member

Do cheats work in DSi Mode?

@RocketRobz
Copy link
Member

Do cheats work in DSi Mode?

Yes, they do.

@PixelateVision
Copy link

you've got pokemon black/white working with the current progress,i i can load a save and even see my 3ds connect to the wifi (and get a "this service has been discontinued" message on xtransceiver.

not working is pokemon black 2/white 2, it gets the menu and then black screens on loading save.

I can confirm this as well. White 2 will now launch in DSi-mode, but when you try to launch a save from the main menu it goes to black screens and has to be force closed with L+Down+Select (quick pressing power doesn't quit).

@Kaisaan Kaisaan unpinned this issue Apr 21, 2021
@DraconicNEO
Copy link

As of later commits, most DSi-Enhanced games, all 5 DSi-Exclusives, and some DSiWare, all boot in DSi mode!
After nearly 3 years since this issue was open, this has finally been implemented.

Is this working on 3DS or is it DSi only?

@RocketRobz
Copy link
Member

As of later commits, most DSi-Enhanced games, all 5 DSi-Exclusives, and some DSiWare, all boot in DSi mode!
After nearly 3 years since this issue was open, this has finally been implemented.

Is this working on 3DS or is it DSi only?

It works on both DSi and 3DS consoles.

@DraconicNEO
Copy link

As of later commits, most DSi-Enhanced games, all 5 DSi-Exclusives, and some DSiWare, all boot in DSi mode!
After nearly 3 years since this issue was open, this has finally been implemented.

Is this working on 3DS or is it DSi only?

It works on both DSi and 3DS consoles.

Is there a Compatibility list for Working DSiware games?

@RocketRobz
Copy link
Member

RocketRobz commented May 4, 2021

Is there a Compatibility list for Working DSiware games?

See here: https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/edit#gid=524006717

It's still new, so you'll need to test some DSiWare yourself.
If you're testing on DSi, make sure DSiWare booter is set to nds-bootstrap.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Enhancements
  
Closed
Development

No branches or pull requests