PS3 Exfat Support

Discussion in 'Help & Support' started by LuanTeles, Jan 20, 2020.

  1. 232
    109
    97
    Louis Garry

    Louis Garry Member

    Joined:
    Jul 11, 2018
    Messages:
    232
    Likes Received:
    109
    Trophy Points:
    97
    Gender:
    Male
    Amazing
     
    ayassinsayed and Niander466 like this.
  2. 76
    155
    32
    tps

    tps Member

    Joined:
    Jan 22, 2020
    Messages:
    76
    Likes Received:
    155
    Trophy Points:
    32
    Gender:
    Male
    maybe, but not yet.

    anyhow, for who might be interested, I pulled it into its own repo for ease of use, with example for ps3 https://github.com/lmirel/fatfs_psx
    I think writing support should follow next.
    keep you guys posted
     
  3. 76
    155
    32
    tps

    tps Member

    Joined:
    Jan 22, 2020
    Messages:
    76
    Likes Received:
    155
    Trophy Points:
    32
    Gender:
    Male
  4. 468
    795
    147
    bucanero

    bucanero Developer

    Joined:
    Jun 29, 2019
    Messages:
    468
    Likes Received:
    795
    Trophy Points:
    147
    Gender:
    Male
    Location:
    Argentina
    Home Page:
    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.
     
    ayassinsayed and Niander466 like this.
  5. 76
    155
    32
    tps

    tps Member

    Joined:
    Jan 22, 2020
    Messages:
    76
    Likes Received:
    155
    Trophy Points:
    32
    Gender:
    Male
    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.
     
    aldostools and bucanero like this.
  6. 468
    795
    147
    bucanero

    bucanero Developer

    Joined:
    Jun 29, 2019
    Messages:
    468
    Likes Received:
    795
    Trophy Points:
    147
    Gender:
    Male
    Location:
    Argentina
    Home Page:
    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 :)
     
    Niander466 likes this.
  7. 350
    108
    97
    ayassinsayed

    ayassinsayed Member

    Joined:
    Mar 16, 2018
    Messages:
    350
    Likes Received:
    108
    Trophy Points:
    97
    Gender:
    Male
    Great work , hope @aldostools intergrate it to webman mod.


    Sent from my iPhone using Tapatalk
     
    disyoko likes this.
  8. 826
    1,026
    222
    Zar

    Zar Developer

    Joined:
    Oct 15, 2014
    Messages:
    826
    Likes Received:
    1,026
    Trophy Points:
    222
    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
     
  9. 76
    155
    32
    tps

    tps Member

    Joined:
    Jan 22, 2020
    Messages:
    76
    Likes Received:
    155
    Trophy Points:
    32
    Gender:
    Male
    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.
     
    DeViL303, ayassinsayed and Zar like this.
  10. 76
    155
    32
    tps

    tps Member

    Joined:
    Jan 22, 2020
    Messages:
    76
    Likes Received:
    155
    Trophy Points:
    32
    Gender:
    Male
    "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.
    --
     
  11. 343
    162
    72
    Niander466

    Niander466 Member

    Joined:
    Dec 23, 2017
    Messages:
    343
    Likes Received:
    162
    Trophy Points:
    72
    Gender:
    Male
    Occupation:
    Nurse
    Home Page:
    WOW, EXCELLENT WORK FRIEND!
     
  12. 343
    162
    72
    Niander466

    Niander466 Member

    Joined:
    Dec 23, 2017
    Messages:
    343
    Likes Received:
    162
    Trophy Points:
    72
    Gender:
    Male
    Occupation:
    Nurse
    Home Page:
    so is it possible to add this to webman or another backup manager like multiman?
     
    Louis Garry likes this.
  13. 3,538
    1,937
    297
    Cypher_CG89

    Cypher_CG89 Senior Member

    Joined:
    Jul 30, 2018
    Messages:
    3,538
    Likes Received:
    1,937
    Trophy Points:
    297
    Gender:
    Male
    Occupation:
    Lead Graphic Artist/Dev, VENOM ELITE GAMING
    Location:
    North East, England, UK
    Home Page:
    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.
     
    ayassinsayed and Niander466 like this.
  14. 343
    162
    72
    Niander466

    Niander466 Member

    Joined:
    Dec 23, 2017
    Messages:
    343
    Likes Received:
    162
    Trophy Points:
    72
    Gender:
    Male
    Occupation:
    Nurse
    Home Page:
    That's great!! I think exFat should work better than ntfs.
     
    Louis Garry and ayassinsayed like this.
  15. 76
    155
    32
    tps

    tps Member

    Joined:
    Jan 22, 2020
    Messages:
    76
    Likes Received:
    155
    Trophy Points:
    32
    Gender:
    Male
    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.
     
  16. 350
    108
    97
    ayassinsayed

    ayassinsayed Member

    Joined:
    Mar 16, 2018
    Messages:
    350
    Likes Received:
    108
    Trophy Points:
    97
    Gender:
    Male
    Wow amazing That’s great !! , I hope
    @aldostools add exfat feature to web man mod and irisman if he have time to do it?


    Sent from my iPhone using Tapatalk
     
    Niander466 likes this.
  17. 7,525
    7,010
    797
    sandungas

    sandungas Moderator Developer

    Joined:
    Dec 31, 2014
    Messages:
    7,525
    Likes Received:
    7,010
    Trophy Points:
    797
    Location:
    Babylon 20xxE series
    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 :)
     
    Louis Garry and Niander466 like this.
  18. 76
    155
    32
    tps

    tps Member

    Joined:
    Jan 22, 2020
    Messages:
    76
    Likes Received:
    155
    Trophy Points:
    32
    Gender:
    Male
    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
     
  19. 2,882
    2,752
    372
    Berion

    Berion Developer

    Joined:
    Feb 3, 2015
    Messages:
    2,882
    Likes Received:
    2,752
    Trophy Points:
    372
    Gender:
    Male
    Location:
    Poland
    Did You any stress tests?
     
    ayassinsayed and Niander466 like this.
  20. 3,492
    5,785
    522
    aldostools

    aldostools Developer Developer

    Joined:
    Oct 30, 2014
    Messages:
    3,492
    Likes Received:
    5,785
    Trophy Points:
    522
    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!
     

Share This Page