6,7 → 6,7 |
;..................................................................................................... |
;; compiler: FASM 1.69.31 | |
;; version: 0.3.0 | |
;; last update: 07/11/2013 | |
;; last update: 08/11/2012 | |
;; e-mail: dr.steshin@gmail.com | |
;..................................................................................................... |
;; History: | |
34,8 → 34,7 |
;; 0.7.0 - ®¡ ¢«¥ ¯¨¯¥âª - ¢ë¡®à á।îî ª®¯ªã ¬ëè¨ | |
;; 0.7.5 - ¦ ⨥ ¯à ¢®© ª« ¢¨è¥© ¬ëè¨ ï祩ªã á 梥⮬ ãáâ ¢«¨¢ ¥â ¥ ®á®¢®©, ¤®¯®«. 梥â | |
;; - ¬¥ì襮 ¬¥àæ ¨¥ ¯à¨ à ¡®â¥ ¯¨¯¥âª¨ | |
;; 0.7.6 - ¥à¥à ¡®â ०¨¬ H (hidden): ⥯¥àì 梥⠧ £à㦠îâáï ¨§ wallpaper.dat (eAndrew) | |
;; - ਠãáâ ®¢ª¨ ä® ª®¯ª®©, 梥â ä® á®åà ï¥âáï ¢ wallpaper.dat (eAndrew) | |
;; 0.7.6 - ®¡ ¢«¥ ०¨¬ B, ª®â®àë© ¯à®¨§¢®¤¨â § ¬¥ã ä® à ¡®ç¥£® á⮫ è㬮© § «¨¢ª®© (e-andrew)| |
;..................................................................................................... |
;; All rights reserved. | |
;; | |
71,12 → 70,13 |
dd 0x01 |
dd START |
dd I_END |
dd I_RDATA+4096 |
dd I_RDATA+4096 |
dd I_MEM |
dd I_MEM |
dd params |
dd 0x0 |
|
include '../../../macros.inc' |
include '../../../proc32.inc' |
|
WIN_W equ 295 ; è¨à¨ ®ª |
WIN_H equ 195 ; ¢ëá®â ®ª |
160,9 → 160,14 |
jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
next_bg: |
cmp ah, 14 ; ®¯ª BACKGROUND |
jne circle_bg ; ¥á«¨ ¥ ¦ â â® ¢ë室¨¬ |
jne next_bg2 ; ¥á«¨ ¥ ¦ â â® ¢ë室¨¬ |
call set_background ; ¨ ç¥ ãáâ ¢«¨¢ ¥¬ ä® |
jmp still ; ¨ ®¦¨¤ ¨¥ ᮡëâ¨ï |
next_bg2: |
cmp ah, 16 ; ®¯ª BACKGROUND |
jne circle_bg ; ¥á«¨ ¥ ¦ â â® ¢ë室¨¬ |
call set_background2 ; ¨ ç¥ ãáâ ¢«¨¢ ¥¬ ä® |
jmp still ; ¨ ®¦¨¤ ¨¥ ᮡëâ¨ï |
circle_bg: |
cmp ah, 15 ; ®¯ª à㣮¢ ï ¯ «¨âà |
jne next_end ; ¥á«¨ ¥ ¦ â â® ¢ë室¨¬ |
369,17 → 374,34 |
draw_bottom_panel: ; âà¨á®¢ª ¨¦¥© ¯ ¥«¨ |
;................................................................................................. |
mov eax,8 ; draw button |
mov ebx,92 shl 16+100 ; [x] + [size] |
mov ebx,(92) shl 16+90 ; [x] + [size] |
mov ecx,169 shl 16+16 ; [y] + [size] |
mov edx,14 ; ID = 14 |
mov esi,[sc.work_button] ; RGB |
int 0x40 ; call |
|
add ebx, 100 shl 16 |
add edx, 2 |
int 0x40 |
|
mov eax,4 ; Write string |
mov ebx,113 shl 16+174 ; [x] + [y] |
mov ecx,[sc.work_button_text] ; RGB |
mov ebx,(113 - 104) shl 16+174 ; [x] + [y] |
mov ecx,[sc.work_text] ; RGB |
or ecx, 1 shl 31 |
mov edx,bground ; string pointer |
mov esi,10 ; count symbol |
int 0x40 ; call |
|
mov ecx, [sc.work_button_text] |
or ecx, 1 shl 31 |
|
add ebx, 106 shl 16 |
mov edx, bground1 |
int 0x40 |
|
add ebx, 107 shl 16 |
mov edx, bground2 |
int 0x40 |
|
mov eax,38 ; draw line |
mov ebx,4 shl 16+282 ; [start x] + [end x] |
mov ecx,163 shl 16+163 ; [start y] + [end y] |
468,29 → 490,6 |
mov ebx,3 ; ®¤äãªæ¨ï 3 - ¯¥à¥à¨á®¢ âì ä®. |
int 0x40 ; ë§ë¢ ¥¬ |
|
mov eax, [color] |
mov [fi.file+0], al |
shr eax, 8 |
mov [fi.file+1], al |
shr eax, 8 |
mov [fi.file+2], al |
|
mov eax, [color2] |
mov [fi.file+3], al |
shr eax, 8 |
mov [fi.file+4], al |
shr eax, 8 |
mov [fi.file+5], al |
|
mov [fi.p00], dword 2 |
mov [fi.p04], dword 0 |
mov [fi.p08], dword 0 |
mov [fi.p12], dword 6 |
mov [fi.p16], dword fi.file |
mov [fi.p20], dword 0 |
mov [fi.p21], dword dat_file |
mcall 70, fi |
|
ret |
;end_set_background |
|
938,12 → 937,12 |
mov ecx,0x0 ; 0xX0RRGGBB (RR, GG, BB § ¤ îâ 梥â ⥪áâ ) |
mov edx,cname ; 㪠§ ⥫ì ç «® áâப¨ |
mov esi,1 ; ¢ë¢®¤¨âì esi ᨬ¢®«®¢ |
newline_s: ; 横« |
newline: ; 横« |
int 0x40 ; à¥àë¢ ¨¥ |
add ebx,23 shl 16 ; ®¡ ¢«ï¥¬ |
add edx,1 ; ®¡ ¢«ï¥¬ |
cmp [edx],byte 'x' ; à ¢¥¨¥ á ¡ ©â®¬ å |
jne newline_s ;
᫨ ¥ ã«ì ¨«¨ ¥ à ¢® |
jne newline ;
᫨ ¥ ã«ì ¨«¨ ¥ à ¢® |
|
;................................................................................................. |
; âà¨á®¢ª á« ©¤¥à®¢ |
1041,89 → 1040,65 |
;end_draw_value |
|
_read_params: |
mov [fi.p00], dword 0 |
mov [fi.p04], dword 0 |
mov [fi.p08], dword 0 |
mov [fi.p12], dword 6 |
mov [fi.p16], dword fi.file |
mov [fi.p20], dword 0 |
mov [fi.p21], dword dat_file |
mcall 70, fi |
|
xor eax, eax |
mov al, [fi.file+2] |
shl eax, 8 |
mov al, [fi.file+1] |
shl eax, 8 |
mov al, [fi.file+0] |
mov [color], eax |
mov al,[params+2] |
mov [params_c+0],al |
|
xor eax, eax |
mov al, [fi.file+5] |
shl eax, 8 |
mov al, [fi.file+4] |
shl eax, 8 |
mov al, [fi.file+3] |
mov [color2], eax |
mov al,[params+3] |
mov [params_c+1],al |
|
; mov al,[params+2] |
; mov [params_c+0],al |
; |
; mov al,[params+3] |
; mov [params_c+1],al |
; |
; mov al,[params+4] |
; mov [params_c+2],al |
; |
; mov al,[params+5] |
; mov [params_c+3],al |
; |
; mov al,[params+6] |
; mov [params_c+4],al |
; |
; mov al,[params+7] |
; mov [params_c+5],al |
; |
; mov al,[params+8] |
; mov [params_c+6],al |
; |
; mov al,[params+9] |
; mov [params_c+7],al |
; |
; mov esi,params_c |
; mov ecx,16 |
; call ascii2int |
; mov [color],eax |
; |
; mov al,[params+11] |
; mov [params_c+0],al |
; |
; mov al,[params+12] |
; mov [params_c+1],al |
; |
; mov al,[params+13] |
; mov [params_c+2],al |
; |
; mov al,[params+14] |
; mov [params_c+3],al |
; |
; mov al,[params+15] |
; mov [params_c+4],al |
; |
; mov al,[params+16] |
; mov [params_c+5],al |
; |
; mov al,[params+17] |
; mov [params_c+6],al |
; |
; mov al,[params+18] |
; mov [params_c+7],al |
; |
; mov esi,params_c |
; mov ecx,16 |
; call ascii2int |
; mov [color2],eax |
mov al,[params+4] |
mov [params_c+2],al |
|
mov al,[params+5] |
mov [params_c+3],al |
|
mov al,[params+6] |
mov [params_c+4],al |
|
mov al,[params+7] |
mov [params_c+5],al |
|
mov al,[params+8] |
mov [params_c+6],al |
|
mov al,[params+9] |
mov [params_c+7],al |
|
mov esi,params_c |
mov ecx,16 |
call ascii2int |
mov [color],eax |
|
mov al,[params+11] |
mov [params_c+0],al |
|
mov al,[params+12] |
mov [params_c+1],al |
|
mov al,[params+13] |
mov [params_c+2],al |
|
mov al,[params+14] |
mov [params_c+3],al |
|
mov al,[params+15] |
mov [params_c+4],al |
|
mov al,[params+16] |
mov [params_c+5],al |
|
mov al,[params+17] |
mov [params_c+6],al |
|
mov al,[params+18] |
mov [params_c+7],al |
|
mov esi,params_c |
mov ecx,16 |
call ascii2int |
mov [color2],eax |
|
ret |
|
hex_digit: |
1273,58 → 1248,114 |
;end_str_len |
|
|
;------------------------------- |
|
proc random uses ebx ecx edx, max_value |
mov ebx, 0 |
mov eax, ebx |
or eax, eax |
jnz @f |
rdtsc |
xor eax, edx |
mov ebx, eax |
|
@@: |
xor edx, edx |
mov ecx, 127773 |
div ecx |
mov ecx, eax |
mov eax, 16807 |
mul edx |
mov edx, ecx |
mov ecx, eax |
mov eax, 2836 |
mul edx |
sub ecx, eax |
xor edx, edx |
mov eax, ecx |
mov ebx, ecx |
mov ecx, 100000 |
div ecx |
mov eax, edx |
|
xor edx, edx |
mov ebx, [max_value] |
div ebx |
mov eax, edx |
|
ret |
endp |
|
set_background2: |
mcall 68, 11 |
mcall 68, 12, 256 * 256 * 3 |
mov [image], eax |
|
mov edx, eax |
mov ecx, 256 * 256 |
@@: |
stdcall random, 15 + 1 |
sub al, 15 / 2 |
|
mov bh, byte [color + 0] |
add bh, al |
mov [edx + 0], bh |
mov bh, byte [color + 1] |
add bh, al |
mov [edx + 1], bh |
mov bh, byte [color + 2] |
add bh, al |
mov [edx + 2], bh |
add edx, 3 |
loop @b |
|
mcall 15, 1, 256, 256 |
mcall 15, 4, 1 |
mcall 15, 5, [image], 0, 256 * 256 * 3 |
mcall 15, 3 |
|
mcall 68, 13, [image] |
ret |
|
;#___________________________________________________________________________________________________ |
;****************************************************************************************************| |
;
| |
;----------------------------------------------------------------------------------------------------/ |
circle: |
dat_file db '/sys/settings/wallpaper.dat', 0 |
|
cm db 12 dup(0) |
color dd 00000000h ; åà ¨â § 票¥ ¢ë¡à ®£® 梥â |
color2 dd 00FFFFFFh ; åà ¨â § 票¥ ¢â®à®£® ¢ë¡à ®£® 梥â |
mouse_x dd 0 ; åà ¨â £«®¡ «ìãî å ª®®à¤¨ âã ¬ëè¨ |
mouse_y dd 0 ; åà ¨â £«®¡ «ìãî ã ª®®à¤¨ âã ¬ëè¨ |
mouse_f dd 0 ; åà ¨â ¤ ë¥ ® ⮬ ª ª ï ª®¯ª ¬ëè¨ ¡ë« ¦ â |
desctop_w dd 0 ; åà ¨â è¨à¨ã íªà |
desctop_h dd 0 ; åà ¨â ¢ëá®âã íªà |
sc system_colors ; åà ¨â áâàãªâãàã á¨á⥬ëå 梥⮢ ᪨ |
title db 'Palitra v0.75',0 ; åà ¨â ¨¬ï ¯à®£à ¬¬ë |
title db 'Palitra v0.76',0 ; åà ¨â ¨¬ï ¯à®£à ¬¬ë |
hidden db 'Hidden',0 |
hex db '#',0 ; ¤«ï ¢ë¢®¤ à¥èñ⪨ ª ª ⥪áâ |
cname db 'RGBAx' ; åà ¨â à §àï¤ë 梥⮢ (red,green,blue) x-¬¥âª ª®æ |
cred db 0 ; åà ¨¬ ªà áë© á¯¥ªàâ |
cgreen db 0 ; åà ¨¬ §¥«¥ë© ᯥªâà |
cblue db 0 ; åà ¨¬ ᨨ© ᯥªâà |
calpha db 0 ; åà ¨¬ ¯à®§à ç®áâì |
larrow db 0x1A,0 |
buff db '000',0 |
bground db 'BACKGROUND',0 ; ¨¬ï ª®¯ª¨ - 14 |
pnext dd 0 ; áç¥â稪 ¯¥à¥ª«îç¥¨ï ¯ «¨âàë |
renmode dd 0 ; ०¨¬ ®âà¨á®¢ª¨ (1-梥⮢ ï á奬 ,2-¯¨¯¥âª ,3-ªà㣮¢ ï) |
bground1 db 'Gradient',0 ; ¨¬ï ª®¯ª¨ - 14 |
bground2 db 'Noisy',0 ; ¨¬ï ª®¯ª¨ - 14 |
runmode dd 1 ; ०¨¬ § ¯ã᪠(1-normal, 2-hidden, 3-colordialog) |
params db 20 dup(0) ; ¯à¨ñ¬ ¯ à ¬¥â஢ |
; params_c db 9 dup(0) ; ¯à¨ñ¬¨ª ¤«ï 梥â |
color2 dd 00FFFFFFh ; åà ¨â § 票¥ ¢â®à®£® ¢ë¡à ®£® 梥â |
|
|
|
I_END: |
cm rb 12 |
color rd 1 ; åà ¨â § 票¥ ¢ë¡à ®£® 梥â |
mouse_x rd 1 ; åà ¨â £«®¡ «ìãî å ª®®à¤¨ âã ¬ëè¨ |
mouse_y rd 1 ; åà ¨â £«®¡ «ìãî ã ª®®à¤¨ âã ¬ëè¨ |
mouse_f rd 1 ; åà ¨â ¤ ë¥ ® ⮬ ª ª ï ª®¯ª ¬ëè¨ ¡ë« ¦ â |
desctop_w rd 1 ; åà ¨â è¨à¨ã íªà |
desctop_h rd 1 ; åà ¨â ¢ëá®âã íªà |
sc system_colors ; åà ¨â áâàãªâãàã á¨á⥬ëå 梥⮢ ᪨ |
cred rb 1 ; åà ¨¬ ªà áë© á¯¥ªàâ |
cgreen rb 1 ; åà ¨¬ §¥«¥ë© ᯥªâà |
cblue rb 1 ; åà ¨¬ ᨨ© ᯥªâà |
calpha rb 1 ; åà ¨¬ ¯à®§à ç®áâì |
pnext rd 1 ; áç¥â稪 ¯¥à¥ª«îç¥¨ï ¯ «¨âàë |
renmode rd 1 ; ०¨¬ ®âà¨á®¢ª¨ (1-梥⮢ ï á奬 ,2-¯¨¯¥âª ,3-ªà㣮¢ ï) |
params rb 20 ; ¯à¨ñ¬ ¯ à ¬¥â஢ |
params_c rb 9 ; ¯à¨ñ¬¨ª ¤«ï 梥â |
|
image rd 1 |
|
fi: |
.p00: |
rd 1 |
.p04: |
rd 1 |
.p08: |
rd 1 |
.p12: |
rd 1 |
.p16: |
rd 1 |
.p20: |
rb 1 |
.p21: |
rd 1 |
.file: |
rb 32 |
|
I_RDATA: |
rd 1024 |
I_MEM: |