italian version

git-svn-id: svn://kolibrios.org@3587 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
fedesco 2013-06-02 05:26:24 +00:00
parent dc294e19a5
commit 8aeeb1b9b0
33 changed files with 618 additions and 239 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 816 B

After

Width:  |  Height:  |  Size: 713 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 974 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 800 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 720 B

View File

@ -1 +1 @@
lang fix ru lang fix en

View File

@ -0,0 +1,17 @@
# Macro
FASM=/opt/bin/fasm
KPACK=/opt/bin/kpack
LANG=lang.inc
FILE=bnc
SOURCE=${FILE}.asm
OUT=${FILE}.bin
en:
echo "lang fix en" > ${LANG}
${FASM} ${SOURCE} ${OUT}
ru:
echo "lang fix ru" > ${LANG}
${FASM} ${SOURCE} ${OUT}
clean:
rm -f ${LANG} ${OUT}

View File

@ -1,6 +1,6 @@
//Leency 10.10.2011, JustClicks v2.0, GPL //Leency 10.10.2011, JustClicks v2.0, GPL
#include "lib\kolibri.h" #include "lib\kolibri.h"
#include "lib\random.h" #include "lib\random.h"
#include "lib\boxes.txt" #include "lib\boxes.txt"
system_colors sc; system_colors sc;
@ -25,48 +25,48 @@ int blocks_matrix[28*28]; //
#endif #endif
#ifdef LANG_RUS #ifdef LANG_RUS
char NEW_GAME_TEXT[]=" ‡ ­®¢® [F2]"; char NEW_GAME_TEXT[]=" ‡ ­®¢® [F2]";
char REZULT_TEXT[]="<EFBFBD>¥§ã«ìâ â: "; char REZULT_TEXT[]="<EFBFBD>¥§ã«ìâ â: ";
#else #else
char NEW_GAME_TEXT[]="New Game [F2]"; char NEW_GAME_TEXT[]="New Game [F2]";
char REZULT_TEXT[]="Rezult: "; char REZULT_TEXT[]="Rezult: ";
#endif #endif
void main() void main()
{ {
int key, id; int key, id;
BLOCKS_NUM=DIFFICULTY_LEV_PARAMS[DIFFICULTY_LEVEL]; BLOCKS_NUM=DIFFICULTY_LEV_PARAMS[DIFFICULTY_LEVEL];
new_game(); new_game();
loop() loop()
switch(WaitEvent()) switch(WaitEvent())
{ {
case evButton: case evButton:
id = GetButtonID(); id = GetButtonID();
if (id==1) ExitProcess(); if (id==1) ExitProcess();
if (id==2) goto _NEW_GAME_MARK; if (id==2) goto _NEW_GAME_MARK;
if (id>=100) if (id>=100)
{ {
if (check_for_end()) break; //åñëè èãðà çàêîí÷åíà if (check_for_end()) break; //åñëè èãðà çàêîí÷åíà
move_blocks(id-100); move_blocks(id-100);
draw_field(); draw_field();
draw_clicks_num(); draw_clicks_num();
break; break;
} }
if (id==10) //èçìåíÿåì ðàçìåð ïîëÿ if (id==10) //èçìåíÿåì ðàçìåð ïîëÿ
{ {
if (DIFFICULTY_LEVEL<2) DIFFICULTY_LEVEL++; else DIFFICULTY_LEVEL=0; if (DIFFICULTY_LEVEL<2) DIFFICULTY_LEVEL++; else DIFFICULTY_LEVEL=0;
BLOCKS_NUM = DIFFICULTY_LEV_PARAMS[DIFFICULTY_LEVEL]; //êîëè÷åñòâî êâàäðàòèêîâ ïî Õ è ïî Y BLOCKS_NUM = DIFFICULTY_LEV_PARAMS[DIFFICULTY_LEVEL]; //êîëè÷åñòâî êâàäðàòèêîâ ïî Õ è ïî Y
new_game(); new_game();
MoveSize(-1, -1, BLOCK_SIZE*BLOCKS_NUM +9, BLOCK_SIZE*BLOCKS_NUM +GetSkinWidth()+4+USER_PANEL_HEIGHT); MoveSize(-1, -1, BLOCK_SIZE*BLOCKS_NUM +9, BLOCK_SIZE*BLOCKS_NUM +GetSkinWidth()+4+USER_PANEL_HEIGHT);
break; break;
} }
@ -106,12 +106,12 @@ void move_blocks(int button_id) //
{ {
if (blocks_matrix[i*BLOCKS_NUM+j]<>old_marker) continue; //åñëè ôèøêà íå íóæíîãî öâåòà èä¸ì äàëüøå if (blocks_matrix[i*BLOCKS_NUM+j]<>old_marker) continue; //åñëè ôèøêà íå íóæíîãî öâåòà èä¸ì äàëüøå
if (blocks_matrix[i*BLOCKS_NUM+j]==MARKED) continue; //åñëè ôèøêà óæå îòìå÷åíà, èä¸ì äàëåå if (blocks_matrix[i*BLOCKS_NUM+j]==MARKED) continue; //åñëè ôèøêà óæå îòìå÷åíà, èä¸ì äàëåå
if (j>0) && (blocks_matrix[i*BLOCKS_NUM+j-1]==MARKED) blocks_matrix[i*BLOCKS_NUM+j]=MARKED; //ñìîòðèì ëåâûé if (j>0) && (blocks_matrix[i*BLOCKS_NUM+j-1]==MARKED) blocks_matrix[i*BLOCKS_NUM+j]=MARKED; //ñìîòðèì ëåâûé
if (i>0) && (blocks_matrix[i-1*BLOCKS_NUM+j]==MARKED) blocks_matrix[i*BLOCKS_NUM+j]=MARKED; //ñìîòðèì âåðõíèé if (i>0) && (blocks_matrix[i-1*BLOCKS_NUM+j]==MARKED) blocks_matrix[i*BLOCKS_NUM+j]=MARKED; //ñìîòðèì âåðõíèé
if (j<BLOCKS_NUM-1) && (blocks_matrix[i*BLOCKS_NUM+j+1]==MARKED) blocks_matrix[i*BLOCKS_NUM+j]=MARKED; //ñìîòðèì ïðàâûé if (j<BLOCKS_NUM-1) && (blocks_matrix[i*BLOCKS_NUM+j+1]==MARKED) blocks_matrix[i*BLOCKS_NUM+j]=MARKED; //ñìîòðèì ïðàâûé
if (i<BLOCKS_NUM-1) && (blocks_matrix[i+1*BLOCKS_NUM+j]==MARKED) blocks_matrix[i*BLOCKS_NUM+j]=MARKED; //ñìîòðèì íèæíèé if (i<BLOCKS_NUM-1) && (blocks_matrix[i+1*BLOCKS_NUM+j]==MARKED) blocks_matrix[i*BLOCKS_NUM+j]=MARKED; //ñìîòðèì íèæíèé
if (blocks_matrix[i*BLOCKS_NUM+j]==MARKED) //åñëè ôèøêó îòìåòèëè, òî ïîòîì öèêë íóæíî áóäåò ïðîêðóòèòü ñíà÷àëà - ìîæ åù¸ ÷¸ îòìåòèì if (blocks_matrix[i*BLOCKS_NUM+j]==MARKED) //åñëè ôèøêó îòìåòèëè, òî ïîòîì öèêë íóæíî áóäåò ïðîêðóòèòü ñíà÷àëà - ìîæ åù¸ ÷¸ îòìåòèì
{ {
restart=1; restart=1;
@ -119,7 +119,7 @@ void move_blocks(int button_id) //
} }
} }
if (restart) goto _RESTART_MARK; if (restart) goto _RESTART_MARK;
if (marked_num==1) //åñëè áëîê òîëüêî îäèí, óõîäèì if (marked_num==1) //åñëè áëîê òîëüêî îäèí, óõîäèì
{ {
blocks_matrix[button_id]=old_marker; blocks_matrix[button_id]=old_marker;
@ -139,15 +139,15 @@ void move_blocks(int button_id) //
} }
} }
if (restart) goto _2_RESTART_MARK; if (restart) goto _2_RESTART_MARK;
//îòìå÷àåì ôèøêè, êàê óäàë¸ííûå //îòìå÷àåì ôèøêè, êàê óäàë¸ííûå
for (i=0;i<BLOCKS_NUM*BLOCKS_NUM;i++) for (i=0;i<BLOCKS_NUM*BLOCKS_NUM;i++)
if (blocks_matrix[i]==MARKED) if (blocks_matrix[i]==MARKED)
blocks_matrix[i]=DELETED_BLOCK; blocks_matrix[i]=DELETED_BLOCK;
//äâèãàåì áëîêè âëåâî, åñëè åñòü ïóñòîé ñòîëáåö //äâèãàåì áëîêè âëåâî, åñëè åñòü ïóñòîé ñòîëáåö
restart=BLOCKS_NUM; //íå ïðèäóìàë íè÷åãî ëó÷øå :( restart=BLOCKS_NUM; //íå ïðèäóìàë íè÷åãî ëó÷øå :(
_3_RESTART_MARK: _3_RESTART_MARK:
for (j=0;j<BLOCKS_NUM-1;j++) for (j=0;j<BLOCKS_NUM-1;j++)
if (blocks_matrix[BLOCKS_NUM-1*BLOCKS_NUM+j]==DELETED_BLOCK) if (blocks_matrix[BLOCKS_NUM-1*BLOCKS_NUM+j]==DELETED_BLOCK)
@ -164,11 +164,11 @@ void draw_window()
{ {
int j, PANEL_Y; int j, PANEL_Y;
proc_info Form; proc_info Form;
sc.get(); sc.get();
DefineAndDrawWindow(300,176, BLOCK_SIZE*BLOCKS_NUM +9, BLOCK_SIZE*BLOCKS_NUM +GetSkinWidth()+4+USER_PANEL_HEIGHT, DefineAndDrawWindow(300,176, BLOCK_SIZE*BLOCKS_NUM +9, BLOCK_SIZE*BLOCKS_NUM +GetSkinWidth()+4+USER_PANEL_HEIGHT,
0x74,sc.work,0,0,HEADER); 0x74,sc.work,0,0,HEADER);
//ïðîâåðÿåì íå ñõëîïíóòî ëè îêíî â çàãîëîâîê //ïðîâåðÿåì íå ñõëîïíóòî ëè îêíî â çàãîëîâîê
GetProcessInfo(#Form, SelfInfo); GetProcessInfo(#Form, SelfInfo);
if (Form.status_window>2) return; if (Form.status_window>2) return;
@ -177,7 +177,7 @@ void draw_window()
PANEL_Y=BLOCK_SIZE*BLOCKS_NUM; PANEL_Y=BLOCK_SIZE*BLOCKS_NUM;
DrawBar(0,PANEL_Y, PANEL_Y, USER_PANEL_HEIGHT, sc.work); //ïàíåëü ñíèçó DrawBar(0,PANEL_Y, PANEL_Y, USER_PANEL_HEIGHT, sc.work); //ïàíåëü ñíèçó
//íîâàÿ èãðà //íîâàÿ èãðà
DefineButton(10,PANEL_Y+7, 13*6+6, 20, 2,sc.work_button); DefineButton(10,PANEL_Y+7, 13*6+6, 20, 2,sc.work_button);
WriteText(10+4,PANEL_Y+14,0x80,sc.work_button_text,#NEW_GAME_TEXT,0); WriteText(10+4,PANEL_Y+14,0x80,sc.work_button_text,#NEW_GAME_TEXT,0);
@ -186,9 +186,9 @@ void draw_window()
//êíîïî÷êa âûáîðà óðîâíÿ ñëîæíîñòè //êíîïî÷êa âûáîðà óðîâíÿ ñëîæíîñòè
DefineButton(95,PANEL_Y+7, 20,20, 10,sc.work_button); DefineButton(95,PANEL_Y+7, 20,20, 10,sc.work_button);
WriteText(95+8,PANEL_Y+14,0x80,sc.work_button_text,BOARD_SIZES[DIFFICULTY_LEVEL],0); WriteText(95+8,PANEL_Y+14,0x80,sc.work_button_text,BOARD_SIZES[DIFFICULTY_LEVEL],0);
draw_field(); draw_field();
draw_clicks_num(); draw_clicks_num();
} }
@ -203,15 +203,15 @@ int check_for_end()
for (j=0;j<BLOCKS_NUM;j++) for (j=0;j<BLOCKS_NUM;j++)
{ {
button_id=blocks_matrix[i*BLOCKS_NUM+j]; button_id=blocks_matrix[i*BLOCKS_NUM+j];
if (button_id==DELETED_BLOCK) continue; if (button_id==DELETED_BLOCK) continue;
if (j>0) && (blocks_matrix[i*BLOCKS_NUM+j-1]==button_id) return 0; if (j>0) && (blocks_matrix[i*BLOCKS_NUM+j-1]==button_id) return 0;
if (i>0) && (blocks_matrix[i-1*BLOCKS_NUM+j]==button_id) return 0; if (i>0) && (blocks_matrix[i-1*BLOCKS_NUM+j]==button_id) return 0;
if (j<BLOCKS_NUM-1) && (blocks_matrix[i*BLOCKS_NUM+j+1]==button_id) return 0; if (j<BLOCKS_NUM-1) && (blocks_matrix[i*BLOCKS_NUM+j+1]==button_id) return 0;
if (i<BLOCKS_NUM-1) && (blocks_matrix[i+1*BLOCKS_NUM+j]==button_id) return 0; if (i<BLOCKS_NUM-1) && (blocks_matrix[i+1*BLOCKS_NUM+j]==button_id) return 0;
} }
return 2; return 2;
} }
@ -223,10 +223,10 @@ void draw_clicks_num()
int TEXT_X=TEXT_Y/2+48; //130; int TEXT_X=TEXT_Y/2+48; //130;
BLOCKS_LEFT=0; BLOCKS_LEFT=0;
for (i=0;i<BLOCKS_NUM*BLOCKS_NUM;i++) for (i=0;i<BLOCKS_NUM*BLOCKS_NUM;i++)
if (blocks_matrix[i]<>DELETED_BLOCK) BLOCKS_LEFT++; if (blocks_matrix[i]<>DELETED_BLOCK) BLOCKS_LEFT++;
DrawBar(TEXT_X, TEXT_Y, 18,9, sc.work); DrawBar(TEXT_X, TEXT_Y, 18,9, sc.work);
WriteText(TEXT_X,TEXT_Y,0x80,sc.work_text,IntToStr(BLOCKS_LEFT),0); WriteText(TEXT_X,TEXT_Y,0x80,sc.work_text,IntToStr(BLOCKS_LEFT),0);
@ -256,7 +256,7 @@ void draw_field()
{ {
int i, j; int i, j;
int current_id; int current_id;
for (i=0;i<BLOCKS_NUM;i++) for (i=0;i<BLOCKS_NUM;i++)
for (j=0;j<BLOCKS_NUM;j++) for (j=0;j<BLOCKS_NUM;j++)
{ {
@ -284,4 +284,4 @@ void DrawFlatButton(dword x,y,width,height,id,text)
WriteText(-strlen(text)*6+width/2+x+1,height/2-3+y,0x80,sc.work_text,text,0); WriteText(-strlen(text)*6+width/2+x+1,height/2-3+y,0x80,sc.work_text,text,0);
} }
stop: stop:

View File

@ -5,4 +5,4 @@ del clicks
rename clicks.com clicks rename clicks.com clicks
del warning.txt del warning.txt
del lang.h-- del lang.h--
pause pause

View File

@ -0,0 +1,20 @@
#Makefile per la compilazione
#Macro
FASM=/opt/bin/fasm
KPACK=/opt/bin/kpack
LANG=lang.inc
FILE=gomoku
SOURCE=${FILE}.asm
OUT=${FILE}.bin
en:
echo "lang fix en" > lang.inc
${FASM} ${SOURCE} ${OUT}
ru:
echo "lang fix ru" > lang.inc
${FASM} ${SOURCE} ${OUT}
clean:
rm -f ${OUT} ${LANG}

View File

@ -2,4 +2,4 @@
@fasm -m 16384 megamaze.asm megamaze @fasm -m 16384 megamaze.asm megamaze
@erase lang.inc @erase lang.inc
@kpack megamaze @kpack megamaze
@pause @pause

View File

@ -2,10 +2,10 @@
# This script does for linux the same as build.bat for DOS, # This script does for linux the same as build.bat for DOS,
# it compiles the KoOS kernel, hopefully ;-) # it compiles the KoOS kernel, hopefully ;-)
fasm -m 16384 kpack.asm kpack.o fasm -m 16384 kpack.asm kpack.o
gcc -s -nostdlib kpack.o -o kpack -lc gcc -s -nostdlib kpack.o -o kpack -lc
strip -R .comment -R .gnu.version kpack strip -R .comment -R .gnu.version kpack
exit 0 exit 0

View File

@ -909,4 +909,4 @@ cti db ?
program_arguments db 512 dup (?) program_arguments db 512 dup (?)
include 'data.inc' include 'data.inc'
;********************************************************************* ;*********************************************************************

View File

@ -10,16 +10,16 @@ as MACROS.INC and DEBUG.INC files, simplify the developing greatly.
Today I let you to judge a desktop calendar, similar to the Windows one. Today I let you to judge a desktop calendar, similar to the Windows one.
Application abilities are: Application abilities are:
1. Interface is translated into Russian,English, German, French, and Finnish 1. Interface is translated into Russian,English, German, French, Italian
(not completely - there was no help). Day sequence difference is taken and Finnish (not completely - there was no help). Day sequence
into account as well. You may change localization through 'lang' constant difference is taken into account as well. You may change localization
while compiling. through 'lang' constant while compiling.
2. Calendar is equipped with additional buttons 'Today' and 'New style' that 2. Calendar is equipped with additional buttons 'Today' and 'New style' that
are self-explaining. are self-explaining.
3. I tied to follow world GUI standards: use TAB to move along fields; while 3. I tied to follow world GUI standards: use TAB to move along fields; while
editing the year, use Backspace and Del, as well as left and right arrows editing the year, use Backspace and Del, as well as left and right arrows
of 'spinner' when in its focus. Arrow keys navigate along day matrix. of 'spinner' when in its focus. Arrow keys navigate along day matrix.
Pressing Ctrl-F1...Ctrl-F12 selects appropriate month. Pressing Ctrl-F1...Ctrl-F12 selects appropriate month.
To-Do list: To-Do list:
@ -72,4 +72,4 @@ Razom nas bahato, nas ne podolaty!
<EFBFBD>â㠯ணࠬ¬ã ï ¯®á¢ïé î ãªà ¨­áª®© ¯®¬ à ­ç¥¢®© ॢ®«î樨. <EFBFBD>â㠯ணࠬ¬ã ï ¯®á¢ïé î ãªà ¨­áª®© ¯®¬ à ­ç¥¢®© ॢ®«î樨.
<EFBFBD> §®¬ ­ á ¡ £ â®, ­ á ­¥ ¯®¤®« â¨! <EFBFBD> §®¬ ­ á ¡ £ â®, ­ á ­¥ ¯®¤®« â¨!

View File

@ -16,6 +16,7 @@
dd 0x0 ; зарезервировано dd 0x0 ; зарезервировано
include 'MACROS.INC' ; макросы облегчают жизнь ассемблерщиков! include 'MACROS.INC' ; макросы облегчают жизнь ассемблерщиков!
include 'lang.inc'
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
;--- НАЧАЛО ПРОГРАММЫ ---------------------------------------------- ;--- НАЧАЛО ПРОГРАММЫ ----------------------------------------------
@ -87,7 +88,11 @@ draw_window:
; 1 - начинаем рисовать ; 1 - начинаем рисовать
; СОЗДАиМ ОКНО ; СОЗДАиМ ОКНО
mcall 0, <100,230>, <100,110>, 0x03AABBCC, 0x805080D0, 0x005080D0 if lang eq it
mcall 0, <100,250>, <100,110>, 0x03AABBCC, 0x805080D0, 0x005080D0
else
mcall 0, <100,230>, <100,110>, 0x03AABBCC, 0x805080D0, 0x005080D0
end if
mcall 71, 1 ,header mcall 71, 1 ,header
mcall 8,<15,42>,<40,20>,2,0xaaaaaa mcall 8,<15,42>,<40,20>,2,0xaaaaaa
call draw_buttons call draw_buttons
@ -95,17 +100,21 @@ draw_window:
add ecx,30 shl 16 add ecx,30 shl 16
mcall mcall
call draw_buttons call draw_buttons
mcall 4, <25,25>, 0x80ffffff,text1 if lang eq it
mcall 4, <16,25>, 0x80ffffff,text1
else
mcall 4, <25,25>, 0x80ffffff,text1
end if
mov edx,text2 mov edx,text2
add ebx,3 shl 16+20 add ebx,3 shl 16+20
mcall mcall
mov edx,text3 mov edx,text3
add ebx,30 add ebx,30
sub ebx,3 shl 16 sub ebx,3 shl 16
mcall mcall
mcall 12, 2 ; функция 12: сообщить ОС об отрисовке окна mcall 12, 2 ; функция 12: сообщить ОС об отрисовке окна
; 2, закончили рисовать ; 2, закончили рисовать
@ -113,24 +122,43 @@ draw_window:
draw_buttons: draw_buttons:
pusha pusha
add ebx,50 shl 16 if lang eq it
add ebx,60 shl 16
else
add ebx,50 shl 16
end if
inc edx inc edx
mcall mcall
add ebx,50 shl 16 if lang eq it
add ebx,60 shl 16
else
add ebx,50 shl 16
end if
inc edx inc edx
mcall mcall
add ebx,50 shl 16 if lang eq it
add ebx,60 shl 16
else
add ebx,50 shl 16
end if
inc edx inc edx
mcall mcall
popa popa
ret ret
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
;--- ДАННЫЕ ПРОГРАММЫ ---------------------------------------------- ;--- ДАННЫЕ ПРОГРАММЫ ----------------------------------------------
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
header db ' ATAPI Device Tray Control',0 header db ' ATAPI Device Tray Control',0
text3 db 'eject eject eject eject',0 if lang eq it
text2 db 'load load load load',0 text3 db 'espelli espelli espelli espelli',0
text1 db '/cd0/ /cd1/ /cd2/ /cd3/',0 text2 db 'carica carica carica carica',0
text1 db '/cd0/ /cd1/ /cd2/ /cd3/',0
else
text3 db 'eject eject eject eject',0
text2 db 'load load load load',0
text1 db '/cd0/ /cd1/ /cd2/ /cd3/',0
end if
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
I_END: ; метка конца программы I_END: ; метка конца программы

View File

@ -0,0 +1,19 @@
#!gmake
# Macro
FASM=/opt/bin/fasm
KPACK=/opt/bin/kpack
LANG=lang.inc
FILE=CD_tray
SOURCE=${FILE}.ASM
OUT=${FILE}.bin
en:
echo "lang fix en" > ${LANG}
${FASM} ${SOURCE} ${OUT}
it:
echo "lang fix it" > ${LANG}
${FASM} ${SOURCE} ${OUT}
clean:
rm -f ${LANG} ${OUT}

View File

@ -7,7 +7,7 @@
; <--- include all MeOS stuff ---> ; <--- include all MeOS stuff --->
include "lang.inc" include "lang.inc"
include "..\..\..\MACROS.INC" include "..\..\..\macros.inc"
TEST_SIZE = 100000 ; ¤®«¦­® ¤¥«¨âìáï ­  4 TEST_SIZE = 100000 ; ¤®«¦­® ¤¥«¨âìáï ­  4
@ -113,11 +113,11 @@ print ""
; ¯®á«¥¤­ïï ¯à®¢¥àª  - ­  à¥á ©§ ¡ãä¥à .   ¨¬¥­­®, ¢®§ì¬¥¬ ¬­®£® ¤ ­­ëå ; ¯®á«¥¤­ïï ¯à®¢¥àª  - ­  à¥á ©§ ¡ãä¥à .   ¨¬¥­­®, ¢®§ì¬¥¬ ¬­®£® ¤ ­­ëå
; ¨ ¯à®ª ç ¥¬ ¨å ç¥à¥§ ¡ãä¥à ; ¨ ¯à®ª ç ¥¬ ¨å ç¥à¥§ ¡ãä¥à
mov eax, 68 mov eax, 68
mov ebx, 11 mov ebx, 11
int 0x40 int 0x40
mov eax, 68 mov eax, 68
mov ebx, 12 mov ebx, 12
mov ecx, TEST_SIZE + 12 mov ecx, TEST_SIZE + 12
int 0x40 int 0x40
@ -154,7 +154,7 @@ print "mega buffer written"
mov edx, [mega_buf] mov edx, [mega_buf]
add edx, 12 add edx, 12
xor eax, eax xor eax, eax
mov ecx, TEST_SIZE/4 mov ecx, TEST_SIZE/4
.loopc: .loopc:
mov [edx], eax mov [edx], eax
add edx, 4 add edx, 4
@ -162,7 +162,7 @@ print "mega buffer written"
jnz .loopc jnz .loopc
; now read ; now read
mov eax, 69 mov eax, 69
mov esi, [mega_buf] mov esi, [mega_buf]
mov edx, 7 mov edx, 7
@ -208,7 +208,7 @@ print "if read error then all is ok"
jz .reading jz .reading
jmp .err jmp .err
.reading: .reading:
print "test complete!" print "test complete!"
@ -237,4 +237,4 @@ UDATA
MEOS_APP_END MEOS_APP_END
; <--- end of MenuetOS application ---> ; <--- end of MenuetOS application --->

View File

@ -0,0 +1,17 @@
#!gmake
# Macro
FASM=/opt/bin/fasm
KPACK=/opt/bin/kpack
LANG=lang.inc
en:
echo "lang fix ru" > ${LANG}
${FASM} \@clip.ASM \@clip
${FASM} cliptest.ASM cliptest
${FASM} test2.asm test2
${KPACK} \@clip
clean:
rm -f ${LANG} \@clip test2 cliptest

View File

@ -8,7 +8,7 @@
; <--- include all MeOS stuff ---> ; <--- include all MeOS stuff --->
include "lang.inc" include "lang.inc"
include "..\..\..\MACROS.INC" include "..\..\..\macros.inc"
; <--- start of MenuetOS application ---> ; <--- start of MenuetOS application --->
MEOS_APP_START MEOS_APP_START
@ -70,7 +70,7 @@ key: ; key event handler
call draw_window call draw_window
jmp wait_event jmp wait_event
no_digit: no_digit:
mov edi, input_box mov edi, input_box
call edit_box.key call edit_box.key
@ -109,7 +109,7 @@ paste:
movzx eax, byte [format_id] movzx eax, byte [format_id]
mov edx, 7 mov edx, 7
call clipboard_read call clipboard_read
or eax, eax or eax, eax
jz wait_event jz wait_event
@ -236,7 +236,7 @@ exit:
mov eax, 12 ; finish drawing mov eax, 12 ; finish drawing
mov ebx, 2 mov ebx, 2
int 0x40 int 0x40
ret ret
@ -269,4 +269,4 @@ UDATA
MEOS_APP_END MEOS_APP_END
; <--- end of MenuetOS application ---> ; <--- end of MenuetOS application --->

View File

@ -41,7 +41,7 @@
; window X size ; +4 ; window X size ; +4
; dw 0 ; dw 0
; ;
; window X position ; +6 ; window X position ; +6
; dw 0 ; dw 0
; ;
; window y size ; +8 ; window y size ; +8
@ -143,7 +143,7 @@ load_libraries l_libs_start,end_l_libs
mov [palette_area],eax mov [palette_area],eax
;-------------------------------------- ;--------------------------------------
call create_palette call create_palette
;-------------------------------------- ;--------------------------------------
mov ecx,[tone_SIZE_Y] mov ecx,[tone_SIZE_Y]
imul ecx,[tone_SIZE_X] imul ecx,[tone_SIZE_X]
lea ecx,[ecx*3] lea ecx,[ecx*3]
@ -169,10 +169,10 @@ still:
cmp eax,3 cmp eax,3
je button je button
cmp eax,6 cmp eax,6
je mouse je mouse
jmp still jmp still
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4 align 4
@ -181,19 +181,19 @@ button:
cmp ah, 2 cmp ah, 2
je palette_button je palette_button
cmp ah, 3 cmp ah, 3
je tone_button je tone_button
cmp ah, 4 cmp ah, 4
je color_button je color_button
cmp ah, 30 cmp ah, 30
jb @f jb @f
cmp ah, 39 cmp ah, 39
ja @f ja @f
sub ah,30 sub ah,30
movzx eax,ah movzx eax,ah
shl eax,2 shl eax,2
@ -292,7 +292,7 @@ get_active_pocess:
mov ecx,[ebx+30] ; PID mov ecx,[ebx+30] ; PID
mcall 18,21 mcall 18,21
mov [active_process],eax ; WINDOW SLOT mov [active_process],eax ; WINDOW SLOT
mov ebx,[communication_area] mov ebx,[communication_area]
test ebx,ebx test ebx,ebx
jz .1 jz .1
mov [ebx+12],eax ; WINDOW SLOT to com. area mov [ebx+12],eax ; WINDOW SLOT to com. area
@ -402,7 +402,7 @@ prepare_color_from_scrollbars_position:
mov eax,[scroll_bar_data_blue.position] mov eax,[scroll_bar_data_blue.position]
mov bl,al mov bl,al
ret ret
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4 align 4
key: key:
mcall 2 mcall 2
@ -415,7 +415,7 @@ mouse:
cmp [scroll_bar_data_green.delta2],0 cmp [scroll_bar_data_green.delta2],0
jne .green jne .green
cmp [scroll_bar_data_blue.delta2],0 cmp [scroll_bar_data_blue.delta2],0
jne .blue jne .blue
;-------------------------------------- ;--------------------------------------
align 4 align 4
.red: .red:
@ -482,7 +482,7 @@ draw_history_frame:
mov [frame_data.y],dword (p_start_y+5)*65536+(p_size_y-5) mov [frame_data.y],dword (p_start_y+5)*65536+(p_size_y-5)
mov [frame_data.draw_text_flag],dword 1 mov [frame_data.draw_text_flag],dword 1
mov [frame_data.text_pointer],dword history_text mov [frame_data.text_pointer],dword history_text
push dword frame_data push dword frame_data
call [Frame_draw] call [Frame_draw]
@ -516,7 +516,7 @@ draw_color_value:
add esi,28 add esi,28
;----------------------------------- ;-----------------------------------
align 4 align 4
@@: @@:
mcall mcall
pusha pusha
mov edx,ebx mov edx,ebx
@ -528,7 +528,7 @@ align 4
and ecx,0xffffff and ecx,0xffffff
mcall 47,0x00060100,,,0 mcall 47,0x00060100,,,0
popa popa
add ecx,24*65536 add ecx,24*65536
add esi,4 add esi,4
dec edi dec edi
@ -558,9 +558,9 @@ newcol:
add bx,4 add bx,4
sub ecx,2 shl 16 sub ecx,2 shl 16
add cx,4 add cx,4
mov [frame_data.x],ebx mov [frame_data.x],ebx
mov [frame_data.y],ecx mov [frame_data.y],ecx
push dword frame_data push dword frame_data
call [Frame_draw] call [Frame_draw]
@ -569,7 +569,7 @@ newcol:
add ecx,24*65536 add ecx,24*65536
add esi,4 add esi,4
dec edi dec edi
jnz newcol jnz newcol
@ -612,4 +612,4 @@ IM_END:
include 'u_data.inc' include 'u_data.inc'
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
I_END: I_END:
;--------------------------------------------------------------------- ;---------------------------------------------------------------------

View File

@ -0,0 +1,16 @@
#!gmake
# Macro
FASM=/opt/bin/fasm
KPACK=/opt/bin/kpack
LANG=lang.inc
FILE=color_dialog
SOURCE=${FILE}.asm
OUT=${FILE}.bin
en:
${FASM} ${SOURCE} ${OUT}
${KPACK} ${OUT}
clean:
rm -f ${LANG} ${OUT}

View File

@ -0,0 +1,16 @@
#!gmake
# Macro
FASM=/opt/bin/fasm
KPACK=/opt/bin/kpack
LANG=lang.inc
FILE=commouse
SOURCE=${FILE}.asm
OUT=${FILE}.bin
en:
${FASM} ${SOURCE} ${OUT}
clean:
rm -f ${LANG} ${OUT}

View File

@ -66,33 +66,33 @@ err_message_found_lib, head_f_l, myimport, err_message_import, head_f_i
;get screen size ;get screen size
mcall 14 mcall 14
mov ebx,eax mov ebx,eax
;calculate (x_screen-window_x_size)/2 ;calculate (x_screen-window_x_size)/2
shr ebx,16+1 shr ebx,16+1
sub ebx,window_x_size/2 sub ebx,window_x_size/2
shl ebx,16 shl ebx,16
mov bx,window_x_size mov bx,window_x_size
;winxpos=xcoord*65536+xsize ;winxpos=xcoord*65536+xsize
mov [winxpos],ebx mov [winxpos],ebx
;calculate (y_screen-window_y_size)/2 ;calculate (y_screen-window_y_size)/2
and eax,0xffff and eax,0xffff
shr eax,1 shr eax,1
sub eax,window_y_size/2 sub eax,window_y_size/2
shl eax,16 shl eax,16
mov ax,window_y_size mov ax,window_y_size
;winypos=ycoord*65536+ysize ;winypos=ycoord*65536+ysize
mov [winypos],eax mov [winypos],eax
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
init_checkboxes2 check1,check1_end init_checkboxes2 check1,check1_end
mcall 48,3,sc,40 mcall 48,3,sc,40
edit_boxes_set_sys_color edit1,edit1_end,sc ;set color edit_boxes_set_sys_color edit1,edit1_end,sc ;set color
check_boxes_set_sys_color2 check1,check1_end,sc ;set color check_boxes_set_sys_color2 check1,check1_end,sc ;set color
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
;main loop when process name isn't edited. ;main loop when process name isn't edited.
red: red:
call draw_window ; redraw all window call draw_window ; redraw all window
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
still: still:
mcall 23,100 ; wait here for event 1 sec. mcall 23,100 ; wait here for event 1 sec.
@ -107,22 +107,22 @@ still:
push dword edit1 push dword edit1
call [edit_box_mouse] call [edit_box_mouse]
push dword[check1.flags] push dword[check1.flags]
push dword check1 push dword check1
call [check_box_mouse] call [check_box_mouse]
pop eax pop eax
cmp eax, dword[check1.flags] cmp eax, dword[check1.flags]
jz still_end jz still_end
push dword check1 push dword check1
call [check_box_draw] call [check_box_draw]
;-------------------------------------- ;--------------------------------------
align 4 align 4
show_process_info_1: show_process_info_1:
mcall 26,9 mcall 26,9
add eax,100 add eax,100
mov [time_counter],eax mov [time_counter],eax
@ -130,7 +130,7 @@ show_process_info_1:
call show_process_info ; draw new state of processes call show_process_info ; draw new state of processes
jmp still jmp still
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
still_end: still_end:
mcall 26,9 mcall 26,9
cmp [time_counter],eax cmp [time_counter],eax
@ -142,7 +142,7 @@ still_end:
call show_process_info ; draw new state of processes call show_process_info ; draw new state of processes
jmp still jmp still
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
key: ; key key: ; key
mcall 2 mcall 2
@ -160,34 +160,34 @@ key: ; key
; Check ENTER with ed_focus edit_box ; Check ENTER with ed_focus edit_box
lea edi,[edit1] lea edi,[edit1]
test word ed_flags,ed_focus test word ed_flags,ed_focus
jz still_end jz still_end
sub ah,13 ; ENTER? sub ah,13 ; ENTER?
jz program_start ; RUN a program jz program_start ; RUN a program
jmp still jmp still
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
button: button:
; get button id ; get button id
mcall 17 mcall 17
shr eax,8 shr eax,8
;id in [10,50] corresponds to terminate buttons. ;id in [10,50] corresponds to terminate buttons.
cmp eax,10 cmp eax,10
jb noterm jb noterm
cmp eax,50 cmp eax,50
jg noterm jg noterm
;calculate button index ;calculate button index
sub eax,11 sub eax,11
;calculate process slot ;calculate process slot
mov ecx,[tasklist+4*eax] mov ecx,[tasklist+4*eax]
;ignore empty buttons ;ignore empty buttons
test ecx,ecx test ecx,ecx
jle still_end jle still_end
;terminate application ;terminate application
mcall 18,2 mcall 18,2
jmp show_process_info_1 jmp show_process_info_1
;-------------------------------------- ;--------------------------------------
align 4 align 4
noterm: noterm:
@ -208,38 +208,38 @@ noterm:
jz reboot ;54 jz reboot ;54
jmp still_end jmp still_end
;buttons handlers ;buttons handlers
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
pgdn: pgdn:
sub [list_start],display_processes sub [list_start],display_processes
jge show_process_info_1 jge show_process_info_1
mov [list_start],0 mov [list_start],0
jmp show_process_info_1 jmp show_process_info_1
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
pgup: pgup:
mov eax,[list_add] ;maximal displayed process slot mov eax,[list_add] ;maximal displayed process slot
mov [list_start],eax mov [list_start],eax
jmp show_process_info_1 jmp show_process_info_1
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
program_start: program_start:
mcall 70,file_start mcall 70,file_start
jmp show_process_info_1 jmp show_process_info_1
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
reboot: reboot:
mcall 70,sys_reboot mcall 70,sys_reboot
;close program if we going to reboot ;close program if we going to reboot
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
close: close:
or eax,-1 ; close this program or eax,-1 ; close this program
mcall mcall
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
draw_empty_slot: draw_empty_slot:
cmp [draw_window_flag],1 cmp [draw_window_flag],1
je @f je @f
mov ecx,[curposy] mov ecx,[curposy]
@ -249,14 +249,14 @@ draw_empty_slot:
add ecx,3 shl 16 add ecx,3 shl 16
mcall 13,<11,95>,,[btn_bacground_color] mcall 13,<11,95>,,[btn_bacground_color]
pop ecx pop ecx
mcall 13,<111,393>,,[bar_bacground_color] mcall 13,<111,393>,,[bar_bacground_color]
;-------------------------------------- ;--------------------------------------
align 4 align 4
@@: @@:
ret ret
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
draw_next_process: draw_next_process:
;input: ;input:
; edi - current slot ; edi - current slot
@ -280,7 +280,7 @@ align 4
mov edx,[index] mov edx,[index]
add edx,11 add edx,11
mov esi,0xccddee ; 0xaabbcc mov esi,0xccddee ; 0xaabbcc
;contrast ;contrast
test dword [index],1 test dword [index],1
jz .change_color_button jz .change_color_button
mov esi,0xaabbcc ; 0x8899aa mov esi,0xaabbcc ; 0x8899aa
@ -313,7 +313,7 @@ align 4
@@: @@:
mov [bar_bacground_color],edx mov [bar_bacground_color],edx
;nothing else should be done ;nothing else should be done
;if there is no process for this button ;if there is no process for this button
cmp edi,-1 cmp edi,-1
jne .return_1 jne .return_1
@ -325,9 +325,9 @@ align 4
.return_1: .return_1:
;find process ;find process
inc edi inc edi
;more comfortable register for next loop ;more comfortable register for next loop
mov ecx,edi mov ecx,edi
;precacluate pointer to process buffer ;precacluate pointer to process buffer
mov ebx,process_info_buffer mov ebx,process_info_buffer
;-------------------------------------- ;--------------------------------------
align 4 align 4
@ -337,13 +337,13 @@ align 4
;load process information in buffer ;load process information in buffer
mcall 9 mcall 9
;if current slot greater than maximal slot, ;if current slot greater than maximal slot,
;there is no more proccesses. ;there is no more proccesses.
cmp ecx,eax cmp ecx,eax
jg .no_processes jg .no_processes
;if slot state is equal to 9, it is empty. ;if slot state is equal to 9, it is empty.
cmp [process_info_buffer+process_information.slot_state],9 cmp [process_info_buffer+process_information.slot_state],9
jnz .process_found jnz .process_found
inc ecx inc ecx
jmp .find_loop jmp .find_loop
;-------------------------------------- ;--------------------------------------
@ -363,7 +363,7 @@ align 4
jnz @f jnz @f
cmp dword [process_info_buffer+10],'ICON' cmp dword [process_info_buffer+10],'ICON'
jz .return_1 jz .return_1
cmp dword [process_info_buffer+10],'OS/I' cmp dword [process_info_buffer+10],'OS/I'
jz .return_1 jz .return_1
@ -375,7 +375,7 @@ align 4
@@: @@:
mov edi,ecx mov edi,ecx
mov [list_add],ecx mov [list_add],ecx
;get processor cpeed ;get processor cpeed
;for percent calculating ;for percent calculating
mcall 18,5 mcall 18,5
xor edx,edx xor edx,edx
@ -386,12 +386,12 @@ align 4
mov ebx,eax mov ebx,eax
mov eax,[process_info_buffer+process_information.cpu_usage] mov eax,[process_info_buffer+process_information.cpu_usage]
; cdq ; cdq
xor edx,edx ; for CPU more 2 GHz - mike.dld xor edx,edx ; for CPU more 2 GHz - mike.dld
div ebx div ebx
mov [cpu_percent],eax mov [cpu_percent],eax
;set text color to display process information ;set text color to display process information
;([tcolor] variable) ;([tcolor] variable)
;0% : black ;0% : black
;1-80% : green ;1-80% : green
;81-100% : red ;81-100% : red
test eax,eax test eax,eax
@ -401,7 +401,7 @@ align 4
jmp .color_set jmp .color_set
;-------------------------------------- ;--------------------------------------
align 4 align 4
.no_black: .no_black:
cmp eax,80 cmp eax,80
ja .no_green ja .no_green
@ -415,7 +415,7 @@ align 4
align 4 align 4
.color_set: .color_set:
;show slot number ;show slot number
;ecx haven't changed since .process_found ;ecx haven't changed since .process_found
push edi push edi
mov edx,[curposy] mov edx,[curposy]
add edx,15*65536+3 add edx,15*65536+3
@ -459,19 +459,19 @@ align 4
shl ecx,16 shl ecx,16
add ecx,[process_info_buffer.box.top] add ecx,[process_info_buffer.box.top]
add edx,60*65536 add edx,60*65536
mcall mcall
pop edi pop edi
;-------------------------------------- ;--------------------------------------
align 4 align 4
.ret: .ret:
;build index->slot map for terminating processes. ;build index->slot map for terminating processes.
mov eax,[index] mov eax,[index]
mov [tasklist+4*eax],edi mov [tasklist+4*eax],edi
ret ret
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
f11: f11:
;full update ;full update
push edi push edi
call draw_window call draw_window
pop edi pop edi
@ -479,16 +479,16 @@ f11:
; ********************************************* ; *********************************************
; ******* WINDOW DEFINITIONS AND DRAW ******** ; ******* WINDOW DEFINITIONS AND DRAW ********
; ********************************************* ; *********************************************
align 4 align 4
draw_window: draw_window:
mcall 12, 1 mcall 12, 1
; DRAW WINDOW ; DRAW WINDOW
xor eax,eax ; function 0 : define and draw window xor eax,eax ; function 0 : define and draw window
xor esi,esi xor esi,esi
mcall ,[winxpos],[winypos],0x74ffffff,,title ;0x34ddffdd mcall ,[winxpos],[winypos],0x74ffffff,,title ;0x34ddffdd
mcall 9,process_info_buffer,-1 mcall 9,process_info_buffer,-1
mov eax,[ebx+70] mov eax,[ebx+70]
mov [window_status],eax mov [window_status],eax
test [window_status],100b ; window is rolled up test [window_status],100b ; window is rolled up
@ -511,12 +511,12 @@ draw_window:
mcall 4,<17,8>,,text,text_len mcall 4,<17,8>,,text,text_len
mcall 13,<0,10>,<20,336>,0xffffff mcall 13,<0,10>,<20,336>,0xffffff
mov ebx,[client_area_x_size] mov ebx,[client_area_x_size]
sub ebx,10+100+395 sub ebx,10+100+395
add ebx,(10+100+395) shl 16 add ebx,(10+100+395) shl 16
mcall mcall
mcall 26,9 mcall 26,9
add eax,100 add eax,100
mov [time_counter],eax mov [time_counter],eax
@ -524,7 +524,7 @@ draw_window:
mov [draw_window_flag],1 mov [draw_window_flag],1
call show_process_info call show_process_info
mov [draw_window_flag],0 mov [draw_window_flag],0
mov ebx,[client_area_x_size] mov ebx,[client_area_x_size]
mov ecx,[client_area_y_size] mov ecx,[client_area_y_size]
sub ecx,20+336 sub ecx,20+336
@ -536,7 +536,7 @@ draw_window:
push dword check1 push dword check1
call [check_box_draw] call [check_box_draw]
; previous page button ; previous page button
mcall 8,<25,96>,<361,14>,51,0xccddee ;0xaabbcc mcall 8,<25,96>,<361,14>,51,0xccddee ;0xaabbcc
; next page button 52 ; next page button 52
@ -547,8 +547,8 @@ draw_window:
; run button 53 ; run button 53
inc edx inc edx
mcall ,<456,50> mcall ,<456,50>
; reboot button ; reboot button
sub ebx,120*65536 sub ebx,120*65536
add ebx,60 add ebx,60
sub ecx,20 shl 16 sub ecx,20 shl 16
inc edx inc edx
@ -601,8 +601,8 @@ head_f_i:
head_f_l db 'System error',0 head_f_l db 'System error',0
err_message_import db 'Error on load import library box_lib.obj',0 err_message_import db 'Error on load import library box_lib.obj',0
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
myimport: myimport:
edit_box_draw dd aEdit_box_draw edit_box_draw dd aEdit_box_draw
edit_box_key dd aEdit_box_key edit_box_key dd aEdit_box_key
edit_box_mouse dd aEdit_box_mouse edit_box_mouse dd aEdit_box_mouse
@ -634,7 +634,7 @@ aCheck_box_mouse db 'check_box_mouse2',0
;aOption_box_mouse db 'option_box_mouse',0 ;aOption_box_mouse db 'option_box_mouse',0
;aVersion_op db 'version_op',0 ;aVersion_op db 'version_op',0
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
check1 check_box2 (10 shl 16)+11,(383 shl 16)+11,6, 0x80AABBCC,0,0,check_text, ch_flag_bottom ;ch_flag_en check1 check_box2 (10 shl 16)+11,(383 shl 16)+11,6, 0x80AABBCC,0,0,check_text, ch_flag_bottom ;ch_flag_en
check1_end: check1_end:
edit1 edit_box 350,95,381,0xffffff,0x6f9480,0,0xAABBCC,0,start_application_c,\ edit1 edit_box 350,95,381,0xffffff,0x6f9480,0,0xAABBCC,0,start_application_c,\
@ -642,7 +642,7 @@ edit1 edit_box 350,95,381,0xffffff,0x6f9480,0,0xAABBCC,0,start_application_c,\
edit1_end: edit1_end:
list_start dd 0 list_start dd 0
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
sys_reboot: sys_reboot:
dd 7 dd 7
dd 0 dd 0
@ -690,6 +690,19 @@ tbte_2:
check_text db '@ ¢ª«/¢ëª«',0 check_text db '@ ¢ª«/¢ëª«',0
title db '„¨á¯¥âç¥à ¯à®æ¥áᮢ - Ctrl/Alt/Del',0 title db '„¨á¯¥âç¥à ¯à®æ¥áᮢ - Ctrl/Alt/Del',0
;-------------------------------------- ;--------------------------------------
else if lang eq it
text:
db 'NOME-PROGRAMMA PID USO CPU % '
db 'MEMORY START/USAGE W-STACK W-POS'
text_len = $-text
tbts: db 'INDIETRO AVANTI RIAVVIA SISTEMA'
tbte:
tbts_3 db 'START'
tbte_2:
check_text db '@ on/off',0
title db 'Gestore processi - Ctrl/Alt/Del',0
;--------------------------------------
else else
text: text:
db 'NAME/TERMINATE PID CPU-USAGE % ' db 'NAME/TERMINATE PID CPU-USAGE % '
@ -705,7 +718,7 @@ title db 'Process manager - Ctrl/Alt/Del',0
end if end if
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
file_start: file_start:
dd 7 dd 7
dd 0 dd 0
@ -720,7 +733,7 @@ start_application_c=$-start_application-1
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
IM_END: IM_END:
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
sc system_colors sc system_colors
winxpos rd 1 winxpos rd 1
winypos rd 1 winypos rd 1
@ -740,15 +753,15 @@ bar_bacground_color rd 1
btn_bacground_color rd 1 btn_bacground_color rd 1
draw_window_flag rd 1 draw_window_flag rd 1
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
library_path: library_path:
process_info_buffer process_information process_info_buffer process_information
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
cur_dir_path: cur_dir_path:
rb 1024 rb 1024
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
align 4 align 4
rb 1024 rb 1024
stack_area: stack_area:
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------

View File

@ -0,0 +1,32 @@
#!gmake
# Macro
FASM=/opt/bin/fasm
KPACK=/opt/bin/kpack
LANG=lang.inc
FILE=cpu
SOURCE=${FILE}.asm
OUT=${FILE}.bin
en:
echo "lang fix en" > ${LANG}
${FASM} ${SOURCE} ${OUT}
${KPACK} ${OUT}
ru:
echo "lang fix ru" > ${LANG}
${FASM} ${SOURCE} ${OUT}
${KPACK} ${OUT}
et:
echo "lang fix et" > ${LANG}
${FASM} ${SOURCE} ${OUT}
${KPACK} ${OUT}
ge:
echo "lang fix ge" > ${LANG}
${FASM} ${SOURCE} ${OUT}
${KPACK} ${OUT}
it:
echo "lang fix it" > ${LANG}
${FASM} ${SOURCE} ${OUT}
${KPACK} ${OUT}
clean:
rm -f ${LANG} ${OUT}

View File

@ -28,6 +28,8 @@ use32
dd 0x0 dd 0x0
dd 0x0 dd 0x0
include 'lang.inc' ; language support
include '..\..\..\macros.inc' ; useful macroses include '..\..\..\macros.inc' ; useful macroses
include 'draw.inc' include 'draw.inc'
include 'brand.inc' ;Brand ID decoding include 'brand.inc' ;Brand ID decoding
@ -197,7 +199,7 @@ jmp fut
maybe_athlon: maybe_athlon:
mov eax, 0x80000001 ; CPUID ext. function 0x80000001 mov eax, 0x80000001 ; CPUID ext. function 0x80000001
cpuid cpuid
mov ecx, eax mov ecx, eax
shr ecx,8 ; shift it to the correct position shr ecx,8 ; shift it to the correct position
and ecx,0000000Fh ; get CPU family and ecx,0000000Fh ; get CPU family
@ -239,15 +241,15 @@ mov dword [myname], $612F6E
mov [myname+44],edx mov [myname+44],edx
.noname: .noname:
red: red:
;mov byte [multiplier], 115; ; for testing ;mov byte [multiplier], 115; ; for testing
call multipl ; get multiplier call multipl ; get multiplier
mov byte [multiplier], cl mov byte [multiplier], cl
mov dword [freqbb], 0 mov dword [freqbb], 0
mov dword [freqll], 0 mov dword [freqll], 0
mov ebx, dword [multiplier] mov ebx, dword [multiplier]
test ebx, ebx test ebx, ebx
@ -467,7 +469,7 @@ mov [L2],ecx
A6: A6:
mov [FRS], 266 ;!!!!!! mov [FRS], 266 ;!!!!!!
Number 315,90,0,3,dword [FRS],0x000000; MHz Number 315,90,0,3,dword [FRS],0x000000; MHz
call newrating; !!!! call newrating; !!!!
@ -502,7 +504,7 @@ AA:
mov [FRS], 333; !!!! mov [FRS], 333; !!!!
Text 245,70,0x00000000,pr, prlen-pr Text 245,70,0x00000000,pr, prlen-pr
Number 315,90,0,3,dword [FRS],0x000000; MHz Number 315,90,0,3,dword [FRS],0x000000; MHz
mov edx, Atat mov edx, Atat
cmp [L2], 256 cmp [L2], 256
@ -523,7 +525,7 @@ fif: ; AMD-64 Family=15
;AMD AthlonTM 64 and AMD OpteronTM Processors" 25759.pdf ;AMD AthlonTM 64 and AMD OpteronTM Processors" 25759.pdf
; checking sse3 for new AMD's is needed ; checking sse3 for new AMD's is needed
cmp [m],$1 ; Dual-core Opteron cmp [m],$1 ; Dual-core Opteron
jz .AF1 jz .AF1
cmp [m],$3 ; Toledo 1024 0.09 // Manchester ||Windsor Dual Core not supported cmp [m],$3 ; Toledo 1024 0.09 // Manchester ||Windsor Dual Core not supported
jz .AF3 jz .AF3
@ -1377,25 +1379,25 @@ event_wait:
mov ebx,50 ; æäåìñ 0.5 ñåê mov ebx,50 ; æäåìñ 0.5 ñåê
mcall mcall
cmp eax,1 ; cmp eax,1 ;
je red ; redraw je red ; redraw
cmp eax,2 ; cmp eax,2 ;
je key ; key je key ; key
cmp eax,3 ; cmp eax,3 ;
je button ; button je button ; button
jmp still ; jmp still ;
key: ; key: ;
mcall ; mcall ;
jmp still ; jmp still ;
button: ; button: ;
mov eax,17 ; mov eax,17 ;
mcall ; mcall ;
cmp ah,1 ; = 1 ? cmp ah,1 ; = 1 ?
je close ; close je close ; close
cmp ah,2 ; = 2 ? cmp ah,2 ; = 2 ?
je thread_start ; je thread_start ;
; ;
cmp ah,3 ; = 3 ? cmp ah,3 ; = 3 ?
jne still jne still
@ -1403,7 +1405,7 @@ vybor:
Number 310,70,0,4,dword [rating],0xFFFFFF ; Number 310,70,0,4,dword [rating],0xFFFFFF ;
Number 315,90,0,3,dword [FRS]; MHz Number 315,90,0,3,dword [FRS]; MHz
cmp [FRS], 266 cmp [FRS], 266
jz .s1 jz .s1
@ -1418,7 +1420,7 @@ mov [FRS], 333
call newrating call newrating
Number 310,70,0,4,dword [rating],0x000000 Number 310,70,0,4,dword [rating],0x000000
Number 315,90,0,3,dword [FRS]; MHz Number 315,90,0,3,dword [FRS]; MHz
jmp still jmp still
.s2: .s2:
@ -1430,15 +1432,15 @@ mov [FRS], 266
jmp .rating jmp .rating
close: close:
mov eax,-1 mov eax,-1
mcall mcall
;**************************** THREAD-SECOND WINDOW ;**************************** THREAD-SECOND WINDOW
thread_start: thread_start:
cmp [num_win2],0 cmp [num_win2],0
jne still jne still
;================================================RSA test ;================================================RSA test
@ -1468,37 +1470,37 @@ CreateTread window_2,thread2_esp
jmp still jmp still
window_2: window_2:
mov [num_win2],1 mov [num_win2],1
call draw_window_2 call draw_window_2
still_2: still_2:
mov eax,10 mov eax,10
mcall mcall
cmp eax,1 cmp eax,1
je window_2 ; window_2 je window_2 ; window_2
cmp eax,2 ; cmp eax,2 ;
je key_2 ; key_2 je key_2 ; key_2
cmp eax,3 ; cmp eax,3 ;
je button_2 ; button_2 je button_2 ; button_2
jmp still_2 ; jmp still_2 ;
key_2: ; key_2: ;
mcall ; mcall ;
jmp still_2 ; jmp still_2 ;
button_2: ; button_2: ;
mov eax,17 ; 17 mov eax,17 ; 17
mcall ; mcall ;
cmp ah,1 ; = 1 ? cmp ah,1 ; = 1 ?
jne still_2 ; noclose jne still_2 ; noclose
mov [num_win2],0 ; mov [num_win2],0 ;
or eax,-1 ; or eax,-1 ;
mcall mcall
draw_window_2: draw_window_2:
@ -1661,10 +1663,10 @@ PutImage 15,330,93,24,img_area2+8 ; image "press for more"
cont: cont:
Text 15,50,0x00000000,tsum, tsumlen-tsum ; Text 15,50,0x00000000,tsum, tsumlen-tsum ;
Text 15,90,,cpuname, cpunamelen-cpuname; Text 15,90,,cpuname, cpunamelen-cpuname;
Text 255,250,,typen, typenlen-typen; Text 255,250,,typen, typenlen-typen;
Text 175, 50,,tech, techlen-tech; Text 175, 50,,tech, techlen-tech;
Number 82,50,0,4,dword [total],0x000000; MHz Number 82,50,0,4,dword [total],0x000000; MHz
Number 110,50,0,2,dword [sot]; KHz Number 110,50,0,2,dword [sot]; KHz
@ -1674,7 +1676,7 @@ PutImage 15,330,93,24,img_area2+8 ; image "press for more"
Text 15,230,,cache4, cache4len-cache4 Text 15,230,,cache4, cache4len-cache4
Number 75,110,1*256,1,dword [f],0x000000 ; Number 75,110,1*256,1,dword [f],0x000000 ;
Number 75,130,,,dword [m] Number 75,130,,,dword [m]
Number 75,150,,,dword [s] Number 75,150,,,dword [s]
@ -1710,7 +1712,7 @@ Number 289,30,0,2,dword [freqll]
;- ;-
Text 15,250,,brandid, brandidlen-brandid Text 15,250,,brandid, brandidlen-brandid
ret ; ret ;
load_gif: load_gif:
mov edi, img_area mov edi, img_area
@ -1724,7 +1726,13 @@ include 'gif_lite.inc' ; parse GIF files
title db 'CPUID 2.21 by S.Kuzmin & the KolibriOS team',0 title db 'CPUID 2.21 by S.Kuzmin & the KolibriOS team',0
tsum: tsum:
db 'Frequency: . MHz' if lang eq it
db 'Frequenza: . MHz'
else
db 'Frequency: . MHz'
end if
tsumlen: tsumlen:
total dd 0x0 total dd 0x0
@ -1733,7 +1741,13 @@ rating dd 0x0
rat dd 0x0 ; rat dd 0x0 ;
ram: ram:
db 'Available RAM: out of' if lang eq it
db 'RAM libera: su'
else
db 'Available RAM: out of'
end if
ramlen: ramlen:
NEF: NEF:
@ -1749,7 +1763,13 @@ mblen:
;logcpuslen: ;logcpuslen:
speed : speed :
db 'PERFORMANCE:' if lang eq it
db 'Performance'
else
db 'PERFORMANCE:'
end if
speedlen: speedlen:
kbpersec: kbpersec:
@ -1757,7 +1777,13 @@ db 'KB/SEC'
kbperseclen: kbperseclen:
instruct: instruct:
db 'Instruction sets' if lang eq it
db 'Set istruzioni'
else
db 'Instruction sets'
end if
instructlen: instructlen:
standard db 'Standard and Extended features plus Performance test',0 standard db 'Standard and Extended features plus Performance test',0
@ -1779,23 +1805,54 @@ brandid:
brandidlen: brandidlen:
oblom: oblom:
db 'SORRY, CPUID IS NOT AVAILABLE' if lang eq it
db 'CPUID non e disponibile'
else
db 'SORRY, CPUID IS NOT AVAILABLE'
end if
oblomlen: oblomlen:
other: other:
db 'SORRY, THIS VENDOR IS NOT SUPPORTED YET' if lang eq it
db 'Questo vendor non e supportato'
else
db 'SORRY, THIS VENDOR IS NOT SUPPORTED YET'
end if
otherlen: otherlen:
cpuname: cpuname:
db 'CPU VENDOR: ' if lang eq it
db 'Vendor CPU '
else
db 'CPU VENDOR: '
end if
cpunamelen: cpunamelen:
fam: fam:
db 'FAMILY: std ext' if lang eq it
db 'Famiglia: std ext'
else
db 'FAMILY: std ext'
end if
famlen: famlen:
mode: mode:
db 'MODEL: std ext' if lang eq it
db 'Modello: std ext'
else
db 'MODEL: std ext'
end if
modelen: modelen:
step: step:
db 'STEPPING:' if lang eq it
db 'Stepping:'
else
db 'STEPPING:'
end if
steplen: steplen:
cache2: cache2:
@ -1822,11 +1879,22 @@ cacheP4:
cacheP4len: cacheP4len:
tech: tech:
db 'Technology: 0. micron ' if lang eq it
db 'Tecnologia: 0. micron '
else
db 'Technology: 0. micron '
end if
techlen: techlen:
typen: typen:
db 'Type:' if lang eq it
db 'Tipo:'
else
db 'Type:'
end if
typenlen: typenlen:
pr: pr:
@ -1842,7 +1910,12 @@ freql:
freqllen: freqllen:
name: name:
db 'CODENAME:' if lang eq it
db 'Codename:'
else
db 'CODENAME:'
end if
namelen: namelen:
AMDn: AMDn:
@ -2110,7 +2183,12 @@ NG:
NGlen: NGlen:
stm: stm:
db 'Internal name:' if lang eq it
db 'Nome: '
else
db 'Internal name:'
end if
stmlen: stmlen:
athloncoef db 110, 115, 120, 125, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 120 athloncoef db 110, 115, 120, 125, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 120

View File

@ -0,0 +1,23 @@
#!gmake
###########################
### Esempio per Kolibri ###
###########################
# Macro
FASM=/opt/bin/fasm
KPACK=/opt/bin/kpack
LANG=lang.inc
FILE=CPUID
SOURCE=${FILE}.ASM
OUT=${FILE}.bin
en:
echo "lang fix en" > ${LANG}
${FASM} ${SOURCE} ${OUT}
it:
echo "lang fix it" > ${LANG}
${FASM} ${SOURCE} ${OUT}
clean:
rm -f ${LANG} ${OUT}

View File

@ -0,0 +1,16 @@
#!gmake
# Macro
FASM=/opt/bin/fasm
KPACK=/opt/bin/kpack
LANG=lang.inc
FILE=cropflat
SOURCE=${FILE}.asm
OUT=${FILE}.bin
en:
${FASM} ${SOURCE} ${OUT}
${KPACK} ${OUT}
clean:
rm -f ${LANG} ${OUT}

View File

@ -76,6 +76,8 @@ if lang eq ru
title db '<27><E28098>Ž‰Š€ ŽŠŽ<C5A0>',0 title db '<27><E28098>Ž‰Š€ ŽŠŽ<C5A0>',0
else if lang eq et else if lang eq et
title db 'AKNA SEADED - VALI VÄRV JA VAJUTA OBJEKTILE',0 title db 'AKNA SEADED - VALI VÄRV JA VAJUTA OBJEKTILE',0
else if lang eq it
title db 'Impostazioni - definire il colore e cliccare lo oggetto',0
else else
title db 'WINDOWS SETTINGS - DEFINE COLOR AND CLICK ON TARGET',0 title db 'WINDOWS SETTINGS - DEFINE COLOR AND CLICK ON TARGET',0
end if end if
@ -122,7 +124,7 @@ aColorDialog_Start db 'ColorDialog_start',0
;aOpenDialog_Version db 'Version_OpenDialog',0 ;aOpenDialog_Version db 'Version_OpenDialog',0
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4 align 4
Box_lib_import: Box_lib_import:
;init_lib dd a_init ;init_lib dd a_init
;version_lib dd a_version ;version_lib dd a_version
@ -339,7 +341,7 @@ cd_communication_area_name:
colordialog_path: colordialog_path:
db '/rd/1/colrdial',0 db '/rd/1/colrdial',0
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
frame_data: frame_data:
.type dd 0 ;+0 .type dd 0 ;+0
.x: .x:
.x_size dw 0 ;+4 .x_size dw 0 ;+4
@ -357,4 +359,4 @@ frame_data:
.font_color dd 0x0 ;+40 .font_color dd 0x0 ;+40
.font_backgr_color dd 0xffffff ;+44 .font_backgr_color dd 0xffffff ;+44
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
IncludeIGlobals IncludeIGlobals

View File

@ -0,0 +1,28 @@
#!gmake
# Macro
FASM=/opt/bin/fasm
KPACK=/opt/bin/kpack
LANG=lang.inc
FILE=desktop
SOURCE=${FILE}.asm
OUT=${FILE}.bin
en:
echo "lang fix en" > ${LANG}
${FASM} ${SOURCE} ${OUT}
et:
echo "lang fix et" > ${LANG}
${FASM} ${SOURCE} ${OUT}
ru:
echo "lang fix ru" > ${LANG}
${FASM} ${SOURCE} ${OUT}
sp:
echo "lang fix sp" > ${LANG}
${FASM} ${SOURCE} ${OUT}
it:
echo "lang fix it" > ${LANG}
${FASM} ${SOURCE} ${OUT}
clean:
rm -f ${LANG} ${OUT}

View File

@ -0,0 +1,17 @@
#!gmake
# Macro
FASM=/opt/bin/fasm
KPACK=/opt/bin/kpack
LANG=lang.inc
FILE=docpack
SOURCE=${FILE}.asm
OUT=${FILE}.bin
ru:
echo "lang fix ru" > ${LANG}
${FASM} ${SOURCE} ${OUT}
${KPACK} ${OUT}
clean:
rm -f ${LANG} ${OUT}

View File

@ -160,6 +160,14 @@ else if lang eq ge
label4: label4:
db 'Save your settings (Ctrl-S)',0 db 'Save your settings (Ctrl-S)',0
else if lang eq it
label2:
db ' Spegni Kernel',0
label3:
db ' Riavvio Annulla',0
label4:
db 'Salva impostazioni (Ctrl-S)',0
else else
label2: label2:
db 'Power off Kernel',0 db 'Power off Kernel',0

View File

@ -0,0 +1,29 @@
#!gmake
# Macro
FASM=/opt/bin/fasm
KPACK=/opt/bin/kpack
LANG=lang.inc
FILE=end
SOURCE=${FILE}.asm
OUT=${FILE}.bin
en:
echo "lang fix en" > ${LANG}
${FASM} ${SOURCE} ${OUT}
${KPACK} ${OUT}
ge:
echo "lang fix ge" > ${LANG}
${FASM} ${SOURCE} ${OUT}
${KPACK} ${OUT}
ru:
echo "lang fix ru" > ${LANG}
${FASM} ${SOURCE} ${OUT}
${KPACK} ${OUT}
it:
echo "lang fix it" > ${LANG}
${FASM} ${SOURCE} ${OUT}
${KPACK} ${OUT}
clean:
rm -f ${LANG} ${OUT}