ROM Hack ninfs - FUSE filesystem Python scripts for Nintendo console files

TheLegendofMario

Well-Known Member
Member
Joined
May 15, 2016
Messages
179
Trophies
0
Age
26
XP
340
Country
United States
So if I use this program in theory I can take the SD card from one 3DS and mount it's contents in ninfs, then literally just copy a save from a lost 2DS to another 3DS SD card and it would work?
 
Last edited by TheLegendofMario,

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,855
Country
United States
So if I use this program in theory I can take the SD card from one 3DS and mount it's contents in ninfs, then literally just copy a save from a lost 2DS to another 3DS SD card and it would work?
You can do this for all SD contents. Game contents (the app and tmd files) would require an additional step to fix the cmd files. GodMode9 will be able to do this in the future.
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,855
Country
United States
I just pushed a new gui for ninfs that is almost complete. It's inspired by OSFMount. It's on the 2.0 branch (the default one) if you want to give it a try.
img1.png

Setting up a new mount is done through a multi-step wizard that should hopefully be less confusing. Multiple mounts can be done at once in case you wanted to view the contents of multiple games or open something inside another file (e.g. dlpchild inside a game or system titles inside a nand image).

The other main changes and missing features are:
  • Windows only shows drive letters for mountpoints now. This should make it less confusing about what it's doing. This has the side effect of not working with OSFMount if ninfs is not run as administrator, but hopefully this would be resolved soon.
  • Not tested on Linux and macOS yet. Also the option to change external user access (allow_root, allow_other) is currently missing, so unless ninfs is run as root, root tools like mount can't be used in it.
  • Currently missing a properties window and update checks.
  • Doesn't check if libfuse works yet.
  • "About" window is incomplete.
The console window no longer shows all the time on Windows, and it also will show the output on crashes and failures.
img2.png


https://github.com/ihaveamac/ninfs

Support can be provided in this thread or in my server on Discord: https://discord.gg/YVuFUrs (You can also get update notifications here!)
 
Last edited by ihaveahax,

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,855
Country
United States
I released 2.0a4 with some more things, most of which have been sitting in the commits for a while https://github.com/ihaveamac/ninfs/releases/tag/v2.0a4
  • ExeFS: Only try to decompress .code if it exists
  • GUI: Don't try to set window icon on non-Windows platforms (might be fixed for Linux/etc later)
  • NCCH: Fix volume name display, breaking the mount on Windows and macOS
  • GUI: Fix importing fusepy and displaying error if it fails
  • CDN: Actually use decrypted titlekey specified with --dec-key (was completely non-functional)
  • Require pyctr==0.4.6 (only relevant to non-standalone build users)
 
  • Like
Reactions: ber71 and fmkid

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,855
Country
United States
I release 2.0a5 which has a new type and a standalone build for macOS once again. https://github.com/ihaveamac/ninfs/releases/tag/v2.0a5
  • A new type was introduced: iQue Player NAND backups (nandbb). Currently read-only. Thanks to @Jhynjhiruu for implementing this! #77
  • The macOS standalone build is back and uses PyInstaller. It no longer automatically starts with Terminal. It also works when launched inside the DMG unlike before.
    • It is not ready for Apple Silicon / M1 devices! If you're using one, you might need to install Python, then install ninfs as a package with pip instead. (Or run from the repo.)
    • It's still not signed, so Gatekeeper will get in the way. On Big Sur you might need to control-click and choose "Open" twice to get the option to open it.
  • Centralize all mount info into a module called mountinfo to make adding new types easier in the future. See DEVELOPMENT.md for details.
  • Fix total size display
  • Relax pyctr requirement to >=0.4,<0.5 (meaning any 0.4.X version)
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,855
Country
United States
I released 2.0a6 with some important fixes: https://github.com/ihaveamac/ninfs/releases/tag/v2.0a6
  • Fix Nintendo Switch NAND mount not working properly with 32-bit Python on Windows (which the standalone build uses)
  • Show partitions in Nintendo DSi NAND mount again (#82)
  • Properly support the "Quit" menu option on macOS and Command-Q (#81)
 
  • Like
Reactions: ber71

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,855
Country
United States
I released 2.0a7 with a new SD title mount type and a universal2 binary for Mac. https://github.com/ihaveamac/ninfs/releases/tag/v2.0a7
  • Universal binary for macOS, providing native Apple Silicon support
  • New "Installed SD Title Contents" mount, which works directly on decrypted SD titles (such as those inside the SD mount). Choose the TMD file inside /title/(tidhigh)/(tidlow)/content.
  • Add icon_small.png and icon_large.png inside ExeFS mounts
  • Other internal updates and changes
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,855
Country
United States
I released 2.0a9 with even more important changes. https://github.com/ihaveamac/ninfs/releases/tag/v2.0a9
  • Mac application is now signed and notarized by Apple
  • Fix not showing all drive letters in the Windows GUI mount, only A and B
  • Always set write bit in mounts (except SD)
    • This makes it easier to deal with files that have been copied out of the mount, since chmod won't be required to set the write bit.
  • Include Internet Access Policy for Little Snitch
  • Fix DMG build not properly copying the application
  • Update WinFSP url
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,855
Country
United States
I released 2.0a10, not a big release but it has a few important fixes. https://github.com/ihaveamac/ninfs/releases/tag/v2.0a10
  • Windows/GUI: Fix tkinter failing to find tcl/tk when installed in paths that contain non-Latin characters
  • nandhac: Fix problems loading multipart images on Linux when the mount process is not in the foreground
  • macOS: Try to load fuse-t if macFUSE can't be found (#103)
    • fuse-t is an alternative to macFUSE that doesn't depend on a kernel extension, making it easier to install on modern macOS. It should work just as well but please file issues.
  • macOS: Only display filename in volume name and not the containing directory for mounts that do this
 
  • Like
Reactions: ber71

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,855
Country
United States
I released 2.0a11, just a small release again, but like the last few times it has some important fixes. https://github.com/ihaveamac/ninfs/releases/tag/v2.0a11
  • Accept non-ASCII game titles for SRL/NDS (some homebrew applications do this)
  • Windows Installer: update pre-included WinFsp
    • The installer does not update WinFsp for you, if you want to update it, you must do it separately.
  • Linux: creating desktop entry now includes the full path to the python3 executable
  • Python 3.8 or later is required, this does not affect standalone builds
  • Update pyctr requirement to 0.7.x (standalone builds use 0.7.3)
  • Other various internal changes
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,855
Country
United States
I released 2.0. Compared to 2.0a11 this release fixes only one issue, but I decided now to stop calling it an alpha. Partly because it was always an arbitrary label, but also it was causing problems in certain areas like pip (which treats it as pre-release software and doesn't install it by default). I think it's probably more stable than the last so-called stable release 5 years ago. https://github.com/ihaveamac/ninfs/releases/tag/v2.0

With this release the AUR packages are also finally updated: https://aur.archlinux.org/packages/ninfs https://aur.archlinux.org/packages/ninfs-git
  • Fix corruption with New 3DS CTRNAND
    • This mainly affected standalone builds. Other installation methods that didn't use pyctr 0.7.3 were not affected.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Psionic Roshambo @ Psionic Roshambo:
    Pineapple is the safe word?
  • Psionic Roshambo @ Psionic Roshambo:
    But you said pine apple...
  • Psionic Roshambo @ Psionic Roshambo:
    Ughh gonna be bored today, class for new job has a lot of networking material and I'm certified in that already...
  • Veho @ Veho:
    Peen apple.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    "pine unf apple" doesn't count! Lol
  • Psionic Roshambo @ Psionic Roshambo:
    Employee code of conduct videos are awesome!!! Did you know eating the other employees is bad? I didn't know... Lol
    +1
  • AncientBoi @ AncientBoi:
    Anymore males there? :blush:
  • Psionic Roshambo @ Psionic Roshambo:
    All of us lol
  • Psionic Roshambo @ Psionic Roshambo:
    I got free every channel so that's awesome lol
    +1
  • AncientBoi @ AncientBoi:
    Give me ALL the gay pron channels, since you won't be watching them :blush::D
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Lol they exist?
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Hmmm so Mario Does Luigi's plumbing is a bad movie? Lol
  • Psionic Roshambo @ Psionic Roshambo:
    These videos are soooo dry
  • Psionic Roshambo @ Psionic Roshambo:
    Please click all suspicious links sent your email
  • BigOnYa @ BigOnYa:
    What to do today? Cut grass for 3-4 hours, or just get drunk and play video games... Hmm
  • BigOnYa @ BigOnYa:
    I need a remote controlled mower, so I can sit on the couch and do both.
  • BigOnYa @ BigOnYa:
    Sounds good to me, video games and booze it is then.
    +1
  • denpafan @ denpafan:
    Good choice
    +1
  • BigOnYa @ BigOnYa:
    Now what to play, Starfield or Fallout4. And what to drink, beer or Whiskey and Coke. Such tough decisions.
  • BigOnYa @ BigOnYa:
    Looks like its whiskey & coke, only 4 beers left. And think ill start with Falllout. :grog:
  • rqkaiju2 @ rqkaiju2:
    THIS IMAGE IS SO SCARY WTF. THAT SURE AS HELL IS NOT A CAT THATS LIKE A FUCKING DEMON

    Untitled2.png
    rqkaiju2 @ rqkaiju2: THIS IMAGE IS SO SCARY WTF. THAT SURE AS HELL IS NOT A CAT THATS LIKE A FUCKING DEMON