[Eee Pad Transformer Android Development] gee one:
This is a work in progress and I think I'll need some help...

I was trying to figure out how to mod the splash screen, but have a few questions.

I found the splash screen in the 8.2.3.9 firmware, but haven't found it yet elsewhere. And it has changed with the 8.4.4.11 firmware and I can't track where the changes are coming from.

In the 8239 firmware, I unpacked the blob, split the LNX and SOS partitions, and gunziped the ramdisks. There is an .rle file in there, which turns out to be some version of a headerless run length encoded file. Or maybe all rle files are headerless? Whichever it is, they sure talk funny.

I converted it to a .bmp and it appears to be the splash screen. It's upside-down and in the 556 format, which is how I would expect the splash screen to be.

There are also some battery indicators that I never saw on my TF, so I wonder if the splash screen is a red herring?

I converted the files to jpg, but left the peculiar orientation.

So the questions at large:

1) was there a different splash screen before the 8.2.3.9 firmware?

2) where is the splash screen stored?

3) how did the splash screen get updated in the 8.4.4.11 version?

4) Is the nvidia tag just superimposed? If it's just a 'patch' then it will be a needle in a haystack to find the right pattern- where should we look?

5) or maybe forget looking and just figure out how/where the splash screen gets loaded. In full format, it should be 2.1 MB

6) does the TF leave the splash screen "compressed" and just inflate it at boot time? It seems to load up too quickly.

Here's the run down on what I did.

blobby booty tools

https://github.com/AndroidRoot

I used a different split_boot tool, but I assume it should be the same result.

The file format of the rle file is as follows: Data are ordered in 4 byte sets. 2 bytes for the count and 2 bytes for the data. Read the count and data, and write the data x times, based on the count. The count is little endian, so the first byte of the count is the least significant. For example, 02 00 AA BB would represent AABB AABB, and 02 01 AB AB would be ABAB repeated 258 times. If you do it correctly, the resulting file should be 2,048,000 bytes long. Toss on a header for a 1280x800 556 BMP file and it will pop up.

I'm not a programmer, so this script might be rough. I wrote it by google'ing stuff on the internet.

#!/usr/bin/env python

import os
bytes = os.path.getsize('EeePad_bootup_first_page.rle')
print(bytes)

in_file = open('EeePad_bootup_first_page.rle', mode='rb')
out_file = open('eeepad.bmp', mode='ab')

while bytes > 0:

loop1 = int(in_file.read(1).encode('hex'),16)
loop2 = int(in_file.read(1).encode('hex'),16)
data = in_file.read(2)
loop = loop2 * 256 + loop1

print(bytes,loop,loop1,loop2,data)

while loop > 0:
out_file.write(data)
loop -= 1

bytes -= 4

in_file.close()
out_file.close()

70 byte header for the BMP file- paste it at the head of the bmp file

42 4D 46 40 1F 00 00 00 00 00 46 00 00 00 38 00 00 00 00 05 00 00 20 03 00 00 01 00 10 00 03 00 00 00 00 40 1F 00 13 0B 00 00 13 0B 00 00 00 00 00 00 00 00 00 00 00 F8 00 00 E0 07 00 00 1F 00 00 00 00 00 00 00

Lastly, maybe someone has already figured out how to mod the splash screen, but I've only seen boot animations, not the actual splash image. Then again, I haven't flashed too many roms on the TF yet.