Hey everyone,
it's been a while since I wrote here last time as I was busy with private stuff the last couple of weeks but I started doing some WiiU stuff a few days ago and I though maybe I will post some wip info.
I was working on native FAT32 USB mounting on IOS side. It took quite a bit of reversing time and was harder to figure out than I first expected it to be. I had to figure out many internal processes nintendo uses and how they interoperate between them in FS, MCP and ACP but by know I figured the most necessary things out and also found several ways to do it. So I chose one way and it works pretty well and looks promising
.
So what I managed to do by now is an automatic FAT32 USB mount in the system that is treated by the system very similar to the WFS USB mounts. Meaning the system does see the USB drive as an actual Wii U formatted usb drive. The System Menu does list the titles on the partition in the "/usr/" folder on the drive and even the System Settings see the drive and can copy titles over. So basically you don't really see any difference between a WiiU formatted drive and a FAT32 formatted drive which is pretty cool.
Additionally as a bonus the FAT32 partition of my USB drive became automatically the first "external mount source" on the WiiU after my changes. The "external mount sources" are FAT drives on the WiiU and is usually only used by the SD card. So by becoming the first external mount source everything that is normally loaded from SD card is now loaded from the FAT32 usb partition. That includes homebrews like HBL and even loadiine. It just runs directly without any change to the actual homebrews. Of course you can see this as a negative side effect as the SD is 2nd external source and is not directly used by the homebrews without any code change to them. So I will look at it later and probably make the USB the 2nd external mount source and the homebrews can mount it on demand. So that's something to look forward to.
But there are also some issues left to be addressed before making this new feature public. The FAT32 filesystem does not support every feature that the native WiiU filesystem WFS supports, for example it does not support changing owner of a folder/file and does not support any kind of file/folder modes/permission flags. This is something usually only supported on unix based filesystems or similar. Another thing FAT32 does not support is the quota system that nintendo developed for game saves storing. It restrains a folder to a specified size. You can not set a restrain of size to a FAT32 folder.
So what the next steps are is to patch the FSA functions to be always successful on USB FAT partitions in FS module and do what's minimum necessary to make it look like it is supported ( i mean who cares if a folder has a size restrain for game's save
). If this part is not done, then creating saves for games that are newly added is not possible and will fail...just as example. Also ACP throws system errors in some cases because the file owner or mode flags can not be changed which sucks to. But those are really small things compared to the rest and shouldn't take much time to do.
So that's where I am at the moment. It's too bad I didn't make it in time for new year's eve as that was kind of my goal and since I will be gone the next two days I won't make it in time anymore. But you can look forward for a nice new feature in the year 2017 for mocha
.
That said I wish a happy new year's eve to everyone tommorow and later a happy new year.