Following up on his previous work, today PlayStation 3 developer CaptainCPS-X has released PS ISO Tool v1.00 which supports PS1 / PS2 / PS3 / PSP followed by v1.01, v1.02a and v1.03 with details below.

Download: psiso_tool_v1.00_[bin_and_src]_[win_x86]_[by_CaptainCPS-X].rar / psiso_tool_v1.01_[bin_and_src]_[win_x86]_[by_CaptainCPS-X].rar / psiso_tool_v1.01_[bin_and_src]_[win_x86]_[by_CaptainCPS-X].rar (Mirror) / https://db.tt/Hn2DxuhC (Mirror #2) / psiso_tool_v1.02a_[bin]_[windows]_[by_CaptainCPS-X]_[inc_aldostools_GUI].rar / psiso_tool_v1.02a_[bin]_[windows]_[by_CaptainCPS-X]_[inc_aldostools_GUI].rar (Mirror) / https://db.tt/nhXRiYr2 (Mirror #2) / https://db.tt/kb7kMTuC / psiso_tool_v1.03_[bin_and_src]_[by_CaptainCPS-X].rar (Mirror) / psiso_tool_v1.03_[bin_and_src]_[by_CaptainCPS-X].rar (Mirror #2) / psiso_tool_v1.03.1_alpha_(linux_support).tar.gz / https://github.com/CaptainCPS/PS_ISO_Tool / http://aldostools.org/temp/PS3ISOBuilder_test.rar by aldostools

To quote: UPDATE: PS ISO Tool v1.01 released (fixed a crucial typo) (please use this one)

Changelog: v1.03 (November 11, 2013)
  • GitHub created for project (github.com/CaptainCPS/PS_ISO_Tool)
  • [source] Initial portability changes done and made Makefiles for both MSys/MinGW and MS Visual C++.
  • [source] Sorted out compilations warnings and fixed possible memory leaks.

NOTE: This release still don't have support or checking for split files on directories when creating ISOs. Support for Split files will eventually come on future versions.

Changelog: v1.02 (November 11, 2013)
  • Added feature to create ISOs using ImgBurn and patch them to comply with the PlayStation 3 disc header format.
  • Did a couple of cosmetic changes.

Changelog: v1.01 (November 9, 2013)
  • Fixed typo, now all references to "vervose" are correctly named "verbose".
  • Removed accidental duplicate macro definition on "psiso_tool.h".

Readme:
Code:
================================================================================
 PS ISO Tool (Supports PS1 / PS2 / PS3 / PSP disc images) (CaptainCPS-X, 2013)
================================================================================

 This tool will parse any of the supported PlayStation ISO / BIN. The module will 
 also check for valid (ISO9660 / MODE1 / 2048) or (MODE2 / 2352).

 When used as library for an application this can:

 - [PS1 / PS2] Get game Title ID from SYSTEM.CNF and obtain Title from a text database.
 - [PS3 / PSP] Get game Title and ID from the PARAM.SFO inside the ISO (no need for text database).
 - Titles gets automatically converted from UTF-8 to ASCII.
 - Provide a function to patch PS3 ISOs created with different applications than 
   GenPS3iso (Ex. ImgBurn, PowerISO).

 When used as application:

 - Users can quickly patch any specified PS3 ISO created with different application than 
   GenPS3iso (Ex. ImgBurn, PowerISO).

 Note: Patching will make the ISO valid for the PS3 system, if you try to mount 
 it without patching, the system will not detect it.

 Usage:  
	
	ps_isotool [opt] [in]

 Example 1 - Patching a PS3 game ISO:

	ps_isotool --ps3 --verbose --patch "C:\PS3ISO\MyPS3ISO.iso"

 Example 2 - Displaying info from ISOs:

	ps_isotool --ps1 --verbose "C:\PSXISO\MyPS1ISO.bin"
	ps_isotool --ps2 --verbose "C:\PS2ISO\MyPS2ISO.iso"
	ps_isotool --ps3 --verbose "C:\PS3ISO\MyPS3ISO.iso"
	ps_isotool --psp --verbose "C:\PSPISO\MyPSPISO.iso"

Note: If you don't specify --verbose then only the Title ID and Title will be displayed.
Changelog: v1.01 (November 9, 2013)
  • Fixed typo, now all references to "vervose" are correctly named "verbose".
  • Removed accidental duplicate macro definition on "psiso_tool.h".

v1.00 (November 9, 2013)
  • Initial Release.

Example Windows Batch:

EDIT: Removed "@" from script, because vBulletin messes it up
Code:
echo off

set PSISO_TOOL_LOG=psiso_tool_log.txt

call psiso_tool --ps1 --v "I:\PSXISO\FINALFANTASY7_CD3.BIN" > ps1_%PSISO_TOOL_LOG% && type ps1_%PSISO_TOOL_LOG%
echo .
call psiso_tool --ps2 --v "I:\PS2ISO\Capcom vs. SNK 2 - Mark of the Millennium 2001 (USA).iso" > ps2_%PSISO_TOOL_LOG% && type ps2_%PSISO_TOOL_LOG%
echo .
call psiso_tool --ps3 --v --patch "I:\PS3ISO\BCUS98174-[The Last of Us].iso" > ps3_%PSISO_TOOL_LOG% && type ps3_%PSISO_TOOL_LOG%
echo .
call psiso_tool --psp --v "I:\PSPISO\b-ff4u.iso" > psp_%PSISO_TOOL_LOG% && type psp_%PSISO_TOOL_LOG%
echo .

pause

Example Batch Output:

ps1_psiso_tool_log.txt
Code:
=========================================================================
PS ISO Tool v1.00 (supports PS1/PS2/PS3/PSP) (CaptainCPS-X, 2013) 
=========================================================================
ISO file: I:\PSXISO\FINALFANTASY7_CD3.BIN 
Supported PS1 ISO (ISO9660/MODE2/FORM1/2352) 
Volume Size: (0x0004476A sectors) (574312448 bytes)
Root Directory Record Offset: 0x0000CA20 
SYSTEM.CNF file record found at pos: 0x4C5 
SYSTEM.CNF Extent (data) Offset: 0x0000D350 
SYSTEM.CNF Data Length: 0x00000044 
Getting title for: SCUS-94165
-------------------------------------------------------------------------
TITLE ID: ( SCUS_941.65 ) 
TITLE: ( Final Fantasy VII [Disc3of3] ) 
-------------------------------------------------------------------------

ps2_psiso_tool_log.txt
Code:
=========================================================================
PS ISO Tool v1.00 (supports PS1/PS2/PS3/PSP) (CaptainCPS-X, 2013) 
=========================================================================
ISO file: I:\PS2ISO\Capcom vs. SNK 2 - Mark of the Millennium 2001 (USA).iso 
Supported PS2 ISO (ISO9660/MODE1/2048) 
Volume Size: (0x0001AB80 sectors) (224133120 bytes)
Root Directory Record Offset: 0x00082800 
SYSTEM.CNF file record found at pos: 0x125 
SYSTEM.CNF Extent (data) Offset: 0x0053D000 
SYSTEM.CNF Data Length: 0x00000038 
Getting title for: SLUS20246
-------------------------------------------------------------------------
TITLE ID: ( SLUS_202.46 ) 
TITLE: ( Capcom vs. SNK 2 - Mark of the Millennium 2001 ) 
-------------------------------------------------------------------------

psp_psiso_tool_log.txt
Code:
=========================================================================
PS ISO Tool v1.00 (supports PS1/PS2/PS3/PSP) (CaptainCPS-X, 2013) 
=========================================================================
ISO file: I:\PSPISO\b-ff4u.iso 
Supported PSP ISO (ISO9660/MODE1/2048) 
Volume Size: (0x00068FF0 sectors) (880771072 bytes)
Root Directory Record Offset: 0x0000B000 
PSP_GAME file record found at pos: 0x081 
PSP_GAME Extent (data) Offset: 0x0000B800 
PARAM.SFO file record found at pos: 0x127 
PARAM.SFO Extent (data) Offset: 0x06F48000 
PARAM.SFO Data Length: 0x00000230 
-------------------------------------------------------------------------
Preparing to process PARAM.SFO 
-------------------------------------------------------------------------
SFO Type: 0x00 
SFO Identifier: PSF 
SFO Variable Name Table Offset: 0x000000E4 
SFO Data Table Offset: 0x00000168 
SFO Total Variables: 13 
-------------------------------------------------------------------------
SFO Variable Table Entries: 
-------------------------------------------------------------------------
 >> APP_VER: 01.00 
 >> BOOTABLE: 0x0001 
 >> CATEGORY: UG 
 >> DISC_ID: ULUS10560 
 >> DISC_NUMBER: 0x0001 
 >> DISC_TOTAL: 0x0001 
 >> DISC_VERSION: 1.00 
 >> HRKGMP_VER: 0x0013 
 >> PARENTAL_LEVEL: 0x0004 
 >> PSP_SYSTEM_VER: 6.37 
 >> REGION: 0x8000 
 >> TITLE: FINAL FANTASY IV: The Complete Collection 
 >> USE_USB: 0x0000 
-------------------------------------------------------------------------
Searching variable data for [ DISC_ID ] 
Found variable data for [ DISC_ID ]... [ ULUS10560 ]
Searching variable data for [ TITLE ] 
Found variable data for [ TITLE ]... [ FINAL FANTASY IV: The Complete Collection ]
-------------------------------------------------------------------------
TITLE ID: ( ULUS10560 ) 
TITLE: ( FINAL FANTASY IV: The Complete Collection ) 
-------------------------------------------------------------------------

ps3_psiso_tool_log.txt
Code:
=========================================================================
PS ISO Tool v1.00 (supports PS1/PS2/PS3/PSP) (CaptainCPS-X, 2013) 
=========================================================================
ISO file: I:\PS3ISO\BCUS98174-[The Last of Us].iso 
Supported PS3 ISO (ISO9660/MODE1/2048) 
Volume Size: (0x00F18669 sectors) (32416942080 bytes)
Root Directory Record Offset: 0x0000B800 
PS3_GAME file record found at pos: 0x095 
PS3_GAME Extent (data) Offset: 0x0000C000 
PARAM.SFO file record found at pos: 0x0B9 
PARAM.SFO Extent (data) Offset: 0x00029000 
PARAM.SFO Data Length: 0x00000444 
-------------------------------------------------------------------------
Preparing to process PARAM.SFO 
-------------------------------------------------------------------------
SFO Type: 0x00 
SFO Identifier: PSF 
SFO Variable Name Table Offset: 0x000000E4 
SFO Data Table Offset: 0x00000174 
SFO Total Variables: 13 
-------------------------------------------------------------------------
SFO Variable Table Entries: 
-------------------------------------------------------------------------
 >> APP_VER: 01.00 
 >> ATTRIBUTE: 0x200A5 
 >> BOOTABLE: 0x0001 
 >> CATEGORY: DG 
 >> LICENSE: Library programs ©Sony Computer Entertainment Inc. Licensed for play on the PLAYSTATION®3 Computer Entertainment System or authorized PLAYSTATION®3 format systems. For full terms and conditions see the user's manual. This product is authorized and produced under license from Sony Computer Entertainment Inc. Use is subject to the copyright laws and the terms and conditions of the user's license. 
 >> NP_COMMUNICATION_ID: NPWR03073_00 
 >> PARENTAL_LEVEL: 0x0009 
 >> PS3_SYSTEM_VER: 04.4100 
 >> RESOLUTION: 0x003F 
 >> SOUND_FORMAT: 0x0317 
 >> TITLE: The Last of Us™ 
 >> TITLE_ID: BCUS98174 
 >> VERSION: 01.00 
-------------------------------------------------------------------------
Searching variable data for [ TITLE_ID ] 
Found variable data for [ TITLE_ID ]... [ BCUS98174 ]
Searching variable data for [ TITLE ] 
Found variable data for [ TITLE ]... [ The Last of Us™ ]
-------------------------------------------------------------------------
Preparing to patch PS3 ISO (BCUS98174)... 
PS3 ISO has proper disc header. No patching will be done. 
-------------------------------------------------------------------------
TITLE ID: ( BCUS98174 ) 
TITLE: ( The Last of Us  ) 
-------------------------------------------------------------------------
To sandungas , zecoxao , aldostools , Ada Love Lace: check the source out I did a couple of modules from scratch that you might like (psiso_tool.h has info)

PS: This already have been implemented into Simple NTFS ISO Mounter and tested, I wrote all the code to be portable and usable on both windows / ps3 / etc. More nice stuff will be implemented to these tools in the future. SeeYa!

Finally, below is a PSX GAME PKGs For 4.50 CFW Tutorial by lionsfan420 as follows:

This is just a tutorial to customize and make a PSX.Pkg to install on XMB in CFW 4.50. No need to stay on 4.41 CFW. And no need to mount through MultiMan. Thought I would write this tutorial because no one else has.

Tested on Habib 4.50 v1.03 on Release day 60gb PS3. Notes: Ingame screenshots do work.

Requirements

1: Multiman 4.50
2: LastGame (Latest Version)
3: Aldostools LastGame Customizer
4: RetroXMB
5: PSX Game

Instructions

1: Make sure to have all the above installed and working.
2: Its easier to make a empty folder on desktop to work. Place your Game in this folder.
3: Open RetroXMB and select PlayStation 1 tab on the top and then browse for your PSX iso,bin,img.
4: Under XMB Content Information Files, You may customize to your liking.
5: After customizing, hit build Package button on the bottom. Save it int the desktop work folder.
6: You can now exit RetroXMB.
7: In the work folder where you saved the Pkg you just made, go ahead and extract it by right click (extract to current path). Let that extract.
8: Next, open LastGame Customizer, Exit out of the first screen that pops up requesting a EBOOT.BIN.
9: Under "Item Type" select "13=PSXISO"
10: Under "Launch from Device" select "/dev_hdd0".
11: Under "Title ID" copy in the ID from the extracted pkg that you just extracted. (PS1xxxxxx).
12: Under "Title Description" Type in the name of the Game.
13: next Under "Mount PSX ISO From", customize this according to the file structure in the recently extracted Pkg. (/dev_hdd0/game/PS1xxxxxx/USRDIR/NAME OF YOUR GAME.iso). (MAKE SURE THE ISO FROM THE /ps1_iso/ FOLDER, IS IN THE /USRDIR/ FOLDER.) Delete the /ps1_iso/ Folder.
Dont forget this will be installing in /dev_hdd0/game/ folder,
14: Under "Path for ICON0.png", use this format "/dev_hdd0/game/PS1xxxxxx/ICON0.PNG".
15: Under "Path for PIC1.PNG", use the same format "/dev_hdd0/game/PS1xxxxxx/PIC1.PNG".
16: now hit the make button, In the window that pops up, grab the Pkg you just made and drag it to the Desktop work folder.
17: You can now exit Lastgame Customizer.
18: In the desktop work folder, Go ahead and right extract the Pkg with the "-XMB[hdd0].Pkg" extension.
19: now pull the 2 Pkg's in the desktop work folder onto the desktop and leave them there. Now you should be left with the 2 extracted Pkg's now.
20: Open up the "-XMB[hdd0]" folder, delete the text file you see. then open up the folder you see (PS1xxxxxx).
21: Delete the ICON0.PNG file. This folder is done.
22: Back to the Desktop work folder, open the other folder now. delete the text file you see. (MAKE SURE TO CUT THE ISO FROM THE /ps1_iso/ FOLDER, AND PASTE IT IN THE /USRDIR/ FOLDER.)
23: then copy the folder you see (PS1xxxxxx) into the "- XMB [hdd0]" folder overwriting that folder. Make sure to overwrite evrything.
24: Next, right click on the "- XMB [hdd0]" folder and click "Make Pkg".
25: Now you should see the Pkg you just made, Copy to usb stick or FTP over and install normally through XMB.
26: Hooray, PSX games on XMB in 4.50 CFW!!!

ENJOY!!! Thanx To all the Devs for your hard work.

PSISO Tool v1.03.1 Alpha (Linux Support) by NoisilySilent

Probably the dirtiest code I ever wrote... Meh...

Anyways, here's basic support for linux ^^ ImgBurn is no longer used. mkisofs does the job

mkisofs (or a link to it) needs locating in /opt/schily/bin/ (the place it settles if you build it from source)

Built and tested OK on Raspberry. This is a VERY ROUGH DROUGHT of what it should be. Please, don't report my coding style is ugly, i know it is... I've been very lazy on this one, this code is dirty and hard to maintain... sorry. I'll try cleaning it up if i have time, which i doubt.

Hope it'll help. Cheers.

Finally, from aldostools: I love ISOs as you do... as I have been lately experimenting with the ISOs, I made this very quick prototype: aldostools.org/temp/PS3ISOBuilder_test.rar

It's still an experiment and I don't know if I will ever finish it... it probably is full of bugs (I didn't test it much). It writes large ISO files (no split support yet), read/write large files (writes in chunks of 4MB), read SFO/ICON0, writes proper header, graphical progress and more. The best is that it is only 113KB.

PS. I think the 2 in // unknown (always 0x02) in your code could be the number of Sectors containing the information. Also in the Sector 1, could you verify the number of Sectors at offset 0x14? In your code is vol_size is obtained from the volume descriptor at 0x8054 and written at 0x14, but in genPS3ISO the value at 0x14 is vol_size - 1. Could it be a bug in genPS3ISO? Or is that wrong in your code?

PS ISO Tool v1.00 By CaptainCPS-X, Supports PS1 / PS2 / PS3 / PSP

PS ISO Tool v1.00 By CaptainCPS-X, Supports PS1 / PS2 / PS3 / PSP

More PlayStation 3 News...