Subversion Repositories Kolibri OS

Rev

Rev 2054 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2054 Rev 2134
1
//CODED by Veliant, Leency. GNU GPL licence.
1
//CODED by Veliant, Leency. GNU GPL licence.
2
 
2
 
3
#startaddress 0
3
#startaddress 0
4
#code32 TRUE
4
#code32 TRUE
5
 
5
 
6
byte   os_name[8]   = {'M','E','N','U','E','T','0','1'};
6
byte   os_name[8]   = {'M','E','N','U','E','T','0','1'};
7
dword  os_version   = 0x00000001;
7
dword  os_version   = 0x00000001;
8
dword  start_addr   = #main;
8
dword  start_addr   = #main;
9
dword  final_addr   = #stop+32;
9
dword  final_addr   = #stop+32;
10
dword  alloc_mem    = 0x00100000;
10
dword  alloc_mem    = 0x00100000;
11
dword  x86esp_reg   = 0x00100000;   // 0x0007fff0; 
11
dword  x86esp_reg   = 0x00100000;   // 0x0007fff0; 
12
dword  I_Param      = #param;
12
dword  I_Param      = #param;
13
dword  I_Path       = #program_path;
13
dword  I_Path       = #program_path;
14
char param[4096]="";
14
char param[4096]="";
15
char program_path[4096]="";
15
char program_path[4096]="";
16
 
16
 
17
 
17
 
18
//Events
18
//Events
19
#define evMouse		6
19
#define evMouse		6
20
#define evButton	3
20
#define evButton	3
21
#define evKey		2
21
#define evKey		2
22
#define evReDraw	1
22
#define evReDraw	1
23
 
23
 
24
//Button options
24
//Button options
25
#define BT_DEL		0x80000000
25
#define BT_DEL		0x80000000
26
#define BT_HIDE		0x40000000
26
#define BT_HIDE		0x40000000
27
#define BT_NOFRAME	0x20000000
27
#define BT_NOFRAME	0x20000000
28
 
28
 
29
#define OLD			-1
29
#define OLD			-1
30
#define true		1
30
#define true		1
31
#define false		0
31
#define false		0
32
 
32
 
33
 
33
 
34
 
34
 
35
struct mouse{
35
struct mouse{
36
 int x,y,lkm,pkm,hor,vert;
36
	unsigned int x,y,lkm,pkm,hor,vert;
37
 void get();
37
	void get();
38
};
38
};
-
 
39
 
-
 
40
int TestBit(EAX, CL)
-
 
41
{
-
 
42
	$shr eax,cl
-
 
43
	$and eax,1
-
 
44
}
39
 
45
 
40
void mouse::get()
46
void mouse::get()
41
{
47
{
42
	EAX = 37;
48
	EAX = 37;
43
	EBX = 1;
49
	EBX = 1;
44
	$int	0x40
50
	$int	0x40
45
	$mov	ebx, eax
51
	$mov	ebx, eax
46
	$shr	eax, 16
52
	$shr	eax, 16
47
	$and	ebx,0x0000FFFF
53
	$and	ebx,0x0000FFFF
48
	x = EAX;
54
	x = EAX;
49
	y = EBX;
55
	y = EBX;
-
 
56
	
50
	EAX = 37;
57
	EAX = 37;
51
	EBX = 2;
58
	EBX = 2;
52
	$int	0x40
59
	$int	0x40
53
	$mov	ebx, eax
60
	$mov	ebx, eax
54
	$and	eax, 0x00000001
61
	$and	eax, 0x00000001
55
	$shr	ebx, 1
62
	$shr	ebx, 1
56
	$and	ebx, 0x00000001
63
	$and	ebx, 0x00000001
57
	lkm = EAX;
64
	lkm = EAX;
58
	pkm = EBX;
65
	pkm = EBX;
-
 
66
	
59
	EAX = 37; //áªà®««
67
	EAX = 37; //scroll
60
	EBX = 7;
68
	EBX = 7;
61
	$int	0x40
69
	$int	0x40
62
	$mov	ebx, eax
70
	$mov	ebx, eax
63
	$shr	eax, 16
71
	$shr	eax, 16
64
	$and	ebx,0x0000FFFF
72
	$and	ebx,0x0000FFFF
65
	//hor = EAX;
73
	//hor = EAX;
66
	vert = EBX;
74
	vert = EBX;
67
}
75
}
68
 
76
 
69
//---------------------------------------------------------------------------
77
//---------------------------------------------------------------------------
70
struct proc_info{
78
struct proc_info{
71
	dword	use_cpu;
79
	dword	use_cpu;
72
	word	pos_in_stack,num_slot,rezerv1;
80
	word	pos_in_stack,num_slot,rezerv1;
73
	char	name[11];
81
	char	name[11];
74
	char	rezerv2;
82
	char	rezerv2;
75
	dword	adress,use_memory,ID,left,top,width,height;
83
	dword	adress,use_memory,ID,left,top,width,height;
76
	word	status_slot,rezerv3;
84
	word	status_slot,rezerv3;
77
	dword	work_left,work_top,work_width,work_height;
85
	dword	work_left,work_top,work_width,work_height;
78
	char	status_window;
86
	char	status_window;
79
	void	GetInfo(dword ECX);
87
	void	GetInfo(dword ECX);
80
	byte    reserved[1024-71];
88
	byte    reserved[1024-71];
81
#define SelfInfo -1
89
#define SelfInfo -1
82
};
90
};
83
 
91
 
84
void proc_info::GetInfo(dword ECX)
92
void proc_info::GetInfo(dword EBX, ECX)
85
{
93
{
86
	EAX = 9;
-
 
87
	EBX = #use_cpu;
94
	EAX = 9;
88
	$int  0x40
95
	$int  0x40
-
 
96
}
-
 
97
 
-
 
98
int GetSlot(dword ECX)
-
 
99
{
-
 
100
	EAX = 18;
-
 
101
	EBX = 21;
-
 
102
	$int 0x40
-
 
103
}
-
 
104
 
-
 
105
int ActiveProcess()
-
 
106
{
-
 
107
	EAX = 18;
-
 
108
	EBX = 7;
-
 
109
	$int 0x40
-
 
110
}
89
}
111
 
90
//-------------------------------------------------------------------------------
112
//-------------------------------------------------------------------------------
91
 
113
 
92
inline fastcall dword WaitEvent(){
114
inline fastcall dword WaitEvent(){
93
 EAX = 10;              // wait here for event
115
	EAX = 10;              // wait here for event
94
 $int 0x40
116
	$int 0x40
95
}
117
}
96
 
118
 
97
inline fastcall void SetEventMask(dword EBX)
119
inline fastcall void SetEventMask(dword EBX)
98
{
120
{
99
 EAX = 40;
121
	EAX = 40;
100
 $int 0x40
122
	$int 0x40
101
}
123
}
102
 
124
 
-
 
125
inline fastcall word GetKey(){ //Gluk fix
-
 
126
		$push edx
103
inline fastcall word GetKey(){
127
@getkey:
104
 EAX = 2;              // just read this key from buffer
128
		$mov  eax,2
-
 
129
		$int  0x40
-
 
130
		$cmp eax,1
-
 
131
		$jne getkeyi
-
 
132
		$mov ah,dh
-
 
133
		$jmp getkeyii //jz?
-
 
134
@getkeyi:
-
 
135
		$mov dh,ah
-
 
136
		$jmp getkey
-
 
137
@getkeyii:
105
 $int  0x40
138
		$pop edx
106
 EAX = EAX >> 8;
139
		EAX = EAX >> 8;		 
107
}
140
}
108
 
141
 
109
inline fastcall word GetButtonID(){
142
inline fastcall word GetButtonID(){
110
 EAX = 17;            // Get ID
143
	EAX = 17;            // Get ID
111
 $int  0x40
144
	$int  0x40
112
 EAX = EAX >> 8;
145
	EAX = EAX >> 8;
113
}
146
}
114
 
147
 
115
inline fastcall void ExitProcess(){
148
inline fastcall void ExitProcess(){
116
 EAX = -1;            // close this program
149
	EAX = -1;            // close this program
117
 $int 0x40
150
	$int 0x40
118
}
151
}
119
 
152
 
120
inline fastcall void Pause(dword EBX){				
153
inline fastcall void Pause(dword EBX){				
121
	$mov eax, 5       // ã§ , ¢ á®âëå ¤®«ïå ᥪ㭤ë
154
	$mov eax, 5       // ã§ , ¢ á®âëå ¤®«ïå ᥪ㭤ë
122
	$int 0x40
155
	$int 0x40
123
}
156
}
124
 
157
 
125
//------------------------------------------------------------------------------
158
//------------------------------------------------------------------------------
126
void DefineAndDrawWindow(dword x,y,sizeX,sizeY,byte mainAreaType,dword
159
void DefineAndDrawWindow(dword x,y,sizeX,sizeY,byte mainAreaType,dword
127
	mainAreaColor,byte headerType,dword headerColor,EDI)
160
	mainAreaColor,byte headerType,dword headerColor,EDI)
128
{
161
{
129
	EBX = x << 16 + sizeX;
162
	EBX = x << 16 + sizeX;
130
	ECX = y << 16 + sizeY;
163
	ECX = y << 16 + sizeY;
131
	EDX = mainAreaType << 24 | mainAreaColor;
164
	EDX = mainAreaType << 24 | mainAreaColor;
132
	ESI = headerType << 24 | headerColor;
165
	ESI = headerType << 24 | headerColor;
133
	$xor eax,eax
166
	$xor eax,eax
134
	$int 0x40
167
	$int 0x40
135
}
168
}
136
 
169
 
137
inline fastcall void CreateThread(dword ECX,EDX)
170
inline fastcall void CreateThread(dword ECX,EDX)
138
{
171
{
139
	EAX = 51;
172
	EAX = 51;
140
	EBX = 1;
173
	EBX = 1;
141
	$int 0x40
174
	$int 0x40
142
}
175
}
143
 
176
 
144
inline fastcall void DrawTitle(dword ECX){
177
inline fastcall void DrawTitle(dword ECX){
145
	EAX = 71;
178
	EAX = 71;
146
	EBX = 1;
179
	EBX = 1;
147
	$int 0x40;
180
	$int 0x40;
148
}
181
}
149
 
182
 
150
 
183
 
151
inline fastcall void WindowRedrawStatus(dword EBX){
184
inline fastcall void WindowRedrawStatus(dword EBX){
152
	EAX = 12;              //tell os about windowdraw
185
	EAX = 12;
153
	$int 0x40
186
	$int 0x40
154
}
187
}
155
 
188
 
156
inline fastcall dword GetSkinWidth(){
189
inline fastcall dword GetSkinWidth(){
157
	EAX = 48;
190
	EAX = 48;
158
	EBX = 4;
191
	EBX = 4;
159
	$int 0x40
192
	$int 0x40
160
}
193
}
161
 
194
 
162
inline fastcall void MoveSize(dword EBX,ECX,EDX,ESI){
195
inline fastcall void MoveSize(dword EBX,ECX,EDX,ESI){
163
	EAX = 67;
196
	EAX = 67;
164
	$int 0x40
197
	$int 0x40
165
}
198
}
166
 
199
 
167
//------------------------------------------------------------------------------
200
//------------------------------------------------------------------------------
168
 
201
 
169
inline fastcall dword strlen(EDI){
202
inline fastcall dword strlen(EDI){
170
	asm {
203
	asm {
171
	  xor ecx, ecx
204
	  xor ecx, ecx
172
	  xor eax, eax
205
	  xor eax, eax
173
	  dec ecx
206
	  dec ecx
174
	  repne scasb
207
	  repne scasb
175
	  sub eax, 2
208
	  sub eax, 2
176
	  sub eax, ecx
209
	  sub eax, ecx
177
	}
210
	}
178
}
211
}
179
 
212
 
180
 
213
 
181
inline fastcall copystr(dword ESI,EDI)
214
inline fastcall copystr(dword ESI,EDI)
182
{
215
{
183
	$cld
216
	$cld
184
l1:
217
l1:
185
	$lodsb
218
	$lodsb
186
	$stosb
219
	$stosb
187
	$test al,al
220
	$test al,al
188
	$jnz l1
221
	$jnz l1
189
}
222
}
190
 
-
 
191
byte fastcall TestBit(EAX, CL)
-
 
192
{
-
 
193
	$shr eax,cl
-
 
194
	$and eax,1
-
 
195
}
-
 
196
 
-
 
197
 
223
 
198
char buffer[11]="";
224
char buffer[11]="";
199
inline fastcall dword IntToStr(dword ESI)
225
inline fastcall dword IntToStr(dword ESI)
200
{
226
{
201
     $mov     edi, #buffer
227
     $mov     edi, #buffer
202
     $mov     ecx, 10
228
     $mov     ecx, 10
203
     $test     esi, esi
229
     $test     esi, esi
204
     $jns     f1
230
     $jns     f1
205
     $mov     al, '-'
231
     $mov     al, '-'
206
     $stosb
232
     $stosb
207
     $neg     esi
233
     $neg     esi
208
f1:
234
f1:
209
     $mov     eax, esi
235
     $mov     eax, esi
210
     $push     -'0'
236
     $push     -'0'
211
f2:
237
f2:
212
     $xor     edx, edx
238
     $xor     edx, edx
213
     $div     ecx
239
     $div     ecx
214
     $push     edx
240
     $push     edx
215
     $test     eax, eax
241
     $test     eax, eax
216
     $jnz     f2
242
     $jnz     f2
217
f3:
243
f3:
218
     $pop     eax
244
     $pop     eax
219
     $add     al, '0'
245
     $add     al, '0'
220
     $stosb
246
     $stosb
221
     $jnz     f3
247
     $jnz     f3
222
     $mov     eax, #buffer
248
     $mov     eax, #buffer
223
     $ret
249
     $ret
224
}
250
}
225
 
-
 
226
 
-
 
227
dword StrToCol(char* htmlcolor)
-
 
228
{
-
 
229
  dword j=1, color=0; char ch=0x00;
-
 
230
  IF (ESBYTE[htmlcolor]<>'#') RETURN;
-
 
231
  FOR (;j<7;j++)
-
 
232
  {
-
 
233
    ch=ESBYTE[htmlcolor+j];
-
 
234
    IF ((ch>='0') && (ch<='9')) ch -= '0';
-
 
235
    IF ((ch>='A') && (ch<='F')) ch -= 'A'-10;
-
 
236
    IF ((ch>='a') && (ch<='f')) ch -= 'a'-10;
-
 
237
    color = color*0x10 + ch;
-
 
238
  }
-
 
239
  EAX=color;
-
 
240
}
-
 
241
 
-
 
242
 
251
 
243
inline fastcall int strcmp(ESI, EDI)
252
inline fastcall int strcmp(ESI, EDI)
244
{
253
{
245
	loop()
254
	loop()
246
	{
255
	{
247
		IF (DSBYTE[ESI]
256
		IF (DSBYTE[ESI]
248
		IF (DSBYTE[ESI]>DSBYTE[EDI]) RETURN 1;
257
		IF (DSBYTE[ESI]>DSBYTE[EDI]) RETURN 1;
249
		IF (DSBYTE[ESI]=='\0') RETURN 0;
258
		IF (DSBYTE[ESI]=='\0') RETURN 0;
250
		ESI++;
259
		ESI++;
251
		EDI++;
260
		EDI++;
252
	}
261
	}
253
}
262
}
254
 
263
 
255
 
264
 
256
inline fastcall unsigned int find_symbol(ESI,BL)
265
inline fastcall unsigned int find_symbol(ESI,BL)
257
{
266
{
258
	int jj=0, last=-1;
267
	int jj=0, last=-1;
259
	do{
268
	do{
260
		jj++;
269
		jj++;
261
		$lodsb
270
		$lodsb
262
		IF(AL==BL) last=jj;
271
		IF(AL==BL) last=jj;
263
	} while(AL!=0);
272
	} while(AL!=0);
264
	return last;
273
	return last;
265
}
274
}
266
 
275
 
267
 
276
 
268
inline fastcall ChangeCase(dword EDX)
277
inline fastcall ChangeCase(dword EDX)
269
{
278
{
270
	AL=DSBYTE[EDX];
279
	AL=DSBYTE[EDX];
271
	IF(AL>='a')&&(AL<='z')DSBYTE[EDX]=AL&0x5f;
280
	IF(AL>='a')&&(AL<='z')DSBYTE[EDX]=AL&0x5f;
272
	IF (AL>=160) && (AL<=175) DSBYTE[EDX] = AL - 32;	//à-ï
281
	IF (AL>=160) && (AL<=175) DSBYTE[EDX] = AL - 32;	//à-ï
273
	IF (AL>=224) && (AL<=239) DSBYTE[EDX] = AL - 80;	//à-ï
282
	IF (AL>=224) && (AL<=239) DSBYTE[EDX] = AL - 80;	//à-ï
274
	do{
283
	do{
275
		EDX++;
284
		EDX++;
276
		AL=DSBYTE[EDX];
285
		AL=DSBYTE[EDX];
277
		IF(AL>='A')&&(AL<='Z'){DSBYTE[EDX]=AL|0x20; CONTINUE;}
286
		IF(AL>='A')&&(AL<='Z'){DSBYTE[EDX]=AL|0x20; CONTINUE;}
278
		IF(AL>='€')&&(AL<='')DSBYTE[EDX]=AL|0x20; // -¯
287
		IF(AL>='€')&&(AL<='')DSBYTE[EDX]=AL|0x20; // -¯
279
		IF (AL>=144) && (AL<=159) DSBYTE[EDX] = AL + 80;	//à-ï
288
		IF (AL>=144) && (AL<=159) DSBYTE[EDX] = AL + 80;	//à-ï
280
	}while(AL!=0);
289
	}while(AL!=0);
281
}
290
}
282
 
291
 
283
 
292
 
284
//------------------------------------------------------------------------------
293
//------------------------------------------------------------------------------
285
inline fastcall void PutPixel(dword EBX,ECX,EDX){
294
inline fastcall void PutPixel(dword EBX,ECX,EDX){
286
  EAX=1;
295
  EAX=1;
287
  $int 0x40
296
  $int 0x40
288
}
297
}
289
 
298
 
290
void DefineButton(dword x,y,w,h,EDX,ESI){
299
void DefineButton(dword x,y,w,h,EDX,ESI){
291
	EAX = 8;
300
	EAX = 8;
292
	EBX = x<<16+w;
301
	EBX = x<<16+w;
293
	ECX = y<<16+h;
302
	ECX = y<<16+h;
294
	$int 0x40
303
	$int 0x40
295
}
304
}
296
 
305
 
297
inline fastcall void DeleteButton(dword EDX)
306
inline fastcall void DeleteButton(dword EDX)
298
{
307
{
299
	EAX = 8;
308
	EAX = 8;
300
	EDX += BT_DEL;
309
	EDX += BT_DEL;
301
	$int 0x40;
310
	$int 0x40;
302
}
311
}
303
 
312
 
304
void WriteText(dword x,y,byte fontType, dword color, EDX, ESI)
313
void WriteText(dword x,y,byte fontType, dword color, EDX, ESI)
305
{
314
{
306
	EAX = 4;
315
	EAX = 4;
307
	EBX = x<<16+y;
316
	EBX = x<<16+y;
308
	ECX = fontType<<24+color;
317
	ECX = fontType<<24+color;
309
	$int 0x40;
318
	$int 0x40;
310
}
319
}
311
 
320
 
312
void DrawBar(dword x,y,w,h,EDX)
321
void DrawBar(dword x,y,w,h,EDX)
313
{
322
{
314
	#speed
323
	#speed
315
	EAX = 13;
324
	EAX = 13;
316
	EBX = x<<16+w;
325
	EBX = x<<16+w;
317
	ECX = y<<16+h;
326
	ECX = y<<16+h;
318
 	$int 0x40
327
 	$int 0x40
319
	#codesize
328
	#codesize
320
}
329
}
321
 
330
 
322
void DrawRegion_3D(dword x,y,width,height,color1,color2)
331
void DrawRegion_3D(dword x,y,width,height,color1,color2)
323
{
332
{
324
	DrawBar(x,y,width+1,1,color1); //¯®«®á  £®à ᢥàåã
333
	DrawBar(x,y,width+1,1,color1); //¯®«®á  £®à ᢥàåã
325
	DrawBar(x,y+1,1,height-1,color1); //¯®«®á  á«¥¢ 
334
	DrawBar(x,y+1,1,height-1,color1); //¯®«®á  á«¥¢ 
326
	DrawBar(x+width,y+1,1,height,color2); //¯®«®á  á¯à ¢ 
335
	DrawBar(x+width,y+1,1,height,color2); //¯®«®á  á¯à ¢ 
327
	DrawBar(x,y+height,width,1,color2); //¯®«®á  £®à á­¨§ã
336
	DrawBar(x,y+height,width,1,color2); //¯®«®á  £®à á­¨§ã
328
}
337
}
329
 
338
 
330
void DrawFlatButton(dword x,y,width,height,id,color,text)
339
void DrawFlatButton(dword x,y,width,height,id,color,text)
331
{
340
{
332
	DrawRegion_3D(x,y,width,height,0x94AECE,0x94AECE);
341
	DrawRegion_3D(x,y,width,height,0x94AECE,0x94AECE);
333
	DrawRegion_3D(x+1,y+1,width-2,height-2,0xFFFFFF,0xC7C7C7);
342
	DrawRegion_3D(x+1,y+1,width-2,height-2,0xFFFFFF,0xC7C7C7);
334
	DrawBar(x+2,y+2,width-3,height-3,color); //§ «¨¢ª 
343
	DrawBar(x+2,y+2,width-3,height-3,color); //§ «¨¢ª 
335
	IF (id<>0)	DefineButton(x,y,width,height,id+BT_HIDE,0xEFEBEF); //ª­®¯ª 
344
	IF (id<>0)	DefineButton(x+1,y+1,width-2,height-2,id+BT_HIDE,0xEFEBEF); //ª­®¯ª 
336
	WriteText(-strlen(text)*6+width/2+x+1,height/2-3+y,0x80,0,text,0);
345
	WriteText(-strlen(text)*6+width/2+x+1,height/2-3+y,0x80,0,text,0);
337
}
346
}
338
 
347
 
339
void PutImage(dword EBX,w,h,x,y)
348
void PutPaletteImage(dword EBX,w,h,x,y, EDI)
340
{
349
{
341
	EAX = 7;
350
	EAX = 65;
342
	ECX = w<<16+h;
351
	ECX = w<<16+h;
-
 
352
	EDX = x<<16+y;
-
 
353
	ESI = 8;
343
	EDX = x<<16+y;
354
	EBP = 0;
344
	$int 0x40
355
	$int 0x40
345
}
356
} 
346
 
357
 
347
void PutPaletteImage(dword EBX,w,h,x,y, EDI)
358
void PutImage(dword EBX,w,h,x,y)
348
{
359
{
349
	EAX = 65;
360
	EAX = 7;
350
	ECX = w<<16+h;
361
	ECX = w<<16+h;
351
	EDX = x<<16+y;
-
 
352
	ESI = 8;
-
 
353
	EBP = 0;
362
	EDX = x<<16+y;
354
	$int 0x40
363
	$int 0x40
355
}  
364
}
356
 
365
 
357
//------------------------------------------------------------------------------
366
//------------------------------------------------------------------------------
358
void WriteDebug(dword EDX)
367
/*void WriteDebug(dword EDX)
359
{
368
{
360
	$mov eax, 63
369
	$mov eax, 63
361
	$mov ebx, 1
370
	$mov ebx, 1
362
next_char:
371
next_char:
363
	$mov ecx, DSDWORD[edx]
372
	$mov ecx, DSDWORD[edx]
364
	$or	 cl, cl
373
	$or	 cl, cl
365
	$jz  done
374
	$jz  done
366
	$int 0x40
375
	$int 0x40
367
	$inc edx
376
	$inc edx
368
	$jmp next_char
377
	$jmp next_char
369
done:
378
done:
370
	$mov cl, 13
379
	$mov cl, 13
371
	$int 0x40
380
	$int 0x40
372
	$mov cl, 10
381
	$mov cl, 10
373
	$int 0x40
382
	$int 0x40
374
}
383
}
-
 
384
 
-
 
385
inline fastcall void WriteFullDebug(dword ESI)
-
 
386
{
-
 
387
	WriteDebug("");
-
 
388
	WriteDebug(ESI);
-
 
389
	
-
 
390
	WriteDebug("Number of files:");
-
 
391
	WriteDebug(IntToStr(count)); 
-
 
392
	
-
 
393
	WriteDebug("but_num:");
-
 
394
	WriteDebug(IntToStr(but_num));
-
 
395
	
-
 
396
	WriteDebug("curbtn");
-
 
397
	WriteDebug(IntToStr(curbtn));
-
 
398
	
-
 
399
	WriteDebug("ra_kadrom:");
-
 
400
	WriteDebug(IntToStr(za_kadrom));
-
 
401
	
-
 
402
	Pause(200);
-
 
403
}*/
375
>
404
>
376
>
405
>
377
>
406
>
378
>
407
>
379
>
408
>
380
>
409
>
381
>
410
>
382
>
411
>
383
>
412
>
384
>
413
>
385
>
414
>
386
>
415
>
387
>
416
>
388
>
417
>
389
>
418
>
390
>
419
>
391
>
420
>
392
>
421
>
393
>
422
>
394
>
423
>
395
>
424
>
396
>
-