OS 제작을 위해 사용한 바이너리 에디터

public class Dday : Form
{
        public Dday()
        {
                addform = new Add(this);
        }
}

public partial class Add : Form
{
        Dday aa;

        public Add(Dday dd)
        {
            InitializeComponent();
            aa = dd;
        }
}

무한 삽질은 계속된다 쭈~~~~~~욱


그거슨 9월 1일

강남에서 부장님과 팀장님과 택시를 타고 여의도 지부로 이동하고 있던 때의 일이다...

문자가 한 통 왔다.

김태일님의 핸드
폰이 핸드폰찾기
콜센터에 접수되
었사오니 연락바
랍니다.

대박 !!!!

아흐 ㅠㅠㅠㅠㅠ 엑돌아 돌아왔구나 !!
돌아오면 밥 부터 배불리 멕여야지....으흐흙

자 그런고로 다시 개발 ㄱㄱ 다.

아흑......내 엑돌이...
은행 ATM기에 깜빡 놓고 나와서 곧 알아차리고 다시 들어갔는데...없었다....
일요일이라 은행은 문을 닫은 상태였는데 ㅠㅠ

지구 끝까지 따라가주마 =ㅁ=!!



핸드폰 분실시의 행동강령

1. 분실즉시 분실신고를 하면 찾기 어려워 집니다. 최소 반나절 또는 하루 뒤에 분실신고를 하세요.
- 휴대폰을 습득한 사람은 돌려줄 의사가 없다면 반드시 한번 이상 분실폰으로 전화를 걸게 됩니다. 나중에 찾는데 결정적 역할을 하게 됩니다.

2. 가까운 센터로 가서 '통화내역조회'를 하십시요. 본인 신분증이 있어야 합니다.

3. 통화내역에 분실후 통화성공된 번호가 있는지 확인하고 최소 3군데 이상 통화한 기록이 나오면 '발신정지'만 신청하세요.
- 착신정지까지 하면 습득자와 통화하는데 어려움이 있습니다. 가급적 발신정지도 안하는 것이 범인을 잡는데 유리할 겁니다.

4. 위치추적을 해보세요
- 011,017의 경우 친구찾기 서비스가 있습니다. 이 서비스를 신청하면 26컬러 이상 지원하는 011,017폰으로 자신의 휴대폰 위치를 대략적으로 파악할 수 있습니다. 예를 들면 종로의 OO동 정도까지는 확인이 되더군요.

5. 통화내역중 가장 긴 통화를 한 사람에게 전화를 걸어봅니다.
- 이 경우 통화사실을 부인하거나 모르겠다고 할때도 있습니다. 분실폰으로 통화한 사람의 이름과 연락처를 알려 주지 않을 경우 다음과 같이 하세요.

6. 가까운 파출소로 갑니다.
- 경찰에게 휴대폰을 분실했는데 통화내역을 보니 분실폰을 사용하고 있지만 습득자와 통화는 안되고 있습니다. 습득자와 통화한 사람들에게 전화를 해보았지만 통화사실을 부인해서 습득자 인적이나 연락처를 알 수 없습니다. 제 대신 분실폰으로 통화한 사람들에게 전화를 해서 습득자 인적이나 연락처를 알았으면 합니다.라고 하면 됩니다.
- 경찰이 통화해도 통화자들이 통화사실을 부인하는 경우도 있습니다.
그것만으로도 충분합니다. 경찰과 통화된 사람들은 습득자에게 반드시 전화를 걸어 경찰에서 연락왔으니 빨리 돌려 주라고 전화를 할 겁니다.

- 진정서 제출 방법
: 위와 같은 경우에도 찾지 못하면 다음과 같은 방법을 사용해 보십시요.

다소 시간이 걸리지만 효과적인 방법입니다.

분실폰 습득자는 반드시 습득물을 신고할 의무가 있습니다. 형사적 처벌 근거는 없지만 민사적 처벌근거는 있습니다.
가까운 경찰서 민원실 마련된 '진정서'를 작성해 제출하십시요.

여차저차해서 찾으려고 했지만 습득자가 돌려주지 않으니 습득자를 처벌해 달라고 통화내역을 함께 제출하면 경찰이 정식 수사를 하게 됩니다. 이 경우 습득자는 반드시 법적 처벌을 받게 됩니다 
-----------------------------------------------------------------------------------

아 드디어 찾았다 =ㅁ=;;;

C# 에서는 이쁘게 이벤트 관리를 해준다.

이거였다 -_-;
함수를 제작하고나서
모든 이벤트들을 내가 알아서 등록 할 수 있다...

어쩐지 함수 안으로 한 발자국도 안들어가더라니 -_-.....

이런 알흠다운 녀석 -_-
Key event
  1. Key down
  2. Key press
  3. Key up

private void Snake_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Up)
                MessageBox.Show("up");
        }


Graphic event
protected override void OnPaint(PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            Rectangle rect;

Brush brush = new SolidBrush(Color.Blue);
            rect = new Rectangle(5, 5, 5, 5);
            g.FillRectangle(brush, rect);
       }

시뮬레이터에서 돌려보니 키 이벤트가 도대체 먹지를 않는다 -ㅁ-;
뭐냐능??.....

새벽 1시에 갑자기 삘 받아서 지렁이 게임을 만들기 시작했는데...
아니 왜 3년전엔 잘 돌아갔던 머리가 도대체 돌아가질 않는다...
아무리 그땐 OCaml이고 지금은 C#이라지만...


아놔 돌겠네 진짜...늙었나바 우얄꼬 =ㅅ=;;;

자고 내일 하자 내일 -ㅁ-;
Windows Mobile 6.1은 Windows XP 또는 Windows Vista에서 구동됩니다.

저는 비스타를 사용중이므로 비스타 기반의 환경 구축입니당.

1. Device center
http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=9e641c34-6f7f-404d-a04b-dc09f8141141

2. Windows Mobile Device Center 6.1 업데이트 (Vista)
Vista 사용자를 위한 Device Center 업그레이드
http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=46f72df1-e46a-4a5f-a791-09f07aaa1914

3. Visual Studio 2008 SP1
Visual Studio Express 버전은 모바일 개발 환경을 지원하지 않습니다.
http://www.microsoft.com/downloads/details.aspx?FamilyID=fbee1648-7106-44a7-9649-6d9f6d58056e&DisplayLang=ko

4. Windows Mobile 6 Professional Edition SDK
http://www.microsoft.com/downloads/details.aspx?FamilyID=06111a3a-a651-4745-88ef-3d48091a390b&DisplayLang=en

5. Windows Mobile 6 Emulator Localization Images
기본 제공되는 영문환경에서 한글환경으로 변경
http://www.microsoft.com/downloads/details.aspx?FamilyID=38c46aa8-1dd7-426f-a913-4f370a65a582&DisplayLang=en

6. Windows Mobile 6.1.4 Emulator Images(USA)
스마트폰의 해상도가 480*800인 환경을 위한 이미지
http://www.microsoft.com/downloads/details.aspx?FamilyID=1a7a6b52-f89e-4354-84ce-5d19c204498a&DisplayLang=en

You can set fonts
for label, specifies how to render text

for Window/Row/View/Item-Tags, which will be bequeathed to sub-tags. Use the following attributes:

Optional Font Attributes

Name Value Description
fontsize x Fixed fontsize x.
-x/+x Relative fontsize depending on the fontsize set by enclosing tags.
fontfamily Fontfamily e.g. Tahoma.
You can use custom ttf-fonts as well: Copy the ttf-font to \Windows\Fonts and supply the name in fontfamily-attribute, font will then be used after reboot!

Note that the fontfamily/fontsize is used for any subsequent tags enclosed by, but you can specify a different fontfamily/fontsize for subsequent tags though.

Window
Root of the document

Lets consider the Window-Tag at first. The Window-Tag contains anything which can be shown on clientarea of BattteryStatus-window. The attributes in Window-Tag determines global parameters for each subtag.

Only classes contained in the theme can be shown, that is classes not included in the theme are disabled and can not be enabled even if it is checked in options. e.g. if no calltimes-class is included, then no code for counting calltimes (e.g. sms) will be executed. But almost any class contained in window can be disabled/enabled in options.
Furthermore there are classes (DigitClock, Registrytracker, etc.) and actions (MenuPhone, ToggleA2DP, etc.) which can only be enabled/disabled by including them into the window.

A Window can have several image-tags specifying background-images, which are painted before any contained items are painted. An image-tag can make use of any attributes allowed and described for image-tag.

Required Attributes

Name Description
xmlns This is used as the schema-location for schema-validation. You should always supply this attribute and validate each xml-file.
imagesrc This is the relative path starting from “\Program Files\HomeScreen PlusPlus\” for any image-filename in image-tags. If you create your custom theme, then create a new directory, e.g. “\Program Files\HomeScreen PlusPlus\MyTheme” and set imagesrc=”MyTheme”.
Note: A custom image-directory is recommended, otherwise your images will get lost with an update to a newer version.
version obsolete - will be ignored

Optional Attributes

Name Description
absolute This attribute controls how to position the image/label. The left-attribute (if given) is added to that position. see absolute explanation.
animate Add 100 to the animation-value for dynamically adapting left / right animation, e.g. animate=”101″ means that if the next View is left from the current one, then animation 1 will be used. If the next View is right from the current one, then animation 2 will be used.
The 100-option can be used for any of the animation with the option for left or right.

  • 0 = no animation for switching Views.
  • 1 = (default) left slide in animation.
  • 2 = right slide in animation.
  • 3 = top down slide in animation.
  • 4 = bottom up slide in animation.
  • 5 = left page flip animation
  • 6 = right page flip animation
  • 9 = left in cube
  • 10 = right in cube
  • 14 = zoom in
  • 15 = zoom in with left leave
  • 16 = zoom in with right leave
  • 20 = alpha blend in
  • 21 = alpha blend in with left leave
  • 22 = alpha blend in with right leave
animatebg This attribute allows for a different color for the background, while the animation performs.

  • missing attribute = the theme-background (watermark) is used for drawing the background.
  • 0xFF000000 = use background of default todayscreen for drawing the background.
  • BGR-Color = Filled rectangle with color in BGR-Colorformat

animatebg=”0″ -> black color is used (0×000000): BGR -> Black = 00, Green = 00, Red = 00
animatebg=”0xFFFFFF” -> white color is used: BGR -> Black = FF, Green = FF, Red = FF (whereas 0xFF is hexadecimal and is 255 in decimal).

custombg -1 = use alpha-channel-rendered background for Items only if it has no selection-effect
0 = use system default background for any Items
1 = use alpha-channel-rendered background for any Items
fontsize see fontsize explanation.
fontfamily see fontfamily explanation.
itemselect specifies the granularity of items to select for One-Hand-Navigation.

0: (default) By default each Row is selected en bloc.
1: Each contained Item can be selected using navigation-keys.
2: Keep selected state even if Row is not visible.
3: Execute Action as soon as Item gets selected.


Use negative values for preventing the action of rightmost item to be executed if dpad-right is pressed, e.g. itemselect=”-1″

gesture 1 (default) = allow left/right/top/down-gesture for switching Views

0 = disable gestures
mode 0 = coordinates are qvga, 1 = coordinates are vga, 2 = no adaption to resolution
selmode specifies how the contained Items are transformed/moved if selected.

-x: Item will be moved to lower-right by x-pixel.
0: (default) No selection-effect but drawing background.
x: Item will be streched by x-pixels.

Sample

1
2
3
4
5
6
7
8
9
10
11
<Window
    xmlns="http://www.chi-tai.info/HomeScreen"
    imagesrc="default"
    version="1"
    vga="0"
    fontsize="+2"
    fontfamily="Tahoma">
    .
    <image src="background.png" />
    .
</Window>

Row
Container for Views

A Window must contain one or more Rows and the sequence of the Rows are the same as on clientarea. A Row can have the attributes fontsize and fontfamily.

A Row can have several image-tags specifying background-images, which are painted before any other contained items are painted. A image-tag can make use of any attributes allowed and described for image-tag.

Optional Attributes

Name Description
fontsize see fontsize explanation.
animate see animate explanation.
fontfamily see fontfamily explanation.
gesture see gesture explanation.
itemselect specifies the granularity of items to select for One-Hand-Navigation.
For details see Itemselect Details
itemrepos Controls repositioning of Items in case an Item is disabled by options. Consider the temperature-reading (of battery). If the temperature-reading is disabled, then the Item of next View is placed there instead. For this function, the Items sizes (image and label) must be almost the same.

0: (default) No repositioning
1: Reposition the containing Views if required.

name Supply a name for this row in context-menu (Show Rows).
seperator draws a seperator/line at bottom of the row
0 = no seperator
1 = draw a seperator
absolute This attribute controls how to position the image/label. The left-attribute (if given) is added to that position. see absolute explanation.
rowtoggle this attributes determines whether the visibility of next row shall be toggled
0 = no toggle
1 = toggle next row (default)
selmode specifies how the contained Items are transformed/moved if selected.

-x: Item will be moved to lower-right by x-pixel.
0: (default) No selection-effect but drawing background.
x: Item will be streched by x-pixels.

Sample

1
2
3
4
5
6
7
8
9
10
11
12
<Row fontsize="12" fontfamily="Tahoma">
		.
    <image src="bg.png" top="2" left="10" />
		.
    <View>
        .
        .
    </View>
      .
      .
      .
</Row>

View
Container for Items

Each Row must contain one or more Views. Consider the calltimes-row which have three views for incoming, outgoing and both summed up.

Each Views can have several image-tags specifying background-images, which are painted before any other contained items are painted. A image-tag can make use of any attributes allowed and described for image-tag.

Optional Attributes

Name Description
animate see animate explanation.
extend This attribute allows for extending “Reach”/”UpdateRegion” of a View, e.g. extend=”6″ for 6 pixels.
This is particularly for sliding Views that have Items which are oversized if selected (or unselected),
that is they overlap with adjacent Views. You can render such Views correctly by extending the Update-Region of that particular View.

Note: Don’t extend a View if it’s not needed, because it could reduce render performance.

height 1. If no height is given, then the system default (device-dependend) will be used for each View.

2. If a height is given, then it will be used for the current View.
2.1 Furthermore it will be used for any subsequent View of the enclosing Row too (unless a new height is given).

fontsize see fontsize explanation.
fontfamily see fontfamily explanation.
gesture see gesture explanation.
absolute This attribute controls how to position the image/label. The left-attribute (if given) is added to that position. see absolute explanation.
itemselect specifies the granularity of items to select for One-Hand-Navigation.
For details see Itemselect Details
multi specifies if the contained items are placed as multiple lines.

0: (default) View shall be handled as 1 line.
1: Contained Items shall be handled as multiple lines

adaptwidth If the screen-width changes, then the last Items text-box-width of each View will be adapted to fit the new width (by default).

0: dont adpat the View to width.
1: (default) adapt width of last item to fit new width

selmode specifies how the contained Items are transformed/moved if selected.

-x: Item will be moved to lower-right by x-pixel.
0: (default) No selection-effect but drawing background.
x: Item will be streched by x-pixels.

slide Supports only Application-Launcher-Views. Allows to slide the View by stylus or left/right finger gesture. You can place a lot of Items in one View and slide the View similar to a ring.

0: (default) no sliding of that View.
1: slide the View

Sample

1
2
3
4
5
6
7
8
9
10
11
12
13
<View height="16" fontsize="12" >
		.
    <image src="bg.gif" resize="50"
		   transparent="ffffff" />
		.
    <Item >
        .
        .
    <Item class=... />
      .
      .
      .
</View>

Item
Container for image/label, specifies what to draw and how to render it

Most of the attributes are designated for the Item-Tag. Each Item can have a label-tag and an image-tag depending on the class and type. The sequence of Item-Tags are the same as shown from left to right. The width of each item is calculated dynamically depending on the bitmap-size and the attributes given in the subtags.

Sample

1
2
3
4
<Item class="mobile_operator_homezone" >
    <image src="home.bmp" />
    <label valign="top" format="wordbreak" />
</Item>
1
<Item class="mobile_operator_homezone" />

Required Attributes

Name Value Description
class Each Item-Tag must have a class, which determines the text to show or the function it provides. If there is only a classname given, then any other values for an instance of this class (on today-screen) will get the default.
battery_ac_icons Leftmost icons for battery/ac in first row.
battery_meter Batterylevel, which will be drawn and percentage as text, e.g.

100%
mobile_operator_homezone Mobile operator with homezone-icon.
mobile_operator Mobile operator, where you can provide your network provider logo.
cell_broadcast_message Cell broadcast messages limited to 160 characters.
cpuspeed e.g.

195 MHz
cpu_utilization Cpu-utilization, which will be drawn and percentage as text, e.g.

1%
memory_program Free program memory, e.g.

25 MB
memory_data Free data memory, e.g.

25 MB
memory_sdcard Free memory on sd-card, e.g.

4.0 GB
temperature Battery-temperature, e.g.

30 C
powerdrain e.g.

64 mA
500 mW
phone_signal e.g.

90%
calltimes_out_sms Outgoing calltimes with outgoing sms (monthly/daily), e.g.

T: 00:00:00, M: 00:00:00, SMS 200
calltimes_in_sms Incoming calltimes with incoming sms (monthly/daily), e.g.

T: 00:00:00, M: 00:00:00, SMS 200
calltimes_inout_sms Incoming + outgoing calltimes with incoming + outgoing sms (monthly/daily), e.g.

T: 00:00:00, M: 00:00:00, SMS 200
calltimes_out Outgoing calltimes (monthly/daily), e.g.

T: 00:00:00, M: 00:00:00
calltimes_in Incoming calltimes (monthly/daily), e.g.

T: 00:00:00, M: 00:00:00
calltimes_inout Incoming + outgoing calltimes (monthly/daily), e.g.

T: 00:00:00, M: 00:00:00
calltimes_out_day Daily outgoing calltimes, e.g.

T: 00:00:00
calltimes_in_day Daily incoming calltimes, e.g.

T: 00:00:00
calltimes_inout_day Daily incoming+outgoing calltimes, e.g.

T: 00:00:00
calltimes_out_month Monthly outgoing calltimes, e.g.

T: 00:00:00
calltimes_in_month Monthly incoming calltimes, e.g.

T: 00:00:00
calltimes_inout_month Monthly incoming+outgoing calltimes, e.g.

T: 00:00:00
data_summed_up Summary of data-traffic (monthly + daily traffic, monthly online duration), e.g.

D: 200MB, M: 800MB, T:64:23.12

Note: This class needs at least one of the calltimes-class active, as it is structued in the options!!

data_month Monthly traffic, e.g.

M: 800MB

Note: This class needs at least one of the calltimes-class active, as it is structued in the options!!

data_month_sent Monthly traffic sent, e.g.

M: 800MB

Note: This class needs at least one of the calltimes-class active, as it is structued in the options!!

data_month_received Monthly traffic received, e.g.

M: 800MB

Note: This class needs at least one of the calltimes-class active, as it is structued in the options!!

data_day Daily traffic, e.g.

D: 100MB

Note: This class needs at least one of the calltimes-class active, as it is structued in the options!!

data_day_sent Daily traffic sent, e.g.

D: 100MB

Note: This class needs at least one of the calltimes-class active, as it is structued in the options!!

data_day_received Daily traffic received, e.g.

D: 100MB

Note: This class needs at least one of the calltimes-class active, as it is structued in the options!!

data_traffic_remain Remaining traffic from limit, e.g.

Remain: 10MB, 2%

Note: This class needs at least one of the calltimes-class active, as it is structued in the options!!

data_conn Number of monthly established connections, e.g.

C: 198

Note: This class needs at least one of the calltimes-class active, as it is structued in the options!!

data_duration_month Online duration (month), e.g.

M: 34:23.12

Note: This class needs at least one of the calltimes-class active, as it is structued in the options!!

data_duration_day Online duration (day), e.g.

D: 01:23.12

Note: This class needs at least one of the calltimes-class active, as it is structued in the options!!

sms_out Monthly outgoing SMS, e.g.

SMS 450
sms_in Monthly incoming SMS, e.g.

SMS 450
sms_inout Monthly incoming+outgoing SMS, e.g.

SMS 450
wifi_state WiFi-States, AP, +WPA2, connecting MyNetwork
wifi_networks if version=”0″ or no version given for Window, then the given height for the enclosing View will not be adopted to the row-number set in options.

if version=”1″ then the height supplied for (in enclosing View) is used for 5 available WiFi-Networks. If you change in options to show e.g. only 2 networks, then the new height will be calculated in the following manner: (givenHeight/5)*2.

if version=”1″ and no height (in eclosing View) is given, then anything will be handled automatically (recommended).

-90 dBm, 6 ch, WEP, MyNetwork
-90 dBm, 6 ch, WEP, MyNetwork1
-90 dBm, 6 ch, WEP, MyNetwork2
---
---
registry_tracker This class allows to track registry values (DWORD/String) by means of Notification Broker. Supply a registry-path in the key_value-attribute of registry-Tag and each time the registry-value changes, it will be refreshed on todayscreen.
You can supply the registry-Tag either within label-Tag or within the Item-Tag, depending on the type you want to show on todayscreen. If you want a label to have a customizeable text, then the label-tag must have a text-attribute as follows:

<label text="%d missed" >
  <registry keyvalue=
    "HKCU\System\State\Phone\Missed Call Count"
     mask="0xFF" />
</label>

If you want an images-only indicator then supply as follows:

<Item class="registry_tracker" >
  <image src="image%d" />
  <registry keyvalue=
    "HKCU\System\State\Phone\Missed Call Count"
     mask="0xFF" />
</Item>

where:

text must be a pattern to render the registry value. You must use %d for DWORDs and %s for Strings.
btw. you can also use c/c++ formatstrings like “0x%.8x” for hexvalue-rendering.

key_value must be a valid path in the registry where you can use both formats, that is HKLM as well as HKEY_LOCAL_MACHINE.

You can also supply a mask-attribute within registry-Tag to apply to the value before displaying. The mask is applied as an binary and-operator to the value, e.g. regsitry-value & mask. Search wikipedia for binary and-operator.

You can also supply a formatted path to the path of image (in src-attribute) to show an image depending on registry-value,
e.g. <image src=”filename%d.ext” …> for dword-value or <image src=”filename%s.ext” …> for a string-value.
if there is no image correlated to the registry-value, then filename-1.ext (dword) or filename_empty.ext (string) will be used, that is such an image MUST exist.

Note: The images have to be of same type, e.g. same bitcount.
Invalid-Characters like \,& and so on in filenames for the images will be replaced with “_”.

see sample for registry_tracker.

Head over to rotlaus.com for a list of useful registry-values.

date shows the date formated according to a formststring given in text-attribute. The formatstring must fit msdn.
e.g. text=” MMMM dd/yyyy “
clock shows the time formated according to a formststring given in text-attribute. The formatstring must fit msdn.
e.g. text=” hh’:'mm’:’ss tt”
clock_digit To customize a digit-clock you must have
four Item-tags with clock_digit
one Item-tag with clock_seperator
one Item-tag with clock_alarm
one Item-tag with clock_apm

There must be png-files for any digits, seperator, alarm and am/pm under theme-folder with following filename:
empty.png, 0.png, 1.png, 2.png, 3.png, 4.png, 5.png, 6.png, 7.png, 8.png, 9.png, alarmon.png, alarmoff.png, am.png, pm.png, seperator.png

Notice: Each of the digits 0,1,2,3,4,5,6,7,8,9,empty MUST be of same size!
Any image for digit-clock must be of same type, e.g. any image must be 32bpp for using alpha-channel!!!
Otherwise they will not be drawn !!!

You can have only one digit-clock in a view, and only one clock can be painted for a window, that is you can have several views with a digit-clock, but only one should be visible at any time.

see sample for digit-clock.

clock_seconds To customize a digit-clock with seconds you must have a basic-digit clock specified! In addition to that you need:
two Item-tags with clock_seconds
optional one Item-tag with clock_seconds_sep

If no images for seconds-digits are given, then the images from digit-clock will be used. For this case it is a good idea to make them smaller by resize them. This can be done by adding a resize-attribute to the first seconds-class.

If you want to supply images for second-digits, they must be png-files for any digits, seperator under theme-folder with following filename:
emptys.png, 0s.png, 1s.png, 2s.png, 3s.png, 4s.png, 5s.png, 6s.png, 7s.png, 8s.png, 9s.png, seperators.png

Notice: Each of the digits 0,1,2,3,4,5,6,7,8,9,empty MUST be of same size !!! Otherwise the will not be drawn !!!

see sample for digit-clock with seconds.

clock_seperator places the seperator-png for clock_digits, e.g. 01:00
clock_alarm places the alarmon/alarmoff-pngs
clock_apm places the am/pm-pngs
start_app This class shows the application-icon of the program given in path-attribute and starts the program on tap.
Note: path is mandatory for the class start_app!

A second program can be specified with path1-attribute which opens on hold (tap and hold) on the icon.

Relative or Absolute: The path-attribute can have either an absolute path with the full pathname to the program or a relative pathname.

Absolute pathnames begin with the character ‘\’, e.g.

  • \Windows\Calc.exe
  • \Program Files\HomeScreen PlusPlus\tinybatch.exe

Relative pathnames are anchored to the theme-folder and addresses files within the theme-folder. Given that the name of your theme is “MyTheme” and the theme-folder is “\Program Files\HomeScreen PlusPlus\MyTheme”:

  • “Calc.exe” - points to the file “\Program Files\HomeScreen PlusPlus\MyTheme\Calc.exe”
  • “tinybatch.exe” - points to the file “\Program Files\HomeScreen PlusPlus\MyTheme\tinybatch.exe”
  • “..\tinybatch.exe” - points to the file “\Program Files\HomeScreen PlusPlus\tinybatch.exe”
  • “..\..\totalcmd\cecmd.exe” - points to the file “\Program Files\totalcmd\cecmd.exe”

A title to render for the icon can be specified with title-attribute.
A title to be displayed can be given in title-attribute.

You can add arguments for the programs to start by seperate them with double-colon, e.g.
\Program Files\MemMaid\MemMaid.exe ::-Free

see sample for start_app!

space implements a placeholder, which can be customized with an image, label and actions. The default-type of a space is type=”icon”!

A space supports the text-attribute as follows, e.g. drawing a custom text:

<Item class="space" type="value" >
      <label text="Hello World!" width="60" />
</Item>
tPlug set a regular today-plugin.

  • The name of the plugin must be given in title-attribute.
  • (Optional) Position can be specified with label-tag (left/top/height/width), if height-attribute or width-attribute is 0 then they will be handled automatically
  • (Optional) using left/right-gesture for view-switching can be specified with gesture-attribute in Item-tag.
  • (Optional) unload plugin if the surrounding View is not visible: Use unload-attribute in Item-tag.
    unload=”1″ (unload plugin), unload=”0″ (default, don’t unload plugin )
  • (Optional) caching of background-image / watermark for plugin: Use cachebg-attribute in Item-tag. Use cachebg-attribute in Item-tag.
    cachebg=”1″ (default, cache background-image for plugins / reduces system load for drawing background-image), cachebg=”0″ (don’t cache background-image)

    e.g. placing PocketMSN-Plugin in one Row:

    <Row>
      <View>
        <Item class="tPlug" title="Pocket MSN" >
          <label left="-28" />
        </Item>
      </View>
    </Row>

    e.g. placing PocketMSN and Messaging-Plugin in one Row:

    <Row>
      <View>
        <Item class="tPlug" title="Pocket MSN" gesture="1" >
          <label top="0" left="-28" width="120" />
        </Item>
        <Item class="tPlug" title="&quot;Messaging&quot;"
                 gesture="1" unload="1">
          <label height="32" width="120" />
        </Item>
      </View>
    </Row>

Sample clock_digit

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<Row seperator="1">
  <View height="76">
    <Item class="clock_digit" >
      <image left="-18" />
    </Item>
    <Item class="clock_digit" />
    <Item class="clock_seperator" >
      <image top="16" />
    </Item>
    <Item class="clock_digit" />
    <Item class="clock_digit" />
 
    <Item class="clock_alarm" >
      <image left="0" top="14" />
    </Item>
    <Item class="clock_apm" >
      <image left="-22" top="40" />
    </Item>
  </View>
</Row>

Sample clock_digit with seconds

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<Row seperator="1">
  <View height="58">
	<Item class="clock_digit" >
	  <image left="-18" resize="85" />
	</Item>
 
	<Item class="clock_digit" />
	<Item class="clock_seperator" >
	  <image top="8" />
	</Item>
 
	<Item class="clock_digit" />
	<Item class="clock_digit" />
 
	<Item class="clock_seconds_sep" >
	  <image left="25" resize="50" />
	</Item>
 
	<Item class="clock_seconds" >
	  <image left="22" />
	</Item>
 
	<Item class="clock_seconds" >
	  <image left="22" />
	</Item>
 
	<Item class="clock_alarm" ontap="CtlPnl" index="16" subindex="2" >
	  <image left="-43" top="4" />
	</Item>
 
	<Item class="clock_apm" >
	  <image left="4" top="2" />
	</Item>
  </View>
</Row>

Sample start_app

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<Row seperator="1">
 
  <View height="112" absolute="1" itemselect="1" multi="1" >
	<Item class="space" >
	  <image src="rotate.bmp" transparent="020202" />
	</Item>
 
	<Item class="start_app" title="   Calculator"
			path="\Windows\Calc.exe" >
	  <image left="25" top="1" />
	  <label width="180" bold="1" valign="top" top="10"
	        height="32" />
	</Item>
 
	<Item class="start_app" title="   File Explorer"
			path="\Windows\fexplore.exe" >
	  <image left="25" top="38" />
	  <label width="180" bold="1" valign="top" top="46"
	        height="32" />
	</Item>
 
	<Item class="start_app" title="   Internet Explorer"
			path="\Windows\iexplore.exe" >
	  <image left="25" top="76" />
	  <label width="180" bold="1" valign="top" top="84"
	        height="32" />
	</Item>
  </View>
 
  <View height="20" itemselect="1" >
	<Item class="space" >
	  <image left="-25" src="rotate.bmp" transparent="020202" />
	</Item>
 
	<Item class="start_app" onhold="StartApp" path="\Windows\fexplore.exe"
			path1="\Windows\solitare.exe" />
 
	<Item class="start_app" path="\Windows\BubbleBreaker.exe" />
 
	<Item class="start_app" path="\Windows\solitare.exe" />
 
	<Item class="start_app" path="\Windows\pword.exe" />
 
	<Item class="start_app" path="\Windows\iexplore.exe" />
 
	<Item class="start_app" path="\Windows\Calc.exe" />
  </View>
 
  <View height="38" itemselect="1" selmode="8" >
	<Item class="space" >
	  <image left="-25" src="rotate.bmp" transparent="020202" />
	</Item>
 
	<Item class="start_app" onhold="StartApp" path="\Windows\fexplore.exe"
			path1="\Windows\solitare.exe" />
 
	<Item class="start_app" path="\Windows\BubbleBreaker.exe" />
 
	<Item class="start_app" path="\Windows\solitare.exe" />
 
	<Item class="start_app" path="\Windows\pword.exe" />
 
	<Item class="start_app" path="\Windows\iexplore.exe" >
	  <image smallicon="1" />
	</Item>
 
	<Item class="start_app" path="\Windows\Calc.exe" />
  </View>
 
  <View height="62" absolute="2" itemselect="1" selmode="8" >
	<Item class="space" absolute="0" >
	  <image left="-25" src="rotate.bmp" transparent="020202" />
	</Item>
 
	<Item class="start_app" title="Calc"
			path="\Windows\Calc.exe" >
	  <image left="25" top="1" />
	  <label left="9" width="40" fontsize="-3" valign="top" top="36" />
	</Item>
 
	<Item class="start_app" title="File Explore"
			path="\Windows\fexplore.exe" >
	  <image left="65" top="1" />
	  <label left="-4" width="40" fontsize="-3" align="center" valign="top" top="34" format="wordbreak" />
	</Item>
 
	<Item class="start_app" title="Internet Explore"
			path="\Windows\iexplore.exe" >
	  <image left="105" top="1" />
	  <label left="-2" width="40" fontsize="-3" align="center" valign="top" top="36" format="wordbreak" />
	</Item>
 
	<Item class="start_app" title="Power Point"
			path="\Windows\ppt.exe" >
	  <image left="145" top="1" />
	  <label left="-2" width="40" fontsize="-3" align="center" valign="top" top="36" format="wordbreak" />
	</Item>
 
	<Item class="start_app" title="Solitare"
			path="\Windows\solitare.exe" >
	  <image left="185" top="1" />
	  <label left="5" width="40" fontsize="-3" valign="top" top="36" />
	</Item>
 
  </View>
 
</Row>

Sample registry_tracker

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<Row seperator="1">
  <View>
    <Item class="row_status" />
    <Item class="registry_tracker" ontap="InboxSms" >
      <image src="home%d.bmp" />
      <label text="%d unread" >
        <registry mask="0xFF"
                 keyvalue="HKCU\System\State\Messages\sms\Unread\Count" />
      </label>
    </Item>
 
    <Item class="registry_tracker" ontap="PhoneMissed" >
      <label text="%d missed" >
        <registry keyvalue="HKCU\System\State\Phone\Missed Call Count" />
      </label>
    </Item>
 
    <Item class="registry_tracker" ontap="PhoneMissed" >
      <image src="missed%d" />
      <registry keyvalue="HKCU\System\State\Phone\Missed Call Count" />
    </Item>
 
    <Item class="registry_tracker" ontap="PhoneMissed" >
      <label text="%s" >
        <registry keyvalue="HKLM\System\State\Phone\Last Incoming Caller Number" />
      </label>
    </Item>
  </View>
</Row>

Optional Attributes

.

Name Value Description
vga 0 Coordinates are qvga.
1 Coordinates are vga.
left -x Item-Tag will be shifted left by x pixel.
x/+x Item-Tag will be shifted right by x pixel.
fontsize see fontsize explanation.
fontfamily see fontfamily explanation.
type The type attribute specifies what to render, that is e.g. if an image should be rendered or not.
lefticon This type has only an icon and is intended for the leftmost icon which should not cover more than 28pixel in width. You can add an image-tag for this type. e.g. the ac/battery-icon
icon This type has only an icon (image-tag)
iconvalue This type has an icon (image-tag) and a text (label). e.g. memory-reading
value This type has only a text (label). e.g. CpuSpeed-reading
lefticonvalue This type has an leftmost icon (image-tag) and a text (label). e.g. calltimes-row
iconbattery This is a special type having an icon (image-tag) and a text (label). The batterylevel will be drawn to the bitmap, thus the image must be in form of batterymeter-bitmap.
iconcpuutil This type has an icon (image-tag) and a text (label). The cpu-utilization will be drawn to the bitmap, thus the image must be in form of cpu-bitmap.
ontap / onhold You can set actions for tap or tap and hold for Item-Tags and use of attributes ontap (for tap) and onhold (for tap and hold).
DoN Do nothing. No Action.
DoNothing Do nothing. No Action.
SoftReset Invokes a softreset.
ToggleBold Toggle bold/normal fontweight
ToggleView Toggle View
CommMgrApp Start comm-manager application
ToggleCpuSpeed Toggle cpu-speed (original/overclocked)
TogglePowerMode Toggle powerdrain between mA/mW
ToggleTemperature Toggle battery temperature between degree celsius and degree fahrenheit
OpenOptions Open context-menu with options
ToggleCpuWakeup Toggle overclocking on device wakeup option
TerminateCommMgrApp Terminates comm-manager application
ToggleNextRow Toggle visibility of next row
MenuDataConnections Open the contextmenu for data-connections
Phone Open phone application
PhoneMissed Open the phones callhistory for missed calls.
InboxSms Open messaging application for sms
InboxMms Open messaging application for mms
InboxMail Open messaging application for ActiveSync-Email
StartApp starts the program given in path/path1-attribute (see class start_app)

Relative or Absolute: The path-attribute can have either an absolute path with the full pathname to the program or a relative pathname.

Absolute pathnames begin with the character ‘\’, e.g.

  • \Windows\Calc.exe
  • \Program Files\HomeScreen PlusPlus\tinybatch.exe

Relative pathnames are anchored to the theme-folder and addresses files within the theme-folder. Given that the name of your theme is “MyTheme” and the theme-folder is “\Program Files\HomeScreen PlusPlus\MyTheme”:

  • “Calc.exe” - points to the file “\Program Files\HomeScreen PlusPlus\MyTheme\Calc.exe”
  • “tinybatch.exe” - points to the file “\Program Files\HomeScreen PlusPlus\MyTheme\tinybatch.exe”
  • “..\tinybatch.exe” - points to the file “\Program Files\HomeScreen PlusPlus\tinybatch.exe”
  • “..\..\totalcmd\cecmd.exe” - points to the file “\Program Files\totalcmd\cecmd.exe”

e.g. if you want to open the inbox of a particular email-account use
ontap=”StartApp”

and
path=”\Windows\tmail.exe ::-service Name_of_Email_Account -open inbox”

e.g. if you want make a call to 123456 use
path=”\Windows\cprog.exe ::-url tel: 123456″

e.g. if you want to open tasks use
path=”\Windows\tasks.exe”

Note: you must use xml-entities within quotes, e.g. use ” instead of ” !!!

CtlPnl For this action you must specify attributes index/subindex (ontap) respectively index1/subindex1 (onhold).

These indexes specify which tab of system-settings-panel to open. The action opens ctlpnl.cpl with the given indexes.
e.g. to open time-settings ontap=”CtlPnl” index=”16″

Search for ctlpnl.cpl or cplmain.exe for lists of available tabs.
e.g. pocketpcdn.com, xs4all.nl, asusmobile.ru

DeviceLock Invokes DeviceLock of windows mobile (if it is enabled in options)
DisplayOff Turn off Display. Keep in mind, that the device is NOT in standby, just display is off!
MenuBlueTooth Opens context menu for BlueTooth
MenuPhone Opens context menu for Phone
MenuWiFi Opens context menu for WiFi
Message Send a message (by means of PostMessage()) to a Window.

  • param: path-attribute (the windows’ class name)
  • param: title-attribute (the windows’ title (Optional))
  • param: msg-attribute (the numeric window message)
  • param: index-attribute (the numeric wParam)
  • param: subindex-attribute (the numeric lParam (Optional))

e.g.

  • ontap=”Message” path=”HHTaskBar” msg=”1156″ index=”2″ (Send msg=1156 to Taskbar-Window with wParam=2 - Set Vibra Mode)
  • ontap=”Message” path=”HHTaskBar” msg=”1156″ index=”0″ (Set Normal Sound Mode)
  • ontap=”Message” path=”HHTaskBar” msg=”1156″ index=”3″ (Set Silent Mode)
TaskList Opens TaskList (if TaskManager is enabled in options)
ToggleA2DP Toggles A2DP (Wireless Stereo Audio BlueTooth) connection.
ToggleBluetooth Toggles BlueTooth status, that is disable/enable.
TogglePhone Toggles Phone status, that is disable/enable.
ToggleWiFi Toggles WiFi status, that is disable/enable.
View Show a specific View, whereas for the Item-Attributes: index=”RowNumber” (Row) specifies the Row-number starting at 0..n and subindex=”ViewNumber” (View) is the View-number starting at 0..m
You can switch up to five Views simultaneously by using

  • index/subindex for the first Row/View
  • index_1/subindex_1 for the second Row/View
  • index_2/subindex_2 for the third Row/View
  • index_3/subindex_3 for the third Row/View
  • index_4/subindex_4 for the third Row/View

If switching several Views, then the Row-number for index to index_2 must be ascending order.

1
2
3
4
5
<Item ... ontap="View" index="0" subindex="1"
 index_1="2" subindex_1="1"
 index_2="3" subindex_2="1" >
   ...
<Item />
text depends on class

class date: formatstring for date according to msdn

itemselect specifies the granularity of items to select for One-Hand-Navigation.
For details see Itemselect Details
index index of CtlPnl for ontap
subindex subindex of CtlPnl for ontap
index1 index of CtlPnl for onhold
subindex1 subindex of CtlPnl for onhold
absolute This attribute controls how to position the image/label. The left-attribute (if given) is added to that position.
0 (default) Place image after the previous item. Place label after image. This is a so called relative positioning where the position depends on the previous entity.
1 Use 0 as start-position for image and add left-attribute, that is left-attribute is a fixed distance. Place label relative to previous image.
–> Place image absolute, place label relative
2 Use 0 as start-position for image and add left-attribute. Use the new position as start-position for label.
–> Place image absolute, use image-left for label too
3 Use 0 as start-position for image/label and add left-attribute, that is use absolute values for both.
–> Place image abslute, place label absolute
multi 0 (default) next item is placed same line.
1 next items are placed as multiple lines.
path Used for start_app to specify a program to start ontap.
path1 Used for start_app to specify a program to start onhold.
title Used for start_app to specify a title to render for the icon.
selmode specifies how the contained Items are transformed/moved if selected.
-x Item will be moved to lower-right by x-pixel.
0 (default) No selection-effect but drawing background.
x Item will be streched by x-pixels.

image / imagealt
specifies how to render images (bmp/png/gif/jpeg)

The image-tag gives you the chance to modify attributes of the instance of class given in Item-Tag. Most of the times, you will provide a filename for the image (bmp/png/gif/jpeg) to be used.

By means of the imagealt-tag you can specify an alternate image for showing in case the Item is selected. In principle any not-class-specific attributes of image-tag are allowed for the imagealt-tag.

Required Attributes

Name Description
src Filename of the image in bmp/png/gif/jpeg-format. The image must be located in the directory specified in src-attribute by Window-Tag.
bmp/gif supports transparent-color by transparent-attribute and png supports alpha-channels!

Optional Attributes

Name Value Description
vga 0 Bitmap is a qvga-bitmap and will be stretched for vga-themes.
1 Bitmap is a vga-bitmap and will be downscaled for qvga-themes.
transparent bbggrr defines the color in bitmap, which is drawn transparent.
The format is as follows: bbggrr, where r=red, g=gree, b=blue
left A relative value to be added to the right-position of the previous item.
top A relative value to be added to the top-position of the item.
width Resizes the image and sets width of resulting image to given value.
height Resizes the image and sets height of resulting image to given value.
resize Resizes the image, that is 50 means 50 percentage and results in half the size. 200 means 200 percentage and results in double the size.
smallicon Used for start_app and forces to load a smallicon if set to 1.
color A color for filling of classes battery_meter and cpu_utilization. Formated as hexvalues for BBGGRR (where R=Red, G=Green, B=Blue and range is 0..F)

When using this attribute, the given image should be a png/jpeg/gif.
If you are using a bmp, then the color will be used for transparent-color as well.

Sample

1
2
3
4
5
6
7
8
9
10
11
12
13
<Item class="mobile_operator_homezone" >
    <image src="home.bmp"
              vga="0"
              transparent="ffffff"
              left="-2"
              top="5" />
 
    <imagealt src="home_selected.bmp"
              vga="0"
              transparent="ffffff"
              left="-2"
              top="5" />
<Item />

For the class battery_ac_icons you must provide two image-tags, where the first image-tag modifies the ac-icon and the second one modifies the battery-icon.

1
2
3
4
<Item class="battery_ac_icons" >
    <image src="Icon_AC.bmp" />
    <image src="Icon_Battery.bmp" />
<Item />

label
specifies how to render text

The label-tag gives you the chance to modify attributes of the instance of class given in Item-Tag.

Optional Attributes

Name Value Description
align Aligns the text horizontally
left Aligns text to the left.
center Centers text.
right Aligns text to the right.
bold Render text using bold-font.
valign Aligns the text vertically
top Topaligns text.
middle Aligns text to the middle.
bottom Bottomaligns.
format singleline Default, No workbreak, render to single line
wordbreak Breaks words, can use more than one line. This needs the label to vertical align to top, i.e. valign=”top” (required for wordbreak)
left A relative value to be added to the right-position of the previous item or bitmap.
top A relative value to be added to the top-position of the item.
height A height for the text-label.

If the multi-attribute of the surrounding View is 1 (multi=”1″), then the default height of a label is 16. If your label is larger than 16 pixel, then you must adapt this attribute to the desired height in pixel.

If the multi-attribute of the surrounding View is 0 (multi=”0″), then the height of the label is the same as the height of the surrounding View.

width A width for the text-label.
fontsize See fontsize explanation.
fontfamily See fontfamily explanation.
color A color for the text. Formated as hexvalues for BBGGRR (where R=Red, G=Green, B=Blue and range is 0..F)
toggleSmallFont 0 Do NOT use the small-font if it is checked in the options.
1 Use the small-font if it is checked in the options.
toggleBoldFont 0 Don NOT use the bold-font if it is checked in the options.
1 Use the bold-font if it is checked in the options.
prefixed 0 (default) affects underscores
prefixed 1 affects underscores
mask 0xFFFFFFFF (only registry_tracker) provides a mask to apply to the dword-registry-value for registry-tracker
shift 0 (default) (only registry_tracker) no shift of value
- x binary left-shift of value by x bits
x binary right-shift of value by x bits
suppress0 0 (default) (only registry_tracker) dont supporess showing of zero value
1 registry-tracker: supporess showing of value if dword is zero

Sample

1
2
3
4
5
6
7
8
9
10
11
12
<label
  align="left"
  valign="middle"
  format="wordbreak"
  left="0"
  top="0"
  width="60"
  fontsize="-2"
  fontfamily="Tahoma"
  toggleSmallFont="1"
  toggleBoldFont="1"
  />

TrayIcons / Icon
specifies icons for TrayIcons

The TrayIcons-tag gives you the chance to supply a custom icon (.ico) for the inbuild tray-functions. The TrayIcons-tag must have at least one Icon-Tag which has following attributes.

Required Attributes

Name Value Description
name icon.ico Filename of the icon (in .ico-format), which must be located in the directory specified by Window-Tag.
id phone_on Icon for phone turned on.
phone_off Icon for phone turned off.
wifi_on Icon for wifi turned on.
wifi_off Icon for wifi turned off.
bluetooth_on Icon for bluetooth turned on.
bluetooth_off Icon for bluetooth turned off.
devicelock Icon for devicelock.
display_off Icon for turn off display.
context_menu Icon for HomeScreen PlusPlus context menu.

Sample

1
2
3
4
5
6
7
8
9
10
11
<Window
  xmlns="http://www.chi-tai.info/HomeScreen"
  imagesrc="default"
  version="1" >
    .
    .
  <TrayIcons>
    <Icon id="phone_on" name="phone_on.ico" />
    <Icon id="phone_off" name="phone_off.ico" />
  </TrayIcons>
</Window>

으음 사실 구입한지 한달정도 되었습니다만, 이것저것 가지고 놀다보니 블로그에 올릴 여유가 없었습니다. 참 맘에 드는군요 X1 !

시간이 너무 늦어서 간단한 스펙만 올리고 이불속으로 들어가야겠습니다...
XPERIA X1 스펙
 
형 태 측면 슬라이드(QWERTY 키패드 내장)
크 기

110.5(L) x 52.6(W) x 17(H)mm

무 게 158g
색 상 Solid Black, Steel Silver
LCD 사양

3.0 Inch WVGA(480X800) 65K Color TFT Touch LCD

카메라

320만 화소 CMOS (AF 및 플래쉬 지원) + 전면 QCIF CMOS 카메라

CPU Qualcomm MSM 7200 528 MHz CPU
메모리 RAM-256MB, ROM-256MB
운영체제 Microsoft Windows Mobile 6.1 Professional
GPS S-GPS, A-GPS
Internet
Browser
Opera Browser, WebSurfing Browser, Internet Explorer
Wi-Fi 지원함(802.11 b/g)
충전/통신단자 미니 USB 5핀(충전 및 데이터 전송)
멜로디

MP3/WAV

배터리
구분
표준형(1500mAh)
연속통화시간
약 360 분
영상통화시간
약 180 분
연속대기시간
약 640 시간
기본 구성품

본체, 배터리 2개 배터리 케이스, 배터리 충전기, 배터리 거치대 충전 어댑터, 미니 USB 5핀 케이블, USB 전원 어댑터, 스타일러스 2개, 이어마이크, 이어폰, 이어폰 슬레이브, 사용 설명서, 기본 제공 소프트웨어 CD, MICRO SDHC 4GB 메모리 카드

DMB 지원안함
영상통화 지원함(T)
멀티태스킹 지원함
외장 메모리 지원함 (Max : Micro SDHC 16G - SanDisk Test 기준)
블루투스 지원함 (Ver 2.0)
통신 규격 WCDMA HSDPA 7.2Mbps
 

+ Recent posts