Is there any existing tool which can remove an emunand/rednand partition from the SD card and non-destructively resize the FAT partition back up to the full size of the card?
EmuNAND9.Is there any existing tool which can remove an emunand/rednand partition from the SD card and non-destructively resize the FAT partition back up to the full size of the card?
EmuNAND9.
Yeah, I get that, I'm wondering if anyone has bothered making a version of the tool that can rewrite the partition/FAT nondestructively instead. I've got friends who only have access to cellphones instead of PCs, and one of the few things that I can't walk them through is removing their old EmuNAND partitions without losing data.Decrypt9 can format (without RedNAND) meaning that it'll format it just like the computer would
I don't think that's even feasibly possible. Even if the 3DS was capable of removing partitions by itself (I don't know if it's possible), the 3DS may no longer recognize the SD card afterwards.Yeah, I get that, I'm wondering if anyone has bothered making a version of the tool that can rewrite the partition/FAT nondestructively instead. I've got friends who only have access to cellphones instead of PCs, and one of the few things that I can't walk them through is removing their old EmuNAND partitions without losing data.
I don't think that's even feasibly possible. Even if the 3DS was capable of removing partitions by itself (I don't know if it's possible), the 3DS may no longer recognize the SD card afterwards.
Maybe people just can't be bothered to do it?Low level IO is already utilized by Decrypt9/EmuNAND9 while formatting/partitioning, though their choice of the FatFs lib might not be capable of non-destructive operations itself. There's definitely no hardware limitation on being able to do this sort of thing, there's just no existing tools that I'm aware of so far.
Oh, right. I forgot how bad the 3DS is in terms of that kind of stuff.the main reason the feature isn't anywhere is the 3ds is ungodly slow in terms of IO speed, it'd take forever to expand a fat32 partition in the configuration that we have redNAND set up in (you'd have to move the fat32 "to the left" (which means closer to sector 0)) therefore, there aren't any tools to do it with... it might be practical for low GB cards, but for anything over... I'd say 8 GB, you're looking at quite some time
the main reason the feature isn't anywhere is the 3ds is ungodly slow in terms of IO speed, it'd take forever to expand a fat32 partition in the configuration that we have redNAND set up in (you'd have to move the fat32 "to the left" (which means closer to sector 0)) therefore, there aren't any tools to do it with... it might be practical for low GB cards, but for anything over... I'd say 8 GB, you're looking at quite some time
Wrong. You'd need to move at least the header and MBR, again, to the left to take advantage of the new space (you can't tell fat to look at addresses before the header, and to move the header, you're going to want to move the rest of the partition as well) unless I'm missing something hereYou should't need to move the files on the filesystem beyond the initial NAND size while creating the partition, anything beyond that could be left in place and you can just update the FAT to point to the new location, for deleting it would be even easier, with no files moving at all.
Yeah, you'd have to rewrite the MBR, and the FAT, and write the new offsets for all of the files in the FAT, but that's realistically only a few hundred KB of data. The actual file storage can remain in the same location on the SD card. If you're making a new emunand partition, you'd have to copy all of the allocated blocks in that first GB or so to somewhere later in the disk. But anything already allocated in space that isn't changing just needs the FAT entry updated to point to its new position, the stored data itself doesn't have to be touched.Wrong. You'd need to move at least the header and MBR, again, to the left to take advantage of the new space (you can't tell fat to look at addresses before the header, and to move the header, you're going to want to move the rest of the partition as well) unless I'm missing something here
I think he's implying that you could update the inodes (not sure if that's the right term?) instead of moving the files. I would think that would be possible when removing EmuNAND at least... but I know almost nothing about the low level details of file systems so I may be completely off.Wrong. You'd need to move at least the header and MBR, again, to the left to take advantage of the new space (you can't tell fat to look at addresses before the header, and to move the header, you're going to want to move the rest of the partition as well) unless I'm missing something here
Yeah, they're not inodes in FAT, but that's exactly how it works... There was an old GPL program called FIPS in the 90s that would handle this sort of thing, but I can't find the source for it anywhere... Parted and the like still do it, but I suspect they're far more complicated due to additional features than is really needed to pull this off on the 3DS.I think he's implying that you could update the inodes (not sure if that's the right term?) instead of moving the files. I would think that would be possible when removing EmuNAND at least... but I know almost nothing about the low level details of file systems so I may be completely off.
FatFS (what /every/ arm9 application uses for SD access) might be able to help you out thereYeah, they're not inodes in FAT, but that's exactly how it works... There was an old GPL program called FIPS in the 90s that would handle this sort of thing, but I can't find the source for it anywhere... Parted and the like still do it, but I suspect they're far more complicated due to additional features than is really needed to pull this off on the 3DS.
FatFS (what /every/ arm9 application uses for SD access) might be able to help you out there