The Phantom Menace PSX: Finding the difference between Original and Revision 1

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
Aaron
Posts: 3
Joined: Sat Sep 03, 2022 10:25 pm

The Phantom Menace PSX: Finding the difference between Original and Revision 1

Post by Aaron »

Hello, I am trying to find what differences there are between two builds of The Phantom Menace PSX (there was only a revision for the NTSC-U/C version) and it seems to be just a couple of weeks after the initial release as you can see by the two redump entries:

http://redump.org/disc/1880/
http://redump.org/disc/67704/

First release: 1999-08-11
Second Release: 1999-08-27

The first thing I have done is use a program called "jPSXdec" (https://github.com/m35/jpsxdec) to compare filesizes and there is one file which is different, which is called "FILE.000", there is roughly 2MB of difference on this file between the two. I searched google for anything on this file and found this topic, which is referring to FILE.001 which apparently contains the voice acting in the game:
viewtopic.php?f=6&t=16102

But I'm not sure what to do for FILE.000. Here are both files if anyone would care to take a look or point me in the direction of what tools could be used.

https://www.mediafire.com/file/pja6czoj ... riginal.7z
https://www.mediafire.com/file/k9cif21c ... evision.7z
BloodRaynare
Posts: 367
Joined: Fri Mar 10, 2017 7:23 am

Re: The Phantom Menace PSX: Finding the difference between Original and Revision 1

Post by BloodRaynare »

Both of your sample has no Table of contents (TOC) so it's hard to extract the individual files inside. Send me the game's executable (SLUS_008.84) of the both versions. IIRC the TOC for the FILE.* was inside there.
Aaron
Posts: 3
Joined: Sat Sep 03, 2022 10:25 pm

Re: The Phantom Menace PSX: Finding the difference between Original and Revision 1

Post by Aaron »

When using jPSXdec it gives the option of saving files as Normal and Raw, so I'll include all 4 lol

Image
BloodRaynare
Posts: 367
Joined: Fri Mar 10, 2017 7:23 am

Re: The Phantom Menace PSX: Finding the difference between Original and Revision 1

Post by BloodRaynare »

You don't need to extract the executable file with 2352 byte per sectors mode, regular 2048 is enough (Unless the file contains a STR/XA file).
Anyway, here's BMS script to extract both versions of your sample

star_wars_the_phantom_menace.bms

Code: Select all

## Star Wars: the Phantom Menace (PS1) FILE.000 extractor by BloodRaynare v2
## For use with QuickBMS: http://aluigi.altervista.org/quickbms.htm
## Changelog:
## v1: First version
## v2: Fixing the miscalculation of the SS field if the values are 0 seconds.
## v3: Get rid of the "SS field subtraction" method and opted for more direct calculation.

open FDSE SLUS_008.84
open FDSE FILE.000 1

FindLoc TOC string "ASAULT.PCV"
math TOC - 8
goto TOC

for i = 0
   get MM byte
   get SS byte
   get FF byte
   get ZERO byte
   get SIZE long
   getdstring NAME 16
   
   if i > 0 # Ugly workaround, I know
     if MM == 00 && SS == 02 && FF == 00
      break
     endif
   endif

   string TMP1 p "%2x" MM
   string TMP2 p "%2x" SS
   string TMP3 p "%2x" FF
   math TMP1 * 60
   math TMP2 + TMP1
   math TMP2 * 75
   xmath OFFSET "TMP2 + TMP3"
   xmath OFF_SUB "2 * 75 * 2048"
   math OFFSET * 2048
   math OFFSET - OFF_SUB
   log NAME OFFSET SIZE 1
next i


Both of the FILE.000 and SLUS_008.84 must match between the versions.

EDIT: I just realized that there are calculation error of the "SS" field, let me fix the script first, brb in a few minutes.
EDIT 2: Okay, now updated the scripts to v2.
EDIT 3: Whoops, there's still calculation error, need to check the scripts thoroughly again.
EDIT 4: In the end, I had to opt for more direct calculation. Basically, I won't subtract the SS field and will multiply them as-is for the "OFFSET" variable. But, at the end before the "log" process, I subtracted it using a "OFF_SUB" variable that I set before by calculating the 75 frames (1 second of a CD data) 2 times then multiply it to 2048 bytes to obtain the real offset of the file.
Aaron
Posts: 3
Joined: Sat Sep 03, 2022 10:25 pm

Re: The Phantom Menace PSX: Finding the difference between Original and Revision 1

Post by Aaron »

Thanks for the script, I have compared the two and the Original has a lot of extra files not found in Revision 1, also a filesize difference on two of Otoh Gunga's level files. I assume the extra files are just leftovers from the PC version but clearly something was changed/fixed on Otoh Gunga. The files are a mixture of .VRM, .JRN, .TPG a bitmap image of "LOADING" and what seems to be a "static" level (debug/testing area?). Also "OLDTITLE" which I also I assume was some basic main menu before the final one. Also some kind of journal.

EDIT: None of these files exist at least in the PC installation / on the PC CD ROM.