Skip to content

Fix Ace3DS+ and R4 bootstrap. Add EX4DS bootstrap. - #19

Open
Deletecat wants to merge 2 commits into
devkitPro:masterfrom
Deletecat:master
Open

Fix Ace3DS+ and R4 bootstrap. Add EX4DS bootstrap.#19
Deletecat wants to merge 2 commits into
devkitPro:masterfrom
Deletecat:master

Conversation

@Deletecat

Copy link
Copy Markdown

Ace3DS+ carts will not load their boot file if the game code is set to "R4XX". This results in an error stating that it cannot find _ds_menu.dat. This is different from the "_dsmenu.dat" Ace3DS+ variant (aka R4iLS), which does require the game code to be set to that value. I have removed the game code from the main bootstrap target and added it to ACE3DS/_dsmenu.dat instead. This small change fixes #15.

The EX4DS is quite similar to the Ace3DS+. The only difference with regards to the boot file is that it uses the original R4 encryption key (0x484a) rather than 0x4002. As such, I've gone ahead and added support for it because why not.

R4 bootstrap has been broken for a while. Trying to use it results in a fat init fail message. The reason seems to be that the DLDI patched binary isn't being used at the encryption stage (bootstrap.nds is used instead of _ds_menu.nds). I have also added a fix for that.

Ace3DS+ carts (_ds_menu.dat) will not boot if the gamecode of the boot
file is set to R4XX. This patch removes the game code from the main
bootstrap binary, and builds the _dsmenu.dat Ace3DS variant separately
with that gamecode.

EX4DS cards use the same DLDI and boot file name as the Ace3DS+, but
it uses the original R4 encryption key (0x484a) instead of 0x4002.
hbmenu would fat init fail using the R4 bootstrap. this is because the
DLDI patched binary wasn't being used at the encryption stage.
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

Successfully merging this pull request may close these issues.

Ace3DS bootstrap files do not work on some Ace3DS+ clones

1 participant