HTC Prophet Bootloader
The bootloader is the place where you can change the low-level software parameters, some hardware parameters of the Hermes, change and read the ROM as well as providing information about it.
The bootloader is invoked by holding the COMM manager button and using the stylus at the same time to press the RESET button at the bottom.
In bootloader, you can see the IPL and SPL of your device.
You can connect to the bootloader over USB using the program MTTY under Windows or minicom / cu under Linux.
NOTE: If you use mtty you can't copy-paste, you MUST type the commands yourself.
Make sure you have disabled the USB connection in ActiveSync, before trying to connect to the bootloader:
File --> Connection settings --> uncheck "allow USB connections".
Some of this info has been taken from the help available in older HTC Devices and may not be the same in the Prophet Bootloader.
set [[Type [Value]]] Set control flags. Type(hex) : Control function types. Value(hex) : Setting values for types. If value is not given, default is 0. Type 0(Echo on/off): 1(on) and 0(off). cEchoFlag: Wether to echo all input. 1 to show what you type, 0 to stay quiet Type 1(Operation mode): 1(auto) and 0(user). cOpModeFlag: Set to 0 for friendly return values, 1 for easy-to-parse return values (0 for users, 1 for programs) Type 2(Back color on/off): 1(on) and 0(off). cBackColorShowFlag: Wether to draw a background with text. Type 3(Inverse on/off): 1(on) and 0(off). cShowInverseFlag: Wether to inverse fore and background colors (1<code> yes, 0 </code> no) Type 4(Front color value): 16 bits data g_wFColor: Foreground color, 16-bit number, 5-6-5 bit compression Type 5(Background color value): 16 bits data g_wBColor: Background color, 16-bit number, 5-6-5 bit compression Type 6(Set color of screen): Fill color to whole screen one time. Type 8(COMM queue flag): 0(TX_RX disable),1(RX enable),2(TX enable) and 3(TX_RX enable). g_cCommQueueFlag: Unknown Type 14(action after reset): What to do after a reset. Set to 1 to go to bootloader after reset, set to 0 to start OS. Type 16(RUU Flag): setting it to 0 if your machine starts in bootloader mode may help to solve this problem. Type 1E(RUU command read/write flag): 1(unlock) and 0(lock). Current flag settings: Type 0(Echo flag): cEchoFlag=(0x1). Type 1(Operation mode flag): cOpModeFlag=(0x0). Type 2(Back color flag): cBackColorShowFlag=(0x1). Type 3(Inverse flag): cShowInverseFlag=(0x0). Type 4(Front color): g_wFColor=(0x0). Type 5(Background color): g_wBColor=(0xFFFF). Type 6(Set color of screen): None. Type 8(COMM queue flag): g_cCommQueueFlag=(0x0). Type 1E(RUU command read/write flag): g_cRUUCommandRWFlag=(0x0).
Example commands issued by ROMUpgradeUt:
set 14 0 - start OS after a reset set 5 7777 - change bg color set 2 1 - change back color on set 6 FFFF - screen color FFFF set 1 0 - operation mode user
info [[Type [Value]]] Type(hex) 0: Get the model ID (Prophet) Type(hex) 1: Get the SPL version. Type(hex) 2: Get info for RUU software autentify for the PPC(16 bytes) and [[value]] (hex) is ignore. Returns "HTCS"* CID + (4-byte checksum) + "HTCE" Type(hex) 3: Get binary information for RUU sofware (2,10Kbytes)and [[value]](hex) is ignore. Returns "HTCS"* binary data used by RUU to calculate password + (4-byte checksum) + "HTCE" Type(hex) 4: Returns "HTCS"* CID + (4-byte checksum) + "HTCE" Type(hex) 5: Returns "IsAllBytesTheSame-: dwLength=8, bResult=0" Type(hex) 6: Get the information, for password crypt. (16 bytes) and [[value]] (hex) is ignore. Returns "HTCS"* binary data (password crypt) + (4-byte checksum) + "HTCE" (redundant in newer SPLs) Type(hex) 7: Returns information about the bootloader Type(hex) 8: Returns information on blocks and partitions
USB>info 7 HTC Integrated Re-Flash Utility, Common Base Version : 1.50a Device Name: H, Bootloader Version : 1.04 Built at: May 26 2006 20:17:35 Copyright (c) 1998-2006 High Tech Computer Corporation CPU ID=0x41129200 Main CPLD version=0x5 Upper CPLD version=0x4 Main Board version=0x5 USB>info 8 Block 0x0(0) is Reversed block Block 0x1(1) is Reversed block Block 0x2(2) is Reversed block Block 0x3(3) is Reversed block Block 0x4(4) is Reversed block Block 0x5(5) is Reversed block Block 0x6(6) is Reversed block Block 0x7(7) is Reversed block Block 0x8(8) is Reversed block Block 0x9(9) is Reversed block Block 0xA(10) is Reversed block Block 0xB(11) is Reversed block Block 0xC(12) is Reversed block Partition[], type=0x20, start=0x2, total=0x18FE Partition[], type=0x23, start=0x1900, total=0x1700 Partition[], type=0x25, start=0x3000, total=0x19800 Partition[], type=0x4, start=0x1C800, total=0x1E000 CE Total Length(with sector info)<code> 0x39E4000 CE CheckSum Length(without sector info) </code> 0x3900000
shmsg [[Row [Col ["String"]]]]
Show texts on display. Row(hex) : 0 - 17(11). Col(hex) : 0 - 12(C). Text String : The string which will be show on display.
Example commands issued by ROMUpgradeUt:
shmsg 3 d "50%" shmsg 9 8 " Completed "