Author Topic: Opening up window.bin  (Read 4063 times)

halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Opening up window.bin
« on: 2004-07-25 15:06:48 »
I know what's in there, but it's compressed and I can't seem to unlock it.

On the PSX, within the /init dir there are three files. Save for yamada.bin, which is a lookup table, the others are compressed.

Window.bin holds some tims I need access to. (It was through the process of elimination that I dicovered what I need is in there)

When the game is initalized, it pemenantly puts into the lower left hand side of VRAM the text and the base windowdressings for the MENU system. These windowdressings are found in  /data/menu on the PC version, but because the PC version's menu system was rewritten, its not where the PSX version's window dressings are located.

I think it's in /init/window.bin in the PSX

however, the file is compressed. the lzs program dies a horrable death when I try to decompress it, but that's because the header is longer than the other LZS files. It has the whisper of a scene.bin format, but I can't tell if the data is gzipped or lzs'ed as I can't find an approprite "begin" to the data file after the header.

The header *APPEARS* to be a set of memory addresses, or maybe a memory address and an offset. Can anyone poke at this with a stick to see if a reasonable data stream can flow out of it?

Better yet, is there a way to modify the header to make it behave with LZS?

Cyberman

  • *
  • Posts: 1572
    • View Profile
Re: Opening up window.bin
« Reply #1 on: 2004-07-25 19:06:06 »
Quote from: halkun
I know what's in there, but it's compressed and I can't seem to unlock it.

On the PSX, within the /init dir there are three files. Save for yamada.bin, which is a lookup table, the others are compressed.

Window.bin holds some tims I need access to. (It was through the process of elimination that I dicovered what I need is in there)

When the game is initalized, it pemenantly puts into the lower left hand side of VRAM the text and the base windowdressings for the MENU system. These windowdressings are found in  /data/menu on the PC version, but because the PC version's menu system was rewritten, its not where the PSX version's window dressings are located.

I think it's in /init/window.bin in the PSX

however, the file is compressed. the lzs program dies a horrable death when I try to decompress it, but that's because the header is longer than the other LZS files. It has the whisper of a scene.bin format, but I can't tell if the data is gzipped or lzs'ed as I can't find an approprite "begin" to the data file after the header.

The header *APPEARS* to be a set of memory addresses, or maybe a memory address and an offset. Can anyone poke at this with a stick to see if a reasonable data stream can flow out of it?

Better yet, is there a way to modify the header to make it behave with LZS?

It might be a scene.bin type file then. And modifying the header will do little good then sadly.  You are forcing me to look MUST RESIST URGE to look GAH!

Ok you should check out this threads begining Halkun (you posted to it).  Apparently Window.bin contains the variable width screen font for the PSX version in section 3.  The hearder it has is similar to kernel.bin on the same disk in fact they are only a little bit different in terms of data in them.

Crc

halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Opening up window.bin
« Reply #2 on: 2004-07-25 23:43:33 »
YAY! I have a unified BIN-GZIP format..... (Well, kinda)

Window.bin, kernel.bin and scene.bin are kinda the same format, there are some diffrences, but you can get extract data from each one universally.

First All the above .bin files are in gzipped "chunks" (Sadly with no name) This is how you extract data from them

1) Open the file and count how many times 0x1f8b080000000000 shows up. This is the header for the beginning of the gzipped section, and the count will tell you how many sections there are.

2) You can extract the whole sction, including the header, and either run gunzip in it, or use zlib to extract the data.

that's really it.

The problem is kernel.bin has 27 sections and I can't manully cut/extract all those sections. It was bad enough I did window.bin that only had 3

Can someone write an "unbin" program that can assist me. What would really be cool is if "unbin" could save the extracted data as hex addresses of thier offset. For example,

window.bin becomes three files
0006.bin
2754.bin
332E.bin

That would be great!

lasyan3

  • *
  • Posts: 76
    • View Profile
Opening up window.bin
« Reply #3 on: 2004-07-26 07:27:20 »
I've done such a program :P .
You can download it here. Be aware that I'm not sure if it works with all the bin files, I only know for sure that it works with window.bin, kernel.bin and co.bin, so it should be ok for you. Enjoy :wink: !
Edit:
the current version doesn't create fils with hex offset in the name. I'm going to correct this as soon as I can.
« Last Edit: 2013-03-10 08:04:57 by lasyan3 »