aldostools / webMAN-MOD

Extended services for PS3 console (web server, ftp server, netiso, ntfs, ps3mapi, etc.)
https://aldostools.github.io/webMAN-MOD/
GNU General Public License v3.0
1.32k stars 175 forks source link

Using vISOs with pre-existing header files #620

Open ghost opened 2 years ago

ghost commented 2 years ago

Not sure how ps3netsrv works internally, but would it be possible to use the real header file from a dumped ISO (e.g. the header files inside IRDs) as the base of the vISO (or as the vISO itself)? This would benefit in particular hybrid-games (movie + game) which seem to expect the UDF file system to run certain features. It could also improve compatibility of a number of games without having to rebuild a decrypted ISO file with an IRD.

Some possible problems I could foresee with this feature, though:

aldostools commented 2 years ago

I'm not sure that using IRDs would improve the compatibility on games using vISO images, unless the game has hardcoded LBA checks like PSP or PS2.

The vISO works like this:

As you see, the virtual table generates its own LBAs. To use the ones in the IRD header, it would be required to parse the file structure to build the internal table to be used by VisoFile::read().

I don't think the games check for file attributes. Usually they only check if the file exist. So a file of 0 byte may work.

In regards to PS3UPDAT.PUP, I don't know of any game that require that file. If needed, the user can create a dummy PUP and enable NTFS compression on it, so they don't waste disk space.

BTW Today I updated ps3netsrv 20220228 to improve the performance reading vISO containing large files.