Dead or Alive (PSX) PS_DOA.BIN Archive

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
BloodRaynare
Posts: 367
Joined: Fri Mar 10, 2017 7:23 am

Dead or Alive (PSX) PS_DOA.BIN Archive

Post by BloodRaynare »

The size value are easy to figure out, but I can't figure out the offset value.

https://drive.google.com/file/d/1OYgAQ5 ... bhM9K/view
BloodRaynare
Posts: 367
Joined: Fri Mar 10, 2017 7:23 am

Re: Dead or Alive (PSX) PS_DOA.BIN Archive

Post by BloodRaynare »

Well, hello there me from the past, After more than 4 years, I finally figured it out.
Turns out, the offset field are stored in MM:SS:FF format. And here's the extraction scripts:

Code: Select all

## Dead or Alive (PSX) - PS_DOA.BIN
## Extraction scripts by BloodRaynare

get FNAME basename

for i = 0
   get SIZE long
   # Offset fields uses MM:SS:FF notation
   get MM byte
   get SS byte
   get FF byte
   get ZERO byte
   if SIZE == 0 && MM == 0 && SS == 0 && FF == 0
      break
   endif
   putarray 0 i SIZE
   putarray 1 i MM
   putarray 2 i SS
   putarray 3 i FF
next i
math FILES = i

for i = 0 < FILES
   getarray SIZE 0 i
   getarray MM   1 i
   getarray SS   2 i
   getarray FF   3 i
   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 + 2"
   math OFFSET * 2048
   string NAME p "%s_%03i." FNAME i
   log NAME OFFSET SIZE
next i