Homebrew [Discontinued] TWLoader - CTR-mode NDS app

  • Thread starter Thread starter RocketRobz
  • Start date Start date
  • Views Views 1,819,194
  • Replies Replies 9,252
  • Likes Likes 147
Status
Not open for further replies.
Not , only rename the original _dstwo folder to _dstwo1 to back in it if I need
Did you also extract what's in the "flashcardroot" folder of TWLoader.7z to the flashcard's microSD root?
Also, you don't need the old (_dstwo1) folder.
 
Did you also extract what's in the "flashcardroot" folder of TWLoader.7z to the flashcard's microSD root?
Also, you don't need the old (_dstwo1) folder.


yes, i need it for imenu use...but that was the problem...i dont add flashcardroot....so its solved

REALLY THX FOR ALL BRO

PD:any boxart compilation?

greeting
 
Last edited by hellionz,
Great job with the latest release.
I have a M3DS Real and the add game function works great.
The hanging when looking for update is fixed (for me).

I have an issue though. When I launch Infinite Space from TWLoader on the game touch start screen, the upper screen is white and the lower screen displays what should have been the upper screen. I don't have the issue when using NTR launcher. Am I missing something?
Any reason why TWLoader would behave differently than NTR launcher? It's kinda strange considering TWLoader is based on NTR launcher...
 
I've been trying to add support for launching DSi-enhanced Slot-1 cartridges directly, since NTR_Launcher (which is used by TWLoader) doesn't support loading the DSi-specific binaries. Here's what I've found so far.
  • We're currently using APT_PrepareToDoApplicationJump(0, 0x0x0004800554574C44ULL, MEDIATYPE_NAND); to start the TWL-side CIA of TWLoader. This works fine.
  • Simply changing it to APT_PrepareToDoApplicationJump(0, 0, MEDIATYPE_GAME_CARD); works for 3DS cards, but reboots to the Home Menu for NTR/TWL.
  • During testing, I accidentally swapped the media type parameter (#3) and the flags parameter (#1). This resulted in the screens shutting off. While holding the power button to shut off, right before it shut off, I saw a flicker of an ARM11 exception from Luma. Turning the system back on, I was greeted with another ARM11 exception before the Luma splash screen loaded. (That's bad.) Leaving the system off for 30-60 seconds and then turning it back on resulted in it booting normally, so I'm guessing my accidental parameter swap was still kept in memory for a while, which was confusing NATIVE_FIRM.
FBI also seems to have the same issue launching NTR/TWL cards (it reboots to Home Menu). DevMenu 11.4 doesn't even try; it says it cannot launch TWL cards.

I'm thinking I might need to get the banner SHA1 HMAC from the DSi header and use NSS:SetTWLBannerHMAC before trying to start the game card. If I can get this working, then the next step is to implement support for animated DSi icons because why not.
[/list]
 
Just for curiosity, is there any progress for reading banner icon/text from Slot-1?
Yes, it's done. It'll be in the next release. (There's also automatic boxart downloading for Slot-1.)

Note that 3DS cartridges in Slot-1 are currently ignored, so they'll show up as "No Cartridge".
 
  • Like
Reactions: MushGuy
Opening Twlnand side cia from FBI

....... Plz help

--------------------- MERGED ---------------------------


Starting sysnand from luma and now none of my shit shows up but a black box that when I click it it says fbi then stays stuck ;_;
I had this problem. If your menuhax autoboots the Homebrew launcher just launch Luma and hold L while it's red on the bottom screen. Then install the twloaderside.cia If your menuhax autoboots straight into Emunand then boot but don't hold L until the top screen shows HAX 2.8 and HI and all that ROP stuff before the lower screen does its red flash, then you'll be in Sysnand with CFW, Install your side CIA. Reboot and install to Emunand and your good. Do this everytime there's a side update.
 
That will help with implementing DSi mode booting in NTR Launcher. What I'm trying to do right now is starting the cartridge normally the same way HOME Menu does it if it's a DSi-enhanced cartridge.

I would love to see this work. Note that official hbmenu was updated to the latest devkitarm and supports parsing of the dsi extended areas. It appears he did not add code to handle modcrypt, but modcrypt is well documented (just look at how TWLTool does it) so that shouldn't be to big of a problem. So if you want to attempt actual loading of the extended binaries of DSi enhanced games and boot them in TWL mode then that would be awesome. Though you'd have to alter how the checks work in determining if to switch into NTR mode or not. Currently uses a ini file config value for that. But you can easily override that. You can have it check the mode the rom wants to use via the rom header and if it wants DSi Enhanced mode, you switch to that. Note that NTR Launcher is setup to go into DSi Enhanced mode given value I use for SCFG_ROM puts it in DSi Exclusive mode and not Enhanced mode. I'm not yet aware of any differences between the two modes. Official hbmenu and it's bootstrap companion CIA use enhanced mode. You can check the SCFG_ROM value with a homebrew app to see what it is. I have not checked what it should be for enhanced mode.

Of coarse there appears to be an issue of NTR Launcher not loading the ntr arm7/arm9 binaries from TWL carts as they never start. I couldn't find out where it was failing. I enabled all the debug boxes and even though I disabled the Secure Area CRC check, it stops at the final grouping of boxes just before the game is supposed to start. So it reports success in loading the binaries but they are apparently corrupt because it hangs after that. There is an issue with how it's initing the card I would guess. Perhaps a similar problem Decrypt9/GodMode9 is currently having attempting to dump TWL carts correctly.

Note that devkitarm saw a major update recently. If you can see if you can port NTR Launcher to that new devkitarm as well. I most likely can't really do it. Latest devkitarm now builds proper DSiWare SRLs and sets the arm7 code/ram entry address to the one retail games use. So modified ld files are no longer required. (so you'd have to stop using them when migrating to latest devkitarm. I ask that if you do attempt to improve NTR Launcher, do it to my main fork (and to the alt build. If the alt build can have this without impairing compatiblity, the main build may be abandoned because main build doesn't work in TWL mode).

NTR Forwarder and the NTR Launcher TWLoader uses are all forks of NTR Launcher, so I'd like to see the improvements occur to a clean fork of NTR Launcher first, then you can easily migrate the changes to the other forks after.
 
Last edited by Apache Thunder,
Of coarse there appears to be an issue of NTR Launcher not loading the ntr arm7/arm9 binaries from TWL carts as they never start. I couldn't find out where it was failing. I enabled all the debug boxes and even though I disabled the Secure Area CRC check, it stops at the final grouping of boxes just before the game is supposed to start. So it reports success in loading the binaries but they are apparently corrupt because it hangs after that. There is an issue with how it's initing the card I would guess. Perhaps a similar problem Decrypt9/GodMode9 is currently having attempting to dump TWL carts correctly.
I tested NTR Launcher 1.9.5 when I was working on trying to get TWL carts to load before, and with System FLAW (DSi-exclusive) it did manage to boot the ARM9/ARM7 binaries. (It gave me a "This game is for DSi only" screen.) I don't have any other DSi-enhanced or DSi-exclusive cartridges on hand at the moment, though.

EDIT: Maybe Slot-1 reset is needed in order to get back to NTR mode for the cartridge. (command 0x3C)

EDIT 2: I'll take a look at hbmenu's changes for devkitARM r46 and see if I can apply them to NTR Launcher. (...and then synchronize TWLoader's version)
 
Last edited by GerbilSoft,
I tested NTR Launcher 1.9.5 when I was working on trying to get TWL carts to load before, and with System FLAW (DSi-exclusive) it did manage to boot the ARM9/ARM7 binaries. (It gave me a "This game is for DSi only" screen.) I don't have any other DSi-enhanced or DSi-exclusive cartridges on hand at the moment, though.

EDIT: Maybe Slot-1 reset is needed in order to get back to NTR mode for the cartridge. (command 0x3C)

EDIT 2: I'll take a look at nds-hb-menu's changes for devkitARM r46 and see if I can apply them to NTR Launcher. (...and then synchronize TWLoader's version)

Yeah that's one possibility. The card init code NTR Launcher uses is what NitroHax uses and is quite old. It's certainly missing things needed for TWL carts I would imagine. The only TWL cart I have is Sonic Classic Collection and that game fails to do anything at all. You have an exclusive game, so eventually when you attempt to get enhanced games to work, you have a great game for testing that. :D

If you saw the "requires DSi" type error with System Flaw, it seems like NTR Launcher actually accessed that cart properly. But since that game is DSi exlusive, it won't operate at all until you parse and load the DSi extended header/binaries and boot it in DSi Exclusive mode. (I assume unlike other carts the rom is set for it to boot in exclusive mode and not enhanced mode?)
 
Last edited by Apache Thunder,
Is there a question you asked?
Yes a few actually:

1. Could you provide unofficial builds for twloader like you do for bootstrap?

2. Can you make a flashcard side package for my cart, its a hybrid between acecard rpg and r4, retrogamefan has a special version for it in his multi cart update, its called GalaxyEagle/R4Ultra
 
If you saw the "requires DSi" type error with System Flaw, it seems like NTR Launcher actually accessed that cart properly. But since that game is DSi exlusive, it won't operate at all until you parse and load the DSi extended header/binaries and boot it in DSi Exclusive mode. (I assume unlike other carts the rom is set for it to boot in exclusive mode and not enhanced mode?)
That's correct, it has unitcode 0x03. I don't think there's any real difference between "enhanced" and "exclusive" mode on DSi/3DS, though. (other than the ARM9/ARM7 binaries checking for DSi presence and showing an error if it's not a DSi.)
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum