PS3 Exfat Support

the ExFat lib is now ready to support mounting of ISO games as I've tested it.
@aldostools will probably update IRISMAN/WebmanMOD to support mounting ISO from ExFAT.

I personally wouldn't support JB format. PS3 games are cheap on ebay and even amazon. if you like a game I'd say buy the disc and export the ISO.

prepISO 1.23 (formerly known as prepNTFS) is now available with support for exFAT & NTFS drives
https://github.com/aldostools/webMAN-MOD/releases

Big thanks to @tps @Zar @bucanero & ChaN

Untested features
- PSXISO files in non-standard MODE2/2352.
- CUE / multi-track support
 
Last edited:
Is a good compromise, but for that specific feature irisman depends of webman, and webman depends of cobra
I think is better when the things works in a standalone way without dependencies if posible, this is one of the reasons why i liked the original mamba implementation

Yes, IRISMAN depends of webMAN for netiso. I don't see anything wrong with that. IRISMAN (and original Iris Manager) depend of other plugins too: rawseciso for NTFS support, sm_monitor for fan control, etc. I only reused the existing code to get the feature with the minimal effort :)
 
Have you tryed to play around with the "netiso" feature ?
Im asking about it because several reasons, is very related with rawseciso, and the backup managers derivated from iris (irisman, managunz, etc...) doesnt supports netiso, if you build a sample code in your filemanager to support netiso it could be ported later to irisman and managunz

The other thing i would love to see is what you mentioned some posts ago about creating libraries separated for each filesystem and a common API "to glue them all" and to pave the road for the posible implementations of other filesystems in the future (or to work in them in a modular way trying to improve performance)
By reading your previous posts i guess doing something like that would be a big amount of work, but would be awesome, a complete revolution, lol

Dunno, i wish you continue doing more experiments and reviewing other low level code used in PS3 scene, at this point is obvious you are good at it :encouragement:

netiso seems like a client/server network feature and since the server is not running on the ps3, it requires no embedded exfat support.

for the 'glue' I left a few notes as 'later todos' on github for the file manager https://github.com/lmirel/fm_psx/blob/master/README.md some of the framework is already included in the current code. someone might take over and work on it as right now I need to get back to my other projects (if you look at my github repos :-)= )

I don't believe I'm done developing for the PS3 but I need to take care of some other things now.
keep in touch
 
the ExFat lib is now ready to support mounting of ISO games as I've tested it.
@aldostools will probably update IRISMAN/WebmanMOD to support mounting ISO from ExFAT.

I personally wouldn't support JB format. PS3 games are cheap on ebay and even amazon. if you like a game I'd say buy the disc and export the ISO.
Thank you very much for this information i will wait then for the update to come in order to me to be able to have my PS3 games into a exfat format due to that unfortanely my console managed to identify NTFS drives once but no anymore at this point so exfat will be really useful for me as well
 
there is an argument I didn't talk about, it's "int phys" . I have no idea what it is. Maybe @aldostools , you know what it is ? it's set to 1 when we use it to mount an iso.

phys is a flag

If phys is "false" (0) the addresses of the returned sectors are relative to the partition (as returned by the function ntfs_attr_to_sectors).
If phys is "true" (1 or non-zero) the returned addresses are relative to the whole disk (needed by rawseciso plugin for sys_storage_read)

https://github.com/aldostools/webMAN-MOD/blob/master/_Projects_/libntfs/source/ntfsfile.c#L814
 
prepISO 1.22 (formerly known as prepNTFS) is now available with support for exFAT & NTFS drives
https://github.com/aldostools/webMAN-MOD/releases

Big thanks to @tps @Zar @bucanero & ChaN

Untested features
- PSXISO files in non-standard MODE2/2352.
- CUE / multi-track support
Thank you to all of you.

I tried 1 game PS3 ISO on exFAT, it worked fine.
However I tried pkg files in the NTFS HDD packages folder, prepISO couldn't scan it.
I use prepNTFS 1.21, pkg files can be scanned.
 
phys is a flag

If phys is "false" (0) the addresses of the returned sectors are relative to the partition (as returned by the function ntfs_attr_to_sectors).
If phys is "true" (1 or non-zero) the returned addresses are relative to the whole disk (needed by rawseciso plugin for sys_storage_read)

https://github.com/aldostools/webMAN-MOD/blob/master/_Projects_/libntfs/source/ntfsfile.c#L814

it looks like ExFat reports sectors relative to disk.. the flag has no meaning for ExFat as it is now.
 
Thank you to all of you.

I tried 1 game PS3 ISO on exFAT, it worked fine.
However I tried pkg files in the NTFS HDD packages folder, prepISO couldn't scan it.
I use prepNTFS 1.21, pkg files can be scanned.

Thank you for the bug report... I fixed the error in prepISO 1.23
https://github.com/aldostools/webMAN-MOD/releases

The issue was caused by an incorrect pointer to the file extension that prevented the processing of the fake ISOs on NTFS.
 
Thank you.
It is now working properly.

One more question, if I have prepISO installed on PS3, to refresh xml (SELECT+L3) wMM will access the installed prepISO or not?

prepISO scans the content for exFAT & NTFS, then it performs an automatic refresh xml before return to XMB.
As result, your game list on XMB will be updated including the games from all the devices.

However, wMM does not have exFAT implemented yet.Therefore, refresh xml with SELECT+L3 will scan only the files in the internal HDD + usb devices FAT32 + usb devices NTFS and netiso. exFAT files will be excluded.
 
Hello @aldostools ...

Serait-il possible de faire scanner par "prepISO v1.23" les images liées aux jeux qui sont installés dans les dossiers PS3ISO ainsi que PSXISO situés sur un périphérique USB comme le fait actuellement le wMM-1.47.27 voire le prepNTFS v1.20 ???

Merci par avance et à très bientôt, toi mon ami du bout du monde.


English via Google-trad :

Would it be possible to have images linked to games that are installed in the PS3ISO and PSXISO folders located on a USB device scanned by "prepISO v1.23" as is currently the case with wMM-1.47.27 or even prepNTFS v1.20 ???

Thank you in advance and see you very soon, my friend from the end of the world.

Algol "le papy"
 
Hello @aldostools ...

Serait-il possible de faire scanner par "prepISO v1.23" les images liées aux jeux qui sont installés dans les dossiers PS3ISO ainsi que PSXISO situés sur un périphérique USB comme le fait actuellement le wMM-1.47.27 voire le prepNTFS v1.20 ???

Merci par avance et à très bientôt, toi mon ami du bout du monde.


English via Google-trad :

Would it be possible to have images linked to games that are installed in the PS3ISO and PSXISO folders located on a USB device scanned by "prepISO v1.23" as is currently the case with wMM-1.47.27 or even prepNTFS v1.20 ???

Thank you in advance and see you very soon, my friend from the end of the world.

Algol "le papy"

Hello Algol,

exFAT support is still in early stages and many features available for NTFS are still missing (iso fix, extract images from iso, etc.)

I have added support for cache iso covers to /dev_hdd0/tmp/wmtmp (see attachment for prepISO 1.24)

The main problem that I've found with libfatfs is that it behaves different than libntfs_ext and I need to find a "hack" to make it work.

For instance, fflib_file_to_sectors breaks the directory scan loop. Maybe @tps knows a fix ;)
 

Attachments

Hello Algol,
The main problem that I've found with libfatfs is that it behaves different than libntfs_ext and I need to find a "hack" to make it work.
For instance, fflib_file_to_sectors breaks the directory scan loop. Maybe @tps knows a fix ;)
@aldostools can you explain a bit what you do and what happens?
feel free to use code examples. I'll take a look.
keep in mind that fflib_file_to_sectors is a hack in itself so there may be things to improve there but I'm not expecting miracles and you shouldn't either ;-)=
 
Hello Algol,

exFAT support is still in early stages and many features available for NTFS are still missing (iso fix, extract images from iso, etc.)

I have added support for cache iso covers to /dev_hdd0/tmp/wmtmp (see attachment for prepISO 1.24)

The main problem that I've found with libfatfs is that it behaves different than libntfs_ext and I need to find a "hack" to make it work.

For instance, fflib_file_to_sectors breaks the directory scan loop. Maybe @tps knows a fix ;)
Merci pour ta grande sympathie, nous t'aimons beaucoup chez moi, tu fais de très grandes choses. Merci, merci.
 
Merci pour ta grande sympathie, nous t'aimons beaucoup chez moi, tu fais de très grandes choses. Merci, merci.
google.jpg
 
@aldostools can you explain a bit what you do and what happens?
feel free to use code examples. I'll take a look.
keep in mind that fflib_file_to_sectors is a hack in itself so there may be things to improve there but I'm not expecting miracles and you shouldn't either ;-)=

Thank you for take a look. I understand that the function is a hack and it could be improved.
I also appreciate all the work you have done to help to implement exFAT in other projects. Without your help the feature wouldn't exist now.

In my tests with multiple ISO files and images stored together in the same folder, I found that the loop only found the first 1 or 2 files if I used a call to fflib_file_to_sectors() inside the loop.

This is the previous code before my "hack" in version 1.23:
https://github.com/aldostools/webMA...65419/_Projects_/prepISO/include/exfat.h#L114

To make it work, I first had to make a list of the ISOs found in the directory being scanned, then call fflib_file_to_sectors() for each ISO after the directory scan:
https://github.com/aldostools/webMAN-MOD/blob/master/_Projects_/prepISO/include/exfat.h#L168

I tried commenting out the f_mount calls in the function fflib_file_to_sectors(), but it didn't help.
https://github.com/aldostools/webMAN-MOD/blob/master/_Projects_/fatfs/source/fflib.c#L315
https://github.com/aldostools/webMAN-MOD/blob/master/_Projects_/fatfs/source/fflib.c#L344

I suspect that the f_mount (NULL, path, 0); at the end of the function fflib_file_to_sectors() is closing the f_opendir(), and preventing it to continue reading the rest of the files in the directory.
 
Thank you for take a look. I understand that the function is a hack and it could be improved.
I also appreciate all the work you have done to help to implement exFAT in other projects. Without your help the feature wouldn't exist now.

In my tests with multiple ISO files and images stored together in the same folder, I found that the loop only found the first 1 or 2 files if I used a call to fflib_file_to_sectors() inside the loop.

This is the previous code before my "hack" in version 1.23:
https://github.com/aldostools/webMA...65419/_Projects_/prepISO/include/exfat.h#L114

To make it work, I first had to make a list of the ISOs found in the directory being scanned, then call fflib_file_to_sectors() for each ISO after the directory scan:
https://github.com/aldostools/webMAN-MOD/blob/master/_Projects_/prepISO/include/exfat.h#L168

I tried commenting out the f_mount calls in the function fflib_file_to_sectors(), but it didn't help.
https://github.com/aldostools/webMAN-MOD/blob/master/_Projects_/fatfs/source/fflib.c#L315
https://github.com/aldostools/webMAN-MOD/blob/master/_Projects_/fatfs/source/fflib.c#L344

I suspect that the f_mount (NULL, path, 0); at the end of the function fflib_file_to_sectors() is closing the f_opendir(), and preventing it to continue reading the rest of the files in the directory.
I had similar issues scanning dirs when implementing the file manager. there's a problem in the way the fflib manages mounts and indeed, if a mount is done many times on the same partition it goes haywire.
your approach of calling file_to_sectors after scanning the dir is the right approach. if you take out the mount calls in the function itself, it will not work outside the context. consider this a limitation for now as I haven't found a way to overcome this when I was working on the file manager. this issue is part of the original code and I'm not sure it could be fixed but I'll think of something and let you know if I find anything.
 

Similar threads

Back
Top