Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 1031 → Rev 1032

/programs/develop/libraries/box_lib/C--/lib/RANDOM.H--
0,0 → 1,52
/*******************************************************************************
 
MenuetOS MineSweeper
Copyright (C) 2003 Ivan Poddubny
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
 
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
 
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 
*******************************************************************************/
 
dword generator; // random number generator - äëÿ ãåíåðàöèè ñëó÷àéíûõ ÷èñåë
 
:int random(int max)
// get pseudo-random number - ïîëó÷èòü ïñåâäîñëó÷àéíîå ÷èñëî
{
$rdtsc // eax & edx
$xor eax,edx
$not eax
 
EBX = generator;
$ror ebx,3
$xor ebx,0xdeadbeef
EBX += EAX;
generator = EBX;
EAX += EBX;
EAX = EAX % max;
return EAX;
}
 
:randomize()
// initialize random number generator - èíèöèàëèçèðîâàòü ãåíåðàòîð ñëó÷àéíûõ ÷èñåë
{
asm
{
mov eax,3
int 0x40
ror eax,16
}
generator = EAX;
}
/programs/develop/libraries/box_lib/C--/lib/kolibri.h--
0,0 → 1,558
#startaddress 0
#code32 TRUE
 
char os_name[8] = {'M','E','N','U','E','T','0','1'};
dword os_version = 0x00000001;
dword start_addr = #main;
dword final_addr = #stop+32;
dword alloc_mem = #stop+0x100;
dword x86esp_reg = #stop+0x100;
dword I_Param = 0x0;
dword I_Icon = 0x0;
dword skin_width;
 
//Events
#define evMouse 6
#define evButton 3
#define evKey 2
#define evReDraw 1
#define evNet 8
 
//Button options
#define BT_DEL 0x80000000
#define BT_HIDE 0x40000000
#define BT_NOFRAME 0x20000000
 
#define OLD -1
#define true 1
#define false 0
 
struct FileInfo{
dword read, firstBlock, qnBlockRead, retPtr, Work;
byte filedir;
};
//-------------------------------------------------------------------------
struct system_colors{
dword frame,grab,grab_button,grab_button_text,grab_text,work,work_button,work_button_text,work_text,work_graph;
void get();
};
void system_colors::get()
{
EAX = 48;
EBX = 3;
ECX = #frame;
EDX = 40;
$int 0x40
}
 
 
int vert;
struct mouse{
dword x,y,lkm,pkm;
void get();
};
 
void mouse::get()
{
EAX = 37;
EBX = 1;
$int 0x40
$mov ebx, eax
$shr eax, 16
$and ebx,0x0000FFFF
x = EAX;
y = EBX;
EAX = 37;
EBX = 2;
$int 0x40
$mov ebx, eax
$and eax, 0x00000001
$shr ebx, 1
$and ebx, 0x00000001
lkm = EAX;
pkm = EBX;
EAX = 37; //ª®«ñᨪ®
EBX = 7;
$int 0x40
$mov ebx, eax
$shr eax, 16
$and ebx,0x0000FFFF
//hor = EAX;
vert = EBX;
}
 
 
//---------------------------------------------------------------------------
struct f70{
dword func;
dword param1;
dword param2;
dword param3;
dword param4;
char rezerv;
dword name;
};
//---------------------------------------------------------------------------
struct BDVK{
dword attr;
byte type_name;
byte rez1, rez2, rez3;
dword timecreate;
dword datecreate;
dword timelastaccess;
dword datelastaccess;
dword timelastedit;
dword datelastedit;
dword sizelo;
dword sizehi;
char name[518];
};
//---------------------------------------------------------------------------
struct proc_info{
dword use_cpu;
word pos_in_stack,num_slot,rezerv1;
char name[11];
char rezerv2;
dword adress,use_memory,ID,left,top,width,height;
word status_slot,rezerv3;
dword work_left,work_top,work_width,work_height;
char status_window;
void getme();
};
 
void proc_info::getme()
{
EAX = 9;
EBX = #use_cpu;
ECX = -1;
$int 0x40
}
//-------------------------------------------------------------------------------
 
/*
Žâà¨á®¢ª  ®ª­ 
{x_start|y_start}, {x_size|y_size}, color_back, color_title, color_frames
 
DrawWindow(
EBX = [x_start][x_size]
ECX = [y_start][y_size]
EDX, ESI, EDI = [00RRGGBB]
)
*/
 
inline fastcall void DrawWindow(dword EBX, ECX, EDX, ESI, EDI){
#speed
EAX = 0; // function 0 : define and draw window
$int 0x40
#codesize
}
 
inline fastcall void DrawButton(dword EBX, ECX, EDX, ESI){
EAX = 8;
$int 0x40
}
 
inline fastcall dword WaitEvent(){
EAX = 10; // wait here for event
$int 0x40
}
 
inline fastcall void ExitProcess(){
EAX = -1; // close this program
$int 0x40
}
 
/*
02 = GET KEY
 
ret: al 0 successful -> ah = key
al 1 no key in buffer
*/
inline fastcall word GetKey(){
EAX = 2; // just read this key from buffer
$int 0x40
// EAX = EAX >> 8;
}
 
/*
17 = GET PRESSED BUTTON ID
 
ret: al 0 successful -> ah = id number
al 1 no key in buffer
*/
inline fastcall word GetButtonID(){
EAX = 17; // Get ID
$int 0x40
EAX = EAX >> 8;
}
 
/*
04 = WRITE TEXT TO WINDOW
 
ebx [x start]*65536 + [y start]
ecx text color 0x00RRGGBB
edx pointer to text beginning
esi text length
ret: nothing changed
*/
inline fastcall void WriteTextXY(dword EBX, ECX, EDX, ESI){
#speed
EAX = 4;
$int 0x40;
#codesize
}
 
/*
13 = DRAW BAR
 
ebx [x start]*65536 + [x size]
ecx [y start]*65536 + [y size]
edx color 0x00RRGGBB
ret: nothing changed
*/
inline fastcall void kos_DrawBar(dword EBX, ECX, EDX){
#speed
EAX = 13;
$int 0x40
#codesize
}
 
/* function EBX=5 (GetBackgroun) ECX[]->EDX[], length ESI
inline fastcall void GetBackground(dword ECX, EDX, ESI){
#speed
EAX = 39;
EBX = 5;
$int 0x40
#codesize
}*/
 
//CODED by Veliant
/*eax = 38 - íîìåð ôóíêöèè
ebx = [êîîðäèíàòà íà÷àëà ïî îñè x]*65536 + [êîîðäèíàòà êîíöà ïî îñè x]
ecx = [êîîðäèíàòà íà÷àëà ïî îñè y]*65536 + [êîîðäèíàòà êîíöà ïî îñè y]
edx = 0x00RRGGBB - öâåò
edx = 0x01xxxxxx - ðèñîâàòü èíâåðñívé îòðåçîê (ìëàäøèå 24 áèòà èãíîðèðó³òñÿ) */
inline fastcall void DrawLine(dword EBX, ECX, EDX){
EAX = 38;
$int 0x40
}
 
inline fastcall void DrawTitle(dword ECX)
{
EAX = 71;
EBX = 1;
$int 0x40;
}
 
inline fastcall dword GetSkinWidth()
{
EAX = 48;
EBX = 4;
$int 0x40
}
 
inline fastcall void ChangeSkin(){
EAX = 48;
EBX = 8;
ECX = #file_path;
$int 0x40
}
 
inline fastcall dword GetScreenWidth()
{
EAX = 14;
EBX = 4;
$int 0x40
$shr eax, 16
$and eax,0x0000FFFF
}
 
inline fastcall void DeleteButton(dword EDX)
{
EAX = 8;
EDX = EDX + BT_DEL;
$int 0x40;
}
 
inline fastcall dword LoadLibrary(dword ECX)
{
$mov eax, 68
$mov ebx, 19
$int 0x40
}
 
inline fastcall dword strlen(dword EDI)
{
#speed
ECX=0;
EAX=0;
ECX--;
$REPNE $SCASB
EAX=EAX-2-ECX;
#codesize
}
 
//-1 - ­¥ à ¢­ë
// 0 - ­¥ à ¢­ë
inline fastcall dword strcmp(dword ESI,EDI)
{
dword strcmp_i,ret=-1,len1,len2,sovpadenij=0,str1,str2;
str1=ESI;
str2=EDI;
len1=strlen(str1);
len2=strlen(str2);
IF (len1==len2)
{
FOR (strcmp_i=0;strcmp_i<len1;strcmp_i++)
{
EAX = str1+strcmp_i;
EAX = ESBYTE[EAX];
EBX = str2+strcmp_i;
EBX = ESBYTE[EBX];
IF (EAX==EBX) sovpadenij++;
}
IF (sovpadenij==len1) ret=0;
} ELSE ret=-1;
EAX = ret;
}
 
inline fastcall dword upcase(dword ESI)
{
dword str, i;
str = ESI;
for (i=0;i<strlen(str);i++)
{
EAX = str+i;
EDX = ESBYTE[EAX];
IF (EDX>=97) && (EDX<=122) ESBYTE[str+i] = DL - 32; //a-z
IF (EDX>=160) && (EDX<=175) ESBYTE[str+i] = DL - 32; //à-ï
IF (EDX>=224) && (EDX<=239) ESBYTE[str+i] = DL - 80; //ð-ÿ
IF (EDX == 241) ESBYTE[EAX] = 240; //¿
}
EAX = str;
//EAX = ESDWORD[EAX];
//if (EAX != 0x5249443C) $int 3;
}
 
inline fastcall dword lowcase(dword ESI)
{
dword str=ESI, i;
FOR (i=0;i<strlen(str);i++)
{
EAX = str+i;
EDX = ESBYTE[EAX];
IF (EDX>=65) && (EDX<=90) ESBYTE[str+i] = DL + 32; //a-z
IF (EDX>=128) && (EDX<=143) ESBYTE[str+i] = DL + 32; //à-ï
IF (EDX>=144) && (EDX<=159) ESBYTE[str+i] = DL + 80; //ð-ÿ
IF (EDX == 240) ESBYTE[EAX] = 241; //¿
}
EAX = str;
//EAX = ESDWORD[EAX];
//if (EAX != 0x5249443C) $int 3;
}
 
inline fastcall void dostowin (dword ESI)
{
dword stroka,dlina;
stroka = ESI;
while (BL=ESBYTE[ESI])
{
IF (BL>128)
IF (BL>=240) ESBYTE[ESI] = BL - 16;
ELSE ESBYTE[ESI] = BL - 64;
ESI++;
}
}
 
void WindowRedrawStatus(dword i)
{
EAX = 12; // function 12:tell os about windowdraw
EBX = i; // 1, start of draw
$int 0x40
}
 
void DefineAndDrawWindow(dword x,y,sizeX,sizeY,byte mainAreaType,dword mainAreaColour,byte headerType,dword headerColour,borderColour)
{
dword arg1, arg2, arg3, arg4;
//
arg1 = x << 16 + sizeX;
arg2 = y << 16 + sizeY;
arg3 = mainAreaType << 24 | mainAreaColour;
arg4 = headerType << 24 | headerColour;
//
$mov eax, 0
$mov ebx, arg1
$mov ecx, arg2
$mov edx, arg3
$mov esi, arg4
$mov edi, borderColour
$int 0x40
}
 
void DefineButton(dword x,y,w,h,id,color)
{
DrawButton(x<<16+w, skin_width+y<<16+h, id, color);
}
 
void WriteText(dword x,y,byte fontType, dword color, text, len)
{
EBX = x<<16+skin_width+y;
ECX = fontType<<24+color;
EDX = text;
ESI = len;
EAX = 4;
$int 0x40;
}
 
inline fastcall void PutPixel(dword EBX,ECX,EDX) //Coded by Leency :D
{
EAX=1;
$int 0x40
}
 
void DrawBar(dword x,y,w,h,color)
{
kos_DrawBar(x<<16+w,skin_width+y<<16+h,color);
}
 
void DrawRegion(dword x,y,width,height,color1)
{
DrawBar(x,y,width,1,color1); //ïîëîñà ãîð ñâåðõó
DrawBar(x,y+height,width,1,color1); //ïîëîñà ãîð ñíèçó
DrawBar(x,y,1,height,color1); //ïîëîñà âåðò ñëåâà
DrawBar(x+width,y,1,height+1,color1); //ïîëîñà âåðò ñïðàâà
}
 
void DrawFlatButton(dword x,y,width,height,id,color,text)
{
DrawRegion(x,y,width,height,0x94AECE);
DrawBar(x+1,y+1,width-1,1,0xFFFFFF); //ïîëîñà ãîð áåëàÿ
DrawBar(x+1,y+height-1,width-2,1,0xC7C7C7); //òåíü âåðò
DrawBar(x+1,y+1,1,height-1,0xFFFFFF); //ïîëîñà âåðò áåëàÿ
DrawBar(x+width-1,y+2,1,height-2,0xC7C7C7); //òåíü âåðò
DrawBar(x+2,y+2,width-3,height-3,color); //çàëèâêà
IF (id<>0) DefineButton(x,y,width,height,id+BT_HIDE,0xEFEBEF); //îïðåäåëÿåì êíîïêó
WriteText(-strlen(text)*6+width/2+x+1,height/2-3+y,0x80,0,text,strlen(text));
}
 
 
void PutImage(dword buf,w,h,x,y)
{
int i,r,g,b;
EDI=buf;
EAX = 7;
EBX = buf;
ECX = w<<16+h;
EDX = x<<16+y+skin_width;
$int 0x40
}
 
 
void copystr(dword s,d)
{
$mov esi,s
$mov edi,d
$cld
l1:
$lodsb
$stosb
$test al,al
$jnz l1
}
 
 
int pos,razr,backup,j=0,chislo;
char buffer[11]="";
inline fastcall dword IntToStr(dword ESI)
{
chislo=ESI;
ECX=12;
$push edi
$mov edi,#buffer
$xor al,al
$cld
$rep $stosb
pos=razr=backup=j=0;
if (chislo<0)
{
buffer[pos]='-';
chislo=-1*chislo;
pos++;
}
backup=chislo;
do
{
backup=backup/10;
razr++;
}
while (backup!=0);
razr--;
FOR (j=razr+pos;j>pos-1;j--)
{
backup=chislo/10;
backup=backup*10;
buffer[j]=chislo-backup+48;
chislo=chislo/10;
}
//return #buffer;
$pop edi;
EAX = #buffer;
}
 
 
inline fastcall dword MoveSize(dword EBX,ECX,EDX,ESI)
{
EAX = 67;
$int 0x40
}
 
 
f70 CopyFile_f;
BDVK CopyFile_atr;
inline fastcall dword CopyFile(dword EBX,ECX)
{
dword s, d, bufer=0;
s = EBX;
d = ECX;
 
CopyFile_f.func = 5;
CopyFile_f.param1 = 0;
CopyFile_f.param2 = 0;
CopyFile_f.param3 = 0;
CopyFile_f.param4 = #CopyFile_atr;
CopyFile_f.rezerv = 0;
CopyFile_f.name = s;
$mov eax, 70
$mov ebx, #CopyFile_f
$int 0x40
if (EAX == 0)
{
bufer = malloc(CopyFile_atr.sizelo);
CopyFile_f.func = 0;
CopyFile_f.param1 = 0;
CopyFile_f.param2 = 0;
CopyFile_f.param3 = CopyFile_atr.sizelo;
CopyFile_f.param4 = bufer;
CopyFile_f.rezerv = 0;
CopyFile_f.name = s;
$mov eax, 70
$mov ebx, #CopyFile_f
$int 0x40
IF (EAX == 0)
{
CopyFile_f.func = 2;
CopyFile_f.param1 = 0;
CopyFile_f.param2 = 0;
CopyFile_f.param3 = CopyFile_atr.sizelo;
CopyFile_f.param4 = bufer;
CopyFile_f.rezerv = 0;
CopyFile_f.name = d;
$mov eax, 70
$mov ebx, #CopyFile_f
$int 0x40
}
}
 
}
/programs/develop/libraries/box_lib/C--/lib/load_bmp.h--
0,0 → 1,67
//Load BMP by Veliant
 
struct readimage{
dword func, param1, param2, size, buffer;
byte z;
dword name;
};
 
void Put_Image(dword x,y,w,h,name)
{
int i, j, size, off, off2;
byte r, g, b;
readimage image;
dword buf;
size=w*h*3+100;
buf=malloc(size);
image.func = 0;
image.param1 = 0;
image.param2 = 0;
image.size = size;
image.buffer = buf;
image.z = 0;
image.name = #path;
EAX = 70;
EBX = #image;
$int 0x40;
for(i=0;i<h;i++)
for (j=0;j<w/2;j++)
{
off=w*3*i+buf+0x36;
off2=w-j*3+off;
off=j*3+off;
r=ESBYTE[off2-3];
g=ESBYTE[off2-2];
b=ESBYTE[off2-1];
ESBYTE[off2-3]=ESBYTE[off];
ESBYTE[off2-2]=ESBYTE[off+1];
ESBYTE[off2-1]=ESBYTE[off+2];
ESBYTE[off]=r;
ESBYTE[off+1]=g;
ESBYTE[off+2]=b;
}
size=w*h;
for(i=0;i<size/2;i++)
{
off=buf+0x36;
off2=size-i*3+off;
off=i*3+off;
r=ESBYTE[off2-3];
g=ESBYTE[off2-2];
b=ESBYTE[off2-1];
ESBYTE[off2-3]=ESBYTE[off];
ESBYTE[off2-2]=ESBYTE[off+1];
ESBYTE[off2-1]=ESBYTE[off+2];
ESBYTE[off]=r;
ESBYTE[off+1]=g;
ESBYTE[off+2]=b;
}
EAX = 7;
EBX = buf+0x36;
ECX = w<<16+h;
EDX = x<<16+y+skin_width;
$int 0x40
}
/programs/develop/libraries/box_lib/C--/lib/memory.h--
0,0 → 1,36
#code32 TRUE
dword heap;
inline fastcall dword malloc(dword ECX){
dword size;
#speed
size = ECX;
EAX = 68;
EBX = 11;
$int 0x40;
heap = EAX;
IF (size<=heap)
{
EAX = 68;
EBX = 12;
ECX = size;
$int 0x40;
}
ELSE EAX=-1;
#codesize
}
 
inline fastcall dword free(dword ECX){
#speed
EAX = 68;
EBX = 13;
$int 0x40;
#codesize
}
 
inline fastcall dword realloc(dword ECX, EDX){
#speed
EAX = 68;
EBX = 20;
$int 0x40;
#codesize
}
/programs/develop/libraries/box_lib/C--/lib
Property changes:
Added: tsvn:logminsize
+5
\ No newline at end of property
/programs/develop/libraries/box_lib/C--/trunk/EditBox2.c--
0,0 → 1,96
//EditBox in C-- example v0.1
//Veliant 2007 Leency 2008
 
#pragma option A
#codesize
#include "..\lib\kolibri.h--"
#include "use_library.h--"
//////////////////////////////////////////////////////////////////
//Bit mask from editbox
//////////////////////////////////////////////////////////////////
 
//char edit_path[256] = "You can edit me!"; //ᮤ¥à¦¨¬®¥ EditBox'a
char way_of_ini[250] = "/sys/lib/box_lib.obj",NULL; //ᮤ¥à¦¨¬®¥ EditBox'a
 
edit_box edit1= {250,14,35,0xffffff,0x6f9480,0,0xAABBCC,0,248,#way_of_ini,2,20,20};
 
//ed_width equ [edi] ;è¨à¨­  ª®¬¯®­¥­â 
//ed_left equ [edi+4] ;¯®«®¦¥­¨¥ ¯® ®á¨ å
//ed_top equ [edi+8] ;¯®«®¦¥­¨¥ ¯® ®á¨ ã
//ed_color equ [edi+12] ;梥â ä®­  ª®¬¯®­¥­â 
//shift_color equ [edi+16] ;=0x6a9480
//ed_focus_border_color equ [edi+20] ;梥â à ¬ª¨ ª®¬¯®­¥­â 
//ed_blur_border_color equ [edi+24] ;梥⠭¥  ªâ¨¢­®£® ª®¬¯®­¥­â 
//ed_text_color equ [edi+28] ;梥â ⥪áâ 
//ed_max equ [edi+32] ;ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ¬®¦­® ¬ ªá¨¬ «ì­® ¢¢¥áâ¨
//ed_text equ [edi+36] ;㪠§ â¥«ì ­  ¡ãä¥à
//ed_flags equ [edi+40] ;ä« £¨
//ed_size equ [edi+42] ;ª®«-¢® ᨬ¢®«®¢
//ed_pos equ [edi+46] ;¯®§¨æ¨ï ªãàá®à 
//ed_offset equ [edi+50] ;ᬥ饭¨¥
//cl_curs_x equ [edi+54] ;¯à¥¤ë¤ã饥 ª®®à¤¨­ â  ªãàá®à  ¯® å
//cl_curs_y equ [edi+58] ;¯à¥¤ë¤ã饥 ª®®à¤¨­ â  ªãàá®à  ¯® ã
//ed_shift_pos equ [edi+62] ;¯®«®¦¥­¨¥ ªãàá®à 
//ed_shift_pos_old equ [edi+66] ;áâ à®¥ ¯®«®¦¥­¨¥ ªãàá®à 
 
proc_info Form;
 
 
void main()
byte id;
{
load_dll();
draw_window();
loop()
{
switch(WaitEvent())
{
//Button pressed----------------------------------------------------
CASE evButton:
id=GetButtonID();
IF (id==1) || (id==2) ExitProcess();
break;
//Key pressed-------------------------------------------------------
case evKey:
GetKey();
edit_box_key stdcall (#edit1);
break;
case evReDraw: draw_window(); break;
// default: break;
}
 
 
edit_box_mouse stdcall (#edit1);
}
ExitProcess();
}
 
void draw_window()
{
WindowRedrawStatus(1);
skin_width = GetSkinWidth();
DefineAndDrawWindow(400,200,280,200,0x04,0x00E4DFE1,0,0,0); DrawTitle("Extended EditBox in C--");
Form.getme();
//òåêñò
WriteText(30,40,0x80,0," ¨¯à®á⥩訩 ¯à¨¬¥à EditBox'a ­  ‘--",0);
WriteText(30,50,0x80,0,"® ¥£® ¬®¦­® ­¥¬­®£® ãá«®¦­¨âì á 楫ìî",0);
WriteText(30,60,0x80,0,"㬥­ì襭¨ï ¯¥à¥à¨á®¢ª¨.",0);
//êíîïû
DrawFlatButton(100,105,70,22,2,0xD7D7D7,"Close");
//EditBox
// DrawRegion(30,14,201,16,0x94AECE); //®¡®¤®ª ¯®«®áë  ¤à¥á 
 
edit_box_draw stdcall (#edit1);
// typedef void (*edit_box_draw)(dword edit_b); // ®¡ê¥­¨¥ 㪠§ â¥«ï ­  äã­ªæ¨î
// edit_box_draw(edit_b); // ¢ë§®¢ ä㭪樨
 
WindowRedrawStatus(2);
}
 
 
stop:
/programs/develop/libraries/box_lib/C--/trunk/EditBox2.lst
0,0 → 1,952
SPHINX/SHEKER C-- One Pass Disassembler. Version 0.239c b26 Apr 27 2007
 
..\lib\kolibri.h-- 4: char os_name[8] = {'M','E','N','U','E','T','0','1'};
00000000 4D454E5545543031 db 4Dh,45h,4Eh,55h,45h,54h,30h,31h
 
..\lib\kolibri.h-- 5: dword os_version = 0x00000001;
00000008 01000000 dd 1
 
..\lib\kolibri.h-- 6: dword start_addr = #main;
0000000C 88050000 dd 588h
 
..\lib\kolibri.h-- 7: dword final_addr = #stop+32;
00000010 5D070000 dd 75Dh
 
..\lib\kolibri.h-- 8: dword alloc_mem = #stop+0x100;
00000014 3D080000 dd 83Dh
 
..\lib\kolibri.h-- 9: dword x86esp_reg = #stop+0x100;
00000018 3D080000 dd 83Dh
 
..\lib\kolibri.h-- 10: dword I_Param = 0x0;
0000001C 00000000 dd 0
 
..\lib\kolibri.h-- 11: dword I_Icon = 0x0;
00000020 00000000 dd 0
 
..\lib\kolibri.h-- 39: void system_colors::get()
00000024 55 push ebp
00000025 89E5 mov ebp,esp
 
..\lib\kolibri.h-- 41: EAX = 48;
00000027 6A30 push 30h
00000029 58 pop eax
 
..\lib\kolibri.h-- 42: EBX = 3;
0000002A 6A03 push 3
0000002C 5B pop ebx
 
..\lib\kolibri.h-- 43: ECX = #frame;
0000002D 8B4D08 mov ecx,[ebp+8]
 
..\lib\kolibri.h-- 44: EDX = 40;
00000030 6A28 push 28h
00000032 5A pop edx
 
..\lib\kolibri.h-- 45: $int 0x40
00000033 CD40 int 40h
00000035 5D pop ebp
00000036 C20400 ret 4
 
..\lib\kolibri.h-- 55: void mouse::get()
00000039 55 push ebp
0000003A 89E5 mov ebp,esp
 
..\lib\kolibri.h-- 57: EAX = 37;
0000003C 6A25 push 25h
0000003E 58 pop eax
 
..\lib\kolibri.h-- 58: EBX = 1;
0000003F 31DB xor ebx,ebx
00000041 43 inc ebx
 
..\lib\kolibri.h-- 59: $int 0x40
00000042 CD40 int 40h
 
..\lib\kolibri.h-- 60: $mov ebx, eax
00000044 89C3 mov ebx,eax
 
..\lib\kolibri.h-- 61: $shr eax, 16
00000046 C1E810 shr eax,10h
 
..\lib\kolibri.h-- 62: $and ebx,0x0000FFFF
00000049 81E3FFFF0000 and ebx,0FFFFh
 
..\lib\kolibri.h-- 63: x = EAX;
0000004F 8B7508 mov esi,[ebp+8]
00000052 8906 mov [esi],eax
 
..\lib\kolibri.h-- 64: y = EBX;
00000054 895E04 mov [esi+4],ebx
 
..\lib\kolibri.h-- 65: EAX = 37;
00000057 6A25 push 25h
00000059 58 pop eax
 
..\lib\kolibri.h-- 66: EBX = 2;
0000005A 6A02 push 2
0000005C 5B pop ebx
 
..\lib\kolibri.h-- 67: $int 0x40
0000005D CD40 int 40h
 
..\lib\kolibri.h-- 68: $mov ebx, eax
0000005F 89C3 mov ebx,eax
 
..\lib\kolibri.h-- 69: $and eax, 0x00000001
00000061 83E001 and eax,1
 
..\lib\kolibri.h-- 70: $shr ebx, 1
00000064 D1EB shr ebx,1
 
..\lib\kolibri.h-- 71: $and ebx, 0x00000001
00000066 83E301 and ebx,1
 
..\lib\kolibri.h-- 72: lkm = EAX;
00000069 8B7508 mov esi,[ebp+8]
0000006C 894608 mov [esi+8],eax
 
..\lib\kolibri.h-- 73: pkm = EBX;
0000006F 895E0C mov [esi+0Ch],ebx
 
..\lib\kolibri.h-- 74: EAX = 37; //ª®«ñᨪ®
00000072 6A25 push 25h
00000074 58 pop eax
 
..\lib\kolibri.h-- 75: EBX = 7;
00000075 6A07 push 7
00000077 5B pop ebx
 
..\lib\kolibri.h-- 76: $int 0x40
00000078 CD40 int 40h
 
..\lib\kolibri.h-- 77: $mov ebx, eax
0000007A 89C3 mov ebx,eax
 
..\lib\kolibri.h-- 78: $shr eax, 16
0000007C C1E810 shr eax,10h
 
..\lib\kolibri.h-- 79: $and ebx,0x0000FFFF
0000007F 81E3FFFF0000 and ebx,0FFFFh
 
..\lib\kolibri.h-- 81: vert = EBX;
00000085 891D88070000 mov [788h],ebx
0000008B 5D pop ebp
0000008C C20400 ret 4
 
..\lib\kolibri.h-- 123: void proc_info::getme()
0000008F 55 push ebp
00000090 89E5 mov ebp,esp
 
..\lib\kolibri.h-- 125: EAX = 9;
00000092 6A09 push 9
00000094 58 pop eax
 
..\lib\kolibri.h-- 126: EBX = #use_cpu;
00000095 8B5D08 mov ebx,[ebp+8]
 
..\lib\kolibri.h-- 127: ECX = -1;
00000098 83C9FF or ecx,0FFFFFFFFh
 
..\lib\kolibri.h-- 128: $int 0x40
0000009B CD40 int 40h
0000009D 5D pop ebp
0000009E C20400 ret 4
 
..\lib\kolibri.h-- 367: void WindowRedrawStatus(dword i)
000000A1 55 push ebp
000000A2 89E5 mov ebp,esp
 
..\lib\kolibri.h-- 369: EAX = 12; // function 12:tell os about windowdraw
000000A4 6A0C push 0Ch
000000A6 58 pop eax
 
..\lib\kolibri.h-- 370: EBX = i; // 1, start of draw
000000A7 8B5D08 mov ebx,[ebp+8]
 
..\lib\kolibri.h-- 371: $int 0x40
000000AA CD40 int 40h
000000AC 5D pop ebp
000000AD C20400 ret 4
 
..\lib\kolibri.h-- 374: void DefineAndDrawWindow(dword x,y,sizeX,sizeY,byte mainAreaType,dword mainAreaColour,byte headerType,dword headerColour,border
000000B0 C8100000 enter 10h,0
 
..\lib\kolibri.h-- 378: arg1 = x << 16 + sizeX;
000000B4 8B4528 mov eax,[ebp+28h]
000000B7 C1E010 shl eax,10h
000000BA 034520 add eax,[ebp+20h]
000000BD 8945FC mov [ebp-4],eax
 
..\lib\kolibri.h-- 379: arg2 = y << 16 + sizeY;
000000C0 8B4524 mov eax,[ebp+24h]
000000C3 C1E010 shl eax,10h
000000C6 03451C add eax,[ebp+1Ch]
000000C9 8945F8 mov [ebp-8],eax
 
..\lib\kolibri.h-- 380: arg3 = mainAreaType << 24 | mainAreaColour;
000000CC 0FB64518 movzx eax,[ebp+18h]
000000D0 C1E018 shl eax,18h
000000D3 0B4514 or eax,[ebp+14h]
000000D6 8945F4 mov [ebp-0Ch],eax
 
..\lib\kolibri.h-- 381: arg4 = headerType << 24 | headerColour;
000000D9 0FB64510 movzx eax,[ebp+10h]
000000DD C1E018 shl eax,18h
000000E0 0B450C or eax,[ebp+0Ch]
000000E3 8945F0 mov [ebp-10h],eax
 
..\lib\kolibri.h-- 383: $mov eax, 0
000000E6 B800000000 mov eax,0
 
..\lib\kolibri.h-- 384: $mov ebx, arg1
000000EB 8B5DFC mov ebx,[ebp-4]
 
..\lib\kolibri.h-- 385: $mov ecx, arg2
000000EE 8B4DF8 mov ecx,[ebp-8]
 
..\lib\kolibri.h-- 386: $mov edx, arg3
000000F1 8B55F4 mov edx,[ebp-0Ch]
 
..\lib\kolibri.h-- 387: $mov esi, arg4
000000F4 8B75F0 mov esi,[ebp-10h]
 
..\lib\kolibri.h-- 388: $mov edi, borderColour
000000F7 8B7D08 mov edi,[ebp+8]
 
..\lib\kolibri.h-- 389: $int 0x40
000000FA CD40 int 40h
000000FC C9 leave
000000FD C22400 ret 24h
 
..\lib\kolibri.h-- 392: void DefineButton(dword x,y,w,h,id,color)
00000100 55 push ebp
00000101 89E5 mov ebp,esp
 
..\lib\kolibri.h-- 394: DrawButton(x<<16+w, skin_width+y<<16+h, id, color);
00000103 8B5D1C mov ebx,[ebp+1Ch]
00000106 C1E310 shl ebx,10h
00000109 035D14 add ebx,[ebp+14h]
0000010C 8B0D84070000 mov ecx,[784h]
00000112 034D18 add ecx,[ebp+18h]
00000115 C1E110 shl ecx,10h
00000118 034D10 add ecx,[ebp+10h]
0000011B 8B550C mov edx,[ebp+0Ch]
0000011E 8B7508 mov esi,[ebp+8]
00000121 E84E060000 call 774h
00000126 5D pop ebp
00000127 C21800 ret 18h
 
..\lib\kolibri.h-- 397: void WriteText(dword x,y,byte fontType, dword color, text, len)
0000012A 55 push ebp
0000012B 89E5 mov ebp,esp
 
..\lib\kolibri.h-- 399: EBX = x<<16+skin_width+y;
0000012D 8B5D1C mov ebx,[ebp+1Ch]
00000130 C1E310 shl ebx,10h
00000133 031D84070000 add ebx,[784h]
00000139 035D18 add ebx,[ebp+18h]
 
..\lib\kolibri.h-- 400: ECX = fontType<<24+color;
0000013C 0FB64D14 movzx ecx,[ebp+14h]
00000140 C1E118 shl ecx,18h
00000143 034D10 add ecx,[ebp+10h]
 
..\lib\kolibri.h-- 401: EDX = text;
00000146 8B550C mov edx,[ebp+0Ch]
 
..\lib\kolibri.h-- 402: ESI = len;
00000149 8B7508 mov esi,[ebp+8]
 
..\lib\kolibri.h-- 403: EAX = 4;
0000014C 6A04 push 4
0000014E 58 pop eax
 
..\lib\kolibri.h-- 404: $int 0x40;
0000014F CD40 int 40h
00000151 5D pop ebp
00000152 C21800 ret 18h
 
..\lib\kolibri.h-- 413: void DrawBar(dword x,y,w,h,color)
00000155 55 push ebp
00000156 89E5 mov ebp,esp
 
..\lib\kolibri.h-- 415: kos_DrawBar(x<<16+w,skin_width+y<<16+h,color);
00000158 8B5D18 mov ebx,[ebp+18h]
0000015B C1E310 shl ebx,10h
0000015E 035D10 add ebx,[ebp+10h]
00000161 8B0D84070000 mov ecx,[784h]
00000167 034D14 add ecx,[ebp+14h]
0000016A C1E110 shl ecx,10h
0000016D 034D0C add ecx,[ebp+0Ch]
00000170 8B5508 mov edx,[ebp+8]
00000173 E8D2050000 call 74Ah
00000178 5D pop ebp
00000179 C21400 ret 14h
 
..\lib\kolibri.h-- 418: void DrawRegion(dword x,y,width,height,color1)
0000017C 55 push ebp
0000017D 89E5 mov ebp,esp
 
..\lib\kolibri.h-- 420: DrawBar(x,y,width,1,color1); //ïîëîñà ãîð ñâåðõó
0000017F FF7518 push dword ptr [ebp+18h]
00000182 FF7514 push dword ptr [ebp+14h]
00000185 FF7510 push dword ptr [ebp+10h]
00000188 6A01 push 1
0000018A FF7508 push dword ptr [ebp+8]
0000018D E8C3FFFFFF call 155h
 
..\lib\kolibri.h-- 421: DrawBar(x,y+height,width,1,color1); //ïîëîñà ãîð ñíèçó
00000192 FF7518 push dword ptr [ebp+18h]
00000195 8B4514 mov eax,[ebp+14h]
00000198 03450C add eax,[ebp+0Ch]
0000019B 50 push eax
0000019C FF7510 push dword ptr [ebp+10h]
0000019F 6A01 push 1
000001A1 FF7508 push dword ptr [ebp+8]
000001A4 E8ACFFFFFF call 155h
 
..\lib\kolibri.h-- 422: DrawBar(x,y,1,height,color1); //ïîëîñà âåðò ñëåâà
000001A9 FF7518 push dword ptr [ebp+18h]
000001AC FF7514 push dword ptr [ebp+14h]
000001AF 6A01 push 1
000001B1 FF750C push dword ptr [ebp+0Ch]
000001B4 FF7508 push dword ptr [ebp+8]
000001B7 E899FFFFFF call 155h
 
..\lib\kolibri.h-- 423: DrawBar(x+width,y,1,height+1,color1); //ïîëîñà âåðò ñïðàâà
000001BC 8B4518 mov eax,[ebp+18h]
000001BF 034510 add eax,[ebp+10h]
000001C2 50 push eax
000001C3 FF7514 push dword ptr [ebp+14h]
000001C6 6A01 push 1
000001C8 8B450C mov eax,[ebp+0Ch]
000001CB 40 inc eax
000001CC 50 push eax
000001CD FF7508 push dword ptr [ebp+8]
000001D0 E880FFFFFF call 155h
000001D5 5D pop ebp
000001D6 C21400 ret 14h
 
..\lib\kolibri.h-- 426: void DrawFlatButton(dword x,y,width,height,id,color,text)
000001D9 55 push ebp
000001DA 89E5 mov ebp,esp
 
..\lib\kolibri.h-- 428: DrawRegion(x,y,width,height,0x94AECE);
000001DC FF7520 push dword ptr [ebp+20h]
000001DF FF751C push dword ptr [ebp+1Ch]
000001E2 FF7518 push dword ptr [ebp+18h]
000001E5 FF7514 push dword ptr [ebp+14h]
000001E8 68CEAE9400 push 94AECEh
000001ED E88AFFFFFF call 17Ch
 
..\lib\kolibri.h-- 429: DrawBar(x+1,y+1,width-1,1,0xFFFFFF); //ïîëîñà ãîð áåëàÿ
000001F2 8B4520 mov eax,[ebp+20h]
000001F5 40 inc eax
000001F6 50 push eax
000001F7 8B451C mov eax,[ebp+1Ch]
000001FA 40 inc eax
000001FB 50 push eax
000001FC 8B4518 mov eax,[ebp+18h]
000001FF 48 dec eax
00000200 50 push eax
00000201 6A01 push 1
00000203 68FFFFFF00 push 0FFFFFFh
00000208 E848FFFFFF call 155h
 
..\lib\kolibri.h-- 430: DrawBar(x+1,y+height-1,width-2,1,0xC7C7C7); //òåíü âåðò
0000020D 8B4520 mov eax,[ebp+20h]
00000210 40 inc eax
00000211 50 push eax
00000212 8B451C mov eax,[ebp+1Ch]
00000215 034514 add eax,[ebp+14h]
00000218 48 dec eax
00000219 50 push eax
0000021A 8B4518 mov eax,[ebp+18h]
0000021D 48 dec eax
0000021E 48 dec eax
0000021F 50 push eax
00000220 6A01 push 1
00000222 68C7C7C700 push 0C7C7C7h
00000227 E829FFFFFF call 155h
 
..\lib\kolibri.h-- 431: DrawBar(x+1,y+1,1,height-1,0xFFFFFF); //ïîëîñà âåðò áåëàÿ
0000022C 8B4520 mov eax,[ebp+20h]
0000022F 40 inc eax
00000230 50 push eax
00000231 8B451C mov eax,[ebp+1Ch]
00000234 40 inc eax
00000235 50 push eax
00000236 6A01 push 1
00000238 8B4514 mov eax,[ebp+14h]
0000023B 48 dec eax
0000023C 50 push eax
0000023D 68FFFFFF00 push 0FFFFFFh
00000242 E80EFFFFFF call 155h
 
..\lib\kolibri.h-- 432: DrawBar(x+width-1,y+2,1,height-2,0xC7C7C7); //òåíü âåðò
00000247 8B4520 mov eax,[ebp+20h]
0000024A 034518 add eax,[ebp+18h]
0000024D 48 dec eax
0000024E 50 push eax
0000024F 8B451C mov eax,[ebp+1Ch]
00000252 40 inc eax
00000253 40 inc eax
00000254 50 push eax
00000255 6A01 push 1
00000257 8B4514 mov eax,[ebp+14h]
0000025A 48 dec eax
0000025B 48 dec eax
0000025C 50 push eax
0000025D 68C7C7C700 push 0C7C7C7h
00000262 E8EEFEFFFF call 155h
 
..\lib\kolibri.h-- 433: DrawBar(x+2,y+2,width-3,height-3,color); //çàëèâêà
00000267 8B4520 mov eax,[ebp+20h]
0000026A 40 inc eax
0000026B 40 inc eax
0000026C 50 push eax
0000026D 8B451C mov eax,[ebp+1Ch]
00000270 40 inc eax
00000271 40 inc eax
00000272 50 push eax
00000273 8B4518 mov eax,[ebp+18h]
00000276 83E803 sub eax,3
00000279 50 push eax
0000027A 8B4514 mov eax,[ebp+14h]
0000027D 83E803 sub eax,3
00000280 50 push eax
00000281 FF750C push dword ptr [ebp+0Ch]
00000284 E8CCFEFFFF call 155h
 
..\lib\kolibri.h-- 434: IF (id<>0) DefineButton(x,y,width,height,id+BT_HIDE,0xEFEBEF); //îïðåäåëÿåì êíîïêó
00000289 837D1000 cmp dword ptr [ebp+10h],0
0000028D 741F je 2AEh
0000028F FF7520 push dword ptr [ebp+20h]
00000292 FF751C push dword ptr [ebp+1Ch]
00000295 FF7518 push dword ptr [ebp+18h]
00000298 FF7514 push dword ptr [ebp+14h]
0000029B 8B4510 mov eax,[ebp+10h]
0000029E 0500000040 add eax,40000000h
000002A3 50 push eax
000002A4 68EFEBEF00 push 0EFEBEFh
000002A9 E852FEFFFF call 100h
 
..\lib\kolibri.h-- 435: WriteText(-strlen(text)*6+width/2+x+1,height/2-3+y,0x80,0,text,strlen(text));
000002AE 8B7D08 mov edi,[ebp+8]
000002B1 E887040000 call 73Dh
000002B6 F7D8 neg eax
000002B8 B906000000 mov ecx,6
000002BD F7E1 mul ecx
000002BF 034518 add eax,[ebp+18h]
000002C2 83D200 adc edx,0
000002C5 0FACD001 shrd eax,edx,1
000002C9 034520 add eax,[ebp+20h]
000002CC 40 inc eax
000002CD 50 push eax
000002CE 8B4514 mov eax,[ebp+14h]
000002D1 D1E8 shr eax,1
000002D3 83E803 sub eax,3
000002D6 03451C add eax,[ebp+1Ch]
000002D9 50 push eax
000002DA 6880000000 push 80h
000002DF 6A00 push 0
000002E1 FF7508 push dword ptr [ebp+8]
000002E4 8B7D08 mov edi,[ebp+8]
000002E7 E851040000 call 73Dh
000002EC 50 push eax
000002ED E838FEFFFF call 12Ah
000002F2 5D pop ebp
000002F3 C21C00 ret 1Ch
 
..\lib\kolibri.h-- 439: void PutImage(dword buf,w,h,x,y)
000002F6 C8100000 enter 10h,0
 
..\lib\kolibri.h-- 442: EDI=buf;
000002FA 8B7D18 mov edi,[ebp+18h]
 
..\lib\kolibri.h-- 443: EAX = 7;
000002FD 6A07 push 7
000002FF 58 pop eax
 
..\lib\kolibri.h-- 444: EBX = buf;
00000300 89FB mov ebx,edi
 
..\lib\kolibri.h-- 445: ECX = w<<16+h;
00000302 8B4D14 mov ecx,[ebp+14h]
00000305 C1E110 shl ecx,10h
00000308 034D10 add ecx,[ebp+10h]
 
..\lib\kolibri.h-- 446: EDX = x<<16+y+skin_width;
0000030B 8B550C mov edx,[ebp+0Ch]
0000030E C1E210 shl edx,10h
00000311 035508 add edx,[ebp+8]
00000314 031584070000 add edx,[784h]
 
..\lib\kolibri.h-- 447: $int 0x40
0000031A CD40 int 40h
0000031C C9 leave
0000031D C21400 ret 14h
 
..\lib\kolibri.h-- 451: void copystr(dword s,d)
00000320 55 push ebp
00000321 89E5 mov ebp,esp
 
..\lib\kolibri.h-- 453: $mov esi,s
00000323 8B750C mov esi,[ebp+0Ch]
 
..\lib\kolibri.h-- 454: $mov edi,d
00000326 8B7D08 mov edi,[ebp+8]
 
..\lib\kolibri.h-- 455: $cld
00000329 FC cld
 
..\lib\kolibri.h-- 457: $lodsb
0000032A AC lodsb
 
..\lib\kolibri.h-- 458: $stosb
0000032B AA stosb
 
..\lib\kolibri.h-- 459: $test al,al
0000032C 84C0 test al,al
 
..\lib\kolibri.h-- 460: $jnz l1
0000032E 75FA jne 32Ah
00000330 5D pop ebp
00000331 C20800 ret 8
 
..\lib\kolibri.h-- 464: int pos,razr,backup,j=0,chislo;
00000334 00000000 dd 0
 
..\lib\kolibri.h-- 465: char buffer[11]="";
00000338 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
 
use_library.h-- 2: dword edit_box_draw = #aEdit_box_draw;
00000344 5C030000 dd 35Ch
 
use_library.h-- 3: dword edit_box_key = #aEdit_box_key;
00000348 66030000 dd 366h
 
use_library.h-- 4: dword edit_box_mouse = #aEdit_box_mouse;
0000034C 74030000 dd 374h
 
use_library.h-- 5: dword version_ed = #aVersion_ed;
00000350 84030000 dd 384h
 
use_library.h-- 28: dword am__ = 0x0;
00000354 00000000 dd 0
 
use_library.h-- 29: dword bm__ = 0x0;
00000358 00000000 dd 0
 
use_library.h-- 31: char aEdit_box_draw[9] = "edit_box\0";
0000035C 656469745F626F780000 db 'edit_box',0,0
 
use_library.h-- 32: char aEdit_box_key[13] = "edit_box_key\0";
00000366 656469745F626F785F6B6579 db 'edit_box_key'
00000372 0000 db 0,0
 
use_library.h-- 33: char aEdit_box_mouse[15] = "edit_box_mouse\0";
00000374 656469745F626F785F6D6F75 db 'edit_box_mou'
00000380 73650000 db 'se',0,0
 
use_library.h-- 34: char aVersion_ed[11] = "version_ed\0";
00000384 76657273696F6E5F65640000 db 'version_ed',0,0
 
use_library.h-- 36: char aCheck_box_draw [15] = "check_box_draw\0";
00000390 636865636B5F626F785F6472 db 'check_box_dr'
0000039C 61770000 db 'aw',0,0
 
use_library.h-- 37: char aCheck_box_mouse [16] = "check_box_mouse\0";
000003A0 636865636B5F626F785F6D6F db 'check_box_mo'
000003AC 7573650000 db 'use',0,0
 
use_library.h-- 38: char aVersion_ch [11] = "version_ch\0";
000003B1 76657273696F6E5F63680000 db 'version_ch',0,0
 
use_library.h-- 40: char aOption_box_draw [16] = "option_box_draw\0";
000003BD 6F7074696F6E5F626F785F64 db 'option_box_d'
000003C9 7261770000 db 'raw',0,0
 
use_library.h-- 41: char aOption_box_mouse[17] = "option_box_mouse\0";
000003CE 6F7074696F6E5F626F785F6D db 'option_box_m'
000003DA 6F7573650000 db 'ouse',0,0
 
use_library.h-- 42: char aVersion_op [11] = "version_op\0" ;
000003E0 76657273696F6E5F6F700000 db 'version_op',0,0
 
use_library.h-- 65: $mov eax,40
000003EC B828000000 mov eax,28h
 
use_library.h-- 66: $mov ebx,0x27
000003F1 BB27000000 mov ebx,27h
 
use_library.h-- 67: $int 0x40
000003F6 CD40 int 40h
 
use_library.h-- 69: $mov eax, 68
000003F8 B844000000 mov eax,44h
 
use_library.h-- 70: $mov ebx, 19
000003FD BB13000000 mov ebx,13h
 
use_library.h-- 71: ECX=#way_of_ini;
00000402 B946040000 mov ecx,446h
 
use_library.h-- 72: $int 0x40
00000407 CD40 int 40h
 
use_library.h-- 73: $test eax, eax
00000409 85C0 test eax,eax
 
use_library.h-- 74: $jz exit
0000040B 7435 je 442h
 
use_library.h-- 77: $mov edx,eax
0000040D 89C2 mov edx,eax
 
use_library.h-- 78: ESI=#edit_box_draw;
0000040F BE44030000 mov esi,344h
 
use_library.h-- 80: $lodsd
00000414 AD lodsd
 
use_library.h-- 81: $test eax,eax
00000415 85C0 test eax,eax
 
use_library.h-- 82: $jz import_done
00000417 7426 je 43Fh
 
use_library.h-- 83: $push edx
00000419 52 push edx
 
use_library.h-- 85: $mov ebx,DSDWORD[EDX]
0000041A 8B1A mov ebx,[edx]
 
use_library.h-- 86: $test ebx, ebx
0000041C 85DB test ebx,ebx
 
use_library.h-- 87: $jz exit
0000041E 7422 je 442h
 
use_library.h-- 88: $push eax
00000420 50 push eax
 
use_library.h-- 90: $mov cl,DSBYTE[EAX];
00000421 8A08 mov cl,[eax]
 
use_library.h-- 91: $cmp cl,DSBYTE[EBX];
00000423 3A0B cmp cl,[ebx]
 
use_library.h-- 92: $jnz import_find_next
00000425 7508 jne 42Fh
 
use_library.h-- 93: $test cl,cl
00000427 84C9 test cl,cl
 
use_library.h-- 94: $jz import_found
00000429 740A je 435h
 
use_library.h-- 95: $inc eax
0000042B 40 inc eax
 
use_library.h-- 96: $inc ebx
0000042C 43 inc ebx
 
use_library.h-- 97: $jmp nex1
0000042D EBF2 jmp short 421h
 
use_library.h-- 99: $pop eax
0000042F 58 pop eax
 
use_library.h-- 100: $add edx, 8
00000430 83C208 add edx,8
 
use_library.h-- 101: $jmp import_find
00000433 EBE5 jmp short 41Ah
 
use_library.h-- 103: $pop eax
00000435 58 pop eax
 
use_library.h-- 104: $mov eax,DSDWORD[edx+4]
00000436 8B4204 mov eax,[edx+4]
 
use_library.h-- 105: $mov DSDWORD[esi-4],eax
00000439 8946FC mov [esi-4],eax
 
use_library.h-- 106: $pop edx
0000043C 5A pop edx
 
use_library.h-- 107: $jmp import_loop
0000043D EBD5 jmp short 414h
 
use_library.h-- 109: return 0;
0000043F 31C0 xor eax,eax
00000441 C3 ret
 
use_library.h-- 111: return -1;
00000442 83C8FF or eax,0FFFFFFFFh
00000445 C3 ret
 
EditBox2.c-- 13: char way_of_ini[250] = "/sys/lib/box_lib.obj",NULL; //ᮤ¥à¦¨¬®¥ EditBox'a
00000446 2F7379732F6C69622F626F78 db '/sys/lib/box'
00000452 5F6C69622E6F626A00000000 db '_lib.obj',0,0,0,0
0000045E 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
0000046A 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
00000476 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
00000482 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
0000048E 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
0000049A 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
000004A6 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
000004B2 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
000004BE 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
000004CA 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
000004D6 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
000004E2 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
000004EE 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
000004FA 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
00000506 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
00000512 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
0000051E 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
0000052A 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
00000536 00000000000000000000 db 0,0,0,0,0,0,0,0,0,0
 
EditBox2.c-- 15: edit_box edit1= {250,14,35,0xffffff,0x6f9480,0,0xAABBCC,0,248,#way_of_ini,2,20,20};
00000540 FA0000000E00000023000000 dd 0FAh,0Eh,23h
0000054C FFFFFF0080946F0000000000 dd 0FFFFFFh,6F9480h,0
00000558 CCBBAA0000000000F8000000 dd 0AABBCCh,0,0F8h
00000564 460400000200000014000000 dd 446h,2,14h
00000570 140000000000000000000000 dd 14h,0,0
0000057C 000000000000000000000000 dd 0,0,0
 
EditBox2.c-- 39: void main()
00000588 C8040000 enter 4,0
 
EditBox2.c-- 42: load_dll();
0000058C E85BFEFFFF call 3ECh
 
EditBox2.c-- 44: draw_window();
00000591 E868000000 call 5FEh
 
EditBox2.c-- 47: switch(WaitEvent())
00000596 E8B5010000 call 750h
0000059B 83F801 cmp eax,1
0000059E 0F8441000000 jz 5E5h
000005A4 83F802 cmp eax,2
000005A7 0F8423000000 jz 5D0h
000005AD 83F803 cmp eax,3
000005B0 0F8534000000 jnz 5EAh
 
EditBox2.c-- 51: id=GetButtonID();
000005B6 E8B0010000 call 76Bh
000005BB 8845FC mov [ebp-4],al
 
EditBox2.c-- 52: IF (id==1) || (id==2) ExitProcess();
000005BE 3C01 cmp al,1
000005C0 7404 je 5C6h
000005C2 3C02 cmp al,2
000005C4 7505 jne 5CBh
000005C6 E88B010000 call 756h
 
EditBox2.c-- 53: break;
000005CB E91A000000 jmp 5EAh
 
EditBox2.c-- 56: GetKey();
000005D0 E887010000 call 75Ch
 
EditBox2.c-- 57: edit_box_key stdcall (#edit1);
000005D5 6840050000 push 540h
000005DA FF1548030000 call dword ptr [348h]
 
EditBox2.c-- 58: break;
000005E0 E905000000 jmp 5EAh
 
EditBox2.c-- 60: case evReDraw: draw_window(); break;
000005E5 E814000000 call 5FEh
 
EditBox2.c-- 65: edit_box_mouse stdcall (#edit1);
000005EA 6840050000 push 540h
000005EF FF154C030000 call dword ptr [34Ch]
000005F5 EB9F jmp short 596h
 
EditBox2.c-- 69: ExitProcess();
000005F7 E85A010000 call 756h
000005FC C9 leave
000005FD C3 ret
 
EditBox2.c-- 74: WindowRedrawStatus(1);
000005FE 6A01 push 1
00000600 E89CFAFFFF call 0A1h
 
EditBox2.c-- 75: skin_width = GetSkinWidth();
00000605 E858010000 call 762h
0000060A A384070000 mov [784h],eax
 
EditBox2.c-- 76: DefineAndDrawWindow(400,200,280,200,0x04,0x00E4DFE1,0,0,0); DrawTitle("Extended EditBox in C--");
0000060F 6890010000 push 190h
00000614 68C8000000 push 0C8h
00000619 6818010000 push 118h
0000061E 68C8000000 push 0C8h
00000623 6A04 push 4
00000625 68E1DFE400 push 0E4DFE1h
0000062A 6A00 push 0
0000062C 6A00 push 0
0000062E 6A00 push 0
00000630 E87BFAFFFF call 0B0h
00000635 B9BA060000 mov ecx,6BAh
0000063A E83B010000 call 77Ah
 
EditBox2.c-- 77: Form.getme();
0000063F 68E6090000 push 9E6h
00000644 E846FAFFFF call 8Fh
 
EditBox2.c-- 79: WriteText(30,40,0x80,0," ¨¯à®á⥩訩 ¯à¨¬¥à EditBox'a ­  ‘--",0);
00000649 6A1E push 1Eh
0000064B 6A28 push 28h
0000064D 6880000000 push 80h
00000652 6A00 push 0
00000654 68D2060000 push 6D2h
00000659 6A00 push 0
0000065B E8CAFAFFFF call 12Ah
 
EditBox2.c-- 80: WriteText(30,50,0x80,0,"® ¥£® ¬®¦­® ­¥¬­®£® ãá«®¦­¨âì á 楫ìî",0);
00000660 6A1E push 1Eh
00000662 6A32 push 32h
00000664 6880000000 push 80h
00000669 6A00 push 0
0000066B 68F8060000 push 6F8h
00000670 6A00 push 0
00000672 E8B3FAFFFF call 12Ah
 
EditBox2.c-- 81: WriteText(30,60,0x80,0,"㬥­ì襭¨ï ¯¥à¥à¨á®¢ª¨.",0);
00000677 6A1E push 1Eh
00000679 6A3C push 3Ch
0000067B 6880000000 push 80h
00000680 6A00 push 0
00000682 681F070000 push 71Fh
00000687 6A00 push 0
00000689 E89CFAFFFF call 12Ah
 
EditBox2.c-- 83: DrawFlatButton(100,105,70,22,2,0xD7D7D7,"Close");
0000068E 6A64 push 64h
00000690 6A69 push 69h
00000692 6A46 push 46h
00000694 6A16 push 16h
00000696 6A02 push 2
00000698 68D7D7D700 push 0D7D7D7h
0000069D 6837070000 push 737h
000006A2 E832FBFFFF call 1D9h
 
EditBox2.c-- 88: edit_box_draw stdcall (#edit1);
000006A7 6840050000 push 540h
000006AC FF1544030000 call dword ptr [344h]
 
EditBox2.c-- 92: WindowRedrawStatus(2);
000006B2 6A02 push 2
000006B4 E8E8F9FFFF call 0A1h
000006B9 C3 ret
 
000006BA 457874656E64656420456469 db 'Extended Edi'
000006C6 74426F7820696E20432D2D00 db 'tBox in C--',0
000006D2 8DA0A8AFE0AEE1E2A5A9E8A8 db ' ¨¯à®á⥩è¨'
000006DE A920AFE0A8ACA5E020456469 db '© ¯à¨¬¥à Edi'
000006EA 74426F78276120ADA020912D db 'tBox'a ­  ‘-'
000006F6 2D008DAE20A5A3AE20ACAEA6 db '-',0,'® ¥£® ¬®¦'
00000702 ADAE20ADA5ACADAEA3AE20E3 db '­® ­¥¬­®£® ã'
0000070E E1ABAEA6ADA8E2EC20E120E6 db 'á«®¦­¨âì á æ'
0000071A A5ABECEE00E3ACA5ADECE8A5 db '¥«ìî',0,'㬥­ìè¥'
00000726 ADA8EF20AFA5E0A5E0A8E1AE db '­¨ï ¯¥à¥à¨á®'
00000732 A2AAA82E00436C6F736500 db '¢ª¨.',0,'Close',0
 
..\lib\kolibri.h-- 287: ECX=0;
0000073D 31C9 xor ecx,ecx
 
..\lib\kolibri.h-- 288: EAX=0;
0000073F 89C8 mov eax,ecx
 
..\lib\kolibri.h-- 289: ECX--;
00000741 49 dec ecx
 
..\lib\kolibri.h-- 290: $REPNE $SCASB
00000742 F2AE repne scasb
 
..\lib\kolibri.h-- 291: EAX=EAX-2-ECX;
00000744 83E802 sub eax,2
00000747 29C8 sub eax,ecx
00000749 C3 ret
 
..\lib\kolibri.h-- 215: EAX = 13;
0000074A 6A0D push 0Dh
0000074C 58 pop eax
 
..\lib\kolibri.h-- 216: $int 0x40
0000074D CD40 int 40h
 
..\lib\kolibri.h-- 217: #codesize
0000074F C3 ret
 
..\lib\kolibri.h-- 156: EAX = 10; // wait here for event
00000750 6A0A push 0Ah
00000752 58 pop eax
 
..\lib\kolibri.h-- 157: $int 0x40
00000753 CD40 int 40h
00000755 C3 ret
 
..\lib\kolibri.h-- 161: EAX = -1; // close this program
00000756 83C8FF or eax,0FFFFFFFFh
 
..\lib\kolibri.h-- 162: $int 0x40
00000759 CD40 int 40h
0000075B C3 ret
 
..\lib\kolibri.h-- 172: EAX = 2; // just read this key from buffer
0000075C 6A02 push 2
0000075E 58 pop eax
 
..\lib\kolibri.h-- 173: $int 0x40
0000075F CD40 int 40h
00000761 C3 ret
 
..\lib\kolibri.h-- 249: EAX = 48;
00000762 6A30 push 30h
00000764 58 pop eax
 
..\lib\kolibri.h-- 250: EBX = 4;
00000765 6A04 push 4
00000767 5B pop ebx
 
..\lib\kolibri.h-- 251: $int 0x40
00000768 CD40 int 40h
0000076A C3 ret
 
..\lib\kolibri.h-- 184: EAX = 17; // Get ID
0000076B 6A11 push 11h
0000076D 58 pop eax
 
..\lib\kolibri.h-- 185: $int 0x40
0000076E CD40 int 40h
 
..\lib\kolibri.h-- 186: EAX = EAX >> 8;
00000770 C1E808 shr eax,8
00000773 C3 ret
 
..\lib\kolibri.h-- 151: EAX = 8;
00000774 6A08 push 8
00000776 58 pop eax
 
..\lib\kolibri.h-- 152: $int 0x40
00000777 CD40 int 40h
00000779 C3 ret
 
..\lib\kolibri.h-- 242: EAX = 71;
0000077A 6A47 push 47h
0000077C 58 pop eax
 
..\lib\kolibri.h-- 243: EBX = 1;
0000077D 31DB xor ebx,ebx
0000077F 43 inc ebx
 
..\lib\kolibri.h-- 244: $int 0x40;
00000780 CD40 int 40h
00000782 C3 ret
/programs/develop/libraries/box_lib/C--/trunk/compile.bat
0,0 → 1,5
C-- EditBox2.c--
del EditBox2.kex
rename EditBox2 EditBox2.kex
rename EditBox2.com EditBox2.kex
pause
/programs/develop/libraries/box_lib/C--/trunk/use_library.h--
0,0 → 1,112
//BOX_LIB
dword edit_box_draw = #aEdit_box_draw;
dword edit_box_key = #aEdit_box_key;
dword edit_box_mouse = #aEdit_box_mouse;
dword version_ed = #aVersion_ed;
 
//dword
//dword
//dword
 
//dword
//dword
//dword
 
//$edit_box_draw dword aEdit_box_draw
//$edit_box_key dword aEdit_box_key
//$edit_box_mouse dword aEdit_box_mouse
//$version_ed dword aVersion_ed
 
//$check_box_draw dword aCheck_box_draw
//$check_box_mouse dword aCheck_box_mouse
//$version_ch dword aVersion_ch
 
//$option_box_draw dword aOption_box_draw
//$option_box_mouse dword aOption_box_mouse
//$version_op dword aVersion_op
 
dword am__ = 0x0;
dword bm__ = 0x0;
 
char aEdit_box_draw[9] = "edit_box\0";
char aEdit_box_key[13] = "edit_box_key\0";
char aEdit_box_mouse[15] = "edit_box_mouse\0";
char aVersion_ed[11] = "version_ed\0";
 
char aCheck_box_draw [15] = "check_box_draw\0";
char aCheck_box_mouse [16] = "check_box_mouse\0";
char aVersion_ch [11] = "version_ch\0";
 
char aOption_box_draw [16] = "option_box_draw\0";
char aOption_box_mouse[17] = "option_box_mouse\0";
char aVersion_op [11] = "version_op\0" ;
 
 
struct edit_box{
dword width, left, top, color, shift_color, focus_border_color, blur_border_color,
text_color, max, text, flags, size, pos, offset, cl_curs_x, cl_curs_y, shift, shift_old;
};
 
//void Edit_box_draw(dword edit_b)
//{
 
// $ PUSH dword edit_b
// $ CALL dword [edit_box_draw]
//}
 
//struct load_dll{
// dword way_of_ini, myimport;
// void get();
//};
 
int load_dll(EAX)
{
//set mask
$mov eax,40
$mov ebx,0x27
$int 0x40
// load DLL
$mov eax, 68
$mov ebx, 19
ECX=#way_of_ini;
$int 0x40
$test eax, eax
$jz exit
 
// initialize import
$mov edx,eax
ESI=#edit_box_draw;
import_loop:
$lodsd
$test eax,eax
$jz import_done
$push edx
import_find:
$mov ebx,DSDWORD[EDX]
$test ebx, ebx
$jz exit
$push eax
nex1:
$mov cl,DSBYTE[EAX];
$cmp cl,DSBYTE[EBX];
$jnz import_find_next
$test cl,cl
$jz import_found
$inc eax
$inc ebx
$jmp nex1
import_find_next:
$pop eax
$add edx, 8
$jmp import_find
import_found:
$pop eax
$mov eax,DSDWORD[edx+4]
$mov DSDWORD[esi-4],eax
$pop edx
$jmp import_loop
import_done:
return 0;
exit:
return -1;
}
/programs/develop/libraries/box_lib/C--/trunk/warning.txt
0,0 → 1,50
..\lib\kolibri.h--(43)> Warning! ECX has been used by compiler.
..\lib\kolibri.h--(63)> Warning! ESI has been used by compiler.
..\lib\kolibri.h--(64)> Warning! Register ESI already initialized.
..\lib\kolibri.h--(72)> Warning! ESI has been used by compiler.
..\lib\kolibri.h--(73)> Warning! Register ESI already initialized.
..\lib\kolibri.h--(126)> Warning! EBX has been used by compiler.
..\lib\kolibri.h--(435)> Warning! Expansion variable.
..\lib\kolibri.h--(435)> Warning! ECX has been used by compiler.
..\lib\kolibri.h--(444)> Warning! Register EBX same as EDI.
..\lib\kolibri.h--(439)> Warning! Local variable 'i' possible not used.
..\lib\kolibri.h--(439)> Warning! Local variable 'r' possible not used.
..\lib\kolibri.h--(439)> Warning! Local variable 'g' possible not used.
..\lib\kolibri.h--(439)> Warning! Local variable 'b' possible not used.
EditBox2.c--(42)> Warning! Missing parameter in function .
EditBox2.c--(52)> Warning! Register AL already initialized.
EditBox2.c--(52)> Warning! Register AL already initialized.
EditBox2.c--(55)> Warning! Short operator 'CASE' may be used.
EditBox2.c--(60)> Warning! Short operator 'CASE' may be used.
EditBox2.c--(47)> Warning! Short operator 'SWITCH' may be used.
EditBox2.c--(53)> Warning! Short operator 'BREAK' may be used.
EditBox2.c--(58)> Warning! Short operator 'BREAK' may be used.
..\lib\kolibri.h--(288)> Warning! Register EAX same as ECX.
..\lib\kolibri.h--(4)> Warning! Variable 'os_name' possible not used.
..\lib\kolibri.h--(5)> Warning! Variable 'os_version' possible not used.
..\lib\kolibri.h--(6)> Warning! Variable 'start_addr' possible not used.
..\lib\kolibri.h--(9)> Warning! Variable 'x86esp_reg' possible not used.
use_library.h--(5)> Warning! Variable 'version_ed' possible not used.
..\lib\kolibri.h--(464)> Warning! Variable 'pos' possible not used.
..\lib\kolibri.h--(464)> Warning! Variable 'razr' possible not used.
..\lib\kolibri.h--(7)> Warning! Variable 'final_addr' possible not used.
..\lib\kolibri.h--(464)> Warning! Variable 'j' possible not used.
..\lib\kolibri.h--(8)> Warning! Variable 'alloc_mem' possible not used.
..\lib\kolibri.h--(451)> Warning! Function 'copystr' possible not used.
..\lib\kolibri.h--(464)> Warning! Variable 'backup' possible not used.
..\lib\kolibri.h--(464)> Warning! Variable 'chislo' possible not used.
..\lib\kolibri.h--(465)> Warning! Variable 'buffer' possible not used.
use_library.h--(29)> Warning! Variable 'bm__' possible not used.
use_library.h--(28)> Warning! Variable 'am__' possible not used.
use_library.h--(42)> Warning! Variable 'aVersion_op' possible not used.
use_library.h--(38)> Warning! Variable 'aVersion_ch' possible not used.
use_library.h--(40)> Warning! Variable 'aOption_box_draw' possible not used.
use_library.h--(41)> Warning! Variable 'aOption_box_mouse' possible not used.
use_library.h--(36)> Warning! Variable 'aCheck_box_draw' possible not used.
use_library.h--(37)> Warning! Variable 'aCheck_box_mouse' possible not used.
..\lib\kolibri.h--(10)> Warning! Variable 'I_Param' possible not used.
..\lib\kolibri.h--(439)> Warning! Function 'PutImage' possible not used.
EditBox2.c--(13)> Warning! Variable 'NULL' possible not used.
..\lib\kolibri.h--(11)> Warning! Variable 'I_Icon' possible not used.
..\lib\kolibri.h--(510)> Warning! Structure 'CopyFile_f' possible not used.
..\lib\kolibri.h--(511)> Warning! Structure 'CopyFile_atr' possible not used.
/programs/develop/libraries/box_lib/C--/trunk
Property changes:
Added: tsvn:logminsize
+5
\ No newline at end of property
/programs/develop/libraries/box_lib/C--/.
Property changes:
Added: tsvn:logminsize
+5
\ No newline at end of property