It's heavily based on Gateway's launcher, and I thought the whole reason it was made forbidden to post GW launchers here was because they contain some of Nintendo's proprietary code?
I guess you can steal nintendo code if you don't use it for piracyIt's heavily based on Gateway's launcher, and I thought the whole reason it was made forbidden to post GW launchers here was because they contain some of Nintendo's proprietary code?

You can steal it if you don't care about being a thief, but don't share it or use it in your own products.

I will provide a patch of launcher.dat to solve this issue.
Update:
I have removed the Launcher.dat, which is suspected to contains proprietary code.
https://www.sendspace.com/file/vwszrl
Excellent solution. For anyone wondering GW's Launcher.dat (as of v1.0) includes ARM11 NATIVE_FIRM Title ID 0004013000001102 at 0x1FF80000. This title is a clean copy of the fs system module http://3dbrew.org/wiki/Title_list from NUS.

I don't know why they included clean and patched NATIVE_FIRM files. Maybe patching the files in memory is not stable after launching games? or it's faster to load a different file than applying patches at access time. Or the file is not stored in memory. To patch files, they need to be in memory and you patch the memory addresses, you can't patch files while it's been accessed, but you can redirect access to another file (ala riivolution, or like cFW reading files from SD).Why do that even? Can't you just store a patch and patch at runtime instead of including the whole thing?
Also this doesn't make any sense. Reading proprietary file formats is illegal now?however CIA is an proprietary format and homebrew should be recommend to release in 3dsx format for avoiding legal issues.
I don't know why they included clean and patched NATIVE_FIRM files. Maybe patching the files in memory is not stable after launching games? or it's faster to load a different file than applying patches at access time. Or the file is not stored in memory. To patch files, they need to be in memory and you patch the memory addresses, you can't patch files while it's been accessed, but you can redirect access to another file (ala riivolution, or like cFW reading files from SD).
Better solution for Gateway would be to let the user extract NATIV_FIM himself from NUS, and patch it if required. But it's not noobfriendly, and they don't care.


lol it's not the reading that's the issue, it's the (re)packing the data that's the problem. The .cia format is a proprietary format created by Nintendo.Also this doesn't make any sense. Reading proprietary file formats is illegal now?
lol it's not the reading that's the issue, it's the (re)packing the data that's the problem. The .cia format is a proprietary format created by Nintendo.
The format is only supposed to be used by developers to aid them in creating software for the 3DS, mostly to make testing and debugging a less painful process.
It's a proprietary format that was developed by, and is owned by Nintendo. The simple fact is we (the public) don't have permission to use it.
I don't know how it works internally. Other devs decompiled and analyzed it.
I can just guess that some NATIVE_FIRM are clean and other are patched, but I don't know why it includes a clean 4.1 (v7712) when it can read it from NAND. Not for EmuNAND as they need to include corresponding patched FIRM to support EmuNAND on newer version.


Formats won't be restricted unless the developer obtains the patent, at least, in Japan.lol it's not the reading that's the issue, it's the (re)packing the data that's the problem. The .cia format is a proprietary format created by Nintendo.
The format is only supposed to be used by developers to aid them in creating software for the 3DS, mostly to make testing and debugging a less painful process.
It's a proprietary format that was developed by, and is owned by Nintendo. The simple fact is we (the public) don't have permission to use it.
Is there an explanation of how the GW works anywhere.
I thought they just patch the ARM11 kernel. But turns out they patch the fs service. But then...
