PS3 Exfat Support

so, ExFat seems to work for reading directories and file contents (tested with text files).
my drive was formatted on MacOs using default params.
do we need anything else for reading support?
who will integrate this in a file manager? :)

Nice work! :encouragement:

btw, I think the best option would be to make it portable as a binary library (e.g. libexfat.a ) so anyone with the binary lib and the header files could use it in their projects.
 
Nice work! :encouragement:

btw, I think the best option would be to make it portable as a binary library (e.g. libexfat.a ) so anyone with the binary lib and the header files could use it in their projects.

it is, but it is called libfatfs.a due to its heritage (same goes for libntfs..a). I only tested ExFat but it is supposed to support FAT as well.
 
it is, but it is called libfatfs.a due to its heritage (same goes for libntfs..a). I only tested ExFat but it is supposed to support FAT as well.

oh indeed, I think it's better to keep the original "fatfs" name, even if most devs will use it only for the exFAT part :)
 
so, ExFat seems to work for reading directories and file contents (tested with text files).
my drive was formatted on MacOs using default params.
do we need anything else for reading support?
who will integrate this in a file manager? :-)

Great work , hope @aldostools intergrate it to webman mod.


Sent from my iPhone using Tapatalk
 
so, ExFat seems to work for reading directories and file contents (tested with text files).
my drive was formatted on MacOs using default params.
do we need anything else for reading support?
who will integrate this in a file manager? :)

managunz for sure.

I'm curious why it doesn't write too ?
Does it support extrnal device id : dev_usb000 to dev_usb127, dev_cf, dev_sd, dev_mf ? the lib_ntfs support only dev_usb000 to 007

Also, to mount ISO you just have to create a function similar to ps3ntfs_file_to_sectors and a function which return the deviceID from the path
 
managunz for sure.

I'm curious why it doesn't write too ?
Does it support extrnal device id : dev_usb000 to dev_usb127, dev_cf, dev_sd, dev_mf ? the lib_ntfs support only dev_usb000 to 007

Also, to mount ISO you just have to create a function similar to ps3ntfs_file_to_sectors and a function which return the deviceID from the path
for now I just check usb000 to usb007 but adding the other devices should be possible.
I just enabled writing but it is strange: I can create files but not write to them.. need to debug.
 
"IT IS ALIVE!!!" ;-)=

--network debug [snip]--
network debug module initialized
ready to have a lot of fun
open drive 0 result 3 for 0x10300000000000a
Listing path contents for '1:/'
/.Spotlight-V100
/System Volume Information
/dir1
/dir2
/dir3
file1
file2
fs on '1:/' drive: 1, type: 4
sector size: 512, cluster size [sectors]: 256, size of an FAT [sectors]: 14336
number of FAT entries (number of clusters + 2): 1831418, number of FATs (1 or 2): 1
last cluster: -1, free clusters: -1
capacity: 223GB
open drive 1 result 0 for 0x10300000000000b
open drive 2 result 3 for 0x10300000000000c
open drive 3 result 3 for 0x10300000000000d
open drive 4 result 3 for 0x10300000000000e
open drive 5 result 3 for 0x10300000000000f
open drive 6 result 3 for 0x10300000000001f
open drive 7 result 3 for 0x103000000000020

press triangle to list contents of file '1:/file2'
press cross to create a test file '1:/dir3/fatfs.tst'
press rectangle to list contents of dir '1:/dir3'
network debug module initialized
ready to have a lot of fun
mounting drive '1:/'
writing to file '1:/dir3/fatfs.tst':
>disk_write:1 s 32256 c 1
>sync_window:*disk_write success
>disk_write:1 s 23040 c 1
>disk_write:1 s 18432 c 1
>sync_window:*disk_write success
>disk_write:1 s 32256 c 1
>sync_window:*disk_write success
mounting drive '1:/'
reading file '1:/dir3/fatfs.tst':
ThiS is A TeSt FiLe FoR wRiTiNg.
--
 
"IT IS ALIVE!!!" ;-)=

--network debug [snip]--
network debug module initialized
ready to have a lot of fun
open drive 0 result 3 for 0x10300000000000a
Listing path contents for '1:/'
/.Spotlight-V100
/System Volume Information
/dir1
/dir2
/dir3
file1
file2
fs on '1:/' drive: 1, type: 4
sector size: 512, cluster size [sectors]: 256, size of an FAT [sectors]: 14336
number of FAT entries (number of clusters + 2): 1831418, number of FATs (1 or 2): 1
last cluster: -1, free clusters: -1
capacity: 223GB
open drive 1 result 0 for 0x10300000000000b
open drive 2 result 3 for 0x10300000000000c
open drive 3 result 3 for 0x10300000000000d
open drive 4 result 3 for 0x10300000000000e
open drive 5 result 3 for 0x10300000000000f
open drive 6 result 3 for 0x10300000000001f
open drive 7 result 3 for 0x103000000000020

press triangle to list contents of file '1:/file2'
press cross to create a test file '1:/dir3/fatfs.tst'
press rectangle to list contents of dir '1:/dir3'
network debug module initialized
ready to have a lot of fun
mounting drive '1:/'
writing to file '1:/dir3/fatfs.tst':
>disk_write:1 s 32256 c 1
>sync_window:*disk_write success
>disk_write:1 s 23040 c 1
>disk_write:1 s 18432 c 1
>sync_window:*disk_write success
>disk_write:1 s 32256 c 1
>sync_window:*disk_write success
mounting drive '1:/'
reading file '1:/dir3/fatfs.tst':
ThiS is A TeSt FiLe FoR wRiTiNg.
--
WOW, EXCELLENT WORK FRIEND!
 
another backup manager like multiman?

Only @deank can add this to MultiMAN as its a "Closed Source" backup manager, so its up to him if hes going to add this to MultiMAN, no one else can do it.

so is it possible to add this to webman

I would of thought that @aldostools would add this to his 2 backup manager's webMAN MOD and IRISMAN, but it's when he's get time to do this.

Also with webMAN MOD and IRISMAN being open source it could be added by some else, or some could give it ago as the source code is on GitHub for both apps.
 
Only @deank can add this to MultiMAN as its a "Closed Source" backup manager, so its up to him if hes going to add this to MultiMAN, no one else can do it.



I would of thought that @aldostools would add this to his 2 backup manager's webMAN MOD and IRISMAN, but it's when he's get time to do this.

Also with webMAN MOD and IRISMAN being open source it could be added by some else, or some could give it ago as the source code is on GitHub for both apps.
That's great!! I think exFat should work better than ntfs.
 
for the I/O interface I'm thinking of a smart/flexible/dynamic attach/detach approach to avoid scanning all/certain devices and not others and keep resources blocked uselessly.
it will also be easier to manage which device is mapped to which drive.
and yes, I'll have to look at how we could have file_to_sectors API which I'm not familiar with yet.
 
for the I/O interface I'm thinking of a smart/flexible/dynamic attach/detach approach to avoid scanning all/certain devices and not others and keep resources blocked uselessly.
it will also be easier to manage which device is mapped to which drive.
and yes, I'll have to look at how we could have file_to_sectors API which I'm not familiar with yet.
In the last ManaGunZ version there is a "external device monitor thread" running while you are inside the program

To see how it works enter in the filemanager, open a explorer window and stay at "root" (the view mode where you see the icons of the devices)

Then plug/unplug USB devices (or Compact Flash, Memory Stick, Secure Digital cards in the CECHA PS3 models with the multicard reader) and you will see how appears a notification (in the upper-right corner of the screen) advising of the state and names of the devices connected/disconnected
Also, you will see how the device icons appears/dissapears

Im mentioning it because is already made, you could take a look at how zar made it to copy it... or you could continue the development over managunz

The "file_to_sectors" function... i dont know, but i bet zar is going to take a look at it soon or later :)
 
yes, you need a monitor for detection but attaching to the FS is something else.
the lib won't do live detection, that's the job of the monitor, but the lib takes care of attaching the device to a file system instance.


Sent from my iPhone using Tapatalk
 
Wow amazing That's great !! , I hope
@aldostools add exfat feature to web man mod and irisman if he have time to do it?

At the moment I cannot dedicate time to this project.

If someone is interested in adding it to webMAN MOD, I suggest to do something similar to the code for NTFS in the following lines:

For file listing:
https://github.com/aldostools/webMAN-MOD/blob/master/include/file_manager.h#L518
https://github.com/aldostools/webMAN-MOD/blob/master/include/file_manager.h#L546
https://github.com/aldostools/webMAN-MOD/blob/master/include/file_manager.h#L729
https://github.com/aldostools/webMAN-MOD/blob/master/include/file_manager.h#L749
https://github.com/aldostools/webMAN-MOD/blob/master/include/file_manager.h#L798

For downloading the file:
https://github.com/aldostools/webMAN-MOD/blob/master/main.c#L2875
https://github.com/aldostools/webMAN-MOD/blob/master/main.c#L2884
https://github.com/aldostools/webMAN-MOD/blob/master/main.c#L2942
https://github.com/aldostools/webMAN-MOD/blob/master/main.c#L3049

For copying and other file tasks:
https://github.com/aldostools/webMAN-MOD/blob/master/include/file.h

For FTP tasks (listing, reading, writing, etc):
https://github.com/aldostools/webMAN-MOD/blob/master/include/ftp.h

There are more places to change, these are the most relevant parts.

If some developer need my assistance can email me.

As libfatfs.is built with PSL1GHT, I'm not sure if it webMAN MOD will accept it, due it is built using the official SDK.


In IRISMAN, these modules are the ones that need to be updated:
https://github.com/aldostools/IRISMAN/blob/master/source/main.c
https://github.com/aldostools/IRISMAN/blob/master/source/file_manager.c
https://github.com/aldostools/IRISMAN/blob/master/source/file_copy.h
https://github.com/aldostools/IRISMAN/blob/master/source/utils.c
https://github.com/aldostools/IRISMAN/blob/master/source/ftp/client.c

There is a good amount of work and tests to do...so, good luck!
 

Similar threads

Back
Top