Homebrew Proposed SD directory restructuring for homebrew

gameus

Well-Known Member
Member
Joined
Apr 5, 2015
Messages
108
Trophies
0
Age
28
XP
382
Country
United States
I like OP's idea way more. Having everything in the /3ds/ folder makes so much more sense. Throwing a /3ds/ folder inside of /homebrew/ would be okay but what about A9HL stuff? And CFW stuff? I feel like those deserve their own folders.

/3ds/cfw*/
/3ds/apps/
/3ds/a9hl

But having something like this... To me just feels like too many sub-directories.

/homebrew/3ds/apps/
/homebrew/3ds/a9hl/
/homebrew/3ds/cfw*/

CFW* = luma/rxtools/etc...

So if we moved everything to the /3ds/ folder, we'd still be conveying that it is indeed for the 3ds despite your arguments Shadow, no offense, and it'd clean up the root of your SD card.
 

Shadowhand

Slim, Alternative Dev.
Member
Joined
Feb 27, 2016
Messages
522
Trophies
0
Age
31
XP
1,958
Country
United Kingdom
snip
So if we moved everything to the /3ds/ folder, we'd still be conveying that it is indeed for the 3ds despite your arguments Shadow, no offense, and it'd clean up the root of your SD card.

No offense taken. I still don't think /3ds/ is a good directory.
 

Kirtai

Well-Known Member
Member
Joined
May 6, 2016
Messages
237
Trophies
0
XP
245
Country
United Kingdom
Heh, so is there non-homebrew 3ds stuff people are putting on their SD card or something?
A whole bunch of data files mostly. Themes, bootanims, bootloader configurations, pokemon data, save backups.

Also, I get the impression this is meant for more than just the 3DS. Other setups like the Wii U/vWii/Wii can also benefit from it.
 
  • Like
Reactions: Shadowhand

TheCruel

Developer
OP
Banned
Joined
Dec 6, 2013
Messages
1,350
Trophies
2
XP
3,131
Country
United States
A whole bunch of data files mostly. Themes, bootanims, bootloader configurations, pokemon data, save backups.
Those are all homebrew files that would be in /homebrew/3ds/ somewhere, right (except official Themes as managed by 3DS system)? Or would you be putting them in some other directory in root? I think most people would prefer /3ds/themes/ and /3ds/screenshots/ and such.
 

Kirtai

Well-Known Member
Member
Joined
May 6, 2016
Messages
237
Trophies
0
XP
245
Country
United Kingdom
Those are all homebrew files that would be in /homebrew/3ds/ somewhere, right (except official Themes as managed by 3DS system)?
Yes, they should be under some kind of homebrew folder but as of right now they aren't. I wasn't being hypothetical there, I just listed some of the folders that are currently in root on my consoles sd card :)
The themes folder is for a cia install of CHMM2 btw.
 

Demirramon

Active Member
Newcomer
Joined
Jul 1, 2016
Messages
36
Trophies
0
Age
27
XP
102
Country
I don't understand why many people talk about the .3dsx and .cia versions of the same app as a different thing. If they are the same app, they can put their data and stuff in the same data folder, don't they? It doesn't matter where the .3dsx is or where was the cia installed, at all.
 

Drakia

Well-Known Member
Member
Joined
Mar 15, 2008
Messages
1,644
Trophies
2
Age
36
XP
2,596
Country
Canada
I don't understand why many people talk about the .3dsx and .cia versions of the same app as a different thing. If they are the same app, they can put their data and stuff in the same data folder, don't they? It doesn't matter where the .3dsx is or where was the cia installed, at all.
Because if the CIA version puts its data in /3ds/appName/ then it results in HBL showing a folder that doesn't contain actual homebrew in it. Which is why a lot of stuff released as both 3dsx and CIA choose to use a different location at the moment.
 
  • Like
Reactions: TheCruel

TurtleP

Well-Known Member
Member
Joined
Oct 7, 2015
Messages
140
Trophies
0
Age
28
Website
TurtleP.github.io
XP
308
Country
United States
So after some discussion on the discord channel of 3DS Hacking, a few of us came up with a format and want to know what you guys would think of it. I understand that /Homebrew/ is great and all, but the main issue with it is that while it is easy to identify, there's no guarantee the Wii U or Wii scenes will pick up on this, and only fair to assume they will not for now until they've shown interest in a possible merge. We came up with the following, based on the Linux file system:

Code:
sdmc:/
    3DS/
      bin/
      boot/
      etc/
      log/

Now here's the explanation: /bin/ is for homebrew binaries which are just going to be a 3dsx file alongside their smdh meta. It'd be simplified if we have those who use this homebrew format embed the smdh to the 3dsx since that can be done now. Furthermore, /boot/ is for arm9-based stuff. luma/payloads/ could be in there for Luma's executable boot payload files. The config would be placed inside of /etc/ under the folder labeled /luma/config.txt as it plainly is etc and would not fit in any other folder. Homebrews that have external files such as JKSM could plop output in there under /etc/JKSM/ or applications that rely on external data like Love Potion would place the game files inside of /etc/{appname}/{files}. Finally, /log/ is where any 3dsx or cia application logs would be placed. Luma3DS could dump its register error information in a format close to Luma_2-7-16_01:27.log.

If anyone needs more examples I will gladly provide them. Yes, this does not fix the minor issue that some use the same SD card, but it would clean up the mess they have from the scene.
 

Drakia

Well-Known Member
Member
Joined
Mar 15, 2008
Messages
1,644
Trophies
2
Age
36
XP
2,596
Country
Canada
So after some discussion on the discord channel of 3DS Hacking, a few of us came up with a format and want to know what you guys would think of it. I understand that /Homebrew/ is great and all, but the main issue with it is that while it is easy to identify, there's no guarantee the Wii U or Wii scenes will pick up on this, and only fair to assume they will not for now until they've shown interest in a possible merge. We came up with the following, based on the Linux file system:

Code:
sdmc:/
    3DS/
      bin/
      boot/
      etc/
      log/

Now here's the explanation: /bin/ is for homebrew binaries which are just going to be a 3dsx file alongside their smdh meta. It'd be simplified if we have those who use this homebrew format embed the smdh to the 3dsx since that can be done now. Furthermore, /boot/ is for arm9-based stuff. luma/payloads/ could be in there for Luma's executable boot payload files. The config would be placed inside of /etc/ under the folder labeled /luma/config.txt as it plainly is etc and would not fit in any other folder. Homebrews that have external files such as JKSM could plop output in there under /etc/JKSM/ or applications that rely on external data like Love Potion would place the game files inside of /etc/{appname}/{files}. Finally, /log/ is where any 3dsx or cia application logs would be placed. Luma3DS could dump its register error information in a format close to Luma_2-7-16_01:27.log.

If anyone needs more examples I will gladly provide them. Yes, this does not fix the minor issue that some use the same SD card, but it would clean up the mess they have from the scene.
Nope, nope nopenope. This is going to be confusing as HELL for your average user.

Yes, I understand what /bin, /log, /etc and all those are, I manage multiple servers. But go ask your mom if she's going to know what the "/bin" folder contains. Then ask if she knows what the "/apps" folder will contain. Aim for the one she can answer right.
 

Drakia

Well-Known Member
Member
Joined
Mar 15, 2008
Messages
1,644
Trophies
2
Age
36
XP
2,596
Country
Canada
No offense, but I really don't see how it's confusing. They are all clearly named in such a way as to not be confusing.
Because end users don't know Linux, end users don't know what "/bin" is, they know what a 3ds is, and they know what apps are. Think like an idiot, not like a developer.

Also, if you're going to rip off POSIX, put logs in the right place, /3ds/var/log/
 

MsMidnight

part time fe modder
Member
Joined
Oct 12, 2015
Messages
1,753
Trophies
0
Location
kys
Website
camilla.hostfree.pw
XP
1,437
Country
Nope, nope nopenope. This is going to be confusing as HELL for your average user.

Yes, I understand what /bin, /log, /etc and all those are, I manage multiple servers. But go ask your mom if she's going to know what the "/bin" folder contains. Then ask if she knows what the "/apps" folder will contain. Aim for the one she can answer right.
how did moms even get into this lol
 

TurtleP

Well-Known Member
Member
Joined
Oct 7, 2015
Messages
140
Trophies
0
Age
28
Website
TurtleP.github.io
XP
308
Country
United States
@MsMidnight I think it's just ignorance. I'm not trying to sound rude when I say that nor trying to provoke anything. The average user as it's put would be able to figure it out without needing to know the Linux filesystem since it is all clearly labeled. Doing as @Drakia said as a direct way through POSIX would screw them over.
 

TurtleP

Well-Known Member
Member
Joined
Oct 7, 2015
Messages
140
Trophies
0
Age
28
Website
TurtleP.github.io
XP
308
Country
United States
That's what the proposal is. Keep 3DS but add folders to sort everything out. Everything is named in such a way to help the user know where things will go instead of placing random files and folders on root. When this design had been thought of on Discord we had in mind the simplicity of organization and understanding for non-developers too.
 

MsMidnight

part time fe modder
Member
Joined
Oct 12, 2015
Messages
1,753
Trophies
0
Location
kys
Website
camilla.hostfree.pw
XP
1,437
Country
@MsMidnight I think it's just ignorance. I'm not trying to sound rude when I say that nor trying to provoke anything. The average user as it's put would be able to figure it out without needing to know the Linux filesystem since it is all clearly labeled. Doing as @Drakia said as a direct way through POSIX would screw them over.
I agree with your proposal but do remember most of the scene is plagued with 12 year olds who would be clueless
 
  • Like
Reactions: Shadowhand

phalk

Handheld Maniac
Member
Joined
Apr 23, 2009
Messages
588
Trophies
1
Age
36
XP
2,080
Country
Brazil
I agree with this.
If HBL implements this structure I'll definitely change my apps to follow.

I'm one of those who hate the multiple folders in the sd card's root.
 

TheCruel

Developer
OP
Banned
Joined
Dec 6, 2013
Messages
1,350
Trophies
2
XP
3,131
Country
United States
So after some discussion on the discord channel of 3DS Hacking, a few of us came up with a format and want to know what you guys would think of it. I understand that /Homebrew/ is great and all, but the main issue with it is that while it is easy to identify, there's no guarantee the Wii U or Wii scenes will pick up on this, and only fair to assume they will not for now until they've shown interest in a possible merge. We came up with the following, based on the Linux file system:

Code:
sdmc:/
    3DS/
      bin/
      boot/
      etc/
      log/

Now here's the explanation: /bin/ is for homebrew binaries which are just going to be a 3dsx file alongside their smdh meta. It'd be simplified if we have those who use this homebrew format embed the smdh to the 3dsx since that can be done now. Furthermore, /boot/ is for arm9-based stuff. luma/payloads/ could be in there for Luma's executable boot payload files. The config would be placed inside of /etc/ under the folder labeled /luma/config.txt as it plainly is etc and would not fit in any other folder. Homebrews that have external files such as JKSM could plop output in there under /etc/JKSM/ or applications that rely on external data like Love Potion would place the game files inside of /etc/{appname}/{files}. Finally, /log/ is where any 3dsx or cia application logs would be placed. Luma3DS could dump its register error information in a format close to Luma_2-7-16_01:27.log.

If anyone needs more examples I will gladly provide them. Yes, this does not fix the minor issue that some use the same SD card, but it would clean up the mess they have from the scene.

I think that's starting to over-engineer it. /3ds/boot/ sounds good for cfw, but not general arm9 utilities. And /etc/ would make linux users think more about configuration files and not resources or general output files. You'd have to use like /usr/local/ or /usr/share/, and it's just starting to look like adopting a verbose organizational model where it doesn't belong. And it's expecting way too much from devs.

The main things needed are 1) opening up the /3ds/ directory for non-3dsx homebrew by migrating to a subdir like /3ds/apps/ and 2) having a standard subdir (like /3ds/appdata) to store data of non-3dsx homebrew and maybe 3) having a standard arm9 subdir of some kind.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Veho @ Veho: It's how we used to cheat at Pokewalker.