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

portalDS fails to boot #1116

Open
44670 opened this issue May 27, 2021 · 8 comments
Open

portalDS fails to boot #1116

44670 opened this issue May 27, 2021 · 8 comments

Comments

@44670
Copy link

44670 commented May 27, 2021

The game is available at: https://github.com/smealum/portalDS

It fails to boot with the latest code in master branch, but was workable on 0.9.2.

Logs collected:

RTC INTERRUPT ON: 41
unknown ARM9 IO read32 04004000 0204F654
NDSCART: !! BAD TRANSFER DIRECTION FOR CMD B7, DIR=0, ROMCNT=E97F3FFF```
@Arisotura
Copy link
Member

same issue as the Bad Apple demo. it needs proper DLDI support (ie being able to find its own ROM inside the DLDI device). otherwise it falls back to a broken NitroFS driver.

@44670
Copy link
Author

44670 commented May 27, 2021

same issue as the Bad Apple demo. it needs proper DLDI support (ie being able to find its own ROM inside the DLDI device). otherwise it falls back to a broken NitroFS driver.

I have tried the game with melonDS 0.9.2 with DLDI disabled, the game boots and it's playable.

Maybe it is affected by one of the recent commits?

@Arisotura
Copy link
Member

the broken NitroFS driver only worked because the cart-interface implementation in older melonDS was inaccurate (allowed reads with the WR bit set, which does not work on hardware).

@44670
Copy link
Author

44670 commented May 27, 2021

I see, thanks for explaining this!

@Arisotura
Copy link
Member

you're welcome :P

@44670
Copy link
Author

44670 commented May 27, 2021

btw I'm working on a WebAssembly port of this emulator, here is a demo if you are interested:
https://44670.github.io/melonDS-wasm/wasm-port/

@PH111P
Copy link

PH111P commented Jul 25, 2021

the broken NitroFS driver only worked because the cart-interface implementation in older melonDS was inaccurate (allowed reads with the WR bit set, which does not work on hardware).

In particular, static void nitroSubReadBlock(u32 pos, u8 *ptr, u32 len) from said driver might be the root cause for this problem: https://github.com/devkitPro/libfilesystem/blob/master/source/nitrofs.c#L169 Note the CARD_WR flag. I'm not really sure why they are setting that—it should just work without.

@AntonioND
Copy link
Contributor

AntonioND commented Mar 11, 2023

I've just hit this problem! I was trying to read from the cartridge, and copied the routine to read blocks from nitroFS...

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

No branches or pull requests

4 participants