Making .RXT files for ResMan

From Legacy Portable Computing Wiki
Jump to navigation Jump to search

(subpage for Phone and firmware manipulation guide)

ResMan stores phone configuration files (where the graphics, sounds, etc are located) in RXT files. These are text files with a similar structure to HTML files.

While ResMan was intended to be used for Samsung phones, realistically it works with any phone that uses raw bitmaps for graphics.

Template RXT File[edit]

<bin name="BIN file name" size="Size of BIN file in bytes" id="Label for ResMan">

<group title="Images">
	<group title="Main">
     	 <img ofs="0x00AC4C3C" title="Samsung Logo(First frame)" count="1" width="128" height="160" bpp="16"> 
		 <img ofs="0x0031CC4E" title="Boot screen (First frame)" count="1" width="128" height="160" bpp="16"> 
		 <img ofs="0x0032704E" title="Off screen (Last frame)" count="1" width="128" height="160" bpp="16"> 
		 <group title="Other">
			<img ofs="0x0060264E" title="1" count="1" width="128" height="160" bpp="16"> 
        </group>
</group>

The hex locations are arbitrary, but this is a basic example of what an RXT file looks like.

Samsung phones also have different types of graphic formats. For this, the "img" tag is changed accordingly to include the type.

Where to find the graphics addresses[edit]

There's probably more than 1 program to do this, but FWeditor is suited best for this purpose as it can (sometimes) detect 09-compressed images.

09-compressed RLE images start with a header of 09 (hence the nickname), but the rest seems quite random. Most images start with 09 7F, so try searching for that in a hex editor to find them.

It's tedious and time consuming, but you can use the "Image move" buttons to move around in the firmware, viewing it as raw bitmap data.

Viewing 16bpp graphics
Viewing "09" graphics

Valid graphics types[edit]

For 09-compressed images:

<img ofs="0x00123456" title="Image" width="240" height="320" type="09">

For IFG images:

<img ofs="0x00123456" title="Image" width="240" height="320" type="IFG">

For Raw bitmap images:

<img ofs="0x00123456" title="Image" width="240" height="320" bpp="16">

When the bits-per-pixel (bpp) is different, the number is also changed accordingly.

ResMan will accept 1,2,4,8,12,16,18, and 24 as valid bit-per-pixel levels.

This doesn't include everything yet, and will be updated periodically