Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

Blaze Union/ROM map

From Data Crystal
< Blaze Union
Revision as of 10:31, 27 October 2016 by Flame (talk | contribs)
Jump to navigation Jump to search

General

This game uses CRIWARE.

The archive file is Data.cpk. The full path is PSP_GAME\USRDIR\Data\Data.cpk. Data.cpk is packed in MODE=ID and there are 3339 files within the archive. Hereafter, sub-files will be referred to by 4-digit numbers (ex: 0003). Data.cpk is the only archive file within the ROM.

PTX Image File Format

IDSTRING = "PTX@" (hex: 50 54 58 40)

0x4: BYTE. 2 ** BYTE = WIDTH of the texture needed to contain the image

0x5: BYTE. 2 ** BYTE = HEIGHT of the texture needed to contain the image

0x6: HALFWORD. Image width aligned to 0x10. I think this is how long the pixel rows are.

0x8: HALFWORD. Image width.

0xA: HALFWORD. Image height.

0xC: BYTE. 0x4 if 4 bits per pixel. 0x5 if 8 bits per pixel. Other values unknown. Not sure.

0xD...0xE: Unknown. Always hex: 01 03. Not sure.

0xF: BYTE. Number of colors divided by 8. Not sure.

0x10: WORD. Number of colors.

0x14...0x18: Unknown

0x18: WORD. Offset (absolute) to start of color table

0x1C: WORD. Offset (absolute) to start of bitmap

0x20: Color table.

Colors are in ABGR format, I think.

Pixel Format

4 bits per pixel images use a 32x8 tile size. The pixels are stored in little-endian format meaning the first pixel (i.e., further to the left in the image) is stored in the least significant part of each byte.

8 bits per pixel images use a 16x8 tile size

Script Format

Text is in SHIFT-JIS.

ASCII, though not used by the developer, gets converted into fullwidth and rendered that way.

Not sure of the pointers just yet.

The values at the top seem to be pointers.

Below this header are values like 02 00 HALFWORD which seem to be voice IDs. After this is the string terminated by a null.

Some of the strings don't have 02 00 HALFWORD on the front of them which signifies they are unvoiced.

In the code section below the strings, there are pointers (WORD) that point to the 02 00 if present or the start of the text if not present. Pointers go like 07 00 PTR. I didn't see another pattern. There might be other points present.

File / Data IDs

0003 offset 0x45C50 is the font image.

0004 offset 0x480D0 is the title screen image.

2149 is the first script file.