Code Monkey home page Code Monkey logo

psxtract-2's People

Contributors

has207 avatar zecoxao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

faha223 tokman5

psxtract-2's Issues

"Corrupt CD-ROM XA subheader" warnings with Mega Man games

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:

  • Misadventures of Tron Bonne: 0x00, 0x80
  • Mega Man Legends: 0x02, 0x82

Rival Schools Disc 2 has bad byte

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

namco museum vol 3 eboot has data for its solo disc twice

"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

could not extract over 2GB PBP

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.

__sce_discinfo.zip

Einhander bad ECC on a number of sectors

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

Missing ECC 'signature/watermark' in last sectors of the disc

This affects at least the following games, but most likely there are more:

  • Capcom Generation 5
  • Gaia Seed
  • The Misadventures of Tron Bonne
  • Panzer Bandit
  • Resident Evil 2 Dualshock Edition (both discs)
  • Castlevania: Symphony of the Night
  • Soukuu no Tsubasa Gotha World

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...

Vib-Ribbon (SCES-02873) - Checksum doesn't match Redump

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!

Dino Crisis (SLUS-00922) - Redump Checksum Mismatch

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!

PAL games with libcrypt copy protection need SBI data

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.
image

This is the only game so far, where I've encountered such an issue.

Dino Crisis 2 (SLUS-01279) - Data Track Incorrect Length

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!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.