Hacking Official SaltFW - "Slim Alternative Firmware"

  • Thread starter Thread starter Shadowhand
  • Start date Start date
  • Views Views 87,491
  • Replies Replies 456
  • Likes Likes 7
Since everyone is arguing, I'd add my humble opinion. First of all I have nothing about Shadowhand, however I wouldn't have done the same myself. When I started messing with ReiNand's source (I only re-added sysNAND, and then also added O3DS support + reboot patch from cakes) I asked if people were interested in the RN thread and, since they said they were, I posted the builds without even making a separate one (since the changes were so minor). At that point, if Rei wanted he could have merged my changes. Then, I was asked to start my own thread/project, so I did. Originally I only called it "Reinand mod" because I didn't think it deserved a new name, then when the projects really diverged I added a prefix but kept the original name out of respect for the original author.
So, tl_dr: while it's great to tinker with stuff and understand how everything works, remove stuff etc., I wouldn't make a thread out of it and add my name after removing a few things from a different project, especially if those things are completely optional (as it is, ARN becomes "sysnand only" if there's no emunand, and the chainloader is fully disabled if there's no default payload).
But that's just me, I suppose others can see things differently.

THIS! This is how the open source world works. Sure, there are a million useless Debian/Ubuntu forks, but with most of them the thing I warned about happens: They are not maintained, they disappear, noob users are mad because they can't fathom they made the wrong choice with their software.

It's completely fine and legal for anyone to fork GPL'ed code until they're sore, but if the most significant change is the name, nobody wins. I completely agree with @Aurora Wright that you don't publish a fork until there's been a real achievement and the original project won't merge it or it doesn't make sense because it took another direction.

We'll see what this will become, but right now its not much more than a name change.
 
It's actually not that hard to deal with. You act like this is the old days of the internet when research requires actual time to research.
Not to mention it's really not going to be that hard to figure out of your CFW is supported or not. If you are using it and know what the name, it's not hard to find the information. If I am using this CFW (which I am,) then I just simply follow this thread. It's not hard to bookmark a thread. If I don't see any updates from it and it's gone dead, I simply stop using it. This isn't really communicated stuff.

The Linux community hasn't fallen to shit from forks and nor did the DS community. Back in the old DS days, we used to love seeing more kernels being made.
I don't think comparing the 3ds cfws to linux is a very good way of putting it. Every distro had some kind of proper idea behind it. For example lets take Arch. Antergos, Chakra and Apricity are all essentially forks of Arch. Antergos simply aims to be a plug and play approach to Arch with DE and such in mind. Chakra(Which I have no experience with) seems to have gone the Manjaro route with its own repos and such while with the same idea remains with user friendliness in the install process. Apricity seems to want to be the "Mac" of Arch with its similar setup utilizing Gnome while also including build tools by default. These Arch forks supply different needs to different people with generally different defaults and included programs. I personally use Apricity on my Laptop and Antergos when I have to(Builds and such) on my desktop.

Now from a 3DS perspective, we don't have the same full capabilities as a computer. Every one of the "CFWs" accomplishes the same task: Patching certain parts of the system, like the sig patches, Firm protections, etc. They're all really just glorified patchers when you really look at it, not truly a CFW comparable to the Vita's ePSP TN-V, or ARK or VHBL. The only two that can be compared properly are ARK and TN-V which both load anything pertaining to the PSP. A true CFW for the 3DS would do more than patch a couple of things, rather it would be able to replace things on the NAND(Like a better home screen) and let us do more than just install some cia's and use them. Once we achieve actual CFWs is when forking for features should become relevant, not now when everything is being forked out of ReiNand[No love for Cakes :( ] to just remove or add a couple of features and rebrand it rather than contribute to the original.
 
  • Like
Reactions: Zidapi
Please read this. In my opinion it's the best explanation you'll ever get.
For what it's worth, I had the idea before Yifan Lu had it. Before ShadowFW I've had ShadowNAND (was a community chosen name), but I never made a release thread on anywhere. I removed the entire fork because I wanted to start fresh. This was before Mizuki AND Yifan Lu's forks.
 
I don't think comparing the 3ds cfws to linux is a very good way of putting it. Every distro had some kind of proper idea behind it. For example lets take Arch. Antergos, Chakra and Apricity are all essentially forks of Arch. Antergos simply aims to be a plug and play approach to Arch with DE and such in mind. Chakra(Which I have no experience with) seems to have gone the Manjaro route with its own repos and such while with the same idea remains with user friendliness in the install process. Apricity seems to want to be the "Mac" of Arch with its similar setup utilizing Gnome while also including build tools by default. These Arch forks supply different needs to different people with generally different defaults and included programs. I personally use Apricity on my Laptop and Antergos when I have to(Builds and such) on my desktop.

Now from a 3DS perspective, we don't have the same full capabilities as a computer. Every one of the "CFWs" accomplishes the same task: Patching certain parts of the system, like the sig patches, Firm protections, etc. They're all really just glorified patchers when you really look at it, not truly a CFW comparable to the Vita's ePSP TN-V, or ARK or VHBL. The only two that can be compared properly are ARK and TN-V which both load anything pertaining to the PSP. A true CFW for the 3DS would do more than patch a couple of things, rather it would be able to replace things on the NAND(Like a better home screen) and let us do more than just install some cia's and use them. Once we achieve actual CFWs is when forking for features should become relevant, not now when everything is being forked out of ReiNand[No love for Cakes :( ] to just remove or add a couple of features and rebrand it rather than contribute to the original.
I actually use Chakra OS myself, but that's side-tracking.
Now my point isn't that these are all perfect, but that at the same time I just don't see the reason we should stop and settle on a few CFW's. The point of open-source is for anyone to make any changes they see fit to the source.
Telling people, "Hey! We have enough CFW's! Stop making them!" is about the same as telling Ubuntu distros "Hey! We have enough Debian-Based distros! Stop making them!" It's counterintuitive to the entire GNU movement.
But I would love to see an actual CFW for the 3DS. Something that actually changed the firmware, like Free MCboot or Xbox Linux, expect on the 3DS.
 
Last edited by The Catboy,

The problem is the 9.0/9.2. If you want truly minimalist approach, move your emunand to your sysnand. Not only will this make ShadowFW work at 100% capacity, it'll also save space on your SD.


I did debate this over and over and over in my head.
1) You would never accept the changes I made, you worked so hard to write them (I literally mean this, not sarcastic), we also had a chat with you, if you remember, that people were complaining about how ARN is bloated (I don't agree). Would you really remove all those features and make it like ShadowFW? No you wouldn't.
2) If you can see, I'm not the original thread poster, it was @icecream, he asked to make the thread, and I said "if you want"

All in all, ShadowFW isn't meant to be a "fuck you" to ARN or other CFWs. I just did what I wanted to have in a CFW (while learning more about 3DS development), and it's not meant to replace ARN because I love ARN, and I used it for a very long time, ever since before 3.x.
If people think ARN is bloated but want a minimalist version? ShadowFW is here.
 
Last edited by Shadowhand,
I actually use Chakra OS myself, but that's side-tracking.
Now my point isn't that these are all perfect, but that at the same time I just don't see the reason we should stop and settle on a few CFW's. The point of open-source is for anyone to make any changes they see fit to the source.
Telling people, "Hey! We have enough CFW's! Stop making them!" is about the same as telling Ubuntu distros "Hey! We have enough Debian-Based distros! Stop making them!" It's counterintuitive to the entire GNU movement.
But I would love to see an actual CFW for the 3DS, that actually changed the firmware, like Free MCboot or Xbox Linux, expect on the 3DS.
It's just that it's becoming convoluted for the newcomers for the scene who are always asking which one is the best when in actuality they all do the same thing(Then they find rxtools). If you want to make your own for then by all means go for it, just release it privately or keep it to yourself unless its something that actually hasn't been done before(For example this is essentially what Mizuki does minus the loader)
 
  • Like
Reactions: Zidapi
I actually use Chakra OS myself, but that's side-tracking.
Now my point isn't that these are all perfect, but that at the same time I just don't see the reason we should stop and settle on a few CFW's. The point of open-source is for anyone to make any changes they see fit to the source.
Telling people, "Hey! We have enough CFW's! Stop making them!" is about the same as telling Ubuntu distros "Hey! We have enough Debian-Based distros! Stop making them!" It's counterintuitive to the entire GNU movement.
But I would love to see an actual CFW for the 3DS, that actually changed the firmware, like Free MCboot or Xbox Linux, expect on the 3DS.

Nobody is saying this. Fork 'till you drop. But please don't release a fork with so little "improvement" besides the name. As Yifan Lu said, now every kid whos drunk on their success of compiling code for the first time will release their brand of the same firmware with the only change beeing the name.

And I still don't get what this does better. After setting ARN up you'll never see it again unless you push SELECT on boot. And as this Thread has shown, the lack of configuration options has made it harder to debug.
 
  • Like
Reactions: Deleted-236924
It's just that it's becoming convoluted for the newcomers for the scene who are always asking which one is the best when in actuality they all do the same thing(Then they find rxtools). If you want to make your own for then by all means go for it, just release it privately or keep it to yourself unless its something that actually hasn't been done before(For example this is essentially what Mizuki does minus the loader)
Sure I could just keep my work to myself, but where's the fun in that? If I put work into something, why not share it?
There could just be one CFW and newbies will still get confused to which one is better. Simply saying it will confuse noobs just really isn't worth the argument because noobs are going to be noobs. We shouldn't hinder projects because it might confuse some newbies. Hell why not just encourage them to test out the waters instead of just focusing on one CFW? I mean, they could stick to the AuReiNAND or maybe CakesFW is more their speed. But they won't know if they don't test. Giving them verity will be confusing at first, but encouraging simple testing will actually better them and their understanding of CFW's.
Fuck, they could just be CFW's slut and run 5 like I am. Why? Because I can!
 
The problem is outside the envisioned scope of the thing. It's meant to be used for updated sysnand. 9.x isn't updated at all.

Why not make a fork for this user case? SCNR

I'm sorry you're getting all the heat for this now, but this has become epidemic.
 
Last edited by Uwabami,
Sure I could just keep my work to myself, but where's the fun in that? If I put work into something, why not share it?
There could just be one CFW and newbies will still get confused to which one is better. Simply saying it will confuse noobs just really isn't worth the argument because noobs are going to be noobs. We shouldn't hinder projects because it might confuse some newbies. Hell why not just encourage them to test out the waters instead of just focusing on one CFW? I mean, they could stick to the AuReiNAND or maybe CakesFW is more their speed. But they won't know if they don't test. Giving them verity will be confusing at first, but encouraging simple testing will actually better them and their understanding of CFW's.
Fuck, they could just be CFW's slut and run 5 like I am. Why? Because I can!
The average newcomer isn't here to watch a bunch of CFW's grow, they just want their free games and then nothing else to do with the scene. Hence the "which one is better" questions. Encouraging them to try them all I feel would just push them towards outdated guides and result in more people using outdated software. Not everyone has the patience to setup their bootmanager with every cfw available. Overall it just seems silly to me to remove some code, rename it, release it and call it a day. My Mizuki setup is using an edited version of Rei's injector fork but you don't see me flaunting it around like my patch is the next best thing for updated sysnand(Not that Shadow is either).
 
Last edited by Docmudkipz,
@Shadowhand, got GBA working. Here is what I had to do:

From your previous post you asked if I had firmware.bin on root of mSD. I put firmware.bin on root of mSD.
I also used pathchanger by @Aurora Wright to set reboot path to my payload folder of payloads/r.bin (r.bin is ShadowFW)
Started the N3DS XL holding R on power on. After booting into sysNAND I launched a GBA title and it ran fine (no GBA bios screen)

I really like my emuNAND for most things but now I can use your CFW to play my GBA off sysNAND so I do not have to install twice.

Running @FIX94 A9LH and arm9select (custom)
CFW.bin (default.bin) loads ReiNand 4.0 with 10.7.0-32U emuNAND
l.bin will be for my Gateway once they get around to releasing A9LH payload
r.bin is ShadowFW for GBA loading from 9.2.0-20U sysNAND using 10.4 Native FW (firmware.bin) from root of mSD.

No extra bells and whistles minimal CFW for emuNAND and sysNAND and 1 button loading of A9LH payloads using custom arm9select that can use all buttons except ZR and ZL on N3DS.


Thanks for your support in trying to track down my mistakes in getting GBA running on your minimal CFW (based off the great ReiNand and AuReiNand)
 
  • Like
Reactions: Shadowhand
The average newcomer isn't here to watch a bunch of CFW's grow, they just want their free games and then nothing else to do with the scene. Hence the "which one is better" questions. Encouraging them to try them all I would feel would just push them towards outdated guides and result in more people using outdated software. Not everyone has the patience to setup their bootmanager with every cfw available. Overall it just seems silly to me to remove some code, rename it, release it and call it a day. My Mizuki setup is using an edited version of Rei's injector fork but you don't see me flaunting it around like my patch is the next best thing for updated sysnand(Not that Shadow is either).
Again, there could still just be one CFW and those threads are still going to pop up. When it comes down it, if they are simply interested in a quick fix, then suggest a quick fix CFW like either AuReiNAND or Mizuki.
The issue here is, is that it's still an early release. Although I would like to say, it would have been a better idea to have done a bit more work on this before releasing it. But at the same time this is still an early release, so I still have hope that this might branch out to it's own project.
I mean, if it turns out to be shit, then I put my faith in the wrong place and I move on. But I am always going to defend an early project because like I've already said millions of times, I love forks and I love CFW's.
Seriously, I don't think people understand my love for Multi-boots.
http://gbatemp.net/threads/the-m3-quad-boot.205001/
My very first stickied thread was just me wanting to share my love for multi-booting.
 
Last edited by The Catboy,
I think the problem was this. It's meant to be in the root of your SD as either ShadowFW.bin or arm9loaderhax.bin. :P

Yeah I'm a rebel. I like a folder called payloads on my mSD root for all payloads (centralized but not specific to any 1 CFW). AuReiNand is awesome but I just didn't get onboard with the included loader as arm9select is awesome in it's own right.
 
I don't think this is worthy of a release, as has been said by a bunch of others in this thread, you took someone else's code that they worked hard on and took a long time to develop, basically stripped almost everything out of it, which anyone can do, then you renamed it and released it as your own. I'm sorry man but if anything this is an AuReiNand mod. I can't take Decrypt9WIP, strip everything out of it except the functionality for dealing with SysNAND, then call it "SysNAND Master" and release it as my own, it just doesn't work that way.
 

Site & Scene News

Popular threads in this forum