[Touch HD Windows Mobile ROM Development] someguy53000:
With regards to misunderstanding of the flashing process for <1.56 ROMs and >1.56ROMs, perhaps it would help if the reason for the issue is explained. I'm happy to have a go myself, but I'll need some help to clarify and make sure I have things straight (all my knowledge is from wiki, reading posts and logic/deduction of what isn't currently explicitly explained).

For a start, what does SPL stand for? I've never seen this explained.

Also it would be better if we called things what they are. As far as I'm aware, the HD can receive 4 different ROM images (or flashes), the core OS and drivers etc, a startup (I think cos I saw this get flashed once, correct me if wrong), radio drivers separately, and finally SPL (is this some kind of base OS including the bootloader? Hence why you can't flash SPL from SD card because the device can't use itself to overwrite itself). So calling anything a ROM is kind of vague, since all of these things go into Read Only Memory (ROM) of the device. I found this very confusing when in some parts of the old thread people were calling everything ROM and not saying SPL or OS, especially with the similar numbers (e.g. 1.14 OS and 1.14 SPL, 1.56 OS and 1.54 SPL).

I think HardSPL is a good name, but why USPL? Maybe it should be called TempSPL or SoftSPL?

Right anyway, here goes for explanation.

The SPL takes care of self-ROM flashing (operating system (OS), startup, radio, and itself with pc) and maybe booting (anybody help?). A stock/as-supplied SPL will not let you flash any cooked non-stock ROMs or ROMs not for your country/region etc. There are two ways around this, hard overwrite of the SPL (HSPL) or soft bypass of the SPL (USPL). The problem is that the SPL somehow interacts with the OS even when you aren't flashing a ROM section, OR for some reason newer ROMs need new base SPL instructions before they can be flashed, OR its something else (please shout if you know what the interaction is). Regardless of the reason, its as if minor changes in OS do not require an updated SPL, but big OS changes do (as from 1.1x to 1.5x for example). There isn't a HSPL that is compatible with 1.56 OS (yet, I guess it may happen), so USPL is the only choice for these newer OS ROMs.

USPL is temporary, it doesn't go into ROM. USPL tricks the device into thinking it has a new SPL, but you get back the original SPL as soon as you power-cycle. We are lucky that even though a stock SPL won't flash a cooked OS ROM, it doesn't mind being sat on a device with a cooked OS ROM if it finds the OS is already there. Otherwise USPL would be a bricker as soon as you power-cycle!

Right so say you have an untouched HD with stock ROMs of everything, you can go straight ahead and upgrade using the HD supplied update which will update the SPL to 1.54 (and the OS to stock 1.56). Then you can use USPL to update the OS ROM to a cooked one. When you power-cycle, a cooked 1.56 OS ROM and 1.54 SPL will be happy together.

The confusion comes in when you have previously flashed a device with HSPL - in this case you have to remember you have flashed the OS ROM and the SPL ROM of the device. Things have to be done in a particular order because SPL and OS ROM versions cannot be crossed. SPL 1.54 doesn't like 1.1x OS ROM, and 1.14 SPL doesn't like 1.56 OS ROM. You can't therefore do them one at a time, again, a great thing then that HTC released the update that does SPL and OS ROMs both at once for us, but the problem with this is that it looks at the device first and will only flash stock devices (I think, if I'm remembering right from reading). You have to therefore return device to stock, and best way is to flash a stock OS ROM first by your usual means. Then a stock SPL (1.14) has to be flashed using the same way as HSPL was flashed, using the pc as a temporary brain for the device. Now you are back to all stock you can run the HTC update as normal. Once this is done you have SPL 1.54 which will sit happily with a cooked 1.56 OS ROM after power-cycle, so you can go ahead and flash Duttys OS ROM using USPL.

If you go wrong or miss a step, you end up with crossed SPL and OS ROMs. The device doesn't like it and you have issues.

Coming from somebody who hasn't actually done this yet (fell asleep last night with baby pinning me down asleep on my chest so I'm still on 2.6), have I understood it correctly and is there any way we could condense this or somehow explain along in CrackWhore's guide or something? Anything to stop people missing the point and ending up filling this thread up with installation issues that do not belong here.