has207 / psxtract-2 Goto Github PK
View Code? Open in Web Editor NEWThis project forked from deadlysystem/psxtract-2
Psxtract by Hykem
License: GNU General Public License v3.0
This project forked from deadlysystem/psxtract-2
Psxtract by Hykem
License: GNU General Public License v3.0
Using a Windows 7 (latest version of Windows I own) VM, with C++ 2022 (I can't get AT3 conversion working with Wine), I get the warning below:
Corrupt CD-ROM XA subheader will be copied to the output file. Channel number mismatch at [timestamp]: [offset0] vs [offset1]
The ROMs are still fully playable in DuckStation, Misadventures of Tron Bonne outputs a few warnings, while Mega Man Legends outputs over 1500. For some reason, it's only for these games, hence the name of the issue. I'll include the offsets for both games, & more if I, or others find them:
0x00, 0x80
0x02, 0x82
Single byte in the middle of the disc appears to be rotated by 1. May be a bug in lz decompression logic, or could be a bad eboot from sony. Need to investigate as it affects user data on the disc
Something might be off about cue file generated for WipEout - CDMage refuses to parse it for some reason though it works in Duckstation.
"Namco Museum Vol.3" seems to extract duplicated data.
This game has one disc.
But psxtract-2 extracts two discs.
These discs have the same md5.
md5 *.BIN
MD5 (CDROM_1.BIN) = 6f033eb4938438152e59fcc15ec22063
MD5 (CDROM_2.BIN) = 6f033eb4938438152e59fcc15ec22063
it seems that psxtract-2 can't handle huge PBP file (over 2GB)
I got this error.
PS D:\psxtract-2> .\psxtract.exe -c ..\backups20240502diff\game\NPJJ00307\USRDIR\CONTENT\EBOOT.PBP
Unpacking PBP ..\game\NPJJ00307\USRDIR\CONTENT\EBOOT.PBP...
UNPACK_PBP ERROR: Could not get the input file size.
The game is tokimeki memorial 2
. Its size is 2241040KB.
This game also includes __sce_discinfo
file in CONTENT directory (attached file).
I don't know but It might be help for deviding data.
Hi. Is there a script to extract images from DOCUMENT_DEC.DAT? Thanks!
User data is fine but there is bad ECC data that's generated for about 50 sectors. Should have no impact on playing on emulator but may be an issue if burning to disc, should investigate why this happens
This affects at least the following games, but most likely there are more:
The issue is likely purely cosmetic, and makes the extracted BIN file fail the checksum vs redump, but as the last sector on these games is always empty the ECC data should not actually matter whether playing in emulator or by burning to disc. Which means these dumps are fully playable, just fail the verification step.
Should investigate anyway, it's an interesting mystery what data the publishers put in this area of the disc, and why it's on so few discs. And perhaps it could be extracted from the EBOOT as well if we look hard enough...
Firstly, I greatly appreciate the effort to improve this tool to recognize multi-track bins, as I thought it was abandoned.
While it's understood that the multi-track bins will have mismatched checksums due to re-conversion of audio, I'm still getting a main data track mismatch from Redump for Vib-Ribbon.
Redump Data track bin MD5: e116bccbc0828e45d7b3f19234cd3670
http://redump.org/disc/3474/
My DATA TRACK.BIN result MD5: 2875C53260C6DBD598A97C89423ED512
C:\RipAgain\SCES02873>"C:\psxtract-2\psxtract.exe" "C:\RipAgain\SCES02873\EBOOT.PBP" "C:\RipAgain\SCES02873\DOCUMENT.DAT" "C:\RipAgain\SCES02873\KEYS.BIN"
Decrypting DOCUMENT.DAT...
PGD: Invalid 0x80 MAC hash!
DOCUMENT.DAT successfully decrypted! Saving as DOCUMENT_DEC.DAT...
Using PGD key: redacted
Unpacking PBP C:\RipAgain\SCES02873\EBOOT.PBP...
[0] 944 bytes | PARAM.SFO
[1] 11541 bytes | ICON0.PNG
[2] 0 bytes | ICON1.PMF
[3] 38089 bytes | PIC0.PNG
[4] 2651 bytes | PIC1.PNG
[5] 0 bytes | SND0.AT3
[6] 12271 bytes | DATA.PSP
[7] 25073598 bytes | DATA.PSAR
Successfully unpacked C:\RipAgain\SCES02873\EBOOT.PBP!
Single disc game detected!
Found STARTDAT offset: 0x017e6350
Saving STARTDAT as STARTDAT.BIN...
Decrypting ISO header...
ISO header successfully decrypted! Saving as ISO_HEADER_0.BIN...
ISO disc: SCES_02873
ISO title: Vib-Ribbon
Found special data offset: 0x017e8bee
Decrypting special data...
Special data successfully decrypted! Saving as SPECIAL_DATA.BIN...
Found unknown data offset: 0x017e6240
Decrypting unknown data...
Unknown data successfully decrypted! Saving as UNKNOWN_DATA.BIN...
Offset 1m:40s:0f at 0428
Offset 4m:19s:0f at 0432
seeking to 100000 + 536dc0 (636dc0)
Extracting audio track 2 (11925 sectors, 2630784 bytes)
Offset 4m:19s:0f at 0432
Offset 6m:53s:0f at 043c
seeking to 100000 + 7b90c0 (8b90c0)
Extracting audio track 3 (11550 sectors, 2548224 bytes)
Offset 6m:53s:0f at 043c
Offset 9m:25s:0f at 0446
seeking to 100000 + a27140 (b27140)
Extracting audio track 4 (11400 sectors, 2515200 bytes)
Offset 9m:25s:0f at 0446
Offset 12m:0s:0f at 0450
seeking to 100000 + c8d0c0 (d8d0c0)
Extracting audio track 5 (11625 sectors, 2564736 bytes)
Offset 12m:0s:0f at 0450
Offset 14m:47s:0f at 045a
seeking to 100000 + eff1c0 (fff1c0)
Extracting audio track 6 (12525 sectors, 2763264 bytes)
Offset 14m:47s:0f at 045a
Offset 17m:20s:0f at 0464
seeking to 100000 + 11a1a40 (12a1a40)
Extracting audio track 7 (11475 sectors, 2531712 bytes)
Offset 17m:20s:0f at 0464
Offset 20m:22s:66f at 0414
seeking to 100000 + 140ba40 (150ba40)
Extracting audio track 8 (13716 sectors, 2992512 bytes)
7 audio tracks extracted to ATRAC3
Attempting to convert from ATRAC3 to WAV, this may take awhile...
C:\psxtract-2\at3tool.exe -d "D01 TRACK02.AT3" "D01 TRACK02.WAV"
Decoding 132 kbps (ATRAC3)
Decoded Bytes = 2630400 Bytes@6850frames(ave=384bytes)
C:\psxtract-2\at3tool.exe -d "D01 TRACK03.AT3" "D01 TRACK03.WAV"
Decoding 132 kbps (ATRAC3)
Decoded Bytes = 2547840 Bytes@6635frames(ave=384bytes)
C:\psxtract-2\at3tool.exe -d "D01 TRACK04.AT3" "D01 TRACK04.WAV"
Decoding 132 kbps (ATRAC3)
Decoded Bytes = 2514816 Bytes@6549frames(ave=384bytes)
C:\psxtract-2\at3tool.exe -d "D01 TRACK05.AT3" "D01 TRACK05.WAV"
Decoding 132 kbps (ATRAC3)
Decoded Bytes = 2564352 Bytes@6678frames(ave=384bytes)
C:\psxtract-2\at3tool.exe -d "D01 TRACK06.AT3" "D01 TRACK06.WAV"
Decoding 132 kbps (ATRAC3)
Decoded Bytes = 2762880 Bytes@7195frames(ave=384bytes)
C:\psxtract-2\at3tool.exe -d "D01 TRACK07.AT3" "D01 TRACK07.WAV"
Decoding 132 kbps (ATRAC3)
Decoded Bytes = 2531328 Bytes@6592frames(ave=384bytes)
C:\psxtract-2\at3tool.exe -d "D01 TRACK08.AT3" "D01 TRACK08.WAV"
Decoding 132 kbps (ATRAC3)
Decoded Bytes = 2992128 Bytes@7792frames(ave=384bytes)
7 audio tracks converted to WAV
Need to pad 348372 bytes
7 audio tracks converted to BIN
Building the data track...
ISO offset 100000
.....
Read 536dc0 bytes, wrote 10d4f00 bytes
Data track successfully reconstructed! Saving as ISO.BIN...
Offset 0m:0s:0f at 041e
Offset 1m:40s:0f at 0428
Converting the final image to BIN/CUE...
Patching ECC/EDC data...
Processing 7350 sectors
Encountered unknown mode! This is probably not a proper image.
Generating CUE file...
adding DATA TRACK.BIN.ISO
adding D01 TRACK02.BIN
adding D01 TRACK03.BIN
adding D01 TRACK04.BIN
adding D01 TRACK05.BIN
adding D01 TRACK06.BIN
adding D01 TRACK07.BIN
adding D01 TRACK08.BIN
Disc successfully converted to BIN/CUE format!
Hi, I wanted to start by saying I've used psxtract a number of times, so it is very exciting to see this project actively being worked on again with multi-track support.
One of the games I had been holding off on extracting in the past is Dino Crisis. From what I can tell, I believe the Sony PSClassics version is using the original version (http://redump.org/disc/459/) and NOT the Greatest Hits revision (http://redump.org/disc/473/). For what it's worth, similar to the example of Resident Evil 2: Dualshock Edition that I have seen mentioned, this game (and Dino Crisis 2 for that matter) contains an empty audio track (maybe it's a Capcom quirk?). When extracting, even though the size of the main data track (DATA TRACK.BIN.ISO) is correct (379984416 bytes), the checksum mismatches with Redump.
DATA TRACK.BIN.ISO MD5: 26DFB88760946B17552A89C2F4DDCE90
Redump data track MD5: 4990BB2A9E3374A234885AC983A9397A
At this point, I can't tell if this is a bug or maybe just some kind of quirk. I've attached the entire run log below:
PS BASE_PATH> .\psxtract-2\psxtract-2\psxtract.exe .\SLUS00922\EBOOT.PBP
Unpacking PBP .\SLUS00922\EBOOT.PBP...
[0] 944 bytes | PARAM.SFO
[1] 10918 bytes | ICON0.PNG
[2] 0 bytes | ICON1.PMF
[3] 40636 bytes | PIC0.PNG
[4] 2651 bytes | PIC1.PNG
[5] 0 bytes | SND0.AT3
[6] 10347 bytes | DATA.PSP
[7] 254279029 bytes | DATA.PSAR
Successfully unpacked .\SLUS00922\EBOOT.PBP!
Single disc game detected!
Found STARTDAT offset: 0x0f27bdd0
Saving STARTDAT as STARTDAT.BIN...
Decrypting ISO header...
ISO header successfully decrypted! Saving as ISO_HEADER_0.BIN...
ISO disc: SLUS_00922
ISO title: Dino Crisis®
Found special data offset: 0x0f27edc5
Decrypting special data...
Special data successfully decrypted! Saving as SPECIAL_DATA.BIN...
Offset 35m:56s:8f at 0428
Offset 39m:28s:8f at 0414
seeking to 100000 + ee2bcd0 (ef2bcd0)
Extracting audio track 2 (15900 sectors, 3474048 bytes)
1 audio tracks extracted to ATRAC3
Attempting to convert from ATRAC3 to WAV, this may take awhile...
BASE_PATH\psxtract-2\psxtract-2\at3tool.exe -d "D01 TRACK02.AT3" "D01 TRACK02.WAV"
Decoding 132 kbps (ATRAC3)
Decoded Bytes = 3473664 Bytes@9046frames(ave=384bytes)
1 audio tracks converted to WAV
Need to pad 348756 bytes
1 audio tracks converted to BIN
Building the data track...
ISO offset 100000
......................................................................................................
Read ee2bcd0 bytes, wrote 16aba100 bytes
Data track successfully reconstructed! Saving as ISO.BIN...
Offset 0m:0s:0f at 041e
Offset 35m:56s:8f at 0428
Converting the final image to BIN/CUE...
Patching ECC/EDC data...
Processing 161558 sectors
The image has been fixed!
Generating CUE file...
adding DATA TRACK.BIN.ISO
adding D01 TRACK02.BIN
Disc successfully converted to BIN/CUE format!
Hello.
So I've been in the process of decrypting games, but I hit a snag with Crash Team Racing (PAL).
The initial dump log didn't indicate any errors:
C:\Users\Private>psxtract.exe -c EBOOT.PBP
Unpacking PBP EBOOT.PBP...
[0] 944 bytes | PARAM.SFO
[1] 14813 bytes | ICON0.PNG
[2] 0 bytes | ICON1.PMF
[3] 44700 bytes | PIC0.PNG
[4] 2651 bytes | PIC1.PNG
[5] 0 bytes | SND0.AT3
[6] 35156 bytes | DATA.PSP
[7] 337158611 bytes | DATA.PSAR
Successfully unpacked EBOOT.PBP!
Single disc game detected!
Found STARTDAT offset: 0x14187370
Saving STARTDAT as STARTDAT.BIN...
Decrypting ISO header...
ISO header successfully decrypted! Saving as ISO_HEADER_0.BIN...
ISO disc: SCES_02105
ISO title: Crash Team Racing�
Found special data offset: 0x14188bd3
Decrypting special data...
Special data successfully decrypted! Saving as SPECIAL_DATA.BIN...
There are no CDDA audio tracks, continuing...
Building the data track...
ISO offset 100000
.....................................................................................................................................................................................................
Read 14087370 bytes, wrote 2c1e4f00 bytes
Data track successfully reconstructed! Saving as ISO.BIN...
Offset 0m:0s:0f at 041e
Offset 69m:58s:2f at 0414
Converting the final image to BIN/CUE...
Patching ECC/EDC data...
Processing 314702 sectors
The image has been fixed!
Generating CUE file...
adding DATA TRACK.BIN.ISO
Disc successfully converted to BIN/CUE format!
Cleanup requested, removing TEMP folder
[If you see errors above try running without -c to leave TEMP files in place in order to debug.]
However, Duckstation refused to play it.
This is the only game so far, where I've encountered such an issue.
Hello, sorry for making two back-to-back posts. This one is similar to the previous one (Dino Crisis (SLUS-00922) - Redump Checksum Mismatch), but also slightly different.
When extracting the Sony PSClassics EBOOT for Dino Crisis 2, I'm having some issues with the resulting data track (DATA TRACK.BIN.ISO). Interestingly, the file is one sector short. It has a length of only 473673984 bytes (201392 sectors), but both Redump (http://redump.org/disc/460/) and the runtime log itself indicate it should be 201393 sectors.
I've attached the runtime log below:
PS BASE_PATH> .\psxtract-2\psxtract-2\psxtract.exe .\SLUS01279\EBOOT.PBP
Unpacking PBP .\SLUS01279\EBOOT.PBP...
[0] 944 bytes | PARAM.SFO
[1] 11250 bytes | ICON0.PNG
[2] 0 bytes | ICON1.PMF
[3] 41146 bytes | PIC0.PNG
[4] 2651 bytes | PIC1.PNG
[5] 0 bytes | SND0.AT3
[6] 42273 bytes | DATA.PSP
[7] 327506661 bytes | DATA.PSAR
Successfully unpacked .\SLUS01279\EBOOT.PBP!
Single disc game detected!
Found STARTDAT offset: 0x13851b20
Saving STARTDAT as STARTDAT.BIN...
Decrypting ISO header...
ISO header successfully decrypted! Saving as ISO_HEADER_0.BIN...
ISO disc: SLUS_01279
ISO title: Dino Crisis™ 2
Found special data offset: 0x13854b15
Decrypting special data...
Special data successfully decrypted! Saving as SPECIAL_DATA.BIN...
Offset 44m:47s:18f at 0428
Offset 48m:19s:18f at 0414
seeking to 100000 + 13401a20 (13501a20)
Extracting audio track 2 (15900 sectors, 3474048 bytes)
1 audio tracks extracted to ATRAC3
Attempting to convert from ATRAC3 to WAV, this may take awhile...
BASE_PATH\psxtract-2\psxtract-2\at3tool.exe -d "D01 TRACK02.AT3" "D01 TRACK02.WAV"
Decoding 132 kbps (ATRAC3)
Decoded Bytes = 3473664 Bytes@9046frames(ave=384bytes)
1 audio tracks converted to WAV
Need to pad 348756 bytes
1 audio tracks converted to BIN
Building the data track...
ISO offset 100000
..............................................................................................................................
Read 13401a20 bytes, wrote 1c416f00 bytes
Data track successfully reconstructed! Saving as ISO.BIN...
Offset 0m:0s:0f at 041e
Offset 44m:47s:18f at 0428
Converting the final image to BIN/CUE...
Patching ECC/EDC data...
Processing 201393 sectors
The image has been fixed!
Generating CUE file...
adding DATA TRACK.BIN.ISO
adding D01 TRACK02.BIN
Disc successfully converted to BIN/CUE format!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.