Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Forbidden Siren (PS2, unknown archive type)

Featured Replies

  • Author
  • Localization

Marconi, posted Wed Feb 14, 2018 9:04 pm (32465)


Hi there!

I'm interested in doing some language swapping/modding on the PS2 game Forbidden Siren, but I'm entirely new to this and have had no luck extracting the assets I'm interested in. I wonder if anyone can help?

The top level of the disc (all regions) is as per the attached image - I suspect the SIREN.* files are perhaps vfs archives and a good place to start?

Attached samples from both the US and Japanese games (I will need to explore both).

Thanks in advance for any clues or help :)
  • Author
  • Localization

aluigi, posted Fri Feb 16, 2018 10:21 am (32496)


Upload SIREN.TBL
  • Author
  • Localization

Marconi, posted Fri Feb 16, 2018 3:54 pm (32518)


Thankyou aluigi - uploaded.
  • Author
  • Localization

aluigi, posted Fri Feb 16, 2018 5:31 pm (32522)


Can you upload the whole SIREN.008 of the US version?
TBL contains everything but the OFFSET/SIZE structure is not very clear.
  • Author
  • Localization

aluigi, posted Fri Feb 16, 2018 10:19 pm (32534)


No unfortunately it doesn't have any sense to me, without OFFSET and SIZE there is no way to extract the data.
I leave my work-in-progress script here for reference in case someone will find out what I'm missing, do NOT try it because doesn't work:
Code:
# Forbidden Siren TBL/000
# script for QuickBMS http://quickbms.aluigi.org

open FDDE "tbl"
filexor 0xff
idstring "SDT4"
get FILES long
get TBL_SIZE long
get SOME_CRC long
get INFO_OFF long
get NAMES_OFF long
get DUMMY long  # 1
goto INFO_OFF
math LAST_ARCHIVE_NUM = -1
for i = 0 < FILES
    get DUMMY long
    get DUMMY short
    get DUMMY byte
    get ARCHIVE_NUM byte
    get NAME_OFF long

    savepos TMP
    math NAME_OFF NAMES_OFF
    goto NAME_OFF
    get NAME string
    goto TMP

    if ARCHIVE_NUM != LAST_ARCHIVE_NUM
        math LAST_ARCHIVE_NUM = ARCHIVE_NUM
        get TMP basename
        string TMP p "%s.d" TMP ARCHIVE_NUM
        open FDSE TMP 1
    endif

    filexor ""
    cleanexit # this is not a working script!
    log NAME OFFSET SIZE 1
    filexor 0xff
next i
  • Author
  • Localization

Marconi, posted Sat Feb 17, 2018 12:27 am (32537)


Ok - thanks for the time and effort.

Leaving here also the entire contents of that IOP directory on the US disc, in case it can offer any clues.
  • Author
  • Localization

AnonBaiter, posted Thu Apr 12, 2018 4:27 pm (33997)


i modded aluigi's script into this...
Code:
get TBL_BNAME basename

open FDDE "tbl"
filexor 0xff
idstring "SDT4"
get FILES long
get TBL_SIZE long
get TBL03 long # probably some kind of hash...
get INFO_OFF long
get NAMES_OFF long
get TBL04 long # 1
goto INFO_OFF
math TBL_ARCNUM = 0
math TBL_TEMPNUM = 0
math TBL_ARCSIZE = 0x20000000
for i = 0 < FILES
    get OFFSET long
    get SIZE long
    get NAME_OFF long
   
   if i = 0
      set TBL05 long OFFSET
   endif
   
   math OFFSET - TBL05
   math OFFSET * 0x800
   set OFFSET2 long OFFSET

    if OFFSET u>= TBL_ARCSIZE
       math OFFSET % TBL_ARCSIZE
      xmath TBL_ARCNUM "OFFSET2 / TBL_ARCSIZE"
    endif
   
   string FULL_TBL_LOAD p "%s.d" TBL_BNAME TBL_ARCNUM
   open FDSE FULL_TBL_LOAD 1
   
   xmath STBL_DRAFT1 "SIZE OFFSET"
   xmath STBL_TEMPSIZE1 "TBL_ARCSIZE - OFFSET"
   xmath STBL_TEMPSIZE2 "STBL_DRAFT1 - TBL_ARCSIZE"

    savepos TMP
    math NAME_OFF NAMES_OFF
    goto NAME_OFF
    get NAME string
    goto TMP
   
   filexor ""
   if STBL_DRAFT1 u> TBL_ARCSIZE
      putvarchr MEMORY_FILE SIZE 0
      log MEMORY_FILE 0 0
      
      math TBL_TEMPNUM == TBL_ARCNUM
      math TBL_TEMPNUM 1
      string TEMP_TBL_LOAD p "%s.d" TBL_BNAME TBL_TEMPNUM
      open FDSE TEMP_TBL_LOAD 2
      
      append
      for xp = 0 < 2
         if xp = 0
            log MEMORY_FILE OFFSET STBL_TEMPSIZE1 1
         elif xp = 1
            log MEMORY_FILE 0 STBL_TEMPSIZE2 2
         endif
      next xp
      append
      
      log NAME 0 SIZE MEMORY_FILE
   else
      log NAME OFFSET SIZE 1
   endif
   filexor 0xff
next i
this script is currently untested for re-importing stuff though
  • Author
  • Localization

AnonBaiter, posted Tue Apr 17, 2018 11:08 pm (34112)


anyway, i managed to find at least some "SLDI" files upon extraction so i'll be opening a separate thread for that.

EDIT: in other news i'm basically done with the whole siren.tbl/siren.000 format now so if you're reading this in the future i have already released that new script of mine in my "Script Compendium" thread.
  • Author
  • Localization

Marconi, posted Wed Apr 18, 2018 10:34 pm (34130)


Thanks for this! I've run the version of the script from your compendium thread, and it's extracting but only getting so far:

Quote:
- open input file C:\...\Siren\US\SIREN.004

Error: incomplete input file 1: C:\...\Siren\US\SIREN.004

Can't read 1050722304 bytes from offset e15f4000.

coverage file 1 0% 0 536870912 . offset e15f4000

Last script line before the error or that produced the error:
55 log MEMORY_FILE OFFSET STBL_TEMPSIZE1 1
  • Author
  • Localization

AnonBaiter, posted Wed Apr 18, 2018 11:18 pm (34134)


oh nooooooooooooooooooooo
just give me an entire day to solve this
  • Author
  • Localization

AnonBaiter, posted Thu Apr 19, 2018 8:30 pm (34143)


hmm... i guess the issue seems to be on your end...

in order to see if anything was wrong with my script(if at all), i had to go through getting "legit" copies of the same game, this time getting the JP and US releases just for troubleshooting purposes. i tested the script on both releases - from debugging tests to the extraction part - and [quite literally] they all work fine for me.

in the meantime i'm refining my script by trying to find a better way to handle those split archives.
  • Author
  • Localization

Marconi, posted Sat Apr 21, 2018 10:46 am (34181)


Hmm, sure enough my existing US rip was not accurate, so I ripped the disc again and this time got a Redump md5 match.

However... still getting the same error! I'm just starting quickbms with your script, and pointing it to one of the SIREN.00* files. Is there another way?
  • Author
  • Localization

AnonBaiter, posted Sat Apr 21, 2018 1:07 pm (34182)


okay, here is something i should have told you before since the beginning: i tested the script with quickbms_4gb_files.exe
i tried to investigate your problem by executing the one and only quickbms.exe executable, and guess what the problem is actually much worse than anticipated.

simply put, the script will simply spazz out in there to the point it triggers unexpected bugs like these...
Code:
.
. 00000050
. 000003e0 get     OFFSET     0x001165ef 4
. 000003e4 get     SIZE       0x019e0004 4
. 000003e8 get     NAME_OFF   0x000005a4 4
. 00000000 putarr  OFFSET     0xe032f800 0:0
. 00000000 putarr  TBL_ARCNUM 0x00000004 0:0
. 00000000 putarr  STBL_DRAFT1 0xe1d0f804 0:0
. 00000000 putarr  STBL_DRAFT2 0x00000008 0:0
. 00001e78 get     NAME       "movie\data22.pss" -1
. 019e0004 putvarc            0x00000000 1
i used my publicly-available siren.bms script as a reference for this kind of error.
as for *how* i'm going to fix this one... well, what i'm confident in saying is that i'm starting to get a clear idea of this now.
  • Author
  • Localization

Marconi, posted Sun Jul 15, 2018 11:48 pm (36790)


Thanks for the continued work on this - I got a good look at the structure of the game. Unfortunately it confirmed that there are no subtitle triggers whatsoever during actual gameplay (non-cutscene) so any worthwhile undub for this title would require implementing such a subtitle feature from scratch :shock: .
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.