Dear Forum,
currently i'm trying to extract the files from the PSP version of Growlanser 1:
DATA.DAT
GLB.DAT
MAGD.BIN
MAP.DAT
MSYS.DAT
NEFF.BIN
SCEN.DAT
UPD.UPD
VOICE.DAT
But compared to Growlanser 5/6, these files seems very differently build up.
Heres what the start of DATA.DAT, GLB.DAT, MAP.DAT, SCEN.DAT and VOICE.DAT looks like in a HEX Editor:
DATA.DAT https://i.imgur.com/4FLrkis.png
GLB.DAT https://i.imgur.com/DsEkSMC.png
MAP.DAT https://i.imgur.com/z1pRIue.png
SCEN.DAT https://i.imgur.com/6dKPOjd.png
VOICE.DAT https://i.imgur.com/2qArGUL.png
I can't really seem to figure out how the file table is build up, but i noticed that inside SCEN.DAT (this is the one that stores the script) the files seem to be placed in either 0x000 or 0x800:
https://imgur.com/a/osKtVdh
So, i thought maybe i could just let quickBMS dump the files that have lots of 00s before a 0x000 or 0x800, but i am not sure if this is actually possible.
Does anyone know if its possible to make a quickBMS script that could dump the files?
Here are the .DAT files mentioned:
https://anonfiles.com/vducNcbbp8/SCEN_rar
https://anonfiles.com/31u4Neb5p2/MAP_rar
https://anonfiles.com/59vaN2b3p3/DATA_rar
https://anonfiles.com/X7v3N2b0p2/GLB_rar
https://anonfiles.com/T822N7bdpb/VOICE_rar
Growlanser 1 (PSX/PSP): Need assistance with file extraction quickBMS script
-
- Posts: 21
- Joined: Wed Nov 18, 2015 1:35 pm
Growlanser 1 (PSX/PSP): Need assistance with file extraction quickBMS script
Last edited by Risae on Sat Oct 03, 2020 4:46 pm, edited 2 times in total.
-
- Posts: 21
- Joined: Wed Nov 18, 2015 1:35 pm
Re: Growlanser 1: Need assistance with file extraction quickBMS script
A buddy of mine also looks into the files right now, and might have figured something out from the SCEN.DAT:
Basically,
Red is amount of files (unverified),
green is position (multiply by LBA size, 0x800, to get the real position)
and blue is size (multiply by LBA size, 0x800, to get the real size)
For SCEN.DAT at least
-
- Posts: 21
- Joined: Wed Nov 18, 2015 1:35 pm
Re: Growlanser 1: Need assistance with file extraction quickBMS script
My buddy made 2 quickBMS script for the SCEN.DAT:
The script above is able to dump all of the 1140 files inside SCEN.DAT, but most of those are 0kb so he adjusted the script a little bit:
No progress on the other files so far. If anybody has some recommendations on how to improve the quickBMS script, please do tell!
Edit: The script seems to work on the GL1 PSP + PS1 SCEN.DAT and MAP.DAT
Code: Select all
# Growlanser VI: Precarious World
# script for QuickBMS http://quickbms.aluigi.org
get FILES long
for i = 0 < FILES
get OFFSET short
get SIZE short
math OFFSET *= 0x800
math SIZE *= 0x800
log "" OFFSET SIZE
next i
The script above is able to dump all of the 1140 files inside SCEN.DAT, but most of those are 0kb so he adjusted the script a little bit:
Code: Select all
# Growlanser VI: Precarious World
# script for QuickBMS http://quickbms.aluigi.org
get FILES long
for i = 0 < FILES
get OFFSET short
get SIZE short
math OFFSET *= 0x800
math SIZE *= 0x800
if SIZE != 0
savepos POS
goto OFFSET
get ID long
string FILE_NAME = ""
string FILE_NAME + i
if ID == 0x64
string FILE_NAME + ".SCEN"
log FILE_NAME OFFSET SIZE
else
string FILE_NAME + ".DAT"
log FILE_NAME OFFSET SIZE
endif
goto POS
endif
next i
No progress on the other files so far. If anybody has some recommendations on how to improve the quickBMS script, please do tell!
Edit: The script seems to work on the GL1 PSP + PS1 SCEN.DAT and MAP.DAT
-
- Posts: 21
- Joined: Wed Nov 18, 2015 1:35 pm
Re: Growlanser 1 (PSX/PSP): Need assistance with file extraction quickBMS script
Update:
It seems like both the SCEN quickBMS script don't work properly. There are still cases when there are files that do not have the proper file length:
My buddy was able to make a sort of working quickBMS script for DATA.DAT and GLB.DAT:
And here for GLB.DAT:
Anybody got a clue what could be wrong with the SCEN.DAT script?
Additional Information:
GL1 PSP is a remake from the PS1 version.
For comparison, here are the files from GL1 PS1 and PSP:
PS1:
PSP:
It seems like both the SCEN quickBMS script don't work properly. There are still cases when there are files that do not have the proper file length:
My buddy was able to make a sort of working quickBMS script for DATA.DAT and GLB.DAT:
Code: Select all
# Growlanser I (PSP) - DATA.DAT
# script for QuickBMS http://quickbms.aluigi.org
getdstring FILE_NAME_1 0x1C
goto 0x1C
get OFFSET_1 long
savepos POS
xmath POS_2 "POS + 0x1C"
goto POS_2
get OFFSET_2 long
reverselong OFFSET_2
reverselong OFFSET_1
xmath SIZE "OFFSET_2 - OFFSET_1"
log FILE_NAME_1 OFFSET_1 SIZE
goto POS
do
getdstring FILE_NAME 0x1C
xmath POS "POS + 0x1C"
get OFFSET long
savepos POS
xmath POS_2 "POS + 0x1C"
goto POS_2
get OFFSET_2 long
reverselong OFFSET_2
reverselong OFFSET
xmath SIZE "OFFSET_2 - OFFSET"
log FILE_NAME OFFSET SIZE
goto POS
while POS != OFFSET_1
And here for GLB.DAT:
Code: Select all
# Growlanser I (PSP) - GLB.DAT
# script for QuickBMS http://quickbms.aluigi.org
getdstring FILE_NAME_1 0xA
goto 0xA
get OFFSET_1 long
savepos POS
xmath POS_2 "POS + 0xA"
goto POS_2
get OFFSET_2 long
reverselong OFFSET_2
reverselong OFFSET_1
xmath SIZE "OFFSET_2 - OFFSET_1"
log FILE_NAME_1 OFFSET_1 SIZE
goto POS
do
getdstring FILE_NAME 0xA
xmath POS "POS + 0xA"
get OFFSET long
savepos POS
xmath POS_2 "POS + 0xA"
goto POS_2
get OFFSET_2 long
reverselong OFFSET_2
reverselong OFFSET
xmath SIZE "OFFSET_2 - OFFSET"
log FILE_NAME OFFSET SIZE
goto POS
while POS != OFFSET_1
Anybody got a clue what could be wrong with the SCEN.DAT script?
Additional Information:
GL1 PSP is a remake from the PS1 version.
For comparison, here are the files from GL1 PS1 and PSP:
PS1:
Code: Select all
Growlanser (Japan) (Disc 1).bin
>SLPS_023.80
>MAGD.BIN
>NEFF.BIN
>SYSTEM.CNF
>FTIM.DAT
>MAP.DAT
>MSYS.DAT
>SCEN.DAT
>SND.DAT
>XATBL.DAT
>MOVIE0.STR
>MOVIE1.STR
>UPD.UPD
>VOICE.XA
PSP:
Code: Select all
Grow_Lanser_JPN.iso
>UMD_DATA.BIN
>PSP_GAME
>>ICON0.PNG
>>PARAM.SFO
>>PIC0.PNG
>>PIC1.PNG
>>SYSDIR
>>>BOOT.BIN
>>>EBOOT.BIN
>>>UPDATE
>>>>DATA.BIN
>>>>EBOOT.BIN
>>>>PARAM.SFO
>>USRDIR
>>>DATA_BOOT.DAT
>>>GR_SAVE_ICON0.PNG
>>>GR_SAVE_PIC1.PNG
>>>logo.bmp
>>>op1.pmf
>>>op2.pmf
>>>TMP.DAT
>>>gr_data1
>>>>MAGD.BIN
>>>>NEFF.BIN
>>>>DATA.DAT
>>>>GLB.DAT
>>>>MAP.DAT
>>>>MSYS.DAT
>>>>SCEN.DAT
>>>>VOICE.DAT
>>>>UPD.UPD
>>>kmodule
>>>>audiocodec.prx
>>>>audiocodec_back.prx
>>>>ifhandle.prx
>>>>memab.prx
>>>>mpegbase.prx
>>>>mpegbase_.prx
>>>>pspnet_adhoc_auth.prx
>>>>videocodec.prx
>>>>videocodec_.prx
>>>module
>>>>libatrac3plus.prx
>>>>libatrac3plus_back.prx
>>>>mpeg.prx
>>>>mpeg_.prx
>>>>pspnet.prx
>>>>pspnet_adhoc.prx
>>>>pspnet_adhoc_download.prx
>>>>pspnet_adhoc_matching.prx
>>>>pspnet_adhocctl.prx
>>>>pspnet_apctl.prx
>>>>pspnet_inet.prx
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Growlanser 1 (PSX/PSP): Need assistance with file extraction quickBMS script
Just gave a quick look at SCEN.DAT and the script of your friend is correct, there are indeed 0bytes files since the coverage is 99% and the offset doesn't advance with these files.
-
- Posts: 21
- Joined: Wed Nov 18, 2015 1:35 pm
Re: Growlanser 1 (PSX/PSP): Need assistance with file extraction quickBMS script
aluigi wrote:Just gave a quick look at SCEN.DAT and the script of your friend is correct, there are indeed 0bytes files since the coverage is 99% and the offset doesn't advance with these files.
Hi Aluigi,
thank you very much for taking a look at it.
A quick update: 2 file that are only present in the PSP version of the game, "DATA.DAT" and "GLB.DAT" have a sort of working script now too:
Code: Select all
# Growlanser I (PSP) - DATA.DAT
# script for QuickBMS http://quickbms.aluigi.org
getdstring FILE_NAME_1 0x1C
goto 0x1C
get OFFSET_1 long
savepos POS
xmath POS_2 "POS + 0x1C"
goto POS_2
get OFFSET_2 long
reverselong OFFSET_2
reverselong OFFSET_1
xmath SIZE "OFFSET_2 - OFFSET_1"
log FILE_NAME_1 OFFSET_1 SIZE
goto POS
do
getdstring FILE_NAME 0x1C
xmath POS "POS + 0x1C"
get OFFSET long
savepos POS
xmath POS_2 "POS + 0x1C"
goto POS_2
get OFFSET_2 long
reverselong OFFSET_2
reverselong OFFSET
xmath SIZE "OFFSET_2 - OFFSET"
log FILE_NAME OFFSET SIZE
goto POS
while POS != OFFSET_1
Code: Select all
# Growlanser I (PSP) - GLB.DAT
# script for QuickBMS http://quickbms.aluigi.org
getdstring FILE_NAME_1 0xA
goto 0xA
get OFFSET_1 long
savepos POS
xmath POS_2 "POS + 0xA"
goto POS_2
get OFFSET_2 long
reverselong OFFSET_2
reverselong OFFSET_1
xmath SIZE "OFFSET_2 - OFFSET_1"
log FILE_NAME_1 OFFSET_1 SIZE
goto POS
do
getdstring FILE_NAME 0xA
xmath POS "POS + 0xA"
get OFFSET long
savepos POS
xmath POS_2 "POS + 0xA"
goto POS_2
get OFFSET_2 long
reverselong OFFSET_2
reverselong OFFSET
xmath SIZE "OFFSET_2 - OFFSET"
log FILE_NAME OFFSET SIZE
goto POS
while POS != OFFSET_1