[Wing, P4350 ROM development] ivanmmj:
Lesson 1: Getting to Know Your Device

Every cook must first understand the device that they are cooking for. If you don't know how your customer works, you might not know what could be tasty to him/her and what could poison and kill him/her.

The Hardware

CPU: Omap850 200mhz

64MB RAM

QVGA screen (320×240 resolution)

128MB ROM

The ROM is subdivided into multiple parts. Those parts are the following:

The SPL (Think of it as the OS's bootloader.)

The IPL (Think of it as the BIOS.)

The Radio (The "firmware" that controls how a phone talks to the network.)

The Primary Splash (The first image you see when you turn on the device.)

The Extended ROM (Where providers store cabs that are automatically installed whenever you hard reset the phone.) [Format: TFAT16/12]

The OS. (Obviously, the Operating System. This is what most of you will touch.)

That's really the only information that matters and that you will need on the physical stuff. The last point is that the Wing is actually an HTC Atlas. The HTC Atlas is basically a HTC Herald with a modified keyboard and exterior coating. EVERY from both devices is compatible EXCEPT the keyboard driver which if not matched properly will cause some of your keys to not be properly matched up.

The ROM - An In-depth Study

As mentioned above, the ROM is subdivided into 6 parts. When you flash a factory ROM (henceforth referred to as a RUU,) you are flashing all 6 of these parts with new versions. The RUU is composed of the RUU flashing utility and the ROM itself which is stored in a format which we will refer to as NBH. The NBH file is a file that within it holds 6 NB files. Each NB files corresponds to one of the ROM subdivisions. The NBH file is also created with the memory addresses for each of these NB files and thus must match the device which it is being cooked for. The NBH will also have information on the ROM version, the Language version, the DeviceID (which will be HERA**** for any HardSPL'd device) as well as the country ID (which is 11111111 for HardSPL users.)

Your job as a cook will be to package an NBH that will have the following:

Your own cooked OS (Windows.nb/os.nb)

The newest Radio ROM (Radio.nb)

A custom or shrunk* Extended ROM (If applicable) (ExtendedRom.nb)

A splash screen (PrimarySplash.nb)

Under NO circumstance, should you replace the IPL or SPL. The risk of breaking someone's device is too great.
​

Flashing Methods

Refer to My Guide​

Warnings:

You will have to flash your ROM many times a day in order to find and fix bugs. This is not something you can pick up and do in a few minutes. You are requires to have the following:

Time

No/Understanding Wife/Girlfriend

High Fustration Level

The ability to use the search research within the forum

Patience

A knack for figuring out things

Patience

A large PM box (trust me... you WILL be asked the same question 10,000,000 times)

Patience

A Herald/Atlast(Wing)

Patience

Lesson 2 will probably come earlier than next week simply because this week's lesson is only one of knowledge and not of actual work.

*Shrinking the Extended ROM will allow for more Storage space. More on this later.