Prophet MTTY

跳转至: 导航搜索

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".

Bootloader commands

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[[0]], type=0x20, start=0x2, total=0x18FE
Partition[[1]], type=0x23, start=0x1900, total=0x1700
Partition[[2]], type=0x25, start=0x3000, total=0x19800
Partition[[3]], 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  "