fasm 1.67.27
@panel - removed binary file icon - version from latest version kolibri icon_new - movable icons (early development :) cpuspeed - new title git-svn-id: svn://kolibrios.org@872 a494cfbc-eb01-0410-851d-a64ba20cac60
@ -7,13 +7,13 @@
|
|||||||
use32
|
use32
|
||||||
org 0x0
|
org 0x0
|
||||||
|
|
||||||
db 'MENUET00' ; 8 byte id
|
db 'MENUET01' ; 8 byte id
|
||||||
dd 38 ; required os
|
dd 0x01 ; header version
|
||||||
dd START ; program start
|
dd START ; start of code
|
||||||
dd I_END ; program image size
|
dd I_END ; size of image
|
||||||
dd 0x1000 ; required amount of memory
|
dd 0x1000 ; memory for app
|
||||||
dd 0x1000 ; esp
|
dd 0x1000 ; esp
|
||||||
dd 0x00000000 ; reserved=no extended header
|
dd 0x0,0x0 ; I_Param , I_Icon
|
||||||
|
|
||||||
include 'lang.inc'
|
include 'lang.inc'
|
||||||
include '..\..\..\..\macros.inc'
|
include '..\..\..\..\macros.inc'
|
||||||
|
@ -601,7 +601,6 @@ write_mz_header:
|
|||||||
inc si
|
inc si
|
||||||
or ax,ax
|
or ax,ax
|
||||||
jnz mz_size_ok
|
jnz mz_size_ok
|
||||||
mov ax,200h
|
|
||||||
dec si
|
dec si
|
||||||
mz_size_ok:
|
mz_size_ok:
|
||||||
mov [edx+2],ax ; number of bytes in last page
|
mov [edx+2],ax ; number of bytes in last page
|
||||||
@ -705,6 +704,10 @@ make_stub:
|
|||||||
dec ecx
|
dec ecx
|
||||||
shl ecx,9
|
shl ecx,9
|
||||||
movzx edx,word [esi+2]
|
movzx edx,word [esi+2]
|
||||||
|
test edx,edx
|
||||||
|
jnz stub_header_size_ok
|
||||||
|
mov dx,200h
|
||||||
|
stub_header_size_ok:
|
||||||
add ecx,edx
|
add ecx,edx
|
||||||
mov edx,edi
|
mov edx,edi
|
||||||
sub ecx,eax
|
sub ecx,eax
|
||||||
|
@ -805,6 +805,11 @@ get_preprocessor_symbol:
|
|||||||
ret
|
ret
|
||||||
add_preprocessor_symbol:
|
add_preprocessor_symbol:
|
||||||
push edi esi
|
push edi esi
|
||||||
|
|
||||||
|
mov edi,preprocessor_directives
|
||||||
|
call get_directive
|
||||||
|
jnc reserved_word_used_as_symbol
|
||||||
|
|
||||||
call calculate_hash
|
call calculate_hash
|
||||||
mov ebp,eax
|
mov ebp,eax
|
||||||
and ebp,3FFh
|
and ebp,3FFh
|
||||||
@ -1655,8 +1660,7 @@ use_instant_macro:
|
|||||||
cmp dword [edi+4],0
|
cmp dword [edi+4],0
|
||||||
jne value_out_of_range
|
jne value_out_of_range
|
||||||
mov eax,[edi]
|
mov eax,[edi]
|
||||||
or eax,eax
|
|
||||||
jz instant_macro_done
|
|
||||||
cmp eax,80000000h
|
cmp eax,80000000h
|
||||||
jae value_out_of_range
|
jae value_out_of_range
|
||||||
push [free_additional_memory]
|
push [free_additional_memory]
|
||||||
@ -1708,9 +1712,12 @@ use_instant_macro:
|
|||||||
jmp add_rept_counter
|
jmp add_rept_counter
|
||||||
rept_counters_ok:
|
rept_counters_ok:
|
||||||
dec esi
|
dec esi
|
||||||
|
cmp [counter_limit],0
|
||||||
|
je instant_macro_finish
|
||||||
instant_macro_parameters_ok:
|
instant_macro_parameters_ok:
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
call process_macro
|
call process_macro
|
||||||
|
instant_macro_finish:
|
||||||
pop [counter_limit]
|
pop [counter_limit]
|
||||||
pop [macro_symbols]
|
pop [macro_symbols]
|
||||||
pop [free_additional_memory]
|
pop [free_additional_memory]
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
; cannot simply be copied and put under another distribution licence
|
; cannot simply be copied and put under another distribution licence
|
||||||
; (including the GNU Public Licence).
|
; (including the GNU Public Licence).
|
||||||
|
|
||||||
VERSION_STRING equ "1.67.26"
|
VERSION_STRING equ "1.67.27"
|
||||||
|
|
||||||
VERSION_MAJOR = 1
|
VERSION_MAJOR = 1
|
||||||
VERSION_MINOR = 67
|
VERSION_MINOR = 67
|
||||||
|
@ -3355,15 +3355,15 @@ conditional_jump:
|
|||||||
loop_instruction_16bit:
|
loop_instruction_16bit:
|
||||||
cmp [code_type],64
|
cmp [code_type],64
|
||||||
je illegal_instruction
|
je illegal_instruction
|
||||||
mov dl,al
|
cmp [code_type],16
|
||||||
call address_16bit_prefix
|
je loop_instruction
|
||||||
mov al,dl
|
mov [operand_prefix],67h
|
||||||
jmp loop_instruction
|
jmp loop_instruction
|
||||||
loop_instruction_32bit:
|
loop_instruction_32bit:
|
||||||
mov dl,al
|
cmp [code_type],32
|
||||||
call address_32bit_prefix
|
je loop_instruction
|
||||||
mov al,dl
|
mov [operand_prefix],67h
|
||||||
jmp loop_instruction
|
jmp loop_instruction
|
||||||
loop_instruction_64bit:
|
loop_instruction_64bit:
|
||||||
cmp [code_type],64
|
cmp [code_type],64
|
||||||
jne illegal_instruction
|
jne illegal_instruction
|
||||||
@ -3400,12 +3400,22 @@ loop_instruction:
|
|||||||
mov byte [edi],66h
|
mov byte [edi],66h
|
||||||
inc edi
|
inc edi
|
||||||
loop_jump_32bit_prefix_ok:
|
loop_jump_32bit_prefix_ok:
|
||||||
|
call loop_counter_size
|
||||||
call calculate_jump_offset
|
call calculate_jump_offset
|
||||||
cdq
|
cdq
|
||||||
make_loop_jump:
|
make_loop_jump:
|
||||||
call check_for_short_jump
|
call check_for_short_jump
|
||||||
jc conditional_jump_short
|
jc conditional_jump_short
|
||||||
jmp jump_out_of_range
|
jmp jump_out_of_range
|
||||||
|
loop_counter_size:
|
||||||
|
cmp [operand_prefix],0
|
||||||
|
je loop_counter_size_ok
|
||||||
|
push eax
|
||||||
|
mov al,[operand_prefix]
|
||||||
|
stos byte [edi]
|
||||||
|
pop eax
|
||||||
|
loop_counter_size_ok:
|
||||||
|
ret
|
||||||
loop_jump_64bit:
|
loop_jump_64bit:
|
||||||
cmp [code_type],64
|
cmp [code_type],64
|
||||||
jne invalid_operand_size
|
jne invalid_operand_size
|
||||||
@ -3423,6 +3433,7 @@ loop_instruction:
|
|||||||
mov byte [edi],66h
|
mov byte [edi],66h
|
||||||
inc edi
|
inc edi
|
||||||
loop_jump_16bit_prefix_ok:
|
loop_jump_16bit_prefix_ok:
|
||||||
|
call loop_counter_size
|
||||||
call calculate_jump_offset
|
call calculate_jump_offset
|
||||||
cwde
|
cwde
|
||||||
cdq
|
cdq
|
||||||
@ -4885,6 +4896,8 @@ movq_instruction:
|
|||||||
jmp instruction_assembled
|
jmp instruction_assembled
|
||||||
movq_mmreg_mmreg:
|
movq_mmreg_mmreg:
|
||||||
call convert_mmx_register
|
call convert_mmx_register
|
||||||
|
cmp ah,[mmx_size]
|
||||||
|
jne invalid_operand_size
|
||||||
mov bl,al
|
mov bl,al
|
||||||
call store_nomem_instruction
|
call store_nomem_instruction
|
||||||
jmp instruction_assembled
|
jmp instruction_assembled
|
||||||
@ -5839,8 +5852,7 @@ vmread_instruction:
|
|||||||
lods byte [esi]
|
lods byte [esi]
|
||||||
call convert_register
|
call convert_register
|
||||||
mov [postbyte_register],al
|
mov [postbyte_register],al
|
||||||
cmp [operand_size],4
|
call vmread_check_size
|
||||||
jne invalid_operand_size
|
|
||||||
jmp vmx_size_ok
|
jmp vmx_size_ok
|
||||||
vmread_nomem:
|
vmread_nomem:
|
||||||
lods byte [esi]
|
lods byte [esi]
|
||||||
@ -5858,8 +5870,7 @@ vmread_instruction:
|
|||||||
lods byte [esi]
|
lods byte [esi]
|
||||||
call convert_register
|
call convert_register
|
||||||
mov [postbyte_register],al
|
mov [postbyte_register],al
|
||||||
cmp [operand_size],4
|
call vmread_check_size
|
||||||
jne invalid_operand_size
|
|
||||||
pop ebx
|
pop ebx
|
||||||
mov [base_code],0Fh
|
mov [base_code],0Fh
|
||||||
call store_nomem_instruction
|
call store_nomem_instruction
|
||||||
@ -5883,8 +5894,7 @@ vmwrite_instruction:
|
|||||||
lods byte [esi]
|
lods byte [esi]
|
||||||
call convert_register
|
call convert_register
|
||||||
mov [postbyte_register],al
|
mov [postbyte_register],al
|
||||||
cmp [operand_size],4
|
call vmread_check_size
|
||||||
jne invalid_operand_size
|
|
||||||
mov [operand_size],0
|
mov [operand_size],0
|
||||||
lods byte [esi]
|
lods byte [esi]
|
||||||
cmp al,','
|
cmp al,','
|
||||||
@ -6447,7 +6457,13 @@ store_instruction:
|
|||||||
mov eax,edx
|
mov eax,edx
|
||||||
cdq
|
cdq
|
||||||
cmp edx,[address_high]
|
cmp edx,[address_high]
|
||||||
jne value_out_of_range
|
je address_32bit_value_ok
|
||||||
|
cmp [error_line],0
|
||||||
|
jne address_32bit_value_ok
|
||||||
|
mov edx,[current_line]
|
||||||
|
mov [error_line],edx
|
||||||
|
mov [error],value_out_of_range
|
||||||
|
address_32bit_value_ok:
|
||||||
mov edx,eax
|
mov edx,eax
|
||||||
jmp store_address_32bit_value
|
jmp store_address_32bit_value
|
||||||
sib_address_8bit_value:
|
sib_address_8bit_value:
|
||||||
|
@ -1,26 +1,28 @@
|
|||||||
AA-SYSXTREE-004-/sys/SYSXTREE - *
|
AA-EOLITE -002-/SYS/File Managers/EOLITE - *
|
||||||
AB-COPY -008-/sys/COPY2 - *
|
AB-COPY -006-/SYS/COPY2 - *
|
||||||
AC-RDSAVE -020-/sys/RDSAVE - *
|
AC-RDSAVE -017-/SYS/RDSAVE - *
|
||||||
BB-CALC -006-/sys/CALC - *
|
BB-CALC -004-/SYS/CALC - *
|
||||||
CA-TINYPAD -011-/sys/TINYPAD - *
|
CA-TINYPAD -009-/SYS/TINYPAD - *
|
||||||
CB-KFM -007-/sys/KFM - *
|
CB-KFM -005-/SYS/File Managers/KFM - *
|
||||||
JA-VRR -009-/sys/VRR - *
|
JA-VRR -007-/SYS/VRR - *
|
||||||
II-C4 -005-/sys/GAMES/C4 - *
|
II-CLICKS -003-/SYS/GAMES/CLICKS - *
|
||||||
JI-MINE -017-/sys/GAMES/MINE - *
|
JI-MINE -014-/SYS/GAMES/MINE - *
|
||||||
IH-TETRIS -021-/sys/GAMES/TETRIS - *
|
IH-TETRIS -018-/SYS/GAMES/TETRIS - *
|
||||||
JH-MBLOCKS -013-/sys/GAMES/MBLOCKS - *
|
JH-MBLOCKS -011-/SYS/GAMES/MBLOCKS - *
|
||||||
HI-PONG -026-/sys/GAMES/PONG3 - *
|
HI-CHECKERS-001-/SYS/GAMES/CHECKERS - *
|
||||||
GI-15 -000-/sys/GAMES/15 - *
|
GI-15 -000-/SYS/GAMES/15 - *
|
||||||
HH-LIFE2 -015-/sys/DEMOS/LIFE2 - *
|
HH-LIFE2 -013-/SYS/DEMOS/LIFE2 - *
|
||||||
BA-FASM -012-/sys/DEVELOP/FASM - *
|
BA-FASM -010-/SYS/DEVELOP/FASM - *
|
||||||
JB-ANIMAGE -018-/sys/ANIMAGE - *
|
JB-ANIMAGE -015-/SYS/ANIMAGE - *
|
||||||
CC-CMD -023-/sys/CMD - *
|
CC-CMD -020-/SYS/CMD - *
|
||||||
IA-BOARD -022-/sys/DEVELOP/BOARD - *
|
IA-BOARD -019-/SYS/DEVELOP/BOARD - *
|
||||||
JC-DOCPACK -010-/sys/DOCPAK - *
|
JC-DOCPACK -008-/SYS/DOCPAK - *
|
||||||
BC-KFAR -027-/sys/KFAR - *
|
BC-KFAR -024-/SYS/File Managers/KFAR - *
|
||||||
HA-MTDBG -029-/sys/DEVELOP/MTDBG - *
|
HA-MTDBG -025-/SYS/DEVELOP/MTDBG - *
|
||||||
AH-PIPES -030-/sys/GAMES/PIPES - *
|
AH-PIPES -026-/SYS/GAMES/PIPES - *
|
||||||
AI-FARA -031-/sys/GAMES/FARA - *
|
AI-FARA -027-/SYS/GAMES/FARA - *
|
||||||
BI-ARC-II -014-/sys/GAMES/ARCANII - *
|
BI-ARC-II -012-/SYS/GAMES/ARCANII - *
|
||||||
BH-XONIX -024-/sys/GAMES/XONIX - *
|
BH-XONIX -021-/SYS/GAMES/XONIX - *
|
||||||
GH-CHECKERS-002-/sys/GAMES/CHECKERS - *
|
GH-INVADERS-029-/SYS/GAMES/INVADERS - *
|
||||||
|
CI-LODERUN -030-/SYS/GAMES/LRL_PK - *
|
||||||
|
CH-KOSILKA -023-/SYS/GAMES/KOSILKA - *
|
||||||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 12 KiB |
BIN
programs/system/icon_new/trunk/hand.cur
Normal file
After Width: | Height: | Size: 766 B |
@ -21,178 +21,244 @@ use32
|
|||||||
; +0 +4 +8 +38 +68
|
; +0 +4 +8 +38 +68
|
||||||
|
|
||||||
include '..\..\..\macros.inc'
|
include '..\..\..\macros.inc'
|
||||||
|
|
||||||
;__DEBUG__ fix 1
|
;__DEBUG__ fix 1
|
||||||
;__DEBUG_LEVEL__ fix 1
|
;__DEBUG_LEVEL__ fix 1
|
||||||
;include 'debug-fdo.inc'
|
;include 'debug-fdo.inc'
|
||||||
flipdelay = 7
|
|
||||||
|
flipdelay = 5
|
||||||
|
|
||||||
START: ; start of execution
|
START: ; start of execution
|
||||||
|
|
||||||
cmp [I_PARAM],byte 0
|
cmp [I_PARAM],byte 0
|
||||||
jne nohalt
|
jne nohalt
|
||||||
or eax,-1
|
mcall -1
|
||||||
mcall
|
|
||||||
nohalt:
|
nohalt:
|
||||||
|
mov eax,[I_PARAM+0]
|
||||||
|
sub eax,0x01010101
|
||||||
|
mov [xpos],eax
|
||||||
|
mov eax,[I_PARAM+4]
|
||||||
|
sub eax,0x01010101
|
||||||
|
mov [ypos],eax
|
||||||
|
|
||||||
mov eax,[I_PARAM+0]
|
mov esi,I_PARAM+8
|
||||||
sub eax,0x01010101
|
mov edi,fname
|
||||||
mov [xpos],eax
|
mov ecx,30
|
||||||
mov eax,[I_PARAM+4]
|
|
||||||
sub eax,0x01010101
|
|
||||||
mov [ypos],eax
|
|
||||||
|
|
||||||
mov esi,I_PARAM+8
|
|
||||||
mov edi,fname
|
|
||||||
mov ecx,30
|
|
||||||
cld
|
cld
|
||||||
rep movsb
|
rep movsb
|
||||||
call fill_paths
|
call fill_paths
|
||||||
|
|
||||||
;DEBUGF 1,"fname: '%s'\n",fname
|
;DEBUGF 1,"fname: '%s'\n",fname
|
||||||
|
|
||||||
mov esi,I_PARAM+8+30
|
mov esi,I_PARAM+8+30
|
||||||
mov edi,start_file
|
mov edi,start_file
|
||||||
mov ecx,30
|
mov ecx,30
|
||||||
rep movsb
|
|
||||||
call fill_paths
|
|
||||||
|
|
||||||
mov esi,I_PARAM+8+30+30
|
|
||||||
mov edi,labelt
|
|
||||||
mov ecx,10
|
|
||||||
cld
|
cld
|
||||||
rep movsb
|
rep movsb
|
||||||
|
call fill_paths
|
||||||
|
|
||||||
mov eax,40 ; get also event background change
|
mov esi,I_PARAM+8+30+30
|
||||||
mov ebx,10101b
|
mov edi,labelt
|
||||||
mcall
|
mov ecx,10
|
||||||
|
cld
|
||||||
|
rep movsb
|
||||||
|
|
||||||
|
mcall 40,110001b
|
||||||
|
|
||||||
call get_bg
|
mcall 37,4,hand,1
|
||||||
|
mov ecx,eax
|
||||||
|
mcall 37,5
|
||||||
|
|
||||||
red: ; redraw
|
red:
|
||||||
call draw_window
|
call get_bg
|
||||||
|
call draw_window
|
||||||
|
|
||||||
still:
|
still:
|
||||||
|
|
||||||
mov eax,10 ; wait here for event
|
mcall 10 ; wait here for event
|
||||||
mcall
|
|
||||||
|
|
||||||
cmp eax,1 ; redraw request ?
|
cmp eax,1 ; redraw request ?
|
||||||
jz red
|
jz red
|
||||||
cmp eax,3 ; button in buffer ?
|
cmp eax,6
|
||||||
jz button
|
jz mouse
|
||||||
|
|
||||||
check:
|
call get_bg
|
||||||
call get_bg
|
call draw_icon
|
||||||
call draw_icon
|
|
||||||
mcall 5,80
|
mcall 5,80
|
||||||
jmp still
|
jmp still
|
||||||
|
|
||||||
button: ; button
|
|
||||||
mov al,17 ; get id
|
|
||||||
mcall
|
|
||||||
|
|
||||||
mov eax,70
|
mouse:
|
||||||
mov ebx,finfo_start
|
|
||||||
mcall
|
|
||||||
|
|
||||||
call flip_icon
|
mcall 9,process,-1
|
||||||
|
xor ebx,ebx
|
||||||
|
mov bx,[process.window_stack_position]
|
||||||
|
cmp eax,ebx ;check is this process is active
|
||||||
|
jne still
|
||||||
|
|
||||||
jmp still
|
cmp [mouse_pressed],1
|
||||||
|
je @f
|
||||||
|
|
||||||
|
mcall 37,2
|
||||||
|
test eax,1
|
||||||
|
jz still
|
||||||
|
|
||||||
|
mov [icon_moved],0
|
||||||
|
|
||||||
|
mcall 37,0
|
||||||
|
mov ebx,eax
|
||||||
|
shr eax,16 ; eax= abs x
|
||||||
|
and ebx,0xffff ; ebx= abs y
|
||||||
|
|
||||||
|
mov [xmouse_old],eax ; saving mouse coordinates
|
||||||
|
mov [ymouse_old],ebx
|
||||||
|
|
||||||
|
cmp eax,[process.box.left] ; check is mouse in icon area
|
||||||
|
jl still
|
||||||
|
sub eax,[process.box.left]
|
||||||
|
cmp eax,[process.box.width]
|
||||||
|
ja still
|
||||||
|
|
||||||
|
cmp ebx,[process.box.top]
|
||||||
|
jl still
|
||||||
|
sub ebx,[process.box.top]
|
||||||
|
cmp ebx,[process.box.height]
|
||||||
|
ja still
|
||||||
|
|
||||||
|
mov [xmouse_rel],eax ; saving relative coordinates
|
||||||
|
mov [ymouse_rel],ebx
|
||||||
|
|
||||||
|
mov [mouse_pressed],1
|
||||||
|
|
||||||
|
jmp still
|
||||||
|
|
||||||
|
@@:
|
||||||
|
mcall 37,2
|
||||||
|
test eax,1
|
||||||
|
jnz @F
|
||||||
|
|
||||||
|
mov [mouse_pressed],0
|
||||||
|
|
||||||
|
@@:
|
||||||
|
mcall 37,0
|
||||||
|
mov ecx,eax
|
||||||
|
shr eax,16 ; eax= abs x
|
||||||
|
and ecx,0xffff ; ecx= abs y
|
||||||
|
push eax ecx
|
||||||
|
|
||||||
|
cmp [icon_moved],1
|
||||||
|
je move
|
||||||
|
|
||||||
|
add eax,2
|
||||||
|
cmp eax,[xmouse_old]
|
||||||
|
jle move
|
||||||
|
sub eax,4
|
||||||
|
cmp eax,[xmouse_old]
|
||||||
|
jae move
|
||||||
|
|
||||||
|
add ecx,2
|
||||||
|
cmp ecx,[ymouse_old]
|
||||||
|
jle move
|
||||||
|
sub ecx,4
|
||||||
|
cmp ecx,[ymouse_old]
|
||||||
|
jae move
|
||||||
|
|
||||||
|
cmp [mouse_pressed],1
|
||||||
|
je still
|
||||||
|
|
||||||
|
mcall 70,finfo_start
|
||||||
|
call flip_icon
|
||||||
|
jmp still
|
||||||
|
|
||||||
|
move:
|
||||||
|
mov [icon_moved],1
|
||||||
|
pop ecx ebx
|
||||||
|
sub ebx,[xmouse_rel] ; ebx=new_x
|
||||||
|
sub ecx,[ymouse_rel] ; ecx=new_y
|
||||||
|
mov [xpos],ebx
|
||||||
|
mov [ypos],ecx
|
||||||
|
|
||||||
|
mcall 67,,,-1,-1 ; move
|
||||||
|
|
||||||
|
jmp still
|
||||||
|
|
||||||
|
fill_paths:
|
||||||
|
dec edi
|
||||||
|
mov ecx,30
|
||||||
|
std
|
||||||
|
mov al,' '
|
||||||
|
repe scasb
|
||||||
|
cld
|
||||||
|
mov byte[edi+2],0
|
||||||
|
ret
|
||||||
|
|
||||||
flip_icon:
|
flip_icon:
|
||||||
|
|
||||||
mov eax,1
|
mov eax,1
|
||||||
call flip
|
call flip
|
||||||
mov eax,2
|
inc eax
|
||||||
call flip
|
call flip
|
||||||
mov eax,3
|
inc eax
|
||||||
call flip
|
call flip
|
||||||
mov eax,4
|
inc eax
|
||||||
call flip
|
call flip
|
||||||
mov eax,5
|
inc eax
|
||||||
call flip
|
call flip
|
||||||
mov eax,4
|
dec eax
|
||||||
call flip
|
call flip
|
||||||
mov eax,3
|
dec eax
|
||||||
call flip
|
call flip
|
||||||
mov eax,2
|
dec eax
|
||||||
call flip
|
call flip
|
||||||
mov eax,1
|
dec eax
|
||||||
call flip
|
call flip
|
||||||
mov eax,0
|
xor eax,eax
|
||||||
call flip
|
call flip
|
||||||
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
flip:
|
flip:
|
||||||
mov [iconstate],eax
|
push eax
|
||||||
call get_bg
|
mov [iconstate],eax
|
||||||
call draw_icon
|
call get_bg
|
||||||
mov eax,5
|
call draw_icon
|
||||||
mov ebx,flipdelay
|
mcall 5,flipdelay
|
||||||
mcall
|
pop eax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
fill_paths:
|
|
||||||
dec edi
|
|
||||||
mov ecx,30
|
|
||||||
std
|
|
||||||
mov al,' '
|
|
||||||
repe scasb
|
|
||||||
cld
|
|
||||||
mov byte[edi+2],0
|
|
||||||
ret
|
|
||||||
|
|
||||||
draw_window:
|
draw_window:
|
||||||
|
|
||||||
mov eax,12 ; function 12:tell os about windowdraw
|
mcall 12,1 ; function 12,1 - tell os about start of draw window
|
||||||
mov ebx,1 ; 1, start of draw
|
|
||||||
mcall
|
|
||||||
|
|
||||||
; DRAW WINDOW
|
xor eax,eax ; function 0 : define and draw window
|
||||||
xor eax,eax ; function 0 : define and draw window
|
mov ebx,[xpos-2]
|
||||||
mov ebx,[xpos-2]
|
add ebx,51 ; [x start] *65536 + [x size]
|
||||||
mov ecx,[ypos-2]
|
mov ecx,[ypos-2]
|
||||||
add ebx,[yw] ; [x start] *65536 + [x size]
|
add ecx,67 ; [y start] *65536 + [y size]
|
||||||
add ecx,67 ; [y start] *65536 + [y size]
|
mov edx,0x01000000
|
||||||
mov edx,0x01000000 ; color of work area RRGGBB,8->color gl
|
mov esi,0x01000000
|
||||||
mcall
|
mcall
|
||||||
|
|
||||||
mov eax,8 ; button
|
call draw_icon
|
||||||
mov ebx,51
|
|
||||||
mov ecx,67
|
|
||||||
mov edx,0x60000001
|
|
||||||
mcall
|
|
||||||
|
|
||||||
call draw_icon
|
mcall 12,2 ; function 12,2 - tell os about end of draw window
|
||||||
|
|
||||||
mov eax,12
|
ret
|
||||||
mov ebx,2
|
|
||||||
mcall
|
|
||||||
|
|
||||||
ret
|
|
||||||
|
|
||||||
get_bg:
|
get_bg:
|
||||||
|
|
||||||
mov eax,14
|
mcall 61,1
|
||||||
mcall
|
|
||||||
add eax,0x00010001
|
|
||||||
mov [scrxy],eax
|
mov [scrxy],eax
|
||||||
|
|
||||||
mov eax,39 ; get background type
|
mcall 39,4 ; get background type
|
||||||
mov ebx,4
|
|
||||||
mcall
|
|
||||||
mov [bgrdrawtype],eax
|
mov [bgrdrawtype],eax
|
||||||
|
|
||||||
mov eax,39 ; get background size
|
mcall 39,1 ; get background size
|
||||||
mov ebx,1
|
|
||||||
mcall
|
|
||||||
mov [bgrxy],eax
|
mov [bgrxy],eax
|
||||||
|
|
||||||
mov eax,70
|
mcall 70,finfo
|
||||||
mov ebx,finfo
|
|
||||||
mcall
|
|
||||||
|
|
||||||
mov [itype],0
|
mov [itype],0
|
||||||
cmp word[I_END+256],'BM'
|
cmp word[I_END+256],'BM'
|
||||||
@ -200,7 +266,7 @@ get_bg:
|
|||||||
inc [itype]
|
inc [itype]
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
mov ebx,[yw]
|
mov ebx,51
|
||||||
xor ecx,ecx ; 10608 = 52*68*3 - bg image
|
xor ecx,ecx ; 10608 = 52*68*3 - bg image
|
||||||
mov esi,I_END+256+9662 ; 9662 - icon file image
|
mov esi,I_END+256+9662 ; 9662 - icon file image
|
||||||
mov edi,51*3
|
mov edi,51*3
|
||||||
@ -211,7 +277,7 @@ get_bg:
|
|||||||
|
|
||||||
yesbpix:
|
yesbpix:
|
||||||
|
|
||||||
cmp [bgrdrawtype],dword 2
|
cmp [bgrdrawtype],2
|
||||||
jne nostretch
|
jne nostretch
|
||||||
|
|
||||||
mov eax,[ypos]
|
mov eax,[ypos]
|
||||||
@ -240,7 +306,7 @@ get_bg:
|
|||||||
|
|
||||||
nostretch:
|
nostretch:
|
||||||
|
|
||||||
cmp [bgrdrawtype],dword 1
|
cmp [bgrdrawtype],1
|
||||||
jne notiled
|
jne notiled
|
||||||
|
|
||||||
mov eax,[ypos]
|
mov eax,[ypos]
|
||||||
@ -266,11 +332,7 @@ get_bg:
|
|||||||
notiled:
|
notiled:
|
||||||
|
|
||||||
lea ecx,[eax+eax*2]
|
lea ecx,[eax+eax*2]
|
||||||
|
mcall 39,2
|
||||||
mov eax,39
|
|
||||||
mov ebx,2
|
|
||||||
|
|
||||||
mcall
|
|
||||||
|
|
||||||
nobpix:
|
nobpix:
|
||||||
|
|
||||||
@ -284,7 +346,7 @@ get_bg:
|
|||||||
|
|
||||||
dec ebx
|
dec ebx
|
||||||
jge newb
|
jge newb
|
||||||
mov ebx,[yw]
|
mov ebx,51
|
||||||
|
|
||||||
add esi,52*3
|
add esi,52*3
|
||||||
mov edi,51*3
|
mov edi,51*3
|
||||||
@ -406,11 +468,7 @@ get_bg:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
draw_picture:
|
draw_picture:
|
||||||
mov eax,7
|
mcall 7,I_END+256+9662,52 shl 16+68,0
|
||||||
mov ebx,I_END+256+9662
|
|
||||||
mov ecx,52 shl 16 + 68
|
|
||||||
xor edx,edx
|
|
||||||
mcall
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
draw_icon:
|
draw_icon:
|
||||||
@ -438,14 +496,14 @@ draw_text:
|
|||||||
shl ecx,16
|
shl ecx,16
|
||||||
add ebx,ecx
|
add ebx,ecx
|
||||||
|
|
||||||
; replaced - delete commented lines below if you like that style
|
; black shade of text
|
||||||
mov eax,4 ; white text
|
; uncomment lines below if you like that style
|
||||||
|
|
||||||
xor ecx,ecx
|
xor ecx,ecx
|
||||||
mov edx,labelt
|
mov edx,labelt
|
||||||
mov esi,labellen-labelt
|
mov esi,labellen-labelt
|
||||||
add ebx,1 shl 16 ;*65536+1
|
add ebx,1 shl 16
|
||||||
mcall
|
mcall 4
|
||||||
inc ebx
|
inc ebx
|
||||||
mcall
|
mcall
|
||||||
add ebx,1 shl 16
|
add ebx,1 shl 16
|
||||||
@ -454,23 +512,22 @@ draw_text:
|
|||||||
mcall
|
mcall
|
||||||
sub ebx,1 shl 16
|
sub ebx,1 shl 16
|
||||||
mcall
|
mcall
|
||||||
sub ebx,1 shl 16 +1
|
sub ebx,1*65536+1
|
||||||
mcall
|
mcall
|
||||||
sub ebx,1 shl 16 + 1
|
sub ebx,1*65536+1
|
||||||
mcall
|
mcall
|
||||||
add ebx,1 shl 16 - 1
|
add ebx,1*65536-1
|
||||||
mcall
|
mcall
|
||||||
inc ebx
|
inc ebx
|
||||||
mov ecx,0xffffff
|
or ecx,0xffffff
|
||||||
mcall
|
mcall
|
||||||
|
|
||||||
;xor ecx,ecx ; black shade of text
|
;xor ecx,ecx
|
||||||
;mov edx,labelt
|
;mov edx,labelt
|
||||||
;mov esi,labellen-labelt
|
;mov esi,labellen-labelt
|
||||||
;add ebx,1*65536+1
|
;mcall 4
|
||||||
;mcall
|
|
||||||
;sub ebx,1*65536+1
|
;sub ebx,1*65536+1
|
||||||
;mov ecx,0xffffff
|
;or ecx,0xffffff
|
||||||
;mcall
|
;mcall
|
||||||
|
|
||||||
ret
|
ret
|
||||||
@ -480,18 +537,17 @@ draw_text:
|
|||||||
|
|
||||||
itype db 0
|
itype db 0
|
||||||
|
|
||||||
align 4
|
|
||||||
|
|
||||||
tl dd 2
|
tl dd 2
|
||||||
yw dd 51
|
|
||||||
|
|
||||||
xpos dd 15
|
|
||||||
ypos dd 185
|
|
||||||
|
|
||||||
bgrxy dd 0x0
|
bgrxy dd 0x0
|
||||||
scrxy dd 0x0
|
scrxy dd 0x0
|
||||||
bgrdrawtype dd 0x0
|
bgrdrawtype dd 0x0
|
||||||
|
|
||||||
|
hand file 'hand.cur'
|
||||||
|
|
||||||
|
icon_moved dd 0
|
||||||
|
|
||||||
iconstate dd 0
|
iconstate dd 0
|
||||||
|
|
||||||
add_table0 dd (24-6*4)*3,(24-6*2)*3,(24-6*1)*3,\
|
add_table0 dd (24-6*4)*3,(24-6*2)*3,(24-6*1)*3,\
|
||||||
@ -530,7 +586,23 @@ labellen:
|
|||||||
|
|
||||||
pixl dd ?
|
pixl dd ?
|
||||||
|
|
||||||
|
xpos dd ?
|
||||||
|
ypos dd ?
|
||||||
|
|
||||||
|
mouse_pressed dd ?
|
||||||
|
|
||||||
|
xmouse_rel dd ?
|
||||||
|
ymouse_rel dd ?
|
||||||
|
|
||||||
|
xmouse_old dd ?
|
||||||
|
ymouse_old dd ?
|
||||||
|
processes dd ?
|
||||||
|
pid dd ?
|
||||||
|
|
||||||
|
process process_information
|
||||||
|
|
||||||
;include_debug_strings
|
;include_debug_strings
|
||||||
|
|
||||||
I_PARAM:
|
I_PARAM:
|
||||||
|
|
||||||
I_END:
|
I_END:
|
@ -30,8 +30,7 @@ START: ; start of execution
|
|||||||
|
|
||||||
still:
|
still:
|
||||||
|
|
||||||
mov eax,10 ; wait here for event
|
mcall 10 ; wait here for event
|
||||||
mcall
|
|
||||||
|
|
||||||
dec eax ; redraw request ?
|
dec eax ; redraw request ?
|
||||||
jz red
|
jz red
|
||||||
@ -39,8 +38,7 @@ still:
|
|||||||
jz key
|
jz key
|
||||||
|
|
||||||
button: ; button
|
button: ; button
|
||||||
mov al,17 ; get id
|
mcall 17 ; get id
|
||||||
mcall
|
|
||||||
|
|
||||||
shr eax,8
|
shr eax,8
|
||||||
|
|
||||||
@ -123,8 +121,7 @@ still:
|
|||||||
sub ebx,eax
|
sub ebx,eax
|
||||||
imul ebx,70
|
imul ebx,70
|
||||||
push ebx
|
push ebx
|
||||||
mov eax,14
|
mcall 14
|
||||||
mcall
|
|
||||||
pop ebx
|
pop ebx
|
||||||
shr eax,16
|
shr eax,16
|
||||||
sub eax,51+15
|
sub eax,51+15
|
||||||
@ -559,12 +556,9 @@ read_string:
|
|||||||
|
|
||||||
draw_window:
|
draw_window:
|
||||||
|
|
||||||
mov eax,12 ; function 12:tell os about windowdraw
|
mcall 12,1 ; function 12,1 - tell os about start of draw window
|
||||||
mov ebx,1 ; 1, start of draw
|
|
||||||
mcall
|
|
||||||
|
|
||||||
; DRAW WINDOW
|
xor eax,eax ; DRAW WINDOW
|
||||||
xor eax,eax
|
|
||||||
mov ebx,210*65536+300
|
mov ebx,210*65536+300
|
||||||
mov ecx,30*65536+390
|
mov ecx,30*65536+390
|
||||||
mov edx,0x33ffffff
|
mov edx,0x33ffffff
|
||||||
@ -680,9 +674,7 @@ draw_window:
|
|||||||
|
|
||||||
call print_strings
|
call print_strings
|
||||||
|
|
||||||
mov eax,12 ; function 12:tell os about windowdraw
|
mcall 12,2 ; function 12,2 - tell os about end of draw window
|
||||||
mov ebx,2 ; 2, end of draw
|
|
||||||
mcall
|
|
||||||
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@ -702,7 +694,6 @@ icons_reserved:
|
|||||||
|
|
||||||
times 10 db ' '
|
times 10 db ' '
|
||||||
|
|
||||||
|
|
||||||
text:
|
text:
|
||||||
db 0,0,0,0, 'Click on icon position to edit '
|
db 0,0,0,0, 'Click on icon position to edit '
|
||||||
db 0,0,0,0, ' '
|
db 0,0,0,0, ' '
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
AA-/sys/icons/FS.ICO -/sys/KFAR -FAR *
|
AA-/sys/icons/FS.ICO -/sys/File Managers/KFAR -FAR *
|
||||||
BA-/sys/icons/FASM.ICO -/sys/develop/FASM -Fasm *
|
BA-/sys/icons/FASM.ICO -/sys/develop/FASM -Fasm *
|
||||||
CA-/sys/icons/WRITE.ICO -/sys/TINYPAD -Tinypad *
|
CA-/sys/icons/WRITE.ICO -/sys/TINYPAD -Tinypad *
|
||||||
AB-/sys/icons/FLOPPY.ICO -/sys/RDSAVE -RDsave *
|
AB-/sys/icons/FLOPPY.ICO -/sys/RDSAVE -RDsave *
|
||||||
BB-/sys/icons/CALC.ICO -/sys/CALC -Calc *
|
BB-/sys/icons/CALC.ICO -/sys/CALC -Calc *
|
||||||
HA-/sys/icons/BUG.ICO -/sys/develop/MTDBG -Debuger *
|
IA-/sys/icons/BUG.ICO -/sys/develop/MTDBG -Debuger *
|
||||||
IA-/sys/icons/BOARD.ICO -/sys/develop/BOARD -Board *
|
JA-/sys/icons/BOARD.ICO -/sys/develop/BOARD -Board *
|
||||||
JA-/sys/icons/VRR.ICO -/sys/VRR -VRR *
|
|
||||||
|
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |