ApacheThunder/NTR_Launcher

Considering change the INI location to internal memory?

Closed this issue · 4 comments

Well, it adds an unnecessary folder in the SD card.
Consider moving it to nand:/sys/config.ini, which goes to TWLNAND on the 3DS.
I changed the path and tried to recompile but it ends with the following error:

/usr/home/pthfdr/1/NTR_Launcher-master/BootLoader/source/read_card.c: In function 'cardInit':
/usr/home/pthfdr/1/NTR_Launcher-master/BootLoader/source/read_card.c:205:2: error: 'CARD_1B0' undeclared (first use in this function); did you mean 'CARD_WR'?
  CARD_1B0 = cardSeedBytes[ndsHeader->deviceType & 0x07] | (key1data.nnn << 15) | (key1data.mmm << 27) | 0x6000;
  ^~~~~~~~
  CARD_WR
/usr/home/pthfdr/1/NTR_Launcher-master/BootLoader/source/read_card.c:205:2: note: each undeclared identifier is reported only once for each function it appears in
/usr/home/pthfdr/1/NTR_Launcher-master/BootLoader/source/read_card.c:206:2: error: 'CARD_1B4' undeclared (first use in this function); did you mean 'CARD_WR'?
  CARD_1B4 = 0x879b9b05;
  ^~~~~~~~
  CARD_WR
/usr/home/pthfdr/1/NTR_Launcher-master/BootLoader/source/read_card.c:207:2: error: 'CARD_1B8' undeclared (first use in this function); did you mean 'CARD_WR'?
  CARD_1B8 = key1data.mmm >> 5;
  ^~~~~~~~
  CARD_WR
/usr/home/pthfdr/1/NTR_Launcher-master/BootLoader/source/read_card.c:208:2: error: 'CARD_1BA' undeclared (first use in this function); did you mean 'CARD_WR'?
  CARD_1BA = 0x5c;
  ^~~~~~~~
  CARD_WR

(Appearently it has nothing to do with my change, though.)

Huh? As far as I was aware, NAND filesystem is not accessible to libnds/libfat.

(from TWL mode on DSi and in TWL mode legacy mode on 3DS. NTR_Launcher does NOT run in CTR mode on 3DS so it has to use the older DS/DSi homebrew libraries!).

I do not have the libraries/code for that as it doesn't exist. No one has written that besides NoCash and he hasn't open sourced that. WinterMute mentioned he was doing NAND stuff...but that was like 1 or 2 years ago and he never delivered. You can't just drop files in NAND and read them from normal homebrew. NAND is encrypted and required a whole bunch extra crap to deal with safely. Hence why no code is available for it on DSi. (There's similar code in GodMode9 on 3DS in CTR mode that could be converted to the older libraries. But note that GodMode9 does all it's TWLN stuff on arm9. This has to happen on arm7 on DSi. This compounded by the fact that I do not know enough C++ to do filesystem stuff, much less deal with an encrypted filesystem)

As for 3DS, there are utilities for accessing TWLN partition via CTR mode homebrew. However this isn't as practical as simply exposing the file on SD instead.

Either way I will not be storing INI on nand. It's on SD for a reason. So that users can configure settings stored in that file easily and placing a user configurable file on NAND could be dangerous as inexperienced users could brick their consoles trying to modify it.

Maybe you could store the file in /Nintendo 3DS/private (or /private on a DSi)? Like a normal application.
Also, as I have said, I'm trying to build myself and it looks like that it cannot be compiled on the latest devkit.

I don't know about the 3DS version of NTR launcher. Haven't touched it in awhile. But the "DSi" branch compiles fine for me on latest libnds last I checked.

Because 3DS branch of NTR Launcher hasn't been updated in awhile. Latest libnds may have issues with it.