diff --git a/programs/cmm/browser/WebView.c b/programs/cmm/browser/WebView.c index 419555eeec..764547c39e 100644 --- a/programs/cmm/browser/WebView.c +++ b/programs/cmm/browser/WebView.c @@ -17,7 +17,7 @@ #include "..\lib\random.h" #include "..\lib\clipboard.h" -//*.obj libraries +// *.obj libraries #include "..\lib\obj\box_lib.h" #include "..\lib\obj\libio.h" #include "..\lib\obj\libimg.h" @@ -126,6 +126,7 @@ void main() load_dll(libHTTP, #http_lib_init,1); load_dll(iconv_lib, #iconv_open,0); Libimg_LoadImage(#skin, "/sys/toolbar.png"); + skin.h = 26; wv_progress_bar.progress_color = 0x72B7EB; CreateDir("/tmp0/1/downloads"); if (param) strcpy(#URL, #param); else strcpy(#URL, URL_SERVICE_HOME); diff --git a/programs/cmm/browser/show_src.h b/programs/cmm/browser/show_src.h index 362ce09869..2eb8a9aa2e 100644 --- a/programs/cmm/browser/show_src.h +++ b/programs/cmm/browser/show_src.h @@ -1,10 +1,10 @@ -enum { TAG, OPTION_VALUE, TEXT, COMMENT }; +enum { TAG, OPTION_VALUE, TEXT, COMMENT, INLINE_COMMENT, CODE }; //you are butifull, you are butifull dword ShowSource() { dword new_buf, new_buf_start, i; - byte ww, mode; + int mode; if (souce_mode) return; souce_mode = true; @@ -15,8 +15,7 @@ dword ShowSource() new_buf += strlen(new_buf); for (i=bufpointer; iC/C++/C-- source: %s
",#URL);
+	new_buf += strlen(new_buf);
+	for (i=bufpointer; i' == ESBYTE[i]) {
+			strcpy(new_buf, ">");
+			new_buf+=4;
+			continue;
+		}
+		if (ESBYTE[i] >= '0') && (ESBYTE[i] <= '9') && (CODE == mode) {
+			strcpy(new_buf, "?");
+			ESBYTE[new_buf+20] = ESBYTE[i];
+			new_buf+=28;
+			if (ESBYTE[i+1] == 'x') {
+				strcpy(new_buf, "x");
+				new_buf+=28;
+				i++;
+			}
+			continue;
+		}
+
+		if (CODE == mode) && ('\"' == ESBYTE[i]) {
+			mode = TEXT;
+			strcpy(new_buf, "\"");
+			new_buf+=18;
+			continue;
+		}
+		if (TEXT == mode) && ('\"' == ESBYTE[i]) {
+			mode = CODE;
+			strcpy(new_buf, "\"");
+			new_buf+=8;
+			continue;		
+		}
+
+		if (! strncmp(i, "//", 2) ) && (mode == CODE) {
+			mode = INLINE_COMMENT;
+			strcpy(new_buf, "//");
+			new_buf+=19;
+			i++;
+			continue;
+		}
+
+		if (INLINE_COMMENT == mode) {
+			if (13 == ESBYTE[i]) {
+				mode = CODE;
+				strcpy(new_buf, "\13");
+				new_buf+=8;
+				continue;				
+			}
+		}
+
+		if (! strncmp(i, "/*", 2) ) {
+			mode = COMMENT;
+			strcpy(new_buf, "/*");
+			new_buf+=19;
+			i++;
+			continue;
+		}
+		if (! strncmp(i, "*/", 2) ) {
+			mode = CODE;
+			strcpy(new_buf, "*/");
+			new_buf+=9;
+			i++;
+			continue;
+		}
+
+		if (CODE == mode) for (keyn=0; C_HL_keywords[keyn]!=NULL; keyn++) 
+		{
+			keylen = strlen(C_HL_keywords[keyn]);
+			if (! strncmp(i, C_HL_keywords[keyn], keylen) ) {
+
+				if (keyn<31) keycolor="#f00"; else keycolor="#00f";
+				sprintf(#spstr, "%s", keycolor, C_HL_keywords[keyn]);
+				strcpy(new_buf, #spstr);
+
+				new_buf += keylen + 24;
+				i += keylen-1;
+				goto _CONTINUE;
+			}
+		}
+		ESBYTE[new_buf] = ESBYTE[i];
+		new_buf++;
+		_CONTINUE:		
+	}
+	ESBYTE[new_buf] = 0;
+	bufsize = new_buf - new_buf_start;
+	free(bufpointer);
+	bufpointer = new_buf_start;
+}
+*/
\ No newline at end of file
diff --git a/programs/cmm/mousecfg/mousecfg.c b/programs/cmm/mousecfg/mousecfg.c
index 84bc96d916..be99bdb22c 100644
--- a/programs/cmm/mousecfg/mousecfg.c
+++ b/programs/cmm/mousecfg/mousecfg.c
@@ -1,4 +1,4 @@
-// Mouse Configuration Utility ver 1.6
+// Mouse Configuration Utility ver 1.61
 
 #ifndef AUTOBUILD
 #include "lang.h--"
@@ -60,8 +60,8 @@ void main() {
 	{
 		case evMouse:
 				mouse.get();
-				IF (mouse_frame.hovered()) DrawMouseImage(mouse.lkm,mouse.pkm,mouse.mkm, mouse.vert);
-				IF (mouse.up) DrawMouseImage(0,0,0,0);
+				IF (mouse_frame.hovered()) DrawMouseImage(mouse.lkm,mouse.pkm,mouse.mkm,mouse.vert);
+				IF (mouse.click) DrawMouseImage(0,0,0,0);
 				break;
 
 		CASE evButton: 
@@ -109,8 +109,8 @@ void main() {
 #define white  0xffffff
 #define dgrey  0x2d353d
 
-:struct IMG_PAL{ dword back,    shad1, mbody, left,  right, middle, white; }
-         pal = {    0xF0F2F3,0xABB0B2, dgrey, white, white, dgrey,  white  };
+:struct IMG_PAL{ dword back, shad1, contour, left,  right, middle, mwhite; }
+         pal = { 0xF0F2F3,0xABB0B2, dgrey,   white, white, dgrey,  white  };
 
 void DrawMouseImage(dword l,r,m,v) {
 	#define IMG_W 59
@@ -124,9 +124,9 @@ void DrawMouseImage(dword l,r,m,v) {
 	PutPaletteImage(#panels_img_data,IMG_W,IMG_H,18+30,18+15,8,#pal);
 	pal.left = pal.right = white;
 	pal.middle = dgrey;
-	if (v) {
+	IF (v) {
 		pause(10);
-		DrawMouseImage(0,0,0,0);
+		DrawMouseImage(l,r,m,0);
 	}
 }
 
diff --git a/programs/cmm/notes/engine.h b/programs/cmm/notes/engine.h
index e7e9d1f01a..c879815036 100644
--- a/programs/cmm/notes/engine.h
+++ b/programs/cmm/notes/engine.h
@@ -53,12 +53,13 @@ int NOTES::OpenTxt(dword file_path)
 	int i=0, linepos=0;
 	int item_n=-1;
 
+	count = LINES_COUNT;
+
 	strcpy(#txt_path, file_path);
 	ReadFile(0, 4096, #txt_data, #txt_path);
 	if (!txt_data) || (strncmp(#txt_data, "notes", 5)!=0)
 	{
 		txt_file_exists = false;
-		notify("'Notes\nData file does not exists or is not valid' -tE");
 		return 0;
 	}
 	else
@@ -84,7 +85,6 @@ int NOTES::OpenTxt(dword file_path)
 			//lines[item_n].Delete();
 			item_n++;
 		}
-		count = LINES_COUNT;
 		return 1;
 	}
 }
diff --git a/programs/cmm/notes/img/checkbox.png b/programs/cmm/notes/img/checkbox.png
index 270fc82d46..7dd4ceffe4 100644
Binary files a/programs/cmm/notes/img/checkbox.png and b/programs/cmm/notes/img/checkbox.png differ
diff --git a/programs/cmm/notes/img/checkbox.raw b/programs/cmm/notes/img/checkbox.raw
index 532d5192b4..95876b3c77 100644
Binary files a/programs/cmm/notes/img/checkbox.raw and b/programs/cmm/notes/img/checkbox.raw differ
diff --git a/programs/cmm/notes/img/edge.png b/programs/cmm/notes/img/edge.png
index 3f513b6965..a05acf84b8 100644
Binary files a/programs/cmm/notes/img/edge.png and b/programs/cmm/notes/img/edge.png differ
diff --git a/programs/cmm/notes/img/edge.raw b/programs/cmm/notes/img/edge.raw
index ad3ce6cbfa..4045426a62 100644
--- a/programs/cmm/notes/img/edge.raw
+++ b/programs/cmm/notes/img/edge.raw
@@ -1 +1 @@
-ÿÿÿÿÿÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿòòòæææÚÚÚÓÓÓÉÉÉÅÅÅ»»»»»»ÄÄÄàààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðððÖÖÖÆÆÆ»»»ÆÆƼ¼¼íííÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúñññéééìììõõõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüüüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûûûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿãããÇÇÇÄÄÄàààýýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûûûßßßÅÅÅÁÁÁÑÑÑíííÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöööýýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýýíííßßßÖÖÖÓÓÓÝÝÝùùùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüüüááááááõõõÿÿÿÿÿÿþþþ¼¼¼ÔÔÔÌÌ̾¾¾ÜÜÜúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿìììêêêþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýýñññÿÿÿÛÛÛ¼¼¼ÛÛÛÿÿÿÿÿÿõõõçççÙÙÙÑÑÑÙÙÙæææòòòýýýíííÜÜÜÓÓÓêêêýýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöööçççØØØÉÉɽ½½ÊÊÊàààùùùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúíííáááÕÕÕÉÉÉ»»»ÆÆÆÏÏÏÚÚÚàààéééìììõõõõõõíííÒÒÒÈÈÈàààíííñññýýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøøøÝÝÝÄÄÄÈÈÈÝÝÝëëëõõõöööáááÑÑÑÿÿÿöööÚÚÚÑÑÑÖÖÖßßßäääíííñññüüüÿÿÿÿÿÿÿÿÿäääÉÉÉÙÙÙéééùùùÿÿÿÿÿÿÿÿÿÿÿÿûûûêêêÙÙÙÇÇÇ¿¿¿ÆÆÆÍÍÍËËËÃÃû»»ÉÉÉÓÓÓáááðððöööÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿóóóéééùùùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðððáááÒÒÒÄÄľ¾¾½½½ÐÐÐäääõõõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùùùÚÚÚ¾¾¾ÁÁÁÝÝÝÿÿÿÿÿÿÞÞÞÂÂÂêêêíííÔÔÔ¼¼¼ãããýýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùùùßßß½½½ÕÕÕëëëðððáááÆÆÆÎÎÎêêêûûûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿéééÍÍͼ¼¼ÝÝÝýýýÿÿÿÿÿÿÿÿÿÿÿÿôôôíííÝÝÝÍÍͼ¼¼ÊÊÊÕÕÕÝÝÝààà×××ÀÀÀ×××ñññÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàà྾¾ÔÔÔÓÓÓÃÃÃÐÐÐìììäääÎÎÎ÷÷÷÷÷÷ñññÖÖÖ¾¾¾ÜÜÜñññÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿéééÍÍÍËËËÌÌ̼¼¼âââýýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿòòòñññêêêáááÖÖÖËËËÁÁÁ½½½ÆÆÆØØØÑÑÑðððÃÃÃÍÍ;¾¾ÃÃÃÎÎÎÚÚÚâââÛÛÛÏÏÏÆÆƼ¼¼ÊÊÊÙÙÙàààÌÌ̼¼¼ØØØñññÿÿÿõõõãããÒÒÒÁÁÁÂÂÂÏÏÏÜÜÜéééôôôçççÕÕÕÀÀÀÑÑÑäääñññääääääÚÚÚÖÖÖÏÏÏ¿¿¿ÉÉÉÓÓÓßßßéééõõõöööøøøùùùúúúúúúûûûûûûüüüúúúøøøêêêÕÕÕÊÊÊÆÆƽ½½»»»ÉÉÉËËËÖÖÖÚÚÚäääéééññññññèèèÝÝÝÍÍÍÁÁÁ×××ííí÷÷÷ùùùûûûüüüüüüùùùÎÎÎÍÍÍÂÂÂÚÚÚâââÝÝÝÖÖÖÑÑÑÉÉÉÆÆƾ¾¾»»»»»»»»»ÑÑÑèèèÛÛÛÍÍÍÀÀÀÅÅÅÔÔÔËËËÇÇǾ¾¾ÌÌÌÛÛÛëëëööö÷÷÷÷÷÷÷÷÷öööõõõéééàààÓÓÓÈÈÈ»»»ÏÏÏêêêÜÜÜÀÀÀÅÅÅÍÍÍÀÀÀËËËâââìììàààÔÔÔÈÈÈ»»»ÈÈÈÓÓÓáááíííõõõôôôãããÑÑÑÃÃÃÂÂÂ×××äääÛÛÛÖÖÖÉÉÉÅÅž¾¾ØØØòòòðððÍÍÍÍÍÍÝÝÝÄÄÄðððùùùúúúøøøëëëËË˼¼¼ÁÁÁÉÉÉÌÌÌÖÖÖÖÖÖãããÍÍÍÀÀÀÑÑÑîîîøøøúúúûûûùùù÷÷÷äääÊÊʾ¾¾ÌÌÌÞÞÞöööÿÿÿæææÊÊÊÈÈÈåååõõõðððÑÑѼ¼¼»»»»»»»»»»»»ÄÄÄÉÉÉØØØåååõõõ÷÷÷øøøùùùùùùøøøôôôÝÝÝÆÆÆÀÀÀÖÖÖîîîÿÿÿãããÇÇÇÙÙÙõõõÿÿÿÿÿÿÞÞÞÂÂÂËËËííí÷÷÷øøøöööãããËËË¿¿¿ìììüüüýýýûûûøøøòòò×××ÆÆÆ¿¿¿ÑÑÑåååÜÜÜÃÃÃÆÆÆæææööö÷÷÷ëëëÍÍͼ¼¼»»»¿¿¿ÉÉÉÒÒÒÙÙÙäääíííôôôÿÿÿÿÿÿÿÿÿøøøññññññïïïääääääÛÛÛÖÖÖÖÖÖÑÑÑÉÉÉÉÉÉÇÇÇ»»»»»»»»»ÅÅÅÆÆÆÌÌÌÓÓÓÝÝÝæææïïïõõõõõõÎÎÎöööøøøðððåååñññõõõ÷÷÷øøøùùùùùùøøøöööööö÷÷÷øøøùùù÷÷÷ñññÜÜÜÆÆƽ½½ÃÃÃÒÒÒáááðððöööøøøùùùúúúûûûúúúøøøõõõáááÑÑÑÇÇÇÑÑÑÑÑÑÚÚÚÝÝÝãããïïïööö÷÷÷øøøùùùúúúüüüüüüýýýýýýþþþþþþÿÿÿÿÿÿÿÿÿþþþýýýûûûøøø÷÷÷ööööööõõõéééçççÝÝÝÚÚÚÑÑÑÍÍÍÆÆÆÆÆÆÎÎÎØØØæææöööøøøûûûüüüþþþþþþÿÿÿÿÿÿýýýõõõæææöööøøøùùùùùùøøøøøø÷÷÷ööööööõõõõõõöööøøøùùùùùù÷÷÷öööíííßßßçççëëëööö÷÷÷ùùùûûûüüüüüüýýýýýýüüüüüüûûûùùùøøø÷÷÷öööõõõãããÌÌÌÒÒÒñññööö÷÷÷öööçççÓÓÓËËËÕÕÕßßßêêêõõõ÷÷÷øøøùùùûûûüüüûûûúúúøøøöööïïïÝÝÝÒÒÒÙÙÙÝÝÝèèèíííöööùùùûûûúúúøøøåååØØØòòòûûûþþþþþþýýýúúúøøøöööðððéééæææÝÝÝÝÝÝÒÒÒåååöööøøøûûûýýýþþþþþþþþþüüüúúú÷÷÷öööæææÖÖÖÂÂÂÎÎÎÁÁÁççç÷÷÷úúúûûûûûûøøøöööõõõõõõõõõöööööö÷÷÷ùùùúúúüüüýýýýýýþþþþþþýýýûûûùùù÷÷÷ñññÝÝÝÉÉɾ¾¾ÍÍÍêêêÛÛÛÕÕÕñññ×××ÌÌÌïïïøøøûûûýýýýýýüüüúúú÷÷÷øøøûûûþþþÿÿÿþþþýýýûûûùùù÷÷÷òòòáááÐÐÐÙÙÙîîî÷÷÷úúúüüüüüüúúúøøøöööõõõòòòéééáááÛÛÛÑÑÑÉÉÉÄÄÄ»»»»»»»»»ÁÁÁÆÆÆÆÆÆÈÈÈÑÑÑÑÑÑÙÙÙÝÝÝÝÝÝáááééééééëëëõõõõõõöööööö÷÷÷÷÷÷øøøøøøùùùúúúûûûûûû÷÷÷ûûûýýýûûûúúúúúúûûûüüüüüüþþþþþþýýýüüüüüüýýýýýýýýýýýýûûûùùù÷÷÷ôôôöööøøøúúúûûûüüüýýýþþþþþþÿÿÿþþþýýýüüüúúúøøø÷÷÷øøøøøøùùùùùùúúúûûûüüüýýýýýýþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýýýýüüüüüüûûûûûûúúúùùùùùùøøø÷÷÷÷÷÷÷÷÷øøøùùùúúúüüüýýýþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýûûûüüüýýýþþþþþþýýýýýýýýýüüüüüüüüüüüüüüüýýýþþþþþþýýýüüüûûûúúúúúúûûûüüüýýýþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþýýýýýýüüüûûûúúúøøøùùùûûûüüüýýýüüüúúúøøøøøøøøøùùùûûûüüüüüüýýýþþþþþþÿÿÿÿÿÿþþþýýýüüüûûûùùùøøøùùùùùùúúúûûûüüüýýýþþþþþþýýýúúúúúúüüüþþþÿÿÿÿÿÿÿÿÿþþþýýýüüüûûûûûûúúúùùùùùùùùùúúúüüüýýýþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýüüüúúúøøøöööåååîîîúúúüüüþþþÿÿÿþþþýýýüüüüüüüüüüüüüüüüüüýýýýýýþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþüüüûûûùùù÷÷÷óóóøøøùùùøøøßßßÁÁÁÖÖÖ÷÷÷ûûûýýýþþþÿÿÿÿÿÿÿÿÿþþþýýýýýýþþþÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýüüüûûûúúúøøøùùùûûûýýýþþþÿÿÿÿÿÿþþþýýýüüüüüüûûûúúúúúúùùùøøø÷÷÷ööööööõõõõõõöööööö÷÷÷÷÷÷øøøøøøùùùùùùùùùúúúúúúúúúûûûûûûüüüüüüüüüüüüýýýýýýýýýýýýþþþþþþþþþüüüýýýþþþþþþýýýþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýüüüüüüýýýþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýýýýýýýýýýýýýþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþýýýýýýýýýýýýýýýýýýýýýþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýýýýþþþÿÿÿÿÿÿÿÿÿþþþýýýýýýýýýþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþýýýýýýþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýüüüûûûüüüþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýüüüýýýþþþýýýúúú÷÷÷ùùùüüüþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþýýýýýýüüüüüüüüüüüüüüüüüüüüüýýýýýýýýýýýýþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþþþþ
\ No newline at end of file
+ÿÿÿÿÿÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôôôãããÛÛÛÓÓÓËËËÄÄĽ½½½½½ÄÄÄãããÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôôôÓÓÓÄÄĽ½½ÄÄĽ½½ëëëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúôôôëëëëëëôôôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿãããÄÄÄÄÄÄãããþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúÛÛÛÄÄÄÄÄÄÓÓÓëëëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôôôþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþëëëÛÛÛÓÓÓÓÓÓÛÛÛúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúããããããôôôÿÿÿÿÿÿþþþ½½½ÓÓÓËË˽½½ÛÛÛúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿëëëëëëþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþôôôÿÿÿÛÛÛ½½½ÛÛÛÿÿÿÿÿÿôôôãããÛÛÛÓÓÓÛÛÛãããôôôþþþëëëÛÛÛÓÓÓëëëþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôôôãããÛÛÛËË˽½½ËËËãããúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúëëëãããÓÓÓËË˽½½ÄÄÄËËËÛÛÛãããëëëëëëôôôôôôëëëÓÓÓËËËãããëëëôôôþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúÛÛÛÄÄÄËËËÛÛÛëëëôôôôôôãããÓÓÓÿÿÿôôôÛÛÛÓÓÓÓÓÓÛÛÛãããëëëôôôúúúÿÿÿÿÿÿÿÿÿãããËËËÛÛÛëëëúúúÿÿÿÿÿÿÿÿÿÿÿÿúúúëëëÛÛÛÄÄĽ½½ÄÄÄËËËËËËÄÄĽ½½ËËËÓÓÓãããôôôôôôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôôôëëëúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôôôãããÓÓÓÄÄĽ½½½½½ÓÓÓãããôôôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúÛÛÛ½½½ÄÄÄÛÛÛÿÿÿÿÿÿÛÛÛÄÄÄëëëëëëÓÓÓ½½½ãããþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúÛÛÛ½½½ÓÓÓëëëôôôãããÄÄÄËËËëëëúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿëëëËËËÄÄĽ½½ÛÛÛþþþÿÿÿÿÿÿÿÿÿÿÿÿôôôëëëÛÛÛËË˽½½ËËËÓÓÓÛÛÛãããÓÓÓ½½½ÓÓÓôôôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿããã½½½ÓÓÓÓÓÓÄÄÄÓÓÓëëëãããËËËôôôôôôôôôÓÓÓ½½½ÛÛÛôôôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿëëëËËËËËËËË˽½½ãããþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôôôôôôëëëãããÓÓÓËËËÄÄĽ½½ÄÄÄÛÛÛÓÓÓôôôÄÄÄËË˽½½ÄÄÄËËËÛÛÛãããÛÛÛËËËÄÄĽ½½ËËËÛÛÛãããËË˽½½ÛÛÛôôôÿÿÿôôôãããÓÓÓÄÄÄÄÄÄËËËÛÛÛëëëôôôãããÓÓÓ½½½ÓÓÓãããôôôããããããÛÛÛÓÓÓËËËÄÄĽ½½ËËËÓÓÓÛÛÛëëëôôôôôôúúúúúúúúúúúúúúúúúúúúúúúúúúúëëëÓÓÓËËËÄÄĽ½½½½½ËËËËËËÓÓÓÛÛÛãããëëëôôôôôôëëëÛÛÛËËËÄÄÄÓÓÓëëëôôôúúúúúúúúúúúúúúúËËËËËËÄÄÄÛÛÛãããÛÛÛÓÓÓÓÓÓËËËÄÄĽ½½½½½½½½½½½ÓÓÓëëëÛÛÛËË˽½½ÄÄÄÓÓÓËËËÄÄĽ½½ËËËÛÛÛëëëôôôôôôôôôôôôôôôôôôëëëãããÓÓÓËËËÄÄĽ½½ËËËëëëÛÛÛ½½½ÄÄÄËË˽½½ËËËãããëëëãããÓÓÓËË˽½½ËËËÓÓÓãããëëëôôôôôôãããÓÓÓÄÄÄÄÄÄÓÓÓãããÛÛÛÓÓÓËËËÄÄĽ½½ÛÛÛôôôôôôËËËËËËÛÛÛÄÄÄôôôúúúúúúúúúëëëËË˽½½ÄÄÄËËËËËËÓÓÓÓÓÓãããËË˽½½ÓÓÓëëëúúúúúúúúúúúúôôôãããËË˽½½ËËËÛÛÛôôôÿÿÿãããËËËËËËãããôôôôôôÓÓÓ½½½½½½½½½½½½½½½ÄÄÄËËËÛÛÛãããôôôôôôúúúúúúúúúúúúôôôÛÛÛÄÄĽ½½ÓÓÓëëëÿÿÿãããÄÄÄÛÛÛôôôÿÿÿÿÿÿÛÛÛÄÄÄËËËëëëôôôúúúôôôãããËË˽½½ëëëúúúþþþúúúúúúôôôÓÓÓÄÄĽ½½ÓÓÓãããÛÛÛÄÄÄÄÄÄãããôôôôôôëëëËË˽½½½½½½½½ËËËÓÓÓÛÛÛãããëëëôôôÿÿÿÿÿÿÿÿÿúúúôôôôôôëëëããããããÛÛÛÓÓÓÓÓÓÓÓÓËËËËËËÄÄĽ½½½½½½½½ÄÄÄÄÄÄËËËÓÓÓÛÛÛãããëëëôôôôôôËËËôôôúúúôôôãããôôôôôôôôôúúúúúúúúúúúúôôôôôôôôôúúúúúúôôôôôôÛÛÛÄÄĽ½½ÄÄÄÓÓÓãããôôôôôôúúúúúúúúúúúúúúúúúúôôôãããÓÓÓÄÄÄÓÓÓÓÓÓÛÛÛÛÛÛãããëëëôôôôôôúúúúúúúúúúúúúúúþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿþþþþþþúúúúúúôôôôôôôôôôôôëëëãããÛÛÛÛÛÛÓÓÓËËËÄÄÄÄÄÄËËËÛÛÛãããôôôúúúúúúúúúþþþþþþÿÿÿÿÿÿþþþôôôãããôôôúúúúúúúúúúúúúúúôôôôôôôôôôôôôôôôôôúúúúúúúúúôôôôôôëëëÛÛÛãããëëëôôôôôôúúúúúúúúúúúúþþþþþþúúúúúúúúúúúúúúúôôôôôôôôôãããËËËÓÓÓôôôôôôôôôôôôãããÓÓÓËËËÓÓÓÛÛÛëëëôôôôôôúúúúúúúúúúúúúúúúúúúúúôôôëëëÛÛÛÓÓÓÛÛÛÛÛÛëëëëëëôôôúúúúúúúúúúúúãããÛÛÛôôôúúúþþþþþþþþþúúúúúúôôôôôôëëëãããÛÛÛÛÛÛÓÓÓãããôôôúúúúúúþþþþþþþþþþþþúúúúúúôôôôôôãããÓÓÓÄÄÄËËËÄÄÄãããôôôúúúúúúúúúúúúôôôôôôôôôôôôôôôôôôôôôúúúúúúúúúþþþþþþþþþþþþþþþúúúúúúôôôôôôÛÛÛËË˽½½ËËËëëëÛÛÛÓÓÓôôôÓÓÓËËËëëëúúúúúúþþþþþþúúúúúúôôôúúúúúúþþþÿÿÿþþþþþþúúúúúúôôôôôôãããÓÓÓÛÛÛëëëôôôúúúúúúúúúúúúúúúôôôôôôôôôëëëãããÛÛÛÓÓÓËËËÄÄĽ½½½½½½½½ÄÄÄÄÄÄÄÄÄËËËÓÓÓÓÓÓÛÛÛÛÛÛÛÛÛãããëëëëëëëëëôôôôôôôôôôôôôôôôôôúúúúúúúúúúúúúúúúúúôôôúúúþþþúúúúúúúúúúúúúúúúúúþþþþþþþþþúúúþþþþþþþþþþþþþþþúúúúúúôôôôôôôôôúúúúúúúúúúúúþþþþþþþþþÿÿÿþþþþþþúúúúúúúúúôôôúúúúúúúúúúúúúúúúúúúúúþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþúúúúúúúúúúúúúúúúúúúúúúúúôôôôôôôôôúúúúúúúúúúúúþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþúúúúúúþþþþþþþþþþþþþþþþþþúúúþþþúúúþþþúúúþþþþþþþþþþþþúúúúúúúúúúúúúúúúúúþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþúúúúúúúúúúúúúúúúúúúúúþþþúúúúúúúúúúúúúúúúúúúúúúúúúúúþþþþþþþþþÿÿÿÿÿÿþþþþþþúúúúúúúúúúúúúúúúúúúúúúúúúúúþþþþþþþþþþþþúúúúúúúúúþþþÿÿÿÿÿÿÿÿÿþþþþþþúúúúúúúúúúúúúúúúúúúúúúúúúúúþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþúúúúúúúúúôôôãããëëëúúúúúúþþþÿÿÿþþþþþþúúúþþþúúúþþþúúúþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþúúúúúúúúúôôôôôôúúúúúúúúúÛÛÛÄÄÄÓÓÓôôôúúúþþþþþþÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþúúúúúúúúúúúúúúúúúúþþþþþþÿÿÿÿÿÿþþþþþþúúúúúúúúúúúúúúúúúúúúúôôôôôôôôôôôôôôôôôôôôôôôôôôôúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúþþþúúúþþþþþþþþþþþþþþþþþþþþþþþþúúúþþþþþþþþþþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþúúúúúúþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþúúúúúúúúúþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþúúúþþþþþþþþþúúúôôôúúúúúúþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþþþþþþþúúúúúúúúúúúúþþþúúúþþþþþþþþþþþþþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþþþþ
\ No newline at end of file
diff --git a/programs/cmm/notes/notes b/programs/cmm/notes/notes
deleted file mode 100644
index 2e02e13ad5..0000000000
Binary files a/programs/cmm/notes/notes and /dev/null differ
diff --git a/programs/cmm/notes/notes.c b/programs/cmm/notes/notes.c
index 35f43e8aa1..2cedb5fb05 100644
--- a/programs/cmm/notes/notes.c
+++ b/programs/cmm/notes/notes.c
@@ -1,15 +1,10 @@
-// Notes v0.9 Beta
+// Notes v1.0
 
 #define MEMSIZE 0xDAE80
 #include "..\lib\kolibri.h" 
-#include "..\lib\mem.h" 
-#include "..\lib\strings.h" 
-#include "..\lib\fs.h"
-#include "..\lib\dll.h"
 
 #include "..\lib\obj\box_lib.h"
 #include "..\lib\gui.h"
-#include "..\lib\encoding.h"
 #include "..\lib\list_box.h"
 
 //===================================================//
@@ -68,7 +63,6 @@ void main()
 	load_dll(boxlib, #box_lib_init,0);
 	
 	if (param) notes.OpenTxt(#param); else notes.OpenTxt(abspath("notes.txt"));
-	//notes.cur_y = 0;
 
 	SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER);
 
@@ -173,7 +167,7 @@ void draw_window()
 	WriteText(9,TITLE_H/2-6,0x90,0xA9613A,WINDOW_CAPTION);
 	WriteTextB(7,TITLE_H/2-7,0x90,0xFFFfff,WINDOW_CAPTION);
 	_PutImage(1, TITLE_H, 292,EDGE_H, #edge);
-	PutPixel(notes.x+RED_LINE_X, notes.y-1, COL_RED_LINE);
+	PutPixel(notes.x, notes.y-1, COL_RED_LINE);
 	ECX-=1;	$int 0x40;
 	DrawCloseButton(WIN_W-23,4,16,16);
 	DrawRectangle(0,TITLE_H,WIN_W,WIN_H-HEADER_HEIGHT+EDGE_H,0xBBBBBB);
@@ -188,6 +182,7 @@ void DrawEditBoxN()
 	notebox.offset = notebox.shift = notebox.shift_old = 0;
 	notebox.cl_curs_x = notebox.cl_curs_y = 0;
 	notebox.size = strlen(notebox.text);
+	notebox.flags = ed_always_focus+ed_focus;
 	if (notebox.pos > notebox.size) notebox.pos = notebox.size;
 	notebox.top = notes.cur_y*notes.item_h+4+notes.y;
 	edit_box_draw stdcall(#notebox);	
diff --git a/programs/system/icon_new/DlgAdd.inc b/programs/system/icon_new/DlgAdd.inc
index 7d0a0e205a..c1c6eac34b 100644
--- a/programs/system/icon_new/DlgAdd.inc
+++ b/programs/system/icon_new/DlgAdd.inc
@@ -92,7 +92,7 @@ DlgProp:
 
 	mov	ecx,256
 	mov	edi,DAreaIcon
-	
+
 	mov	[DAreaIcon],'0'
 	mov	dword[edtIcon.size],1
 	mov	dword[edtIcon.pos],1
@@ -196,7 +196,7 @@ DReDraw:
 
 	;edit_boxes_set_sys_color edtIcon,endEdits,sc
 	edit_boxes_set_sys_color edtName,endEdits,sc
-	
+
 	m2m	[edtIcon.color],[sc.work]
 	m2m	[edtIcon.blur_border_color],[sc.work]
 
@@ -348,27 +348,10 @@ DMouse:
 	cmp	eax,[icon_count]
 	jae	DMessages
 
-	mov	bl,10
-	div	bl
+;       stdcall byteToHex,al,DAreaIcon  ;2
+	stdcall intToStr,eax,DAreaIcon
+	mov	dword[edtIcon.size],edx
 
-	add	ah,30h
-	test	al,al
-	jz	@f
-
-	add	al,30h
-	mov	byte[DAreaIcon],al
-	mov	byte[DAreaIcon+1],ah
-	mov	byte[DAreaIcon+2],0
-	mov	dword[edtIcon.size],2
-	jmp	.RedrawNum
-
-      @@:
-	mov	byte[DAreaIcon],ah
-	mov	byte[DAreaIcon+1],0
-	mov	dword[edtIcon.size],1
-	jmp	.RedrawNum
-    .RedrawNum:
-	
     ; stdcall [edit_box_draw],edtIcon
 
 	call DrawSelIcon
@@ -465,14 +448,14 @@ proc DRedrawWin
 
 	stdcall [scrollbar_h_draw],sbIcons
 	mcall 38,,,[sc.work_graph]
-	mcall   ,,,[sc.work_graph]
+	mcall	,,,[sc.work_graph]
 
-	mcall   ,,,[sc.work_graph]
-	mcall   ,,,		[sc.work_graph]
+	mcall	,,,[sc.work_graph]
+	mcall	,,,[sc.work_graph]
 
 	;BUTTONS
 	mcall	8,<265,75>,<30+END_ICONS_AREAH,24>,idbCreate,[sc.work_button]
-	mcall	 ,<360,77>,	                      ,idbCancel
+	mcall	 ,<360,77>,			  ,idbCancel
 	mcall	 ,,<30,20> ,idbChange
 
 	;CAPTIONS
@@ -647,11 +630,9 @@ local IcoX:DWORD,\
 endp
 
 proc DrawSelIcon
-
-	
 	mov	edx,[sc.work]
 	mcall 13,,<59,12>
-	
+
 	mov	ecx,[sc.work_text]
 	or	ecx,90000000h
 	mcall 4,,,DAreaIcon
@@ -662,25 +643,8 @@ proc DrawSelIcon
 	ret
       @@:
 
-	mov	al,[edi]
-	cmp	al,'9'
-	ja	.PathToIcon
-	cmp	al,'/'
-	jne	.GetIconInd
-   .PathToIcon:
-	mov	al,30h		 ;§ £«ã誠!!!!!!!!!!!!!
-	mov	byte[edi+1],0
-   .GetIconInd:
-;int3
-	sub	al,30h
-	cmp	byte[edi+1],0
-	je	@f
-	shl	eax,1
-	lea	eax,[eax*4+eax]
-	xor	edx,edx
-	mov	dl,[edi+1]
-	sub	dl,30h
-	add	eax,edx
+	;stdcall hexToInt, edi
+	stdcall strToInt, edi
      @@:	     ;eax=num icon
 	cmp	eax,[icon_count]
 	jb	@f
@@ -724,4 +688,155 @@ proc DrawSelIcon
 	mcall	7,DlgBufImg,,<30,15>
 
 	ret
-endp
\ No newline at end of file
+endp
+
+;NOT USED
+proc hexToInt strz:DWORD
+	push	ebx
+	mov	ebx,[strz]
+	mov	al,[ebx]
+	xor	edx,edx
+.loop:
+	xor	ecx,ecx
+	inc	ebx
+	shl	edx,4
+	cmp	al,'0'
+	jb	.err
+	cmp	al,'9'
+	jbe	.conv
+	mov	ecx,10
+	sub	al,11h
+	cmp	al,'0'
+	jb	.err
+	cmp	al,'6'
+	ja	.err
+.conv:
+	sub	al,30h
+	add	dl,al
+	mov	al,[ebx]
+	add	dl,cl
+	test	al,al
+	jnz	.loop
+	mov	eax,edx
+	pop	ebx
+	ret
+.err:
+	xor	eax,eax
+	pop	ebx
+	ret
+endp
+
+
+;NOT USED
+proc byteToHex byti:BYTE,target:DWORD
+	push	ebx
+	mov	ebx,[target]
+	mov	dl,[byti]
+	rol	dl,4
+	mov	ecx,2
+.loop:
+	mov	al,dl
+	and	al,0xF
+	cmp	al,10
+	jae	@f
+	add	al,0x30
+	jmp	.n
+@@:
+	add	al,0x41-10
+.n:
+	mov	[ebx],al
+	inc	ebx
+	rol	dl,4
+	loop	.loop
+
+	mov	byte[ebx],0
+@@:	pop	ebx
+	ret
+	jmp	@b
+endp
+
+
+proc strToInt strz:DWORD
+	push	ebx edi esi
+	stdcall strLen, [strz]
+	xor	edx,edx
+	xor	ebx,ebx
+	xor	edi,edi
+	std
+	inc	ebx
+	mov	esi,[strz]
+	lea	esi,[esi+eax-2]
+.loop:
+	xor	eax,eax
+	lodsb
+	cmp	al,'0'
+	jb	.err
+	cmp	al,'9'
+	ja	.err
+
+	sub	al,0x30
+	mul	ebx
+	lea	ebx,[ebx*4+ebx] 	;ebx = ebx*10
+	shl	ebx,1
+	add	edi,eax
+	cmp	esi,[strz]
+	jae	.loop
+	cld
+	mov	eax,edi
+	pop	esi edi ebx
+	ret
+.err:
+	cld
+	or	eax,-1
+	pop	esi edi ebx
+	ret
+endp
+
+
+;ret: target - string, edx - length string
+proc intToStr inti:DWORD, target:DWORD
+locals
+   resl rb 16
+endl
+	lea	edi,[resl]
+	mov	eax,[inti]
+	xor	ecx,ecx
+	mov	ebx,10
+	jmp	.stlp
+.loop:
+	xor	edx,edx
+	div	ebx
+	mov	[edi],dl
+	inc	edi
+	inc	ecx
+.stlp:	cmp	eax,10
+	jae	.loop
+	mov	[edi],al
+	inc	ecx
+	mov	edx,ecx
+	mov	ebx,[target]
+.conv:
+	mov	al,[edi]
+	add	al,0x30
+	mov	[ebx],al
+	inc	ebx
+	dec	edi
+	loop	.conv
+	mov	byte[ebx],0
+	ret
+endp
+
+;for 'ab',0  strLen = 3
+proc strLen stringZ:DWORD
+	push	edi
+	xor	al,al
+	mov	edi,[stringZ]
+	or	ecx,-1
+	repne	scasb
+	sub	edi,[stringZ]
+	mov	eax,edi
+	pop	edi
+	ret
+endp
+
+
diff --git a/programs/system/icon_new/icon.asm b/programs/system/icon_new/icon.asm
index c7d42ec9e2..8839bf16f6 100644
--- a/programs/system/icon_new/icon.asm
+++ b/programs/system/icon_new/icon.asm
@@ -39,9 +39,18 @@ include '../../macros.inc'
 include '../../proc32.inc'
 include '../../develop/libraries/box_lib/trunk/box_lib.mac'
 include '../../dll.inc'
-;include '../../debug.inc'
+include '../../debug.inc'
+
+
+; include '../include/lang.inc'
+; include '../include/macros.inc'
+; include '../include/proc32.inc'
+; include '../include/box_lib.mac'
+; include '../include/dll.inc'
+
 ;------------------------------------------------------------------------------
 START:		; start of execution
+
 	mcall	68,11
 	stdcall dll.Load,IMPORTS
 	test	eax,eax
@@ -119,7 +128,7 @@ START:		; start of execution
 	rep stosd
 	mov	[nLoadIcon],0
 	stdcall [ini_enum_sections],IconIni,LoadIconsData
-;int3
+
 	mov	eax,dword[PIcoDB]
 	sub	eax,[BegData]
 	mov	dword[SizeData],eax
@@ -274,7 +283,7 @@ LButtonPress:
 	mov	dword[fiRunProg+8],edi
 	mov	dword[fiRunProg+21],ebx
 	mcall	70,fiRunProg
-	
+
 	test	eax,80000000h
 	jz	@f
 
@@ -533,28 +542,9 @@ local	IconData:DWORD
 	repne	scasb
 	repne	scasb
 	repne	scasb
-	mov	al,[edi]
-	;cmp	al,'9'
-	;ja	PathToIcon
-	cmp	al,'/'
-	jne	GetIconInd
 
-   PathToIcon:
-	mov	al,30h		 ;§ £«ã誠!!!!!!!!!!!!!
-	mov	byte[edi+1],0
-
-	jmp	CopyToMem
-   GetIconInd:
-
-	sub	al,30h
-	cmp	byte[edi+1],0
-	je	@f
-	shl	eax,1
-	lea	eax,[eax*4+eax]
-	xor	edx,edx
-	mov	dl,[edi+1]
-	sub	dl,30h
-	add	eax,edx
+	;stdcall hexToInt,edi
+	stdcall strToInt,edi
      @@:	     ;eax=num icon
 	cmp	eax,[icon_count]
 	jb	@f
@@ -913,7 +903,7 @@ endp
 ;ä®à¬ â IPC-á®®¡é¥­¨ï
 ;dd X
 ;dd Y
-;asciiz Icon
+;asciiz Icon - in decimal
 ;asciiz Name
 ;asciiz Path
 ;asciiz Params
@@ -926,7 +916,6 @@ endl
 
 	mov	eax,IPCbuffer+8
 	mov	dword[IPCbuffer],1
-	;mov     edx,dword[IPCbuffer+4]
 	lea	edx,[eax+8]
 
 	m2m	dword[ix],dword[edx]
@@ -1285,10 +1274,10 @@ DlgBufImg	rb IMG_SIZE*IMG_SIZE*3
 
 align 4
 bufStdIco	rb 40
-IconsOffs	rd 100		;â ¡«¨æ  á 㪠§ â¥«ï¬¨ ­  ª®­ªà¥â­ë¥ ¨ª®­ª¨(¤«ï ã᪮७¨ï)
-PIcoDB		rd 1
+IconsOffs	rd 100h 	;â ¡«¨æ  á 㪠§ â¥«ï¬¨ ­  ª®­ªà¥â­ë¥ ¨ª®­ª¨(¤«ï ã᪮७¨ï)
+PIcoDB		rd 1		;㪠§ â¥«ì ­  ¡ãää¥à á ¨­ä®© ®¡® ¢á¥å ¨ª®­ª å
 nLoadIcon	rd 1		;­®¬¥à ç¨â ¥¬®© ¨§ ini ¨ª®­ª¨
-IconsID 	rd 100		;ID ¨ª®­®ª - 2 ¡ ©âa + ¡ ©â 0 + ¢ëà ¢­¨¢ î騩 ¡ ©â - áâப  á 2¬ï è¥á­ ¤æ¥â¨à¨ç­ë¬¨ æ¨äà ¬¨
+IconsID 	rd 100h 	;ID ¨ª®­®ª - 2 ¡ ©âa + ¡ ©â 0 + ¢ëà ¢­¨¢ î騩 ¡ ©â - áâப  á 2¬ï è¥á­ ¤æ¥â¨à¨ç­ë¬¨ æ¨äà ¬¨
 
 nameSection	rb 4
 
@@ -1335,4 +1324,8 @@ stack_bredraw:
 		rb 512
 stack_main:
 ;------------------------------------------------------------------------------
+
+
+
+
 ENDMEM:
\ No newline at end of file