Homebrew 3DShell - Multi-purpose File Manager for the 3DS

Joel16

Ils ne passeront pas
OP
Member
Joined
May 8, 2011
Messages
933
Trophies
2
Age
27
Location
Doesn't concern you.
XP
5,288
Country
United States
Sadly enough, the latest release got overshadowed by the whole banwave fiasco and I didn't get any feedback. Hopefully there hasn't been any issues (at least from what I've tested I haven't faced any).

I'm currently tackling this guy:
6NwIUIZ.png


I tried writing my own FTP server (turned out worse than porting ftplibvita), but me and working with net/sockets just don't come along well and so I had to end up basing it off of mtheall's ftpd's latest commit. With FTP initialized file browsing isn't going to be possible until it has been disconnected. Also with that screenshot in mind, I'm aware that the DCIM folder says year '2000'. Oddly enough that's what sdmc_getmtime returns for folders created by the Nitendo3DS itself (Nintendo 3DS folder, DCIM folder etc). Every other folder/file displays the correct date and time. The date format is wrong here as well, it's currently using the asian date format (Y/M/D) for testing purposes.
 
  • Like
Reactions: Billy Acuña

MattKimura

3DS & WiiU Enthusiast
Member
Joined
Jun 30, 2014
Messages
2,137
Trophies
1
XP
2,937
Country
United States
I knew the banwave incident would have an effect on this app, that's what I was worried about.
Hey don't worry too much about the FTP feature, usually when we use FTPD to send/receive files, you can already see the complete filetree and we usually manage stuff from there while also sending/receiving files. So for now, let 3DShell be a file manager until the FTP can be figured out later.

I gotta say, 3DShell makes one heck of a good image viewer. Never once seen a homebrew that could display images, you can convert png images to 400x240 and it will be displayed fullscreen on top. If this feature can be improved, it'd be awesome. I find that after viewing a few images, the program will crash and restart. usually after about 10 images or so. As if it runs out of RAM or something and overloads. Also a bit annoying for it to display the file name when displaying every image for the first time. And no way to cycle through without backing out of the current image. This may not be something you want to work on right now, I'll leave you to work on the better features and stability.
 
  • Like
Reactions: Joel16

Billy Acuña

Well-Known Member
Member
Joined
Oct 10, 2015
Messages
3,126
Trophies
1
Age
31
XP
3,701
Country
Mexico
I think FTP feature can perfectly without the need of browsing while connected ATM. FTP feature "on the fly" can wait, but FTP at this state would still be a nice feature for 3DShell IMO.
Waiting for your next release :D
 
Last edited by Billy Acuña,
  • Like
Reactions: Joel16

Joel16

Ils ne passeront pas
OP
Member
Joined
May 8, 2011
Messages
933
Trophies
2
Age
27
Location
Doesn't concern you.
XP
5,288
Country
United States
I knew the banwave incident would have an effect on this app, that's what I was worried about.
Hey don't worry too much about the FTP feature, usually when we use FTPD to send/receive files, you can already see the complete filetree and we usually manage stuff from there while also sending/receiving files. So for now, let 3DShell be a file manager until the FTP can be figured out later.

I gotta say, 3DShell makes one heck of a good image viewer. Never once seen a homebrew that could display images, you can convert png images to 400x240 and it will be displayed fullscreen on top. If this feature can be improved, it'd be awesome. I find that after viewing a few images, the program will crash and restart. usually after about 10 images or so. As if it runs out of RAM or something and overloads. Also a bit annoying for it to display the file name when displaying every image for the first time. And no way to cycle through without backing out of the current image. This may not be something you want to work on right now, I'll leave you to work on the better features and stability.

Hey, thanks for the feedback! FTP is basically implemented btw, although it's a bit wonky ATM so it's just a matter of ironing out some minor issues.

Also I think I know what exactly may be causing the image crashes. Doesn't sound like a memory leak or anything cause I'm sure the image viewer frees the images properly. I have a strong feeling that it's the sleepthread messing up here. I recently removed the sleepthreads when opening files to improve speed and reduce waiting times, but I'm gonna have to add a slight delay when loading images. Pressing 'B' on an image that hasn't fully finished rendering should result in a crash. I just tested it on mine, loaded up to like 25+ images, but then I pressing pressing B a bit faster than usual and it resulted in a crash.

I do plan on improving the image viewer in a future update. I'm probably going to add functions for zooming in/out using the analog stick and probably rotation among other things as well. I'll also look into your suggestion in cycling through the images.
 
  • Like
Reactions: MattKimura

pixelmasher

Gaming Gamer
Member
Joined
Dec 12, 2016
Messages
1,668
Trophies
0
Location
Near N2DS XL
XP
971
Country
United States
Sadly enough, the latest release got overshadowed by the whole banwave fiasco and I didn't get any feedback. Hopefully there hasn't been any issues (at least from what I've tested I haven't faced any).

I'm currently tackling this guy:
6NwIUIZ.png


I tried writing my own FTP server (turned out worse than porting ftplibvita), but me and working with net/sockets just don't come along well and so I had to end up basing it off of mtheall's ftpd's latest commit. With FTP initialized file browsing isn't going to be possible until it has been disconnected. Also with that screenshot in mind, I'm aware that the DCIM folder says year '2000'. Oddly enough that's what sdmc_getmtime returns for folders created by the Nitendo3DS itself (Nintendo 3DS folder, DCIM folder etc). Every other folder/file displays the correct date and time. The date format is wrong here as well, it's currently using the asian date format (Y/M/D) for testing purposes.
Could you use ISO standard for time? https://xkcd.com/1179/
 

MattKimura

3DS & WiiU Enthusiast
Member
Joined
Jun 30, 2014
Messages
2,137
Trophies
1
XP
2,937
Country
United States
This looks awesome. But is this only available as CIA? The latest ban scare has me wary of CIAs right now.
But then why would you be online during times like this anyways? You should be offline and just enjoy this nicely made homebrew. If you're staying online then that means you're either testing Nintendo, or don't care and playing online for as long as you can last. Chances are the non banned users are already doomed regardless. You aren't really ban evading by keeping your wifi on. Enjoy the offline aspects of the system and keep you wifi off. Installing and running cia homebrew offline is perfectly fine.

Give this man some credit, stop involving his work with the ban situation.
 
Last edited by MattKimura,
  • Like
Reactions: Joel16

Joel16

Ils ne passeront pas
OP
Member
Joined
May 8, 2011
Messages
933
Trophies
2
Age
27
Location
Doesn't concern you.
XP
5,288
Country
United States
Could you use ISO standard for time? https://xkcd.com/1179/

I mean I can, but not sure if I want to due to consistency reasons. I try to keep things consistent with the official app, so I'm not sure if I want to do that. Also this displays the date format that's native to your region. CHN: yyyy/mm/dd and US: mm/dd/yyyy. Due to testing purposes the screenshot above shows me using an Asian date format.

This looks awesome. But is this only available as CIA? The latest ban scare has me wary of CIAs right now.

Yeah sorry, I don't wanna deal with problems in .3dsx plus a few of these services aren't accessible in homebrew launcher so this is going to have to be CIA only.
 

Joel16

Ils ne passeront pas
OP
Member
Joined
May 8, 2011
Messages
933
Trophies
2
Age
27
Location
Doesn't concern you.
XP
5,288
Country
United States
Good news, next release should be the last test build (hopefully).
FTP has been implemented and will be available in the next release. I've also been working on something else with a good friend of mine. Have a look at the spoiler below.

3DShell Theme manager: Displaying Gore Magala theme by preetisketch.

aJS1XbT.png


And a shitty "Blood Red" mock-up by me.
DWPOrij.png
 

Billy Acuña

Well-Known Member
Member
Joined
Oct 10, 2015
Messages
3,126
Trophies
1
Age
31
XP
3,701
Country
Mexico
Good news, next release should be the last test build (hopefully).
FTP has been implemented and will be available in the next release. I've also been working on something else with a good friend of mine. Have a look at the spoiler below.

3DShell Theme manager: Displaying Gore Magala theme by preetisketch.

aJS1XbT.png


And a shitty "Blood Red" mock-up by me.
DWPOrij.png
YES!!! This is freaking beautyful. I can't wait for the next release of your amazing 3DShell!!!
Btw, is the file toggling fuctional at this state?
 
  • Like
Reactions: Joel16

Joel16

Ils ne passeront pas
OP
Member
Joined
May 8, 2011
Messages
933
Trophies
2
Age
27
Location
Doesn't concern you.
XP
5,288
Country
United States
I haven't forgotten about this, I've just been busy with other stuff. Anyways next release should be coming soon, and I want to get two things done before that.

Language: https://t.co/OahTEXQZkM
I've put up a transifex page so that users may submit translations according to their languages. There are 11 languages, and these are the ones official supported by the 3DS. I don't plan on adding any more. It's quite easy, all you have to do is register, hit the translate button and choose your language. Also please try to keep your word choices simple. If your text is too long, and it may result in overlapping.

Themes: https://github.com/joel16/3DShell/wiki/Theme-Guide
I've finally written up a theme guide so that users may submit themes. It would be nice to see a wide variety of themes. I'm willing to also send you test builds which you can use to ensure your theme is working. This is one way of getting me more motivated to continue working on this project, since recently I've been feeling rather demotivated due to the lack of support. I wish to see a dark theme soon! :d

Here's a look at how much you can customize:

b62ZKtE.png
 
Last edited by Joel16,

Ryuzaki_MrL

Green Thunder
Member
Joined
Jun 23, 2015
Messages
781
Trophies
0
Age
26
XP
2,043
Country
Brazil
I haven't forgotten about this, I've just been busy with other stuff. Anyways next release should be coming soon, and I want to get two things done before that.

Language: https://t.co/OahTEXQZkM
I've put up a transifex page so that users may submit translations according to their languages. There are 11 languages, and these are the ones official supported by the 3DS. I don't plan on adding any more. It's quite easy, all you have to do is register, hit the translate button and choose your language. Also please try to keep your word choices simple. If your text is too long, and it may result in overlapping.

I'm willing to help with portuguese. Could you make pt-br available also, since it is a bit different than pt-pt?
 

Joel16

Ils ne passeront pas
OP
Member
Joined
May 8, 2011
Messages
933
Trophies
2
Age
27
Location
Doesn't concern you.
XP
5,288
Country
United States
I'm willing to help with portuguese. Could you make pt-br available also, since it is a bit different than pt-pt?

Oh right, well the thing is I'm planning on making it automatically use whatever language that CFG_language returns. And these are:

typedef enum
{
CFG_LANGUAGE_JP = 0, ///< Japanese
CFG_LANGUAGE_EN = 1, ///< English
CFG_LANGUAGE_FR = 2, ///< French
CFG_LANGUAGE_DE = 3, ///< German
CFG_LANGUAGE_IT = 4, ///< Italian
CFG_LANGUAGE_ES = 5, ///< Spanish
CFG_LANGUAGE_ZH = 6, ///< Simplified Chinese
CFG_LANGUAGE_KO = 7, ///< Korean
CFG_LANGUAGE_NL = 8, ///< Dutch
CFG_LANGUAGE_PT = 9, ///< Portugese
CFG_LANGUAGE_RU = 10, ///< Russian
CFG_LANGUAGE_TW = 11, ///< Traditional Chinese
} CFG_Language;

I'm not sure if that's pt-pt or pt-br, but I'd assume it's pt-pt due to the rest of the European languages available.
 

Billy Acuña

Well-Known Member
Member
Joined
Oct 10, 2015
Messages
3,126
Trophies
1
Age
31
XP
3,701
Country
Mexico
I haven't forgotten about this, I've just been busy with other stuff. Anyways next release should be coming soon, and I want to get two things done before that.

Language: https://t.co/OahTEXQZkM
I've put up a transifex page so that users may submit translations according to their languages. There are 11 languages, and these are the ones official supported by the 3DS. I don't plan on adding any more. It's quite easy, all you have to do is register, hit the translate button and choose your language. Also please try to keep your word choices simple. If your text is too long, and it may result in overlapping.

Themes: https://github.com/joel16/3DShell/wiki/Theme-Guide
I've finally written up a theme guide so that users may submit themes. It would be nice to see a wide variety of themes. I'm willing to also send you test builds which you can use to ensure your theme is working. This is one way of getting me more motivated to continue working on this project, since recently I've been feeling rather demotivated due to the lack of support. I wish to see a dark theme soon! :d

Here's a look at how much you can customize:

b62ZKtE.png
I guess I'll help with spanish translation.
Waiting here for the release :D
 
  • Like
Reactions: Joel16

Jacklack3

( ゚ヮ゚) buddie was here
Member
Joined
Oct 6, 2015
Messages
1,863
Trophies
1
Location
Canada
Website
jackomix.neocities.org
XP
3,794
Country
Canada
No, the top screen is already small enough I don't want to switch to something smaller, sorry.



Haven't begun coding the theme engine as yet, so I'd wait.


Anyways Test build 2 is up (This is rather more stable than the first release, at least in terms of handling files.)

Change-log:

  • Prevent parent dirs from being copied or cut.
  • Fixed folder flag not registering file type.
  • Fixed recursive deletion.
  • Fixed copy/cut on single files and with recursion.
  • Fixed batter charge state not being displayed when charging.
  • Fixed bug with file properties on certain files. (Certain files used to cause the program to hang and would require a hard reset)
  • Cancel button now works in file options. (This also resets the current file from being copied/cut).
  • 'Settings' is now open with a system protection toggle. (BGM toggle is disabled, hence why it's grey'd out).
    Basically this feature prevents system files such as boot.firm, the Nintendo 3DS folder from being deleted, at least from 3DShell.

h0F6JAM.png

Download: https://github.com/joel16/3DShell/releases/tag/v1.0.1

chart

If you find any issues submit them to GitHub's issue tracker: https://github.com/joel16/3DShell/issues
I agree with you, it is pretty small enough, however I idea I have would be to create a trackpad. It would also create a little ball on the top screen so you could see where you are. This way you could do top screen while still having touch controls.
 
  • Like
Reactions: Joel16

wsquan171

Well-Known Member
Member
Joined
Feb 14, 2015
Messages
289
Trophies
0
XP
669
Country
China
Finished Simplified Chinese translation. Seems not a lot there to translate. Will you keep using this platform in the future when new texts needs to be translated?
 
  • Like
Reactions: Joel16

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: Psi can make an AI babe lol.