4dsdev
Views: 1,609,382 Main | Rules/FAQ | Memberlist | Active users | Last posts | Calendar | Stats | Online users | Search 11-22-24 04:39 AM
Guest:

Main - Posts by ApacheThunder

Pages: 1 2
ApacheThunder
Posted on 06-17-18 05:12 PM, in Unlaunch.dsi released - DSi bootcode hack Link | #1158
I don't load arm9 to 0x2000000 because the first 0x800 or so region is used for soft reset data. Anytime one wants to tell Launcher to start something on soft reset (normally only twlNMenu does this which is a dev app, but homebrew could use this to auto boot into something on exit) so that's why i did that. seeing that homebrew code was used to load the SRL and not Nintendo's code, the load address I used posed no issue.

Obviously with SRLs installed as apps on System Menu need to be loaded in such a way that the secure area is accounted for even if blank. (TWL_FIRM interestingly is less strict about this. Could load code in secure area just fine on TWL_FIRM, lol )

My DSi isn't available right now. Won't have it back till around July 3rd so I can't do further testing with Unlaunch directly. I do know that I was able to load my stage2 SRL just fine with Unlaunch 0.8. It only stopped working in 0.9. :(

I had Ahezard load a revised Stage2 srl with the correct DSi Extended header values. That didn't seem to work either. I will try and play around with this more when July comes around.

ApacheThunder
Posted on 06-30-18 10:39 PM, in Unlaunch.dsi released - DSi bootcode hack Link | #1160
Ok got my DSi XL back and after testing I can confirm it's not an issue with my header settings most likely as to why my custom Stage2 SRL doesn't work. It hangs on black screens so seems Stage2 never even got far enough to boot Launcher.

I tried booting Launcher as bootcode.dsi with it's private.sav as bootcode.prv and that just white screens. (I can confirm I can boot normal DSiWare directly though. Shantae boots fine and is able to read it's save file)

So I'm guessing your wifi init stuff might have borked things with Launcher/Stage2? Could be that or state of emmc controller. I doubt it's the device table stuf you set up. Stage2 wouldn't care and would just replace it with the one it sets up for Launcher.

Launcher....probably hangs due to wifi not being in correct state. Device table (if it cares about that either) probably also causes it to hang.


Maybe easier to just have a seperate code path for if user attempts to launch Launcher srl as bootcode/boothis.dsi file. Then you could just use a load procedure specific to Launcher's needs. Could then just skip loading custom Stage2. Would simplify things a bit for us. :P

ApacheThunder
Posted on 07-03-18 09:50 PM, in Unlaunch.dsi released - DSi bootcode hack Link | #1161
Ok took another attempt at it. Found out the issue. It looks like Unlaunch 0.9 handles arm9 secure area the same way as official software now.

HiyaCFW's SRL was modified in a similar manner. I added Stage2's MBK values replacing the ones in the extended header then set arm9 back to the standard layout and now HiyaCFW works on Unlaunch 0.9 as well.

However because of this we lose the ability to use 0x2000300 region for telling Launcher to auto boot a title. Unlaunch 0.9 doesn't want to load SRLs that have both entry point and load address for arm9 to be the same. Official software of coarse can't be loaded this way, but homebrew like hbmenu and Unlaunch 0.8 could. Maybe you could add a simple check comparing arm9's load address and entry point address in the SRL's header so that if they are the same, use the old method of loading them? This would preserve ability to have Launcher auto boot something. As currently that's impossible with Unlaunch 0.9. :(

ApacheThunder
Posted on 07-06-18 03:23 AM, in Unlaunch.dsi released - DSi bootcode hack Link | #1162
Ok we worked around the secure area by just loading arm9 to a higher ram address and moving it back to 0x2000800 and having arm9 jump to it. I just compile a simple bootstub that does this for me using existing code Fix94 made for me some time back. (originally meant for moving arm7 code before starting it for using old homebrew as DSiWare on 3DS. But this works for a similar purpose on arm9. :D ) I don't know why I didn't think to just do this when Unlaunch 0.9 first came out, but now that I have my DSi XL back, that idea came back to me. :P


So I suppose for now you don't really need to do anything now unless you decide to fix booting Launcher SRL as bootcode.dsi. That would get rid of the need to use HiyaCFW's launcher entirely. But for now I have a solution for booting HiyaCFW in a way that doesn't break auto booting into things with Launcher. I confirmed if I load arm9 to a higher address, Unlaunch doesn't touch the first part of 0x2000000 at all so soft reset data isn't destroyed. :D
Pages: 1 2

Main - Posts by ApacheThunder

Page rendered in 0.021 seconds. (2048KB of memory used)
MySQL - queries: 22, rows: 67/67, time: 0.010 seconds.
[powered by Acmlm] Acmlmboard 2.064 (2018-07-20)
© 2005-2008 Acmlm, Xkeeper, blackhole89 et al.