Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Ignore whitespace Rev 470 → Rev 485

/programs/media/mp3s/trunk/build_en.bat
File deleted
\ No newline at end of file
/programs/media/mp3s/trunk/build_ru.bat
File deleted
\ No newline at end of file
/programs/media/mp3s/trunk/macros.inc
File deleted
\ No newline at end of file
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/programs/media/mp3s/trunk/mp3s.asm
File deleted
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/programs/media/animage/trunk/animage.asm
21,6 → 21,7
dd parameters,0x0
 
 
include '..\..\..\macros.inc'
include 'giflib.inc'
include 'bmplib.inc'
include 'dialog.inc'
39,7 → 40,7
;--------------------------------------------------------
mov eax,40
mov ebx,1100111b
int 0x40
mcall
;---------------------------------------------------------
;-----------------------init data-------------------------
;---------------------------------------------------------
/programs/media/animage/trunk/cursors.inc
12,7 → 12,7
mov ebx, 4
mov ecx,brush_cursor
mov edx,1
int 0x40
mcall
 
mov ebx,[PointerToCursorsID]
mov [ebx],eax
22,7 → 22,7
mov ebx, 4
mov ecx,flood_fill_cursor
mov edx,1
int 0x40
mcall
 
mov ebx,[PointerToCursorsID]
mov [ebx],eax
32,7 → 32,7
mov ebx, 4
mov ecx,lastik_cursor
mov edx,1
int 0x40
mcall
 
mov ebx,[PointerToCursorsID]
mov [ebx],eax
43,7 → 43,7
mov ebx, 4
mov ecx,other_cursor
mov edx,1
int 0x40
mcall
 
 
mov ebx,[PointerToCursorsID]
54,7 → 54,7
mov ebx, 4
mov ecx,pencil_cursor
mov edx,1
int 0x40
mcall
 
 
mov ebx,[PointerToCursorsID]
65,7 → 65,7
mov ebx, 4
mov ecx,pipette_cursor
mov edx,1
int 0x40
mcall
 
mov ebx,[PointerToCursorsID]
mov [ebx],eax
75,7 → 75,7
mov ebx, 4
mov ecx,spray_cursor
mov edx,1
int 0x40
mcall
 
mov ebx,[PointerToCursorsID]
mov [ebx],eax
85,7 → 85,7
mov ebx, 4
mov ecx,zoom_cursor
mov edx,1
int 0x40
mcall
 
mov ebx,[PointerToCursorsID]
mov [ebx],eax
288,7 → 288,7
 
mov eax, 37
mov ebx, 5
int 0x40
mcall
 
no_change_cursor:
 
312,7 → 312,7
 
mov eax,37
mov ebx,6
int 0x40
mcall
 
add [PointerToCursorsID],4
 
/programs/media/animage/trunk/design.inc
217,7 → 217,7
shl ecx,16
add ebx,[line_size_x]
add ecx,[line_size_y]
int 0x40
mcall
ret
;----------------------------------------------------------
draw_conture:
303,17 → 303,17
mov ebx,[text_x]
shl ebx,16
add ebx,[text_y]
int 0x40
mcall
ret
;----------------------------------------------------------
draw_rectangle:
mov eax,13
int 0x40
mcall
ret
;------------------------
draw_line:
mov eax,38
int 0x40
mcall
ret
;----------------------------------------------------------
;lightlin 12508927
/programs/media/animage/trunk/dialog.inc
22,8 → 22,8
; Get my PID in dec format 4 bytes
mov eax,9
mov ebx,procinfo
mov ecx,-1
int 0x40
or ecx,-1
mcall
 
; convert eax bin to param dec
mov eax,dword [procinfo+30] ;offset of myPID
57,12 → 57,12
mov ebx,1 ; define IPC
mov ecx,path ; offset of area
mov edx,1024+16 ; size
int 0x40
mcall
 
; change wanted events list 7-bit IPC event
mov eax,40
mov ebx,01000111b
int 0x40
mcall
 
;
; STEP 3 run SYSTEM XTREE with parameters
70,7 → 70,7
 
mov eax,70
mov ebx,run_fileinfo
int 0x40
mcall
 
call redproc
 
78,7 → 78,7
getmesloop:
mov eax,23
mov ebx,50 ;0.5 sec
int 0x40
mcall
dec eax
jz mred
dec eax
92,7 → 92,7
mov ebx,procinfo
mov ecx,-1
mov eax,9
int 0x40
mcall
mov ebp,eax
 
loox:
99,7 → 99,7
mov eax,9
mov ebx,procinfo
mov ecx,ebp
int 0x40
mcall
mov eax,[DLGPID]
cmp [procinfo+30],eax ;IF Dialog find
je dlg_is_work ;jmp to dlg_is_work
124,15 → 124,15
jmp getmesloop
mkey:
mov eax,2
int 0x40 ; read (eax=2)
mcall ; read (eax=2)
jmp getmesloop
mbutton:
mov eax,17 ; get id
int 0x40
mcall
cmp ah,1 ; button id=1 ?
jne getmesloop
mov eax,-1 ; close this program
int 0x40
mcall
mgetmes:
 
; If dlg_pid_get then second message get jmp to still
234,7 → 234,7
mov eax,9
mov ebx,procinfo
mov ecx,-1
int 0x40
mcall
 
; convert eax bin to param dec
mov eax,dword [procinfo+30] ;offset of myPID
268,12 → 268,12
mov ebx,1 ; define IPC
mov ecx,path ; offset of area
mov edx,1024+16 ; size
int 0x40
mcall
 
; change wanted events list 7-bit IPC event
mov eax,40
mov ebx,01000111b
int 0x40
mcall
 
;
; STEP 3 run SYSTEM XTREE with parameters
281,7 → 281,7
 
mov eax,70
mov ebx,run_fileinfo
int 0x40
mcall
 
call redproc
 
289,7 → 289,7
getmesloop:
mov eax,23
mov ebx,50 ;0.5 sec
int 0x40
mcall
dec eax
jz mred
dec eax
303,7 → 303,7
mov ebx,procinfo
mov ecx,-1
mov eax,9
int 0x40
mcall
mov ebp,eax
 
loox:
310,7 → 310,7
mov eax,9
mov ebx,procinfo
mov ecx,ebp
int 0x40
mcall
mov eax,[DLGPID]
cmp [procinfo+30],eax ;IF Dialog find
je dlg_is_work ;jmp to dlg_is_work
335,15 → 335,15
jmp getmesloop
mkey:
mov eax,2
int 0x40 ; read (eax=2)
mcall ; read (eax=2)
jmp getmesloop
mbutton:
mov eax,17 ; get id
int 0x40
mcall
cmp ah,1 ; button id=1 ?
jne getmesloop
mov eax,-1 ; close this program
int 0x40
mcall
mgetmes:
 
; If dlg_pid_get then second message get jmp to still
/programs/media/animage/trunk/dialog2.inc
16,7 → 16,7
 
opros:
mov eax,10
int 0x40
mcall
 
cmp eax,1
je exit_cycle
25,7 → 25,7
jne opros
 
mov eax,2
int 0x40
mcall
shr eax,8
 
cmp eax,13
110,7 → 110,7
add ebx,2
add ecx,10
mov edx,0xffffff
int 0x40
mcall
mov eax,4
mov ebx,[string_x]
shl ebx,16
118,7 → 118,7
mov ecx,0
mov edx,string_
mov esi,[MaxSizeString]
int 0x40
mcall
ret
 
print_cursor:
132,7 → 132,7
add ebx,2
add ecx,8
mov edx,0xff6c58
int 0x40
mcall
ret
;----------------------------------------------------------
MinMaxCorrect:
/programs/media/animage/trunk/events.inc
3,7 → 3,7
;----------------------------------------------------------
event:
mov eax,10
int 0x40
mcall
ret
;---------------------------------------------------------
;---------------SOUND of EVENTS---------------------------
11,5 → 11,5
sound:
mov eax,55
mov ebx,eax
int 0x40
mcall
ret
/programs/media/animage/trunk/events_of_buttons.inc
21,7 → 21,7
no_finish_instrument_button:
 
mov eax,17
int 0x40
mcall
 
shr eax,8
 
31,8 → 31,8
mov eax,CursorsID
call delete_cursors
 
mov eax,-1
int 0x40
or eax,-1
mcall
 
no_exit:
 
/programs/media/animage/trunk/events_of_keys.inc
4,7 → 4,7
keys:
 
mov eax,2
int 0x40
mcall
shr eax,8
 
cmp eax,176
80,7 → 80,7
call delete_cursors
 
mov eax,-1
int 0x40
mcall
 
jmp still
 
/programs/media/animage/trunk/events_of_mouse.inc
297,7 → 297,7
 
mov eax,37
mov ebx,1
int 0x40
mcall
 
mov ebx,eax
shr eax,16
313,6 → 313,6
GetMouseClick:
mov eax,37
mov ebx,2
int 0x40
mcall
 
ret
/programs/media/animage/trunk/events_of_window.inc
6,7 → 6,7
mov eax,9
mov ebx,IPC_table
or ecx,-1
int 0x40
mcall
 
mov eax,[IPC_table+34]
mov ebx,[IPC_table+38]
54,7 → 54,7
 
mov eax,12
mov ebx,1
int 0x40
mcall
 
and eax,0
mov ebx,[Window_CordinatX]
66,7 → 66,7
mov edx,0x03aabbcc
mov esi,0x805080d0
mov edi,0x005080d0
int 0x40
mcall
 
call draw_panel
call PrintMousePos
84,7 → 84,7
 
mov eax,12
mov ebx,2
int 0x40
mcall
 
mov ecx,[k]
 
/programs/media/animage/trunk/files.inc
26,7 → 26,7
 
mov eax,70
mov ebx,file_information
int 0x40
mcall
 
ret
;-----------------------------------------------------------
55,7 → 55,7
 
mov eax,70
mov ebx,file_information
int 0x40
mcall
test eax,eax
jnz error_load_file
75,7 → 75,7
 
mov eax,70
mov ebx,file_information
int 0x40
mcall
 
error_load_file:
 
108,7 → 108,7
 
mov eax,70
mov ebx,file_information
int 0x40
mcall
 
ret
 
/programs/media/animage/trunk/icons.inc
24,7 → 24,7
add ebx,(1200*1000*3)+12
mov eax,7
mov ecx,417*65536+46
int 0x40
mcall
 
 
;main buttons of instrumnts
47,7 → 47,7
mov edx,[counter]
add edx,10
add edx,1000000000000000000000000000000b
int 0x40
mcall
 
 
add [Icon_X],22
77,7 → 77,7
mov edx,[counter]
add edx,40
add edx,1000000000000000000000000000000b
int 0x40
mcall
 
add [Icon_X],19
 
106,7 → 106,7
mov edx,[counter]
add edx,45
add edx,1000000000000000000000000000000b
int 0x40
mcall
 
add [Icon_X],19
 
130,7 → 130,7
add ecx,21
mov edx,51
add edx,1000000000000000000000000000000b
int 0x40
mcall
 
; button of color
mov [Icon_X],7+128+1
147,12 → 147,12
add ecx,21
mov edx,52
add edx,1000000000000000000000000000000b
int 0x40
mcall
 
mov eax,13
mov ebx,136*65536+20
mov ecx,65*65536+20
mov edx,[Color]
int 0x40
mcall
 
ret
/programs/media/animage/trunk/icons_instruments.inc
173,7 → 173,7
mov ebx,136*65536+20
mov ecx,65*65536+21
mov edx,[Color]
int 0x40
mcall
 
jmp still
no_pipetka:
489,7 → 489,7
shl ecx,16
add ebx,13
add ecx,13
int 0x40
mcall
add [x],15
cmp [x],20+15*32
jl no_new_line
510,7 → 510,7
jne no_keys
 
mov eax,2
int 0x40
mcall
 
no_keys:
 
517,7 → 517,7
cmp eax,3
jne no_buttons
mov eax,17
int 0x40
mcall
 
no_buttons:
 
566,7 → 566,7
 
mov eax,5
mov ebx,10
int 0x40
mcall
 
call drawwin
 
/programs/media/animage/trunk/init_data.inc
36,12 → 36,12
 
;mov eax,68
;mov ebx,11
;int 0x40
;mcall
 
;mov eax,68
;mov ebx,12
;mov ecx,60000
;int 0x40
;mcall
 
;mov [PointerToIcons],eax
 
/programs/media/animage/trunk/load_dlls.inc
9,7 → 9,7
mov ecx,eax
mov eax,68
mov ebx,19
int 0x40
mcall
 
ret
 
/programs/media/animage/trunk/memory.inc
13,7 → 13,7
add ecx,[ScreenPointer]
add ecx,(1200*1000)*3+50*(20*20*3)+500000+16000+0x4000
add ecx,[extended_memory]
int 0x40
mcall
 
test eax,eax
jz have_new_memory
/programs/media/animage/trunk/menu_instruments.inc
65,7 → 65,7
mov ecx,115*65536+14
mov edx,1000000000000000000000000000000b
add edx,1000
int 0x40
mcall
 
mov eax,8
mov ebx,177*65536+40
72,7 → 72,7
mov ecx,139*65536+14
mov edx,1000000000000000000000000000000b
add edx,1001
int 0x40
mcall
 
mov eax,8
mov ebx,175*65536+40
79,12 → 79,12
mov ecx,170*65536+15
mov edx,1000000000000000000000000000000b
add edx,1002
int 0x40
mcall
 
no_activate_space:
 
mov eax,10
int 0x40
mcall
 
cmp eax,1
je exit_new
93,7 → 93,7
jne no_activate_space
 
mov eax,17
int 0x40
mcall
shr eax,8
 
cmp eax,1000
155,7 → 155,7
mov ecx,170*65536+15
mov edx,11100000000000000000000000000000b
add edx,1002
int 0x40
mcall
 
mov eax,8
mov ebx,177*65536+40
162,7 → 162,7
mov ecx,139*65536+14
mov edx,11100000000000000000000000000000b
add edx,1001
int 0x40
mcall
 
mov eax,8
mov ebx,177*65536+40
169,7 → 169,7
mov ecx,115*65536+14
mov edx,11100000000000000000000000000000b
add edx,1000
int 0x40
mcall
 
;get memory for new picture
mov eax,[Picture_SizeX]
222,7 → 222,7
 
mov eax,40
mov ebx,100111b
int 0x40
mcall
 
mov eax,file_path
mov ebx,[ScreenPointer]
387,7 → 387,7
save_enter:
mov eax,40
mov ebx,100111b
int 0x40
mcall
 
call analizing_picture_to_palette
;eax => number of colors in picture
428,7 → 428,7
jne no_exit_program
 
mov eax,-1
int 0x40
mcall
 
no_exit_program:
 
/programs/media/animage/trunk/panel_engen.inc
5,7 → 5,7
;>>>>>>>>>>>>>>>>>>>>>>>>>>
mov eax,18
mov ebx,14
;int 0x40
;mcall
 
and [Panel_flag],0
;collision with text on panel
50,7 → 50,7
 
mov eax,18
mov ebx,14
;int 0x40
;mcall
 
call print_panel_menu
 
92,7 → 92,7
mov eax,8
mov edx,[counter]
add edx,11100000000000000000000000000000b
int 0x40
mcall
inc [counter]
 
cmp [counter],30
106,7 → 106,7
mov eax,8
mov edx,[counter]
add edx,11100000000000000000000000000000b
int 0x40
mcall
inc [counter]
 
cmp [counter],45
120,7 → 120,7
mov eax,8
mov edx,[counter]
add edx,11100000000000000000000000000000b
int 0x40
mcall
inc [counter]
 
cmp [counter],50
130,7 → 130,7
mov eax,8
mov edx,51
add edx,11100000000000000000000000000000b
int 0x40
mcall
 
 
;delit buttons of color
137,7 → 137,7
mov eax,8
mov edx,52
add edx,11100000000000000000000000000000b
int 0x40
mcall
 
pop [counter]
 
174,7 → 174,7
;ᣫ ¦¨¢ ­¨¥  ­¨¬ æ¨¨ >>>>>>>>>>>>>>>>>>
mov eax,18
mov ebx,14
;int 0x40
;mcall
 
menu_loop:
 
231,11 → 231,11
menu_still:
 
mov eax,10
int 0x40
mcall
mov eax,2
int 0x40
mcall
mov eax,17
int 0x40
mcall
 
call GetMouseClick
 
292,7 → 292,7
 
mov eax,5
mov ebx,15
int 0x40
mcall
 
push [counter]
pushad
356,7 → 356,7
shl edx,16
add edx,20+15+6+6
and esi,0
int 0x40
mcall
 
mov eax,47
mov ebx,4*65536
367,7 → 367,7
shl edx,16
add edx,20+15+6+18+1+6
and esi,0
int 0x40
mcall
 
popad
ret
/programs/media/animage/trunk/screen.inc
239,7 → 239,7
fps:
;mov eax,18
;mov ebx,14
;int 0x40
;mcall
 
mov eax,7
mov ebx,[ScreenPointer]
248,7 → 248,7
shl ecx,16
add ecx,edx
mov edx,8*65536+20+15+49+5+1
int 0x40
mcall
 
ret
;----------------------------------------------------------
/programs/media/animage/trunk/time.inc
4,7 → 4,7
Clock:
mov eax,26
mov ebx,9
int 0x40
mcall
mov [time],eax
 
ret
/programs/media/cdp/trunk/macros.inc
File deleted
\ No newline at end of file
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/programs/media/cdp/trunk/build_en.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix en >lang.inc
@fasm cdp.asm cdp
@erase lang.inc
@pause
/programs/media/cdp/trunk/build_ru.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix ru >lang.inc
@fasm cdp.asm cdp
@erase lang.inc
@pause
/programs/media/cdp/trunk/cdp.asm
4,7 → 4,7
; ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
include "macros.inc"
include "..\..\..\macros.inc"
include "lang.inc"
 
FALSE equ 0
35,12 → 35,14
START:
call chk_cdrom ; start of execution
call read_cd
 
red: ; redraw
call draw_window ; at first, draw the window
still:
 
mov eax,23
mov ebx,10 ; wait here for event
int 0x40
mcall
 
cmp eax,1 ; redraw request ?
jz red
56,14 → 58,10
@@:
jmp still
 
red: ; redraw
call draw_window
 
jmp still
 
key: ; key
mov eax,2 ; just read it and ignore
int 0x40
mcall
 
;====== hotkeys:
cmp ah,0x61
189,15 → 187,15
 
button: ; button
mov eax,17
int 0x40
mcall
 
cmp ah,1 ; button id=1 ?
jnz no_but_close
mov eax,24
mov ebx,3
int 0x40
mcall
mov eax,0xffffffff ; close this program
int 0x40
mcall
no_but_close:
 
cmp ah,2
526,7 → 524,7
 
mov eax,24
mov ebx,1
int 0x40
mcall
ret
 
play_n_track:
536,7 → 534,7
call draw_window
; mov eax,26
; mov ebx,9
; int 0x40
; mcall
call get_uptime
mov [stimtrk],eax
xor ebx,ebx
588,7 → 586,7
mov ecx,ebx
mov eax,24
mov ebx,1
int 0x40
mcall
ret
 
 
640,7 → 638,7
stop_playing:
mov eax, 24
mov ebx,3
int 0x40
mcall
mov cl,[max_trk]
mov [shuftab],cl
mov [if_stopped],TRUE
661,17 → 659,17
mov ebx, 10 shl 16 + 41
mov ecx,120 shl 16 + 9
mov edx,0x00ffffff
int 0x40
mcall
mov ebx, 96 shl 16 + 11
int 0x40
mcall
mov ebx, 185 shl 16 + 11
int 0x40
mcall
mov ebx, 200 shl 16 + 11
int 0x40
mcall
mov ebx, 150 shl 16 + 11
int 0x40
mcall
mov ebx, 165 shl 16 + 11
int 0x40
mcall
;bar<-
 
mov eax,4
701,7 → 699,7
jmp info_mode_end
info_mode_end:
mov esi,7
int 0x40
mcall
 
;num info ->
mov eax,47
713,7 → 711,7
mov cl, [curr_trk] ;number to draw
mov edx,96 shl 16 + 120
mov esi,0x111111
int 0x40
mcall
mov eax,[curr_trk_pg_time]
xor edx,edx
mov ecx,60
722,10 → 720,10
mov ecx,eax
mov eax,47
mov edx,150 shl 16 + 120
int 0x40
mcall
pop ecx
mov edx,165 shl 16 + 120
int 0x40
mcall
mov eax,[curr_trk_length]
xor edx,edx
mov ecx,60
734,10 → 732,10
mov ecx,eax
mov eax,47
mov edx,185 shl 16 + 120
int 0x40
mcall
pop ecx
mov edx,200 shl 16 + 120
int 0x40
mcall
;num info <-
ret
 
746,7 → 744,7
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
int 0x40
mcall
; DRAW WINDOW
mov eax,0 ; function 0 : define and draw window
mov ebx, 50*65536+219 ; [x start] *65536 + [x size]
754,7 → 752,7
mov edx,0x03ffffff ; color of work area RRGGBB
mov esi,0x8099bbff ; color of grab bar RRGGBB,8->color glide
mov edi,0x0099bbee ; color of frames RRGGBB
int 0x40
mcall
; WINDOW LABEL
mov eax,4 ; function 4 : write text to window
mov ebx,8*65536+8 ; [x start] *65536 + [y start]
761,13 → 759,13
mov ecx,0x1000ffff ; color of text RRGGBB
mov edx,labelt ; pointer to text beginning
mov esi,labellen-labelt ; text length
int 0x40
mcall
 
mov eax,13 ;bar
mov ebx,8 shl 16 + 204
mov ecx,28 shl 16 + 84
mov edx,0x000fe6f5
int 0x40
mcall
 
;info ->
mov eax,4
775,24 → 773,24
mov ecx,0x00111111
mov edx,playing_trk_info
mov esi,6
int 0x40
mcall
mov ebx,120 shl 16 + 120
mov edx,playing_time_info
; mov esi,5
dec esi
int 0x40
mcall
mov ebx,178 shl 16 + 120
mov edx,slash
mov esi,1
int 0x40
mcall
mov ebx,196 shl 16 + 120
mov edx,column
; mov esi,1
int 0x40
mcall
mov ebx,161 shl 16 + 120
mov edx,column
; mov esi,1
int 0x40
mcall
;info <-
 
; button MODE
801,7 → 799,7
mov ecx,135*65536+20
mov edx,7
mov esi,COLOR_FUNC_BUTS
int 0x40
mcall
; text
mov eax,4
mov ebx,19*65536+142
808,7 → 806,7
mov ecx,0x100f73f5;ffff0f
mov edx,but_mode_lab
mov esi,1
int 0x40
mcall
 
; button BACK
mov eax,8
816,7 → 814,7
mov ecx,135*65536+20
mov edx,6
mov esi,COLOR_FUNC_BUTS
int 0x40
mcall
mov [coord_x],51
mov [coord_y],141
call draw_left_triangle
829,7 → 827,7
mov ecx,135*65536+20
mov edx,5
mov esi,COLOR_FUNC_BUTS
int 0x40
mcall
mov [coord_x],68
mov [coord_y],141
call draw_right_triangle
842,7 → 840,7
mov ecx,135*65536+20
mov edx,8
mov esi,COLOR_FUNC_BUTS
int 0x40
mcall
mov [coord_x],102
mov [coord_y],141
call draw_left_triangle
855,7 → 853,7
mov ecx,135*65536+20
mov edx,3
mov esi,COLOR_FUNC_BUTS
int 0x40
mcall
mov [coord_x],118
mov [coord_y],142
call draw_square
867,7 → 865,7
mov ecx,135*65536+20
mov edx,2
mov esi,COLOR_FUNC_BUTS
int 0x40
mcall
cmp [if_stopped],TRUE
je playing_paused
cmp [if_paused],TRUE
891,7 → 889,7
mov ecx,135*65536+20
mov edx,9
mov esi,COLOR_FUNC_BUTS
int 0x40
mcall
mov [coord_x],167
mov [coord_y],141
call draw_right_triangle
904,7 → 902,7
mov ecx,135*65536+20
mov edx,4
mov esi,COLOR_FUNC_BUTS
int 0x40
mcall
mov [coord_x],192
mov [coord_y],140
call draw_vert_list_line
951,7 → 949,7
add edx,10
mov esi,0xaaaaaa
add esi,edi
int 0x40
mcall
;---draw tracs numbers
mov eax,47
xor ebx,ebx
966,7 → 964,7
add dl,[posy]
add dl,5
mov esi,0xffffff
int 0x40
mcall
;---
mov al,[posx]
add al,20
998,7 → 996,7
mov ecx,0x10ffff00
mov edx,define_cdrom
mov esi,define_cdrom_len-define_cdrom
int 0x40
mcall
flag3:
cmp [flag],3
jne flag4
1007,7 → 1005,7
mov ecx,0x10ffff00
mov edx,no_cda
mov esi,no_cda_len-no_cda
int 0x40
mcall
flag4:
cmp [flag],4
jne flag5
1030,7 → 1028,7
mov eax,4
mov ecx,0x111111
mov esi,31
int 0x40
mcall
noline:
add ebx,10
add edx,31
1042,7 → 1040,7
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
int 0x40
mcall
 
ret
 
1066,7 → 1064,7
inc ebx
push eax
mov eax,1
int 0x40
mcall
pop eax
cmp esi,0
jne draw_pixel
1090,7 → 1088,7
inc ebx
push eax
mov eax,1
int 0x40
mcall
pop eax
cmp esi,0
jne q_draw_pixel
1121,7 → 1119,7
dec ebx
push eax
mov eax,1
int 0x40
mcall
pop eax
cmp esi,0
jne l_draw_pixel
1144,7 → 1142,7
inc ecx
push eax
mov eax,1
int 0x40
mcall
pop eax
dec esi
cmp esi,0
1164,7 → 1162,7
mov esi,11
vlstart_draw_vline:
inc ecx
int 0x40
mcall
dec esi
cmp esi,0
jne vlstart_draw_vline
1181,7 → 1179,7
mov esi,11
hlstart_draw_vline:
inc ebx
int 0x40
mcall
dec esi
cmp esi,0
jne hlstart_draw_vline
1198,7 → 1196,7
mov esi,5
slstart_draw_vline:
inc ebx
int 0x40
mcall
dec esi
cmp esi,0
jne slstart_draw_vline
1210,7 → 1208,7
chk_cdrom:
mov eax,24
mov ebx,1
int 0x40
mcall
cmp eax,0
je chk_cdrom_ok
mov [flag],2
1232,7 → 1230,7
mov ebx,2
mov ecx, cdp
mov edx,321
int 0x40
mcall
mov [flag],1
mov al,100
cmp [cdp+3],al
1247,7 → 1245,7
push ebx
mov eax,26
mov ebx,9
int 0x40
mcall
pop ebx
ret
 
/programs/media/gifview/trunk/macros.inc
File deleted
\ No newline at end of file
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/programs/media/gifview/trunk/debug.inc
55,7 → 55,7
mov cl,al
mov eax,63
mov ebx,1
int 0x40
mcall
popad
popf
ret
/programs/media/gifview/trunk/gifview.asm
29,7 → 29,7
dd 0x0
 
include 'lang.inc'
include 'macros.inc' ; decrease code size (optional)
include '..\..\..\macros.inc' ; decrease code size (optional)
include 'debug.inc'
COLOR_ORDER equ MENUETOS
 
54,7 → 54,7
openfile2:
mov eax,70
mov ebx,file_info
int 0x40
mcall
cmp eax,6
je temp
test eax,eax
96,6 → 96,12
ok2:
and dword[img_index],0
 
mov eax,48
mov ebx,3
mov ecx,sc
mov edx,sizeof.system_colors
mcall
 
red:
 
call draw_window
109,7 → 115,7
.delay:
mov ebx,DELAY
mov eax,23
int 0x40
mcall
@@:
dec eax
jz red
131,7 → 137,7
 
key:
mov eax,2
int 0x40
mcall
cmp ah,13
je is_input
jmp still
138,13 → 144,13
 
button:
mov eax,17
int 0x40
mcall
 
cmp ah,1
jne noclose
_close:
or eax,-1
int 0x40
mcall
 
noclose:
is_input: ; simple input line with backspace feature
152,12 → 158,12
wait_input:
call draw_input
mov eax,10
int 0x40
mcall
cmp eax,2
jne still
mov edi,[inp_pos]
mov eax,2
int 0x40
mcall
shr eax,8
cmp eax,27
je still
191,13 → 197,13
mov ebx,INP_X
mov ecx,INP_Y
mov edx,2
int 0x40
mcall
mov eax,4
mov ecx,0x00107a30
mov ebx,INP_XY
mov edx,fn_input
mov esi,[inp_pos]
int 0x40
mcall
pop edi
ret
 
207,15 → 213,9
 
draw_window:
 
mov eax,48
mov ebx,3
mov ecx,sc
mov edx,sizeof.system_colors
int 0x40
 
mov eax,12
mov ebx,1
int 0x40
mcall
 
mov eax,0
mov ebx,50*65536+700
222,8 → 222,8
mov ecx,50*65536+500
mov edx,[sc.work]
or edx,0x33000000
mov edi,header
int 0x40
mov edi,title
mcall
 
call draw_input
 
237,7 → 237,7
.enddraw:
mov eax,12
mov ebx,2
int 0x40
mcall
ret
 
draw_subimage:
259,13 → 259,13
add edx,eax
add edx,5 shl 16 +25
mov eax,7
int 0x40
mcall
.enddraw:
ret
 
; ‡¤¥áì ­ å®¤ïâáï ¤ ­­ë¥ ¯à®£à ¬¬ë:
 
header db appname,0 ; áâப  § £®«®¢ª 
title db appname,0 ; áâப  § £®«®¢ª 
 
inp_pos dd inp_end-fn_input
fn_input:
/programs/media/iconedit/trunk/macros.inc
File deleted
\ No newline at end of file
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/programs/media/iconedit/trunk/build_en.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix en >lang.inc
@fasm iconedit.asm iconedit
@erase lang.inc
@pause
/programs/media/iconedit/trunk/build_ru.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix ru >lang.inc
@fasm iconedit.asm iconedit
@erase lang.inc
@pause
/programs/media/iconedit/trunk/iconedit.asm
4,157 → 4,165
; Compile with FASM for Menuet
;
use32
org 0x0
db 'MENUET01' ; 8 byte id
dd 0x01 ; header version
dd START ; start of code
dd I_END ; size of image
dd 0x100000 ; memory for app
dd 0x7fff0 ; esp
dd 0x0 , 0x0 ; I_Param , I_Icon
org 0x0
db 'MENUET01' ; 8 byte id
dd 0x01 ; header version
dd START ; start of code
dd I_END ; size of image
dd 0x100000 ; memory for app
dd 0x7fff0 ; esp
dd 0x0 , 0x0 ; I_Param , I_Icon
 
include 'lang.inc'
include 'macros.inc'
include '..\..\..\macros.inc'
 
window_x_size equ 346
window_y_size equ 312
 
START: ; start of execution
START: ; start of execution
 
call draw_window ; at first, draw the window
call get_screen_size ; get screen x and y size
call draw_window ; at first, draw the window
call get_screen_size ; get screen x and y size
 
check_mouse:
 
call draw_mouse ; are we editing the icon
call check_colour ; are we selecting a colour
call draw_mouse ; are we editing the icon
call check_colour ; are we selecting a colour
 
still:
 
mov eax,23 ; wait here for event
mov ebx,1 ; for 1ms
int 0x40
mov eax,23 ; wait here for event
mov ebx,1 ; for 1ms
mcall
 
cmp eax,1 ; redraw request ?
je red
cmp eax,2 ; key in buffer ?
je key
cmp eax,3 ; button in buffer ?
je button
cmp eax,1 ; redraw request ?
je red
cmp eax,2 ; key in buffer ?
je key
cmp eax,3 ; button in buffer ?
je button
 
jmp check_mouse ; start loop again
jmp check_mouse ; start loop again
 
red: ; redraw
call draw_window ; draw our window
jmp check_mouse ; start the loop again
red: ; redraw
call draw_window ; draw our window
jmp check_mouse ; start the loop again
key:
 
mov eax,2 ; get a key
int 0x40 ; do it
shr eax,8 ; move it to al
cmp byte [editstate],0 ; are we in edit mode
je check_mouse ; if not start loop again
cmp al,8 ; is it a backspace
jne no_bksp ; if no jump over backspace code
cmp byte [editpos],0 ; is it the first character
je no_del_last ; if yes jump over backspace code
dec byte [editpos] ; decrement our position
xor ebx,ebx ; clear pointer
mov bl,byte [editpos] ; get our position
add ebx,icon ; add our offset
mov byte [ebx],0 ; delete character
mov eax,2 ; get a key
mcall ; do it
shr eax,8 ; move it to al
cmp byte [editstate],0 ; are we in edit mode
je check_mouse ; if not start loop again
cmp al,8 ; is it a backspace
jne no_bksp ; if no jump over backspace code
cmp byte [editpos],0 ; is it the first character
je no_del_last ; if yes jump over backspace code
dec byte [editpos] ; decrement our position
xor ebx,ebx ; clear pointer
mov bl,byte [editpos] ; get our position
add ebx,icon ; add our offset
mov byte [ebx],0 ; delete character
no_del_last:
call draw_filename ; update filename
jmp check_mouse ; start loop again
call draw_filename ; update filename
jmp check_mouse ; start loop again
no_bksp:
cmp al,13 ; is it the enter key
jne no_enter ; no then jump over enter code
mov byte [editstate],0 ; get out of edit mode
call draw_filename ; update filename
jmp check_mouse ; start loop again
cmp al,13 ; is it the enter key
jne no_enter ; no then jump over enter code
mov byte [editstate],0 ; get out of edit mode
call draw_filename ; update filename
jmp check_mouse ; start loop again
no_enter:
cmp al,31 ; are we below character 31
jbe no_lit ; then must be illegal
cmp al,97 ; are we below character 97
jb capital ; then must be ok
sub eax,32 ; else subtract 32 from it to make it legal
cmp al,31 ; are we below character 31
jbe no_lit ; then must be illegal
cmp al,97 ; are we below character 97
jb capital ; then must be ok
sub eax,32 ; else subtract 32 from it to make it legal
capital:
xor ebx,ebx ; clear our pointer
mov bl,byte [editpos] ; get our position
add ebx,icon ; add our offset
mov byte [ebx],al ; move our character into buffer
inc byte [editpos] ; increment our edit position
cmp byte [editpos],12 ; are we at our last position
jne no_null_state ; no then jump over last position code
mov byte [editstate],0 ; get out of edit mode
xor ebx,ebx ; clear our pointer
mov bl,byte [editpos] ; get our position
add ebx,icon ; add our offset
mov byte [ebx],al ; move our character into buffer
inc byte [editpos] ; increment our edit position
cmp byte [editpos],12 ; are we at our last position
jne no_null_state ; no then jump over last position code
mov byte [editstate],0 ; get out of edit mode
no_null_state:
call draw_filename ; update filename
call draw_filename ; update filename
no_lit:
jmp check_mouse ; start loop again
jmp check_mouse ; start loop again
 
button: ; button
mov eax,17 ; get id
int 0x40
button: ; button
mov eax,17 ; get id
mcall
 
cmp ah,1 ; button id=1 ?
cmp ah,1 ; button id=1 ?
jne button_3
mov eax,-1 ; close this program
int 0x40
mov eax,-1 ; close this program
mcall
button_3:
cmp ah,3 ; was it button 3 - FILENAME
jne button_4 ; no then try button 4
cld ;
mov byte [editstate],1 ; enter edit mode
mov edi,icon ; point to our buffer
mov eax,0x20202020 ; file reg with 4 spaces
mov ecx,3 ; going to write it 3 times
rep stosd ; repeat giving 12 spaces
mov byte [editpos],0 ; zero our edit position
call draw_filename ; update filename
jmp check_mouse ; start loop again
cmp ah,3 ; was it button 3 - FILENAME
jne button_4 ; no then try button 4
cld ;
mov byte [editstate],1 ; enter edit mode
mov edi,icon ; point to our buffer
mov eax,0x20202020 ; file reg with 4 spaces
mov ecx,3 ; going to write it 3 times
rep stosd ; repeat giving 12 spaces
mov byte [editpos],0 ; zero our edit position
call draw_filename ; update filename
jmp check_mouse ; start loop again
button_4:
cmp ah,4 ; was it button 4 - LOAD
jne button_5 ; no then try button 5
mov byte [editstate],0 ; dont want to be in edit mode
call draw_filename ; update filename
call load_file ; load the file
call draw_icon ; update icon screen
call draw_graph ; update edit screen
jmp check_mouse ; start loop again
cmp ah,4 ; was it button 4 - LOAD
jne button_5 ; no then try button 5
mov byte [editstate],0 ; dont want to be in edit mode
call draw_filename ; update filename
call load_file ; load the file
call draw_icon ; update icon screen
call draw_graph ; update edit screen
jmp check_mouse ; start loop again
button_5:
cmp ah,5 ; was it button 5 - SAVE
jne button_6 ; no then try button 6
mov byte [editstate],0 ; dont want to be in edit mode
call draw_filename ; update filename
call save_file ; save the file
jmp check_mouse ; start loop again
cmp ah,5 ; was it button 5 - SAVE
jne button_6 ; no then try button 6
mov byte [editstate],0 ; dont want to be in edit mode
call draw_filename ; update filename
call save_file ; save the file
jmp check_mouse ; start loop again
button_6:
cmp ah,6 ; was it button 6 - CLEAR ICON
jne button_7 ; no then try button 7
mov byte [editstate],0 ; dont want to be in edit mode
call draw_filename ; update filename
call clear_graph_icon ; clear the icon and edit screens
cmp ah,6 ; was it button 6 - CLEAR ICON
jne button_7 ; no then try button 7
mov byte [editstate],0 ; dont want to be in edit mode
call draw_filename ; update filename
call clear_graph_icon ; clear the icon and edit screens
jmp check_mouse
 
button_7:
cmp ah,7 ; was it button 7 - FLIP ICON
jne button_8 ; no then try button 8
call flip_icon ; flip
cmp ah,7 ; was it button 7 - FLIP ICON
jne button_8 ; no then try button 8
call flip_icon ; flip
jmp check_mouse
 
button_8:
cmp ah,8 ; was it button 8 - MIRROR ICON
jne button_9 ; no then try button 9
call flip_diag ; flip L/R and U/D
call flip_icon ; cheated now have to flip it
cmp ah,8 ; was it button 8 - MIRROR ICON
jne button_9 ; no then try button 9
call flip_diag ; flip L/R and U/D
call flip_icon ; cheated now have to flip it
jmp check_mouse
 
button_9:
cmp ah,9 ; was it button 9 - FLIP L/R and U/D
jne button_10 ; no then try button 10
call flip_diag ; flip L/R and U/D
call draw_icon ; update icon
call draw_graph ; update graph
cmp ah,9 ; was it button 9 - FLIP L/R and U/D
jne button_10 ; no then try button 10
call flip_diag ; flip L/R and U/D
call draw_icon ; update icon
call draw_graph ; update graph
jmp check_mouse
 
button_10:
cmp ah,10 ; was it button 9 - SET AS BGR
jne check_mouse ; no then exit
call set_background ; set as background
cmp ah,10 ; was it button 9 - SET AS BGR
jne check_mouse ; no then exit
call set_background ; set as background
 
jmp check_mouse ; start loop again
jmp check_mouse ; start loop again
 
; *********************************************
; ******* WINDOW DEFINITIONS AND DRAW ********
161,174 → 169,166
; *********************************************
draw_window:
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
int 0x40
; DRAW WINDOW
mov eax,0 ; function 0 : define and draw window
mov ebx,100*65536+window_x_size ; [x start] *65536 + [x size]
mov ecx,100*65536+window_y_size ; [y start] *65536 + [y size]
mov edx,0x03ffffff ; color of work area 0x00RRGGBB
mov esi,0x807799bb ; color of grab bar 0x00RRGGBB
mov edi,0x007799bb ; color of frames 0x00RRGGBB
int 0x40
; WINDOW LABEL
mov eax,4 ; function 4 : write text to window
mov ebx,7*65536+7 ; [x start] *65536 + [y start]
mov ecx,0xddeeff ; color of text 0x00RRGGBB
mov edx,labelt ; pointer to text beginning
mov esi,11 ; text length
int 0x40
; DRAW BUTTON BAR
mov eax,13 ; function 13 : draw bar
mov ebx,5*65536+window_x_size-9 ; [x start] *65536 + [x size]
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
mcall
; DRAW WINDOW
mov eax,0 ; function 0 : define and draw window
mov ebx,100*65536+window_x_size ; [x start] *65536 + [x size]
mov ecx,100*65536+window_y_size ; [y start] *65536 + [y size]
mov edx,0x13ffffff ; color of work area 0x00RRGGBB
mov edi,title ; WINDOW LABEL
mcall
mov eax,13 ; function 13 : draw bar
mov ebx,5*65536+window_x_size-9 ; [x start] *65536 + [x size]
mov ecx,(window_y_size-20)*65536+16 ; [y start] *65536 + [y size]
mov edx,0x7799bb ; colour 0x00RRGGBB
int 0x40
; DEFINE BUTTON 3 : FILENAME
mov eax,8 ; function 8 : define button
mov ebx,5*65536+62 ; [x start] *65536 + [x size]
mov edx,0x7799bb ; colour 0x00RRGGBB
mcall
; DEFINE BUTTON 3 : FILENAME
mov eax,8 ; function 8 : define button
mov ebx,5*65536+62 ; [x start] *65536 + [x size]
mov ecx,(window_y_size-19)*65536+14 ; [y start] *65536 + [y size]
mov edx,3 ; button id number
mov esi,0x7799bb ; button color 0x00RRGGBB
int 0x40
; BUTTON 3 TEXT
mov eax,4 ; function 4 : write text to window
mov ebx,13*65536+window_y_size-15 ; [x start] *65536 + [y start]
mov ecx,0xddeeff ; text color 0x00RRGGBB
mov edx,button_text_3 ; pointer to text beginning
mov esi,8 ; text length
int 0x40
mov edx,3 ; button id number
mov esi,0x7799bb ; button color 0x00RRGGBB
mcall
; BUTTON 3 TEXT
mov eax,4 ; function 4 : write text to window
mov ebx,13*65536+window_y_size-15 ; [x start] *65536 + [y start]
mov ecx,0xddeeff ; text color 0x00RRGGBB
mov edx,button_text_3 ; pointer to text beginning
mov esi,8 ; text length
mcall
 
call draw_filename ; update filename
call draw_filename ; update filename
 
; DEFINE BUTTON 4 : LOAD
mov eax,8 ; function 8 : define button
; DEFINE BUTTON 4 : LOAD
mov eax,8 ; function 8 : define button
mov ebx,(window_x_size-87)*65536+38 ; [x start] *65536 + [x size]
mov ecx,(window_y_size-19)*65536+14 ; [y start] *65536 + [y size]
mov edx,4 ; button id number
mov esi,0x7799bb ; button color 0x00RRGGBB
int 0x40
; DEFINE BUTTON 5 : SAVE
mov edx,4 ; button id number
mov esi,0x7799bb ; button color 0x00RRGGBB
mcall
; DEFINE BUTTON 5 : SAVE
mov ebx,(window_x_size-43)*65536+38 ; [x start] *65536 + [x size]
mov edx,5 ; button id number
int 0x40
; DEFINE BUTTON 6 : CLEAR ICON
mov ebx,268*65536+72 ; [x start] *65536 + [x size]
mov ecx,65*65536+14 ; [y start] *65536 + [y size]
mov edx,6 ; button id number
int 0x40
; DEFINE BUTTON 7 : FLIP VERTICAL
mov ecx,85*65536+14 ; [y start] *65536 + [y size]
mov edx,7 ; button id number
int 0x40
; DEFINE BUTTON 8 : FLIP HORIZONTAL
mov ecx,105*65536+14 ; [y start] *65536 + [y size]
mov edx,8 ; button id number
int 0x40
; DEFINE BUTTON 9 : SET AS BACKGROUND
mov ecx,125*65536+14 ; [y start] *65536 + [y size]
mov edx,9 ; button id number
int 0x40
; DEFINE BUTTON 10 : SET AS BACKGROUND
mov ecx,145*65536+14 ; [y start] *65536 + [y size]
mov edx,10 ; button id number
int 0x40
; BUTTON 4 TEXT
mov eax,4 ; function 4 : write text to window
mov edx,5 ; button id number
mcall
; DEFINE BUTTON 6 : CLEAR ICON
mov ebx,268*65536+72 ; [x start] *65536 + [x size]
mov ecx,65*65536+14 ; [y start] *65536 + [y size]
mov edx,6 ; button id number
mcall
; DEFINE BUTTON 7 : FLIP VERTICAL
mov ecx,85*65536+14 ; [y start] *65536 + [y size]
mov edx,7 ; button id number
mcall
; DEFINE BUTTON 8 : FLIP HORIZONTAL
mov ecx,105*65536+14 ; [y start] *65536 + [y size]
mov edx,8 ; button id number
mcall
; DEFINE BUTTON 9 : SET AS BACKGROUND
mov ecx,125*65536+14 ; [y start] *65536 + [y size]
mov edx,9 ; button id number
mcall
; DEFINE BUTTON 10 : SET AS BACKGROUND
mov ecx,145*65536+14 ; [y start] *65536 + [y size]
mov edx,10 ; button id number
mcall
; BUTTON 4 TEXT
mov eax,4 ; function 4 : write text to window
mov ebx,267*65536+window_y_size-15 ; [x start] *65536 + [y start]
mov ecx,0xddeeff ; text color 0x00RRGGBB
mov edx,button_text_4 ; pointer to text beginning
mov esi,4 ; text length
int 0x40
; BUTTON 5 TEXT
mov ecx,0xddeeff ; text color 0x00RRGGBB
mov edx,button_text_4 ; pointer to text beginning
mov esi,4 ; text length
mcall
; BUTTON 5 TEXT
mov ebx,311*65536+window_y_size-15 ; [x start] *65536 + [y start]
mov edx,button_text_5 ; pointer to text beginning
int 0x40
; BUTTON 6 TEXT
mov ebx,275*65536+69 ; [x start] *65536 + [y start]
mov edx,button_text_6 ; pointer to text beginning
mov esi,10 ; text length
int 0x40
; BUTTON 7 TEXT
mov ebx,275*65536+89 ; [x start] *65536 + [y start]
mov edx,button_text_7 ; pointer to text beginning
int 0x40
; BUTTON 8 TEXT
mov ebx,275*65536+109 ; [x start] *65536 + [y start]
mov edx,button_text_8 ; pointer to text beginning
int 0x40
; BUTTON 9 TEXT
mov ebx,275*65536+129 ; [x start] *65536 + [y start]
mov edx,button_text_9 ; pointer to text beginning
int 0x40
; BUTTON 10 TEXT
mov ebx,275*65536+149 ; [x start] *65536 + [y start]
mov edx,button_text_10 ; pointer to text beginning
int 0x40
; DRAW GRAPH BACKGROUND
mov eax,13 ; function 13 : draw bar
mov ebx,6*65536+257 ; [x start] *65536 + [x size]
mov ecx,26*65536+257 ; [y start] *65536 + [y size]
mov edx,0x7799bb ; colour 0x00RRGGBB
int 0x40
; DRAW ICON BACKGROUND
mov ebx,268*65536+34 ; [x start] *65536 + [x size]
mov ecx,26*65536+34 ; [y start] *65536 + [y size]
int 0x40
; DRAW PALETTE BACKGROUND
mov ebx,268*65536+34 ; [x start] *65536 + [x size]
mov ecx,217*65536+33 ; [y start] *65536 + [y size]
int 0x40
; DRAW PALETTE BACKGROUND
mov ebx,268*65536+33 ; [x start] *65536 + [x size]
mov ecx,250*65536+33 ; [y start] *65536 + [y size]
int 0x40
; DRAW PALETTE BACKGROUND
mov ebx,301*65536+33 ; [x start] *65536 + [x size]
mov ecx,249*65536+34 ; [y start] *65536 + [y size]
int 0x40
; DRAW GREYSCALE BACKGROUND
mov ebx,307*65536+34 ; [x start] *65536 + [x size]
mov ecx,210*65536+34 ; [y start] *65536 + [y size]
int 0x40
; DRAW SELECTED COLOUR BACKGROUND
mov ebx,268*65536+73 ; [x start] *65536 + [x size]
mov ecx,171*65536+34 ; [y start] *65536 + [y size]
int 0x40
; DRAW WHITE TO START
mov ebx,269*65536+71 ; [x start] *65536 + [x size]
mov ecx,172*65536+32 ; [y start] *65536 + [y size]
mov edx,0xffffff ; colour 0x00RRGGBB
int 0x40
; DRAW PALETTE RED + GREEN SECTION
xor edi,edi ; clear column loop count
mov edx,button_text_5 ; pointer to text beginning
mcall
; BUTTON 6 TEXT
mov ebx,275*65536+69 ; [x start] *65536 + [y start]
mov edx,button_text_6 ; pointer to text beginning
mov esi,10 ; text length
mcall
; BUTTON 7 TEXT
mov ebx,275*65536+89 ; [x start] *65536 + [y start]
mov edx,button_text_7 ; pointer to text beginning
mcall
; BUTTON 8 TEXT
mov ebx,275*65536+109 ; [x start] *65536 + [y start]
mov edx,button_text_8 ; pointer to text beginning
mcall
; BUTTON 9 TEXT
mov ebx,275*65536+129 ; [x start] *65536 + [y start]
mov edx,button_text_9 ; pointer to text beginning
mcall
; BUTTON 10 TEXT
mov ebx,275*65536+149 ; [x start] *65536 + [y start]
mov edx,button_text_10 ; pointer to text beginning
mcall
; DRAW GRAPH BACKGROUND
mov eax,13 ; function 13 : draw bar
mov ebx,6*65536+257 ; [x start] *65536 + [x size]
mov ecx,26*65536+257 ; [y start] *65536 + [y size]
mov edx,0x7799bb ; colour 0x00RRGGBB
mcall
; DRAW ICON BACKGROUND
mov ebx,268*65536+34 ; [x start] *65536 + [x size]
mov ecx,26*65536+34 ; [y start] *65536 + [y size]
mcall
; DRAW PALETTE BACKGROUND
mov ebx,268*65536+34 ; [x start] *65536 + [x size]
mov ecx,217*65536+33 ; [y start] *65536 + [y size]
mcall
; DRAW PALETTE BACKGROUND
mov ebx,268*65536+33 ; [x start] *65536 + [x size]
mov ecx,250*65536+33 ; [y start] *65536 + [y size]
mcall
; DRAW PALETTE BACKGROUND
mov ebx,301*65536+33 ; [x start] *65536 + [x size]
mov ecx,249*65536+34 ; [y start] *65536 + [y size]
mcall
; DRAW GREYSCALE BACKGROUND
mov ebx,307*65536+34 ; [x start] *65536 + [x size]
mov ecx,210*65536+34 ; [y start] *65536 + [y size]
mcall
; DRAW SELECTED COLOUR BACKGROUND
mov ebx,268*65536+73 ; [x start] *65536 + [x size]
mov ecx,171*65536+34 ; [y start] *65536 + [y size]
mcall
; DRAW WHITE TO START
mov ebx,269*65536+71 ; [x start] *65536 + [x size]
mov ecx,172*65536+32 ; [y start] *65536 + [y size]
mov edx,0xffffff ; colour 0x00RRGGBB
mcall
; DRAW PALETTE RED + GREEN SECTION
xor edi,edi ; clear column loop count
next_r_g_outer:
xor esi,esi ; clear line loop count
xor esi,esi ; clear line loop count
next_r_g_inner:
mov eax,1 ; function 1 : putpixel
mov ebx,edi ; get column count
shr ebx,3 ; divide by 8
add ebx,269 ; add our x offset
mov ecx,esi ; get our line count
shr ecx,3 ; divide by 8
add ecx,218 ; add our y offset
mov edx,255 ; maximum red
sub edx,edi ; minus column count
shl edx,8 ; into position 0x0000RR00
add edx,255 ; maximum green
sub edx,esi ; minus line count
shl edx,8 ; into position 0x00RRGG00
int 0x40
add esi,5 ; colour in steps of 5 to keep small
cmp esi,255 ; have we done a line
jne next_r_g_inner ; nop then do next pixel
add edi,5 ; colour in steps of 5 to keep small
cmp edi,255 ; have we done all columns
jne next_r_g_outer ; no then start the next one
mov eax,1 ; function 1 : putpixel
mov ebx,edi ; get column count
shr ebx,3 ; divide by 8
add ebx,269 ; add our x offset
mov ecx,esi ; get our line count
shr ecx,3 ; divide by 8
add ecx,218 ; add our y offset
mov edx,255 ; maximum red
sub edx,edi ; minus column count
shl edx,8 ; into position 0x0000RR00
add edx,255 ; maximum green
sub edx,esi ; minus line count
shl edx,8 ; into position 0x00RRGG00
mcall
add esi,5 ; colour in steps of 5 to keep small
cmp esi,255 ; have we done a line
jne next_r_g_inner ; nop then do next pixel
add edi,5 ; colour in steps of 5 to keep small
cmp edi,255 ; have we done all columns
jne next_r_g_outer ; no then start the next one
 
; DRAW PALETTE GREEN + BLUE SECTION
mov edi,0 ; as above
; DRAW PALETTE GREEN + BLUE SECTION
mov edi,0 ; as above
next_g_b_outer:
mov esi,0
next_g_b_inner:
343,7 → 343,7
sub edx,edi
shl edx,16
add edx,esi
int 0x40
mcall
add esi,5
cmp esi,255
jne next_g_b_inner
351,8 → 351,8
cmp edi,255
jne next_g_b_outer
 
; DRAW PALETTE BLUE + RED SECTION
mov edi,0 ; as above
; DRAW PALETTE BLUE + RED SECTION
mov edi,0 ; as above
next_b_r_outer:
mov esi,0
next_b_r_inner:
366,7 → 366,7
mov edx,edi
shl edx,8
add edx,esi
int 0x40
mcall
add esi,5
cmp esi,255
jne next_b_r_inner
374,7 → 374,7
cmp edi,255
jne next_b_r_outer
 
; DRAW GREYSCALE
; DRAW GREYSCALE
mov edi,0
next_b_w_outer:
mov esi,0
391,7 → 391,7
add edx,esi
shl edx,8
add edx,esi
int 0x40
mcall
add esi,5
cmp esi,255
jne next_b_w_inner
399,19 → 399,19
cmp edi,255
jne next_b_w_outer
 
cmp [first_run],0 ; is it the first window draw
jne dont_load ; no then dont reload the file
call load_file ; load initial file
mov [first_run],1 ; first window draw done
cmp [first_run],0 ; is it the first window draw
jne dont_load ; no then dont reload the file
call load_file ; load initial file
mov [first_run],1 ; first window draw done
dont_load:
call draw_icon ; draw icon area
call draw_graph ; draw edit area
call draw_icon ; draw icon area
call draw_graph ; draw edit area
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
int 0x40
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
mcall
 
ret ; return
ret ; return
 
; *********************************************
; ******* SET BACKGROUND ********
418,42 → 418,42
; *********************************************
set_background:
 
mov ecx,image+3600 ; point to our decode buffer
mov ecx,image+3600 ; point to our decode buffer
mov edx,image+54+32*32*3-96 ; point to last line of bmp
 
mov edi,0 ; zero line count
mov edi,0 ; zero line count
decode_line:
mov esi,0 ; zero column count
mov esi,0 ; zero column count
decode_column:
mov ebx,[edx] ; get our data
mov [ecx],ebx ; store our data
add ecx,4 ; add 4 bytes to pointer as using double word
add edx,4 ; add 4 bytes to pointer
inc esi ; increment column count
cmp esi,24 ; have we done all columns
jne decode_column ; no then do some more
sub edx,192 ; move back 2 lines of bmp data
inc edi ; increment line count
cmp edi,33 ; have we done all lines
jne decode_line ; no then do another one
mov ebx,[edx] ; get our data
mov [ecx],ebx ; store our data
add ecx,4 ; add 4 bytes to pointer as using double word
add edx,4 ; add 4 bytes to pointer
inc esi ; increment column count
cmp esi,24 ; have we done all columns
jne decode_column ; no then do some more
sub edx,192 ; move back 2 lines of bmp data
inc edi ; increment line count
cmp edi,33 ; have we done all lines
jne decode_line ; no then do another one
 
mov eax,15 ; background
mov ebx,1 ; set background size
mov ecx,32 ; x size
mov edx,32 ; y size
int 0x40 ; do it
mov ebx,5 ; blockmove image to os bgr memory
mov ecx,image+3600 ; point to image
mov edx,0 ; start of bgr memory
mov esi,32*32*3 ; byte count
int 0x40 ; do it
mov ebx,4 ; type of background draw
mov ecx,1 ; tile
int 0x40 ; do it
mov ebx,3 ; draw background
int 0x40 ; do it
mov eax,15 ; background
mov ebx,1 ; set background size
mov ecx,32 ; x size
mov edx,32 ; y size
mcall ; do it
mov ebx,4 ; type of background draw
mov ecx,1 ; tile
mcall ; do it
mov ebx,5 ; blockmove image to os bgr memory
mov ecx,image+3600 ; point to image
mov edx,0 ; start of bgr memory
mov esi,32*32*3 ; byte count
mcall ; do it
mov ebx,3 ; draw background
mcall ; do it
 
ret ; return
ret ; return
 
; *********************************************
; ******* GET SCREEN X and Y SIZE ********
460,16 → 460,16
; *********************************************
get_screen_size:
 
mov eax,14 ; function 14 : get screen max
int 0x40 ; returns eax : 0xXXXXYYYY
push eax ; save reg
and eax,0x0000ffff ; split out y size
add eax,1 ; add 1 to remove zero base
mov [y_size],eax ; store for later
pop eax ; restore reg
shr eax,16 ; move x size down the reg
add eax,1 ; add 1 to remove zero base
mov [x_size],eax ; store for later
mov eax,14 ; function 14 : get screen max
mcall ; returns eax : 0xXXXXYYYY
push eax ; save reg
and eax,0x0000ffff ; split out y size
add eax,1 ; add 1 to remove zero base
mov [y_size],eax ; store for later
pop eax ; restore reg
shr eax,16 ; move x size down the reg
add eax,1 ; add 1 to remove zero base
mov [x_size],eax ; store for later
 
ret
 
478,14 → 478,14
; *********************************************
load_file:
 
mov eax,6 ; function 6 : load file
mov ebx,icon ; point to the name
mov ecx,0 ; reserved
mov edx,200000 ; reserved
mov esi,image ; point to image buffer
int 0x40 ; do it
mov eax,6 ; function 6 : load file
mov ebx,icon ; point to the name
mov ecx,0 ; reserved
mov edx,200000 ; reserved
mov esi,image ; point to image buffer
mcall ; do it
 
ret ; return
ret ; return
 
; *********************************************
; ******* SAVE FILE ********
492,39 → 492,39
; *********************************************
save_file:
 
mov eax,33 ; function 33 : save file
mov ebx,icon ; point to name
mov ecx,image ; point to our data
mov edx,54+32*32*3 ; how much data to transfer
xor esi,esi ; 0 - create a new file
int 0x40 ; do it
mov eax,33 ; function 33 : save file
mov ebx,icon ; point to name
mov ecx,image ; point to our data
mov edx,54+32*32*3 ; how much data to transfer
xor esi,esi ; 0 - create a new file
mcall ; do it
 
ret ; return
ret ; return
 
; *********************************************
; ******* DRAW FILENAME TO SCREEN ********
; *********************************************
draw_filename:
; DRAW COLOUR BACKGROUND
pusha ; save all registers on stack
mov eax,13 ; function 13 : draw bar
mov ebx,73*65536+81 ; [x start] *65536 + [x size]
; DRAW COLOUR BACKGROUND
pusha ; save all registers on stack
mov eax,13 ; function 13 : draw bar
mov ebx,73*65536+81 ; [x start] *65536 + [x size]
mov ecx,(window_y_size-19)*65536+15 ; [y start] *65536 + [y size]
mov edx,0x557799 ; colour 0x00RRGGBB
int 0x40
mov edx,0x557799 ; colour 0x00RRGGBB
mcall
 
mov eax,4 ; function 4 : write text to window
mov eax,4 ; function 4 : write text to window
mov ebx,78*65536+(window_y_size-15) ; [y start] *65536 + [y size]
xor ecx,ecx ; colour 0x00RRGGBB = black
mov edx,icon ; point to text
mov esi,12 ; number of characters to write
cmp byte [editstate],1 ; are we in edit mode
jne no_active_1 ; no then jump over change colour
mov ecx,0x00112299 ; else change colour
xor ecx,ecx ; colour 0x00RRGGBB = black
mov edx,icon ; point to text
mov esi,12 ; number of characters to write
cmp byte [editstate],1 ; are we in edit mode
jne no_active_1 ; no then jump over change colour
mov ecx,0x00112299 ; else change colour
no_active_1:
int 0x40 ; do it
popa ; return all registers to original
ret ; return
mcall ; do it
popa ; return all registers to original
ret ; return
 
; *********************************************
; ******* DRAW ICON FROM LOADED FILE ********
531,29 → 531,29
; *********************************************
draw_icon:
 
mov ecx,27 ; y start position
mov eax,image+51+32*32*3 ; point to our bmp data
mov edi,0 ; line count
mov ecx,27 ; y start position
mov eax,image+51+32*32*3 ; point to our bmp data
mov edi,0 ; line count
line:
mov esi,0 ; column count
mov ebx,269+31 ; x start position
mov esi,0 ; column count
mov ebx,269+31 ; x start position
pixel:
mov edx,[eax] ; colour 0x00RRGGBB from image data
push eax ; save our position
mov eax,1 ; function 1 : put pixel
int 0x40 ; do it
pop eax ; restore our position
sub eax,3 ; point to next pixel colour
dec ebx ; move our x position
inc esi ; increment our column count
cmp esi,32 ; have we done all columns
jne pixel ; no then do next pixel
inc ecx ; move our y position
inc edi ; increment line count
cmp edi,32 ; have we done all lines
jne line ; no then do next line
mov edx,[eax] ; colour 0x00RRGGBB from image data
push eax ; save our position
mov eax,1 ; function 1 : put pixel
mcall ; do it
pop eax ; restore our position
sub eax,3 ; point to next pixel colour
dec ebx ; move our x position
inc esi ; increment our column count
cmp esi,32 ; have we done all columns
jne pixel ; no then do next pixel
inc ecx ; move our y position
inc edi ; increment line count
cmp edi,32 ; have we done all lines
jne line ; no then do next line
 
ret ; return
ret ; return
 
; *********************************************
; ******* DRAW GRAPH FROM LOADED FILE *******
560,35 → 560,35
; *********************************************
draw_graph:
 
mov edi,0 ; line count
mov eax,image+51+32*32*3 ; point to our bmp data
mov edi,0 ; line count
mov eax,image+51+32*32*3 ; point to our bmp data
next_lin:
mov ecx,edi ; use our line count for position
shl ecx,3 ; multiply by eight
add ecx,27 ; add y start position
shl ecx,16 ; move into top eight bytes [y start]
add ecx,7 ; add box height [y size]
mov esi,32 ; column count
mov ecx,edi ; use our line count for position
shl ecx,3 ; multiply by eight
add ecx,27 ; add y start position
shl ecx,16 ; move into top eight bytes [y start]
add ecx,7 ; add box height [y size]
mov esi,32 ; column count
next_bo:
mov ebx,esi ; use our column count for position
shl ebx,3 ; multiply by eight
add ebx,-1 ; add a correction
shl ebx,16 ; and move into top eight bytes [x start]
add ebx,7 ; add box width [x size]
mov edx,[eax] ; point to bmp data
push eax ; save our position
mov eax,13 ; function 13 : draw bar
int 0x40 ; do it
pop eax ; restore our position
sub eax,3 ; point to next pixel colour
dec esi ; increment column count
cmp esi,0 ; have we done all columns
jne next_bo ; no then do the next column
inc edi ; increment line count
cmp edi,32 ; have we done all lines
jne next_lin ; no then do the next line
mov ebx,esi ; use our column count for position
shl ebx,3 ; multiply by eight
add ebx,-1 ; add a correction
shl ebx,16 ; and move into top eight bytes [x start]
add ebx,7 ; add box width [x size]
mov edx,[eax] ; point to bmp data
push eax ; save our position
mov eax,13 ; function 13 : draw bar
mcall ; do it
pop eax ; restore our position
sub eax,3 ; point to next pixel colour
dec esi ; increment column count
cmp esi,0 ; have we done all columns
jne next_bo ; no then do the next column
inc edi ; increment line count
cmp edi,32 ; have we done all lines
jne next_lin ; no then do the next line
 
ret ; return
ret ; return
 
; *********************************************
; ******* CLEAR GRAPH and ICON AREA ********
595,15 → 595,15
; *********************************************
clear_graph_icon:
 
; CLEAR IMAGE DATA
mov edi,image+54 ; point to our data
mov eax,0x00000000 ; data to write
mov ecx,(32*32*3)/4 ; how much data
rep stosd ; repeat until all data transfered
call draw_icon ; draw a blank icon
call draw_graph ; draw a blank graph
; CLEAR IMAGE DATA
mov edi,image+54 ; point to our data
mov eax,0x00000000 ; data to write
mov ecx,(32*32*3)/4 ; how much data
rep stosd ; repeat until all data transfered
call draw_icon ; draw a blank icon
call draw_graph ; draw a blank graph
 
ret ; return
ret ; return
 
; *********************************************
; ******* FLIP ICON TOP to BOTTOM ********
610,30 → 610,30
; *********************************************
flip_icon:
 
mov ecx,image+54 ; point at first line
mov ecx,image+54 ; point at first line
mov edx,image+54+32*32*3+96 ; point 1 line past end
 
mov edi,0 ; zero line count
mov edi,0 ; zero line count
lines:
mov esi,0 ; zero column count
sub edx,192 ; move back 2 lines
mov esi,0 ; zero column count
sub edx,192 ; move back 2 lines
columns:
mov eax,[ecx] ; get bytes
mov ebx,[edx] ; get bytes
mov [ecx],ebx ; swap bytes
mov [edx],eax ; swap bytes
add ecx,4 ; move pointer
add edx,4 ; move pointer
inc esi ; increment column count
cmp esi,24 ; have we done all columns
jne columns ; no then do next column
inc edi ; increment line count
cmp edi,16 ; have we done all lines
jne lines ; no then do next line
call draw_icon ; update icon
call draw_graph ; update graph
mov eax,[ecx] ; get bytes
mov ebx,[edx] ; get bytes
mov [ecx],ebx ; swap bytes
mov [edx],eax ; swap bytes
add ecx,4 ; move pointer
add edx,4 ; move pointer
inc esi ; increment column count
cmp esi,24 ; have we done all columns
jne columns ; no then do next column
inc edi ; increment line count
cmp edi,16 ; have we done all lines
jne lines ; no then do next line
call draw_icon ; update icon
call draw_graph ; update graph
 
ret ; return
ret ; return
 
; *********************************************
; ******* FLIP ICON DIAGONAL ********
640,32 → 640,32
; *********************************************
flip_diag:
 
mov ecx,image+54 ; point line 1 first bytes
mov edx,image+3600 ; point to buffer
xor esi,esi ; zero byte count
mov ecx,image+54 ; point line 1 first bytes
mov edx,image+3600 ; point to buffer
xor esi,esi ; zero byte count
 
pusha ; save all registers
pusha ; save all registers
copy_out:
mov eax,[ecx] ; get bytes
mov [edx],eax ; copy bytes
add ecx,4 ; move pointer
add edx,4 ; move pointer
inc esi ; increment byte count
cmp esi,24*32 ; have we done all bytes
jne copy_out ; no then do the next
popa ; restore all registers
mov eax,[ecx] ; get bytes
mov [edx],eax ; copy bytes
add ecx,4 ; move pointer
add edx,4 ; move pointer
inc esi ; increment byte count
cmp esi,24*32 ; have we done all bytes
jne copy_out ; no then do the next
popa ; restore all registers
 
mov edx,image+3600+32*32*3-3 ; point to last bytes
mov edx,image+3600+32*32*3-3 ; point to last bytes
copy_in:
mov eax,[edx] ; get bytes
mov [ecx],eax ; copy to image first bytes
add ecx,3 ; move pointer 3 bytes
sub edx,3 ; move pointer 3 bytes
inc esi ; increment byte count
cmp esi,32*32 ; have we done all bytes
jne copy_in ; no then do next
mov eax,[edx] ; get bytes
mov [ecx],eax ; copy to image first bytes
add ecx,3 ; move pointer 3 bytes
sub edx,3 ; move pointer 3 bytes
inc esi ; increment byte count
cmp esi,32*32 ; have we done all bytes
jne copy_in ; no then do next
 
ret ; return
ret ; return
 
; *********************************************
; ******* DRAW MOUSE ON GRAPH / ICON ********
672,31 → 672,31
; *********************************************
draw_mouse:
 
mov eax,37 ; function 37
mov ebx,2 ; sub function 2 : check for mouse button
int 0x40 ; do it
cmp eax,0 ; was a button pressed
je exit_mouse ; no then jump to exit
cmp eax,1 ; left hand button
je colour_mouse ; we are using selected colour
mov eax,37 ; function 37
mov ebx,2 ; sub function 2 : check for mouse button
mcall ; do it
cmp eax,0 ; was a button pressed
je exit_mouse ; no then jump to exit
cmp eax,1 ; left hand button
je colour_mouse ; we are using selected colour
mov [draw_colour],0x000000 ; else draw with black
jmp blank ; jmp over colour select
jmp blank ; jmp over colour select
colour_mouse:
mov eax,[sel_colour] ; get our selected colour
mov [draw_colour],eax ; save our selected colour
mov eax,[sel_colour] ; get our selected colour
mov [draw_colour],eax ; save our selected colour
blank:
mov eax,37 ; function 37
mov ebx,1 ; sub function 1 : get mouse position
int 0x40 ; do it
push eax ; save our x/y position for later
and eax,0x0000ffff ; y is in lower bytes
add eax,1 ; add 1 because we are zero based
mov [my_pos],eax ; save y position
pop eax ; restore our x/y position
shr eax,16 ; shift x into lower bytes
add eax,1 ; add 1 because we are zero based
mov [mx_pos],eax ; save x position
cmp [mx_pos],7 ; check we are within x/y limits
mov eax,37 ; function 37
mov ebx,1 ; sub function 1 : get mouse position
mcall ; do it
push eax ; save our x/y position for later
and eax,0x0000ffff ; y is in lower bytes
add eax,1 ; add 1 because we are zero based
mov [my_pos],eax ; save y position
pop eax ; restore our x/y position
shr eax,16 ; shift x into lower bytes
add eax,1 ; add 1 because we are zero based
mov [mx_pos],eax ; save x position
cmp [mx_pos],7 ; check we are within x/y limits
jle exit_mouse
cmp [mx_pos],263
jge exit_mouse
704,54 → 704,54
jle exit_mouse
cmp [my_pos],283
jge exit_mouse
mov eax,[mx_pos] ; calculate nearest square and save
sub eax,7 ; subtract 7 graph zero offset
shr eax,3 ; divide by 8 (box size) loose remainder
mov [icon_x],eax ; save for use later in icon
shl eax,3 ; multiply by 8 to get box position
add eax,7 ; add 7 graph zero offset
mov [gx_pos],eax ; save graph x position
mov eax,[my_pos] ; repeat for y
sub eax,27 ;
shr eax,3 ;
mov [icon_y],eax ;
shl eax,3 ;
add eax,27 ;
mov [gy_pos],eax ;
mov eax,13 ; function 13 : draw bar
mov ebx,[gx_pos] ; load graph x position
shl ebx,16 ; shift into high bytes
add ebx,7 ; add box size
mov ecx,[gy_pos] ; repeat for y
shl ecx,16 ;
add ecx,7 ;
mov edx,[draw_colour] ; give it a colour
int 0x40 ; do it
mov eax,1 ; function 1 : put pixel
mov ebx,[icon_x] ; icon x from above
add ebx,269 ; add icon x offset
mov ecx,[icon_y] ; icon y from above
add ecx,27 ; add icon y offset
mov edx,[draw_colour] ; give it a colour
int 0x40 ; do it
mov ecx,image+54 ; point to our data
mov ebx,31 ; 32 lines in image zero based
sub ebx,[icon_y] ; get the correct line
mov eax,96 ; 96 or 3 bytes per colour * 32 columns
mul ebx ; multiply by 96 result in eax
add ecx,eax ; add to our position
mov ebx,[icon_x] ; get the correct column
mov eax,3 ; 3 bytes per colour
mul ebx ; multiply by 3 result in eax
add ecx,eax ; add to our position
mov ebx,[draw_colour] ; get our colour
mov [ecx],bl ; move blue into image data
mov [ecx+1],bh ; move green into image data
shr ebx,16 ; shift red down
mov [ecx+2],bl ; move red into image data
mov eax,[mx_pos] ; calculate nearest square and save
sub eax,7 ; subtract 7 graph zero offset
shr eax,3 ; divide by 8 (box size) loose remainder
mov [icon_x],eax ; save for use later in icon
shl eax,3 ; multiply by 8 to get box position
add eax,7 ; add 7 graph zero offset
mov [gx_pos],eax ; save graph x position
mov eax,[my_pos] ; repeat for y
sub eax,27 ;
shr eax,3 ;
mov [icon_y],eax ;
shl eax,3 ;
add eax,27 ;
mov [gy_pos],eax ;
mov eax,13 ; function 13 : draw bar
mov ebx,[gx_pos] ; load graph x position
shl ebx,16 ; shift into high bytes
add ebx,7 ; add box size
mov ecx,[gy_pos] ; repeat for y
shl ecx,16 ;
add ecx,7 ;
mov edx,[draw_colour] ; give it a colour
mcall ; do it
mov eax,1 ; function 1 : put pixel
mov ebx,[icon_x] ; icon x from above
add ebx,269 ; add icon x offset
mov ecx,[icon_y] ; icon y from above
add ecx,27 ; add icon y offset
mov edx,[draw_colour] ; give it a colour
mcall ; do it
mov ecx,image+54 ; point to our data
mov ebx,31 ; 32 lines in image zero based
sub ebx,[icon_y] ; get the correct line
mov eax,96 ; 96 or 3 bytes per colour * 32 columns
mul ebx ; multiply by 96 result in eax
add ecx,eax ; add to our position
mov ebx,[icon_x] ; get the correct column
mov eax,3 ; 3 bytes per colour
mul ebx ; multiply by 3 result in eax
add ecx,eax ; add to our position
mov ebx,[draw_colour] ; get our colour
mov [ecx],bl ; move blue into image data
mov [ecx+1],bh ; move green into image data
shr ebx,16 ; shift red down
mov [ecx+2],bl ; move red into image data
exit_mouse:
 
ret ; return
ret ; return
 
; *********************************************
; ******* GET COLOUR TO DRAW WITH ********
758,30 → 758,30
; *********************************************
check_colour:
 
mov eax,37 ; function 37
mov ebx,2 ; sub function 2 : check for mouse button
int 0x40 ; do it
cmp eax,0 ; was a button pressed
je exit_draw ; no then jump to exit
mov eax,37 ; function 37
mov ebx,1 ; sub function 1 : get mouse position
int 0x40 ; do it
push eax ; save our x/y position for later
and eax,0x0000ffff ; y is in lower bytes
add eax,1 ; add 1 because we are zero based
mov [my_pos],eax ; save y position
pop eax ; restore our x/y position
shr eax,16 ; shift x into lower bytes
add eax,1 ; add 1 because we are zero based
mov [mx_pos],eax ; save x position
cmp [mx_pos],270 ; check we are within x/y limits
jl check_rb
mov eax,37 ; function 37
mov ebx,2 ; sub function 2 : check for mouse button
mcall ; do it
cmp eax,0 ; was a button pressed
je exit_draw ; no then jump to exit
mov eax,37 ; function 37
mov ebx,1 ; sub function 1 : get mouse position
mcall ; do it
push eax ; save our x/y position for later
and eax,0x0000ffff ; y is in lower bytes
add eax,1 ; add 1 because we are zero based
mov [my_pos],eax ; save y position
pop eax ; restore our x/y position
shr eax,16 ; shift x into lower bytes
add eax,1 ; add 1 because we are zero based
mov [mx_pos],eax ; save x position
cmp [mx_pos],270 ; check we are within x/y limits
jl check_rb
cmp [mx_pos],301
jg check_rb
jg check_rb
cmp [my_pos],219
jl check_rb
jl check_rb
cmp [my_pos],250
jg check_rb
jg check_rb
 
call decode_mouse
 
798,7 → 798,7
add ecx,211
mov edx,[sel_colour]
add edx,esi
int 0x40
mcall
add esi,5
cmp esi,255
jne next_sel_rg_inner
809,14 → 809,14
 
check_rb:
 
cmp [mx_pos],270 ; check we are within x/y limits
jl check_bg
cmp [mx_pos],270 ; check we are within x/y limits
jl check_bg
cmp [mx_pos],301
jg check_bg
jg check_bg
cmp [my_pos],251
jle check_bg
cmp [my_pos],282
jg check_bg
jg check_bg
 
call decode_mouse
 
835,7 → 835,7
shl eax,8
add edx,eax
mov eax,1
int 0x40
mcall
add esi,5
cmp esi,255
jne next_sel_rb_inner
846,14 → 846,14
 
check_bg:
 
cmp [mx_pos],301 ; check we are within x/y limits
jl get_colour
cmp [mx_pos],301 ; check we are within x/y limits
jl get_colour
cmp [mx_pos],333
jg get_colour
jg get_colour
cmp [my_pos],251
jl get_colour
jl get_colour
cmp [my_pos],282
jg get_colour
jg get_colour
 
call decode_mouse
 
872,7 → 872,7
shl eax,16
add edx,eax
mov eax,1
int 0x40
mcall
add esi,5
cmp esi,255
jne next_sel_bg_inner
882,14 → 882,14
 
get_colour:
 
cmp [mx_pos],309 ; check we are within x/y limits
jl exit_draw
cmp [mx_pos],309 ; check we are within x/y limits
jl exit_draw
cmp [mx_pos],340
jg exit_draw
jg exit_draw
cmp [my_pos],212
jl exit_draw
jl exit_draw
cmp [my_pos],243
jg exit_draw
jg exit_draw
 
call decode_mouse
 
897,7 → 897,7
mov ebx,269*65536+71
mov ecx,172*65536+32
mov edx,[sel_colour]
int 0x40
mcall
 
mov eax,[sel_colour]
mov [draw_colour],eax
910,7 → 910,7
mov ecx,[sel_colour]
mov edx,273*65536+176
mov esi,0x000000
int 0x40
mcall
 
exit_draw:
 
924,7 → 924,7
 
mov eax,37
xor ebx,ebx
int 0x40
mcall
mov ebx,eax
mov ecx,eax
and ebx,0xffff0000
935,7 → 935,7
add ebx,ecx
mov eax,35
dec ebx
int 0x40
mcall
 
mov [sel_colour],eax
 
945,38 → 945,38
; ******* DATA AREA *****
; *********************************************
 
mx_pos dd 0x0
my_pos dd 0x0
mx_pos dd 0x0
my_pos dd 0x0
 
gx_pos dd 0x0
gy_pos dd 0x0
gx_pos dd 0x0
gy_pos dd 0x0
 
icon_x dd 0x0
icon_y dd 0x0
icon_x dd 0x0
icon_y dd 0x0
 
x_size dd 0x0
y_size dd 0x0
x_size dd 0x0
y_size dd 0x0
 
sel_colour dd 0x00ffffff
draw_colour dd 0x00ffffff
sel_colour dd 0x00ffffff
draw_colour dd 0x00ffffff
 
button_text_3 db 'FILENAME'
button_text_4 db 'LOAD'
button_text_5 db 'SAVE'
button_text_6 db 'CLEAR ICON'
button_text_7 db 'FLIP VERT '
button_text_8 db 'FLIP HORIZ'
button_text_9 db 'FLIP DIAG '
button_text_10 db 'SET AS BGR'
button_text_3 db 'FILENAME'
button_text_4 db 'LOAD'
button_text_5 db 'SAVE'
button_text_6 db 'CLEAR ICON'
button_text_7 db 'FLIP VERT '
button_text_8 db 'FLIP HORIZ'
button_text_9 db 'FLIP DIAG '
button_text_10 db 'SET AS BGR'
 
labelt: db 'ICON EDITOR'
title db 'ICON EDITOR',0
 
icon: db 'WRITE.BMP '
icon: db 'WRITE.BMP '
 
editpos db 0
editstate db 0
editpos db 0
editstate db 0
 
first_run db 0
first_run db 0
 
image:
 
/programs/media/jpegview/trunk/macros.inc
File deleted
\ No newline at end of file
/programs/media/jpegview/trunk/jpegview.asm
41,7 → 41,7
 
stack_size=4096 + 1024
 
include 'macros.inc'
include '..\..\..\macros.inc'
 
START: ; start of execution
 
63,7 → 63,7
push still
mov ebx,100 ;1 second
mov eax,23 ; wait here for event
int 0x40
mcall
cmp eax,1 ; redraw request ?
je draw_window
cmp eax,2 ; key in buffer ?
74,7 → 74,7
 
button: ; BUTTON
mov eax,17
int 0x40
mcall
cmp ah,3
je set_as_bgr2
cmp ah,2
83,7 → 83,7
jne close_program.exit
close_program:
mov eax,-1
int 0x40
mcall
.exit:
ret
 
109,7 → 109,7
mov ebx,edi
mov eax,7
 
int 40h ; Put image function
mcall ; Put image function
.l1:
popad
ret
171,7 → 171,7
mov ebx, 1
mov ecx, [ebp + x_size]
mov edx, [ebp + y_size]
int 0x40
mcall
 
mov dword [ebp+draw_ptr],put_chunk_to_bgr
call jpeg_display
180,11 → 180,11
mov eax, 15
mov ebx, 4
mov ecx, 2
int 0x40
mcall
 
mov eax, 15
mov ebx, 3
int 0x40
mcall
 
 
.end:
214,7 → 214,7
mov ecx, [x_pointer]
mov edx, [x_offset]
mov esi, [x_numofbytes]
int 0x40
mcall
mov eax, [x_numofbytes]
add [x_pointer], eax
mov eax, [x_numofb2]
240,11 → 240,11
mov ebx,3
mov ecx,sc
mov edx,sizeof.system_colors
int 0x40
mcall
 
mov eax,12
mov ebx,1
int 0x40
mcall
 
; Draw the window to the appropriate size - it may have
; been resized by the user
263,7 → 263,7
mov eax, 9
mov ebx, memsize - 1024
mov ecx, -1
int 0x40
mcall
mov eax, [ebx + 34]
mov [winxo], ax
mov eax, [ebx + 38]
282,8 → 282,8
xor eax,eax ; DRAW WINDOW
mov edx,[sc.work]
or edx,0x33000000
mov edi,header ; WINDOW LABEL
int 0x40
mov edi,title ; WINDOW LABEL
mcall
 
 
mov eax,8 ; BUTTON 2: slideshow
294,7 → 294,7
add ecx, 12
mov esi, [sc.work_button]
mov edx,2
int 0x40
mcall
 
mov eax,4 ; Button text
movzx ebx, word [winys]
302,7 → 302,7
mov ecx,[sc.work_button_text]
mov edx,setname
mov esi,setnamelen-setname
int 0x40
mcall
 
 
mov eax,8 ; BUTTON 3: set as background
316,7 → 316,7
add ecx, 12
mov esi, [sc.work_button]
mov edx,3
int 0x40
mcall
 
mov eax,4 ; Button text
movzx ebx, word [winxs]
327,12 → 327,12
mov ecx,[sc.work_button_text]
mov edx,setbgr
mov esi,setbgrlen-setbgr
int 0x40
mcall
call print_strings
call load_image
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
int 0x40
mcall
 
ret
 
343,7 → 343,7
movzx edi,byte[name_string.cursor]
add edi,name_string
mov eax,2
int 0x40 ; Get the key value
mcall ; Get the key value
shr eax,8
cmp eax,13 ; Return key ends input
je .rs_done
391,7 → 391,7
add ecx, 1 shl 16
 
mov edx,[sc.work]
int 0x40
mcall
mov ebp,[jpeg_st]
test ebp,ebp
jz .exit
409,7 → 409,7
shl ecx, 16
add ecx, 12
mov edx,0xffffff
int 0x40
mcall
 
mov eax,4 ;
movzx ebx, word [winys]
417,7 → 417,7
mov ecx,0x000000
mov edx,name_string
mov esi,60
int 0x40
mcall
popa
ret
 
455,7 → 455,7
mov byte [ebx+12], 1
mov dword [ebx+16], dirinfo
mov eax, 70
int 0x40
mcall
mov eax, [file_dir]
inc dword [eax+4]
cmp ebx, 1
502,7 → 502,7
; DATA AREA
 
wcolor dd 0x000000
header db appname,version,0
title db appname,version,0
setname db 'SLIDESHOW'
setnamelen:
 
/programs/media/midamp/trunk/macros.inc
File deleted
\ No newline at end of file
/programs/media/midamp/trunk/MIDAMP.ASM
63,7 → 63,7
listsel dd 0
channel dd 0
COLOR_ORDER equ MENUETOS
include 'macros.inc' ; decrease code size (optional)
include '..\..\..\macros.inc' ; decrease code size (optional)
lang fix en
;purge mov
include 'debug.inc'
153,7 → 153,7
rep movsd
mov eax,70
mov ebx,file_info
int 0x40
mcall
add ebx,workarea
mov [midi_limit],ebx
mov edi,I_PARAM
225,7 → 225,7
mov ecx,ipcarea
call init_ipc
mov eax,10
int 0x40
mcall
prc_event:
test eax,eax
jz still
/programs/media/midamp/trunk/build.bat
1,0 → 0,0
fasm MIDAMP.ASM MIDAMP
@fasm MIDAMP.ASM MIDAMP
@pause
/programs/media/midamp/trunk/debug.inc
55,7 → 55,7
mov cl,al
mov eax,63
mov ebx,1
int 0x40
mcall
popad
popf
ret
/programs/media/midamp/trunk/dlg.inc
23,7 → 23,7
; mov eax,9
; mov ebx,prcinfo
; mov ecx,-1
; int 0x40
; mcall
mov eax,[parentPID]
; convert eax bin to param dec
; mov eax,dword [prcinfo+30] ;offset of myPID
57,12 → 57,12
mov ebx,1 ; define IPC
mov ecx,path ; offset of area
mov edx,1024+16 ; size
int 0x40
mcall
 
; change wanted events list 7-bit IPC event
mov eax,40
mov ebx,01000111b
int 0x40
mcall
 
;
; STEP 3 run SYSTEM XTREE with parameters
70,7 → 70,7
 
mov eax,70
mov ebx,run_fileinfo
int 0x40
mcall
 
call redproc
 
78,7 → 78,7
getmesloop:
mov eax,23
mov ebx,50 ;0.5 sec
int 0x40
mcall
dec eax
jz mred
dec eax
92,7 → 92,7
mov ebx,prcinfo
mov ecx,-1
mov eax,9
int 0x40
mcall
mov ebp,eax
 
loox:
99,7 → 99,7
mov eax,9
mov ebx,prcinfo
mov ecx,ebp
int 0x40
mcall
mov eax,[DLGPID]
cmp [prcinfo+30],eax ;IF Dialog find
je dlg_is_work ;jmp to dlg_is_work
124,15 → 124,15
jmp getmesloop
mkey:
mov eax,2
int 0x40 ; read (eax=2)
mcall ; read (eax=2)
jmp getmesloop
mbutton:
mov eax,17 ; get id
int 0x40
mcall
cmp ah,1 ; button id=1 ?
jne getmesloop
mov eax,-1 ; close this program
int 0x40
or eax,-1 ; close this program
mcall
mgetmes:
 
; If dlg_pid_get then second message get jmp to still
/programs/media/midamp/trunk/draw.inc
18,7 → 18,7
mov ecx,[ebp-12]
mov edx,0x84706a
mov eax,13
int 0x40
mcall
mov esi,TOTALTIME_XY
mov eax,[tick_count]
call draw_total_time
44,7 → 44,7
draw_window:
mov eax,12
mov ebx,1
int 0x40
mcall
or [flag],FL_BOTTRED
xor eax,eax
mov ebx,100*65536+275
61,7 → 61,7
mov edx,WND_BACK
mov esi,edx
mov edi,edx
int 0x40
mcall
mov ecx,[channel]
shl ecx,4
add cl,[sel_track]
77,16 → 77,16
mov ebx,265 shl 16+7
mov ecx,3 shl 16+7
mov edx,1+1 shl 30
int 0x40 ; close button
mcall ; close button
sub ebx,10 shl 16
mov edx,100+1 shl 30
int 0x40 ; shade button-101
mcall ; shade button-101
sub ebx,10 shl 16
add edx,3
int 0x40 ; minimize button-103
mcall ; minimize button-103
sub ebx,239 shl 16
inc edx ; about button-104
int 0x40
mcall
xor esi,esi
xor edi,edi
mov ecx,3
101,7 → 101,7
add ecx,[ebp-24]
mov esi,0x2c2b46
mov edx,2+1 shl 29
int 0x40
mcall
 
shr eax,1
 
129,7 → 129,7
mov ebx,btn_raw+12
mov ecx,BTNS_SIZE
mov edx,BTNS_XY
int 0x40
mcall
.nohide2:
mov esi,FL_SHUFFLE
mov edi,btncoords+8
148,7 → 148,7
add ecx,4 shl 16
add ecx,[ebp+4]
mov cx,2
int 0x40
mcall
pop ecx
.el:
add edi,8
158,7 → 158,7
.enddraw:
mov eax,12
mov ebx,2
int 0x40
mcall
ret
 
draw_navigation:
176,7 → 176,7
mov ecx,[ebp+4]
add ecx,[ebp-4]
add ecx,edi
int 0x40
mcall
pop ecx
add ebx,[ebp+8]
inc edx
192,7 → 192,7
mov ecx,[edi+4]
add ecx,[ebp+4]
add ecx,[esp+4]
int 0x40
mcall
pop ecx
add edi,8
inc edx
230,7 → 230,7
mcall 47,0x20000,,esi,0xf000
pop ecx
add edx,17 shl 16
int 0x40
mcall
sub edx,5 shl 16
mcall 4,edx,esi,dots,1
popa
/programs/media/midamp/trunk/event.inc
17,7 → 17,7
 
key:
mov eax,2
int 0x40
mcall
mov edi,key_codes
cmp ah,48
jb .jump
111,7 → 111,7
 
button:
mov eax,17
int 0x40
mcall
cmp ah,20
jb .nobott
cmp ah,25
149,7 → 149,7
_close:
call kill
or eax,-1
int 0x40
mcall
 
bShade:
call Shade
169,7 → 169,7
mov ecx,ebx
mov edx,ebx
mov eax,67
int 0x40
mcall
ret
bMinimize:
; mcall 18,10
258,7 → 258,7
jz still
mov eax,37
mov ebx,1
int 0x40
mcall
mov ebp,[coo]
sub eax,[ebp-16]
shr eax,16
/programs/media/midamp/trunk/playlist.inc
15,7 → 15,7
mov eax,13
mov ecx,PL_Y-1 shl 16+4+9*LISTITEMS
xor edx,edx
int 0x40
mcall
movzx ecx,byte[list_count]
test ecx,ecx
jz .ex2
24,7 → 24,7
add ecx,PL_Y-1 shl 16-2
mov edx,11+1 shl 29+1 shl 30
mov eax,8
int 0x40
mcall
pop ecx
mov edi,[pl_ptr]
mov eax,4
45,7 → 45,7
add ecx,PL_Y-1 shl 16+8
mov edx,0xc6
mov eax,13
int 0x40
mcall
popa
.nosel:
pusha
61,7 → 61,7
mov ecx,PCOLOR
.int:
add ebx,25 shl 16
int 0x40
mcall
popa
add edi,esi
add ebx,9
144,7 → 144,7
; out: eax- item # (0..n)
mov ebx,1
mov eax,37
int 0x40
mcall
sub eax,PLY-1
mov ebx,9
div bl
240,7 → 240,7
and dword[ebx],0
mov dword[ebx+12],20*512
mov eax,70
int 0x40
mcall
test eax,eax
jz .ok1 ; ebx- filesize
cmp eax,6
310,7 → 310,7
mov [ebx+12],edi
mov byte[ebx],2
mov eax,70
int 0x40
mcall
.ex:
ret
 
/programs/media/midamp/trunk/thread.inc
29,7 → 29,7
mov esi,play_area
mov eax,55
mov ebx,eax
int 0x40
mcall
.nosound:
end if
movzx ebx,byte[play_area]
36,7 → 36,7
and ebx,0x7f
add [cur_tick],ebx
mov eax,23
int 0x40
mcall
cmp word[edi],0
jne .checkevt
mov eax,IPC_NEXT
/programs/media/midiplay/trunk/macros.inc
File deleted
\ No newline at end of file
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/programs/media/midiplay/trunk/build_en.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix en >lang.inc
@fasm midiplay.asm midiplay
@erase lang.inc
@pause
/programs/media/midiplay/trunk/build_ru.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix ru >lang.inc
@fasm midiplay.asm midiplay
@erase lang.inc
@pause
/programs/media/midiplay/trunk/midiplay.asm
4,29 → 4,28
;
 
include 'lang.inc'
include 'macros.inc'
include '..\..\..\macros.inc'
 
use32
org 0x0
db 'MENUET01' ; header
dd 0x01 ; header version
dd START ; entry point
dd I_END ; image size
dd 0x1000 ; required memory
dd 0x1000 ; esp
dd 0x0 , 0x0 ; I_Param , I_Path
 
org 0x0
db 'MENUET00' ; 8 byte id
dd 38 ; required os
dd START ; program start
dd I_END ; program image size
dd 0x1000 ; reguired amount of memory
dd 0x1000
dd 0x00000000 ; reserved=no extended header
 
 
 
START:
 
red:
call draw_window
 
still:
 
mov eax,10 ; redraw ?
int 0x40
mcall
 
cmp eax,1
jz red
34,13 → 33,9
jz button
jmp still
 
red:
call draw_window
jmp still
 
button:
mov eax,17
int 0x40
mcall
 
cmp al,byte 0
jnz still
49,7 → 44,7
jnz noexit
 
mov eax,0xffffffff
int 0x40
mcall
 
noexit:
 
59,7 → 54,7
mov eax,20 ; reset midi device
mov ebx,1
mov ecx,0
int 0x40
mcall
 
cmp eax,0
jz noe1
81,7 → 76,7
pusha
mov eax,5
mov ebx,8
int 0x40
mcall
popa
mov ebx,0
; call noteout
93,7 → 88,7
pusha
mov eax,5
mov ebx,8
int 0x40
mcall
popa
mov ebx,0
; call noteout
113,63 → 108,41
 
mov eax,12 ; tell os about redraw
mov ebx,1
int 0x40
mcall
 
mov eax,0 ; define and draw window
mov ebx,20*65536+250
mov ecx,20*65536+120
mov edx,0x02ffffff
mov esi,0x805070d0;88ccee
mov edi,0x005070d0;88ccee
int 0x40
mov edx,0x13ffffff
mov edi,title
mcall
 
; CLOSE BUTTON
mov eax,8 ; function 8 : define and draw
mov ebx,(250-19)*65536+12 ; [x start] *65536 + [x size]
mov ecx,5*65536+12 ; [y start] *65536 + [y size]
mov edx,1 ; button id
mov esi,0x5577cc ; button color RRGGBB
int 0x40
 
 
mov eax,4 ; 4 = write text
mov ebx,8*65536+8
mov ecx,dword 0x00ffffff ; 8b window nro - RR GG BB color
mov edx,labelt ; pointer to text beginning
mov esi,labellen-labelt ; text length
int 0x40
 
mov eax,8
mov ebx,10*65536+200 ; button start x & size
mov ecx,40 *65536+17 ; button start y & size
mov edx,2 ; button number
mov esi,0x4060b0 ; button color
int 0x40
mcall
 
mov eax,8
mov ebx,10*65536+200 ; button start x & size
mov ecx,60 *65536+17 ; button start y & size
mov edx,3 ; button number
mov esi,0x4060b0 ; button color
int 0x40
mcall
 
mov eax,dword 4
mov eax,4
mov ebx,25*65536+45
mov ecx,dword 0xffffff
mov edx,buttont
mov esi,buttontlen-buttont
int 0x40
mcall
 
mov eax,dword 4
mov ebx,25*65536+65
mov ecx,dword 0xffffff
mov edx,buttont2
mov esi,buttontlen2-buttont2
int 0x40
mcall
 
mov eax,12 ; tell os about redraw end
mov ebx,2
int 0x40
mcall
 
popa
ret
185,15 → 158,15
mov eax,20
mov ebx,2
mov ecx,0x9f
int 0x40
mcall
mov eax,20
mov ebx,2
pop ecx
int 0x40
mcall
mov eax,20
mov ebx,2
pop ecx
int 0x40
mcall
 
cmp eax,0
jz noe2
212,7 → 185,7
mov ecx,0x000000
mov edx,error1
mov esi,errorlen1-error1
int 0x40
mcall
 
mov eax,dword 4
mov ebx,15*65536+95
219,7 → 192,7
mov ecx,0x000000
mov edx,error2
mov esi,errorlen2-error2
int 0x40
mcall
 
ret
 
227,9 → 200,7
; DATA AREA
 
 
labelt:
db 'MIDI TEST'
labellen:
title db 'MIDI TEST',0
 
buttont:
db 'PLAY A FEW NOTES'
248,7 → 219,6
 
base db 0x0
 
 
I_END:
 
 
/programs/media/mixer/trunk/macros.inc
File deleted
\ No newline at end of file
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/programs/media/mixer/trunk/build_en.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix en >lang.inc
@fasm mixer.asm mixer
@erase lang.inc
@pause
/programs/media/mixer/trunk/build_ru.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix ru >lang.inc
@fasm mixer.asm mixer
@erase lang.inc
@pause
/programs/media/mixer/trunk/mixer.asm
5,23 → 5,25
; Compile with FASM
;
 
include 'lang.inc'
include '..\..\..\macros.inc'
 
 
use32
org 0x0
db 'MENUET01' ; header
dd 0x01 ; header version
dd START ; entry point
dd I_END ; image size
dd 0x1000 ; required memory
dd 0x1000 ; esp
dd 0x0 , 0x0 ; I_Param , I_Path
 
org 0x0
db 'MENUET00' ; 8 byte id
dd 38 ; required os
dd START ; program start
dd I_END ; program image size
dd 0x1000 ; reguired amount of memory
dd 0x1000
dd 0x00000000 ; reserved=no extended header
 
include 'lang.inc'
include 'macros.inc'
 
START: ; start of execution
 
 
red: ; redraw
call draw_window ; at first, draw the window
 
 
28,7 → 30,7
still:
 
mov eax,10 ; wait here for event
int 0x40
mcall
 
cmp eax,1 ; redraw request ?
jz red
39,25 → 41,20
 
jmp still
 
red: ; redraw
call draw_window
 
jmp still
 
key: ; key
mov eax,2 ; just read it and ignore
int 0x40
mcall
 
jmp still
 
button: ; button
mov eax,17
int 0x40
mcall
 
cmp ah,1 ; button id=1 ?
jnz noclose
mov eax,-1 ; close this program
int 0x40
or eax,-1 ; close this program
mcall
noclose:
 
cmp ah,101
123,7 → 120,7
 
mov eax,25
mov ebx,1
int 0x40
mcall
 
jmp still
 
154,7 → 151,7
 
mov eax,25
mov ebx,2
int 0x40
mcall
 
jmp still
 
196,7 → 193,7
 
mov eax,28
mov ebx,1
int 0x40
mcall
 
jmp still
 
227,7 → 224,7
 
mov eax,28
mov ebx,2
int 0x40
mcall
 
jmp still
 
274,7 → 271,7
 
mov eax,27
mov ebx,1
int 0x40
mcall
 
jmp still
 
305,7 → 302,7
 
mov eax,27
mov ebx,2
int 0x40
mcall
 
jmp still
 
326,7 → 323,7
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
int 0x40
mcall
 
; DRAW WINDOW
mov eax,0 ; function 0 : define and draw window
333,26 → 330,10
mov ebx,100*65536+195 ; [x start] *65536 + [x size]
mov ecx,100*65536+140 ; [y start] *65536 + [y size]
mov edx,[wcolor] ; color of work area RRGGBB
mov esi,0x8099bbff ; color of grab bar RRGGBB,8->color glide
mov edi,0x0099bbee ; color of frames RRGGBB
int 0x40
mov edi,title ; WINDOW LABEL
mcall
 
; WINDOW LABEL
mov eax,4 ; function 4 : write text to window
mov ebx,8*65536+8 ; [x start] *65536 + [y start]
mov ecx,0x00ffffff ; color of text RRGGBB
mov edx,labelt ; pointer to text beginning
mov esi,labellen-labelt ; text length
int 0x40
 
; CLOSE BUTTON
mov eax,8 ; function 8 : define and draw button
mov ebx,(195-19)*65536+12 ; [x start] *65536 + [x size]
mov ecx,5*65536+12 ; [y start] *65536 + [y size]
mov edx,1 ; button id
mov esi,0x22aacc ; button color RRGGBB
; int 0x40
 
mov edx,16 ; button id
mov ebx,10*65536
 
367,27 → 348,23
mov bx,22 ; [x start] *65536 + [x size]
mov ecx,35*65536+8 ; [y start] *65536 + [y size]
dec edx
int 0x40
mov eax,8 ; function 8 : define and draw button
mcall
mov bx,22 ; [x start] *65536 + [x size]
mov ecx,45*65536+8 ; [y start] *65536 + [y size]
dec edx
int 0x40
mov eax,8 ; function 8 : define and draw button
mcall
mov bx,22 ; [x start] *65536 + [x size]
mov ecx,55*65536+8 ; [y start] *65536 + [y size]
dec edx
int 0x40
mov eax,8 ; function 8 : define and draw button
mcall
mov bx,22 ; [x start] *65536 + [x size]
mov ecx,65*65536+8 ; [y start] *65536 + [y size]
dec edx
int 0x40
mov eax,8 ; function 8 : define and draw button
mcall
mov bx,22 ; [x start] *65536 + [x size]
mov ecx,75*65536+8 ; [y start] *65536 + [y size]
dec edx
int 0x40
mcall
 
pop ebx
pop edx
408,7 → 385,7
mov ecx,0x00ffffff ; color of text RRGGBB
mov edx,text ; pointer to text beginning
mov esi,29
int 0x40
mcall
 
mov eax,8 ; function 8 : define and draw button
mov ebx,(5)*65536+185 ; [x start] *65536 + [x size]
415,13 → 392,13
mov ecx,120*65536+14 ; [y start] *65536 + [y size]
mov edx,101 ; button id
mov esi,[bcolor] ; button color RRGGBB
int 0x40
mcall
 
call drawusedcard
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
int 0x40
mcall
 
ret
 
434,7 → 411,7
mov ebx,14*65536+160
mov ecx,123*65536+10
mov edx,[bcolor]
int 0x40
mcall
 
mov eax,[usecard]
mov edx,c3
456,7 → 433,7
mov ebx,14*65536+123
mov ecx,0x00ffffff
mov esi,30
int 0x40
mcall
 
popa
 
468,7 → 445,7
 
bcolor dd 0x5577c8
 
wcolor dd 0x03000000
wcolor dd 0x13000000
 
 
text:
481,9 → 458,7
 
usecard dd 0x1
 
labelt:
db 'MIXER'
labellen:
title db 'MIXER',0
 
I_END:
 
/programs/media/mv/trunk/macros.inc
File deleted
\ No newline at end of file
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/programs/media/mv/trunk/build_en.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix en >lang.inc
@fasm mv.asm mv
@erase lang.inc
@pause
/programs/media/mv/trunk/build_ru.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix ru >lang.inc
@fasm mv.asm mv
@erase lang.inc
@pause
/programs/media/mv/trunk/mv.asm
15,7 → 15,7
dd temp_area , 0x0 ; I_Param , I_Icon
 
include 'lang.inc'
include 'macros.inc'
include '..\..\..\macros.inc'
;******************************************************************************
 
START: ; start of execution
27,7 → 27,7
call convert
call background
or eax,-1
int 0x40
mcall
.no_boot:
 
cmp byte [temp_area],0
52,7 → 52,7
.no_param:
 
 
mov ecx,-1 ; get information about me
or ecx,-1 ; get information about me
call getappinfo
 
mov edx,[process_info+30] ; ⥯¥àì ¢ edx ­ è ¨¤¥­â¨ä¨ª â®à
75,7 → 75,7
still:
 
mov eax,10 ; wait here for event
int 0x40
mcall
 
dec eax
jz red
84,7 → 84,7
 
key: ; key
mov al,2
int 0x40
mcall
mov al,ah
cmp al,6
je kfile
102,19 → 102,19
mov al, 18
mov ebx, 3
mov ecx, [process]
int 0x40
mcall
and byte [status], not 4
jmp still
 
button: ; button
mov eax,17 ; get id
int 0x40
mcall
 
cmp ah,1 ; button id=1 ?
jne noclose
 
mov eax,-1 ; close this program
int 0x40
mcall
noclose:
cmp ah,2
jne nofile
126,7 → 126,7
mov ebx,1
mov ecx,thread1
mov edx,0x29fff0
int 0x40
mcall
jmp still
nofile:
cmp ah,3
141,7 → 141,7
add ecx,50*65536-55
mov edx,0xffffff
mov eax,13
int 0x40
mcall
 
call load_image
 
163,7 → 163,7
mov ebx,1
mov ecx,thread2
mov edx,0x2afff0
int 0x40
mcall
jmp still
noinfo:
 
178,7 → 178,7
mov ebx,1
mov ecx,thread3
mov edx,0x2bfff0
int 0x40
mcall
jmp still
;call background
 
185,7 → 185,7
getappinfo:
mov eax,9
mov ebx,process_info
int 0x40
mcall
ret
 
 
192,7 → 192,7
load_image:
mov eax, 70
mov ebx, fileinfo
int 0x40
mcall
mov eax,[I_END+18]
mov ebx,[I_END+22]
test ebx, ebx
218,7 → 218,7
mov ecx,-1
mov ebx,-1
mov eax,67
int 40h
mcall
@@:
ret
 
235,7 → 235,7
neg cx
@@:
mov edx,10*65536+50
int 0x40
mcall
nodrawimage:
ret
 
247,7 → 247,7
mov ebx,1
mov ecx,[I_END+18] ; è¨à¨­ 
mov edx,[I_END+22] ; ¢ëá®â 
int 0x40
mcall
 
mov esi, ecx
imul esi, edx
256,14 → 256,14
mov ecx,[soi]
xor edx,edx
;;; mov esi, ;640*480*3
int 0x40
mcall
 
dec ebx ;tile/stretch
mov ecx,dword [bgrmode]
int 0x40
mcall
 
dec ebx
int 0x40
mcall
@@:
ret
 
443,7 → 443,7
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
int 0x40
mcall
 
; DRAW WINDOW
xor eax,eax ; function 0 : define and draw window
454,7 → 454,7
add ebx,[wnd_width]
add ecx,[wnd_height]
mov edx,0x03ffffff ; color of work area RRGGBB,8->color gl
int 0x40
mcall
 
mov eax,8
mov ebx,10*65536+46
462,7 → 462,7
mov edx,2
mov esi,0x780078
newbutton:
int 0x40
mcall
add ebx,48*65536
inc edx
cmp edx,6
474,18 → 474,18
mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB )
mov edx,labelt ; pointer to text beginning
mov esi,12 ; text length
int 0x40
mcall
 
mov ebx,14*65536+32
mov edx,buttext
mov esi,26
int 0x40
mcall
 
call drawimage
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
int 0x40
mcall
 
ret
 
507,7 → 507,7
still1:
 
mov eax,10 ; wait here for event
int 0x40
mcall
 
cmp eax,1 ; redraw request ?
je thread1
519,7 → 519,7
jmp still1
 
key1: ; key
int 0x40
mcall
cmp ah,179
jne noright
mov eax,[pos]
596,7 → 596,7
 
button1: ; button
mov eax,17 ; get id
int 0x40
mcall
 
cmp ah,1 ; button id=1 ?
jne noclose1
605,13 → 605,13
bts dword [status],2
btr dword [status],0
mov eax,-1 ; close this program
int 0x40
mcall
noclose1:
cmp ah,2
jne nosetcur
mov eax,37
mov ebx,1
int 0x40
mcall
shr eax,16
sub eax,21
xor edx,edx
645,7 → 645,7
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
int 0x40
mcall
 
; DRAW WINDOW
xor eax,eax ; function 0 : define and draw window
652,7 → 652,7
mov ebx,100*65536+300 ; [x start] *65536 + [x size]
mov ecx,100*65536+80 ; [y start] *65536 + [y size]
mov edx,0x03780078 ; color of work area RRGGBB,8->color gl
int 0x40
mcall
 
; WINDOW LABEL
mov eax,4 ; function 4 : write text to window
660,13 → 660,13
mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB )
mov edx,labelt1 ; pointer to text beginning
mov esi,labelt1.size ; text length
int 0x40
mcall
 
call drawstring
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
int 0x40
mcall
 
ret
 
676,11 → 676,11
mov ebx,21*65536+258
mov ecx,40*65536+15
mov edx,0x60000002
int 0x40
mcall
 
mov eax,13 ;bar
mov edx,0xe0e0e0
int 0x40
mcall
push eax ;cursor
mov eax,6*65536
mul dword [pos]
688,13 → 688,13
mov ebx,eax
pop eax
mov edx,0x6a73d0
int 0x40
mcall
mov eax,4 ;path
mov ebx,21*65536+44
xor ecx,ecx
mov edx,string
mov esi,43
int 0x40
mcall
 
 
popa
714,7 → 714,7
still2:
 
mov eax,10 ; wait here for event
int 0x40
mcall
 
cmp eax,1 ; redraw request ?
je thread2
727,7 → 727,7
 
button2: ; button
mov eax,17 ; get id
int 0x40
mcall
 
cmp ah,1 ; button id=1 ?
jne noclose2
735,7 → 735,7
btr dword [status],1
bts dword [status],2
mov eax,-1 ; close this program
int 0x40
mcall
noclose2:
 
jmp still2
753,7 → 753,7
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
int 0x40
mcall
 
; DRAW WINDOW
xor eax,eax ; function 0 : define and draw window
760,7 → 760,7
mov ebx,100*65536+330 ; [x start] *65536 + [x size]
mov ecx,100*65536+90 ; [y start] *65536 + [y size]
mov edx,0x03780078 ; color of work area RRGGBB,8->color gl
int 0x40
mcall
 
; WINDOW LABEL
mov eax,4 ; function 4 : write text to window
768,17 → 768,17
mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB )
mov edx,labelt2 ; pointer to text beginning
mov esi,labelt2.size ; text length
int 0x40
mcall
 
mov ebx,10*65536+30
mov edx,string
mov esi,43
int 0x40
mcall
mov edx,fitext
mov esi,14
add ebx,70*65536+10
followstring:
int 0x40
mcall
add ebx,10
add edx,esi
cmp ebx,80*65536+70
788,23 → 788,23
mov esi,ecx
mov ecx, [I_END+2]
call digitcorrect
int 0x40
mcall
add edx,10
mov ecx, [I_END+18]
call digitcorrect
int 0x40
mcall
add edx,10
mov ecx, [I_END+22]
call digitcorrect
int 0x40
mcall
add edx,10
movzx ecx,word [I_END+28]
call digitcorrect
int 0x40
mcall
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
int 0x40
mcall
 
ret
 
861,7 → 861,7
still3:
 
mov eax,10 ; wait here for event
int 0x40
mcall
 
cmp eax,1 ; redraw request ?
je thread3
873,7 → 873,7
jmp still3
 
key3:
int 0x40
mcall
cmp ah,27
je close3
cmp ah,13
897,7 → 897,7
 
button3: ; button
mov eax,17 ; get id
int 0x40
mcall
 
cmp ah,1 ; button id=1 ?
jne noclose3
905,7 → 905,7
btr dword [status],3
bts dword [status],2
mov eax,-1 ; close this program
int 0x40
mcall
noclose3:
cmp ah,4
jne nook
936,7 → 936,7
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
int 0x40
mcall
 
; DRAW WINDOW
xor eax,eax ; function 0 : define and draw window
943,7 → 943,7
mov ebx,100*65536+200 ; [x start] *65536 + [x size]
mov ecx,100*65536+100 ; [y start] *65536 + [y size]
mov edx,0x03780078 ; color of work area RRGGBB,8->color gl
int 0x40
mcall
 
mov eax,8
mov ebx,70*65536+40
950,7 → 950,7
mov ecx,70*65536+20
mov edx,4
mov esi,0xac0000
int 0x40
mcall
 
; WINDOW LABEL
mov eax,4 ; function 4 : write text to window
958,30 → 958,30
mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB )
mov edx,labelt3 ; pointer to text beginning
mov esi,labelt3.size ; text length
int 0x40
mcall
add ebx,38*65536+20
mov ecx,0xddeeff
mov edx, bgrdtext
mov esi, bgrdtext.size
int 0x40
mcall
add ebx,40*65536+15
mov edx, tiled
mov esi, tiled.size
int 0x40
mcall
add ebx,15
mov edx, stretch
mov esi, stretch.size ;7
int 0x40
mcall
add ebx,18
mov edx, ok_btn
mov esi, ok_btn.size ;2
int 0x40
mcall
 
call drawflags
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
int 0x40
mcall
 
ret
 
991,10 → 991,10
mov ecx,40*65536+10
mov edx,2
mov esi,0xe0e0e0
int 0x40
mcall
add ecx,15*65536
inc edx
int 0x40
mcall
mov eax,4
mov ebx,73*65536+42
xor ecx,ecx
1004,7 → 1004,7
je nodownflag
add ebx,15
nodownflag:
int 0x40
mcall
ret
 
 
/programs/media/pic4/trunk/macros.inc
File deleted
\ No newline at end of file
/programs/media/pic4/trunk/build_en.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix en >lang.inc
@fasm pic4.asm pic4
@erase lang.inc
@pause
/programs/media/pic4/trunk/build_ru.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix ru >lang.inc
@fasm pic4.asm pic4
@erase lang.inc
@pause
/programs/media/pic4/trunk/pic4.asm
12,7 → 12,7
dd I_Param,0
 
include 'lang.inc'
include 'macros.inc'
include '..\..\..\macros.inc'
 
START:
mov eax,48
31,18 → 31,16
still:
 
mov eax,10 ; wait here for event
int 0x40
cmp eax,1
mcall
 
dec eax
jz red
cmp eax,2
jz key
cmp eax,3
jz button
jmp still
dec eax
jnz button
 
key:
mov eax,2
int 0x40
mov al,2
mcall
jmp still
 
red:
50,11 → 48,10
jmp still
 
button:
mov eax,17
int 0x40
mov al,17
mcall
 
shr eax,8
and eax,255
 
cmp eax,101 ; tiled
jne no101
61,10 → 58,10
mov eax,15
mov ebx,4
mov ecx,1
int 0x40
mcall
mov eax,15
mov ebx,3
int 0x40
mcall
jmp still
no101:
 
73,18 → 70,18
mov eax,15
mov ebx,4
mov ecx,2
int 0x40
mcall
mov eax,15
mov ebx,3
int 0x40
mcall
jmp still
no102:
 
cmp eax,1 ; end program
jnz noproend
jnz no_end
or eax,-1
int 0x40
noproend:
mcall
no_end:
 
cmp eax,11
jz bg
126,7 → 123,7
mov ebx,1
mov ecx,256
mov edx,256
int 0x40
mcall
 
mov eax,15
mov ebx,5
134,19 → 131,19
; <<< 0x40000+2 for green background at boot
mov edx,0
mov esi,256*3*256
int 0x40
mcall
 
mov eax,15
mov ebx,4
mov ecx,2
int 0x40
mcall
 
mov eax,15
mov ebx,3
int 0x40
mcall
 
mov eax,-1
int 0x40
mcall
 
 
 
194,7 → 191,7
mov ebx,1
mov ecx,256
mov edx,256
int 0x40
mcall
 
mov eax,15
mov ebx,5
201,11 → 198,11
mov ecx,edi
mov edx,0
mov esi,256*256*3
int 0x40
mcall
 
mov eax,15
mov ebx,3
int 0x40
mcall
 
jmp still
 
216,35 → 213,30
 
push eax
 
mcall 15,4,1
 
mov eax,15
mov ebx,1
mov ecx,8
mov edx,8
int 0x40
mov ecx,1
mov edx,1
mcall
 
mov eax,[esp]
 
pop eax
sub eax,14
shl eax,2
imul eax,3
 
mov edx,[colors+eax]
mov ecx,fill
add ecx,eax
 
mov esi,32*32*4
mov edi,0
mov ecx,0
dbl2:
mov eax,15
mov ebx,2
int 0x40
add ecx,3
inc edi
cmp edi,esi
jb dbl2
mov ebx,5
xor edx,edx
mov esi,3*1*1
mcall
 
 
mov eax,15
mov ebx,3
int 0x40
mcall
 
jmp still
 
261,11 → 253,11
 
mov eax,15
mov ebx,1
int 0x40
mcall
 
mov eax,15
mov ebx,3
int 0x40
mcall
 
jmp still
 
362,7 → 354,7
mov ebx,0x40000
mov ecx,256*65536+255
mov edx,14*65536+40;55
int 0x40
mcall
 
ret
 
377,7 → 369,7
 
mov eax, 12 ; tell os about draw
mov ebx, 1
int 0x40
mcall
 
xor eax, eax ; define and draw window
mov ebx, 220*65536+293
384,8 → 376,8
mov ecx, 50*65536+408
mov edx, [sc.work]
or edx, 0x33000000
mov edi, header
int 0x40
mov edi, title
mcall
 
call draw_image
 
394,17 → 386,17
mov ecx,y_add*65536+y_s
mov edx,11
mov esi,0x005555bb
int 0x40
mcall
;mov eax,8 ; Red button
mov ebx,(set+208+27)*65536+17
mov edx,12
mov esi,0x00bb5555
int 0x40
mcall
;mov eax,8 ; Green button
mov ebx,(set+253)*65536+17
mov edx,13
mov esi,0x0055bb55
int 0x40
mcall
 
;mov eax, 8 ; tiled
mov ebx, 90*65536+63
411,12 → 403,12
mov ecx, y_add*65536+y_s
mov edx, 101
mov esi, [sc.work_button]
int 0x40
mcall
 
;mov eax, 8 ; stretch
mov ebx, 154*65536+61
mov edx, 102
int 0x40
mcall
 
mov eax, 4
mov ebx, 215*65536+5
423,17 → 415,17
mov ecx, [sc.work_text]
mov edx, apply_text
mov esi, apply_text.size
int 0x40
mcall
 
mov ebx, 14*65536+301
mov edx, image_buttons_text
mov esi, image_buttons_text.size
int 0x40
mcall
 
mov ebx, 14*65536+(y_add2+27)
mov edx, simple_text
mov esi, simple_text.size
int 0x40
mcall
 
mov ecx, (y_add2)*65536+20
mov ebx, (13)*65536+25
442,7 → 434,7
mov edi, 9
mov eax, 8
@@:
int 0x40
mcall
add ebx, 29*65536
inc edx
dec edi
451,11 → 443,11
 
mov edx, 34+4
mov edi, 4
mov eax, 8
;mov eax, 8
mov ebx, 13*65536+18
mov ecx, y_add*65536+y_s
@@:
int 0x40
mcall
inc edx
add ebx, 19*65536
dec edi
463,6 → 455,7
 
 
;-----------------------
mov eax,8
mov edx,14 ; button number
mov ebx,(13)*65536+17 ; button start x & size
mov ecx,(y_add2+40)*65536+14 ; button start y & size
470,12 → 463,10
newcb:
mov esi,[(edx-14)*4+colors]
 
mov eax,8
int 0x40
mcall
 
inc edx
add ebx,20*65536
add esi,5*256*256
 
cmp edx,27
jnz newcb
486,11 → 477,11
mov ecx, [sc.work_button_text]
mov edx, la2
mov esi, la2.size
int 0x40
mcall
 
mov eax,12
mov ebx,2
int 0x40
mcall
 
ret
 
499,9 → 490,9
; DATA SECTION
 
if lang eq ru
header db 'ƒ¥­¥à â®à ä®­  à ¡®ç¥£® á⮫ ',0
title db 'ƒ¥­¥à â®à ä®­  à ¡®ç¥£® á⮫ ',0
else
header db 'Background',0
title db 'Background',0
end if
 
lsz apply_text,\
535,9 → 526,23
dd 0x775533
dd 0x773355
dd 0x553377
dd 0x000000
dd 0x111111
dd 0xcccccc
 
fill:
db 0x00,0x00,0x77
db 0x00,0x77,0x00
db 0x77,0x00,0x00
db 0x00,0x77,0x77
db 0x77,0x00,0x77
db 0x77,0x77,0x00
db 0x77,0x77,0x77
db 0x77,0x55,0x33
db 0x33,0x55,0x77
db 0x55,0x33,0x77
db 0x77,0x33,0x55
db 0x11,0x11,0x11
db 0xcc,0xcc,0xcc
 
shape:
 
/programs/media/sb/trunk/macros.inc
File deleted
\ No newline at end of file
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/programs/media/sb/trunk/build_en.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix en >lang.inc
@fasm sb.asm sb
@erase lang.inc
@pause
/programs/media/sb/trunk/build_ru.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix ru >lang.inc
@fasm sb.asm sb
@erase lang.inc
@pause
/programs/media/sb/trunk/sb.asm
5,7 → 5,7
;
 
include 'lang.inc'
include 'macros.inc'
include '..\..\..\macros.inc'
 
use32
 
43,7 → 43,7
 
mov eax,26
mov ebx,9
int 0x40
mcall
mov [next_tic],eax
 
still:
58,11 → 58,11
mov ebx,2
mov ecx,0
mov edx,[mono_stereo]
int 0x40
mcall
 
mov eax,23 ; wait here for event
mov ebx,1
int 0x40
mcall
 
cmp eax,0
jne do_task
74,7 → 74,7
 
mov eax,26
mov ebx,9
int 0x40
mcall
mov ebx,[next_tic]
cmp eax,ebx
jge play_wave_block
101,7 → 101,7
jne no_irman
mov eax,42
mov ebx,4
int 0x40
mcall
dec [ir_count]
cmp bl,140
jne no_first
136,15 → 136,15
mov eax,55 ; load wave
mov ebx,0
mov ecx,[playposition]
int 0x40
mcall
 
mov eax,55 ; play wave
mov ebx,1
int 0x40
mcall
 
mov eax,26
mov ebx,9
int 0x40
mcall
add eax,[delay]
mov [next_tic],eax
 
159,12 → 159,12
 
key: ; key
mov eax,2 ; just read it and ignore
int 0x40
mcall
jmp still2
 
button: ; button
mov eax,17 ; get id
int 0x40
mcall
 
cmp ah,6
jne no_ir
233,15 → 233,15
mov eax,45
mov ebx,1
mov ecx,4
int 0x40
mcall
mov eax,46
mov ebx,1
mov ecx,0x3f0
mov edx,0x3ff
int 0x40
mcall
no_dis:
mov eax,-1 ; close this program
int 0x40
mcall
noclose:
 
jmp still2
254,7 → 254,7
mov eax,55
mov ebx,0
mov ecx,0x20000
int 0x40
mcall
 
popa
ret
300,7 → 300,7
sub esi,edx
add ecx,esi
mov edx,0x00ff00
int 0x40
mcall
 
mov eax,13
mov ebx,320*65536+20
311,7 → 311,7
shl edx,16
sub ecx,edx
mov edx,0xff0000
int 0x40
mcall
 
popa
 
329,7 → 329,7
 
mov eax,58
mov ebx,file_info
int 0x40
mcall
 
movzx eax,byte [0x10000+1024+12+10]
mov [channels],eax
381,17 → 381,17
mov ebx,190*65536+10
mov ecx,104*65536+10
mov edx,0xff0000
int 0x40
mcall
pusha
 
mov eax,5
mov ebx,[pause_between_songs]
int 0x40
mcall
 
popa
mov eax,13
mov edx,0x000000
int 0x40
mcall
 
popa
 
430,12 → 430,12
 
mov eax,58
mov ebx,file_info
int 0x40
mcall
 
 
pusha
mov eax,11
int 0x40
mcall
cmp eax,1
jne no_wd
call draw_window
448,7 → 448,7
mov ecx,71*65536+71
add ebx,25*65536+25
mov edx,0x555555
; int 0x40
; mcall
mov eax,38
mov ebx,[esp+32-12]
and ebx,65536/512 -1
456,7 → 456,7
add ebx,25*65536+25
mov ecx,71*65536+71
mov edx,0x999999
; int 0x40
; mcall
popa
 
cmp eax,0
476,7 → 476,7
mov eax,5
mov ebx,[pause_between_songs]
add ebx,[delay]
int 0x40
mcall
 
call read_header
 
632,11 → 632,11
 
f11:
mov eax,10
int 0x40
mcall
cmp eax,2
jne read_done
mov eax,2
int 0x40
mcall
shr eax,8
cmp eax,13
je read_done
689,7 → 689,7
mov ebx,25*65536+215
mov ecx,61*65536+8
mov edx,[border]
int 0x40
mcall
 
cmp [onoff],1
je yes_playing
710,13 → 710,13
mov ecx,61*65536+1
mov edx,[drawp]
newbar:
int 0x40
mcall
add edx,0x101010
add ecx,1*65536
cmp ecx,65*65536
jb newbar
newbar2:
int 0x40
mcall
sub edx,0x101010
add ecx,1*65536
cmp ecx,69*65536
738,7 → 738,7
mov eax,13
mov edi,5
newb:
; int 0x40
; mcall
add ebx,1*65536-2
add ecx,1*65536-2
sub edx,0x332211;3366aa
758,7 → 758,7
mov ebx,42*65536+33*6
mov ecx,114*65536+11
mov edx,0x000000
int 0x40
mcall
 
mov eax,4
mov ebx,42*65536+117
765,7 → 765,7
mov ecx,[textc]
mov edx,now_playing
mov esi,38
int 0x40
mcall
 
popa
 
781,12 → 781,12
mov eax,50
mov ebx,0
mov ecx,shape_reference
int 0x40
mcall
 
mov eax,50
mov ebx,1
mov ecx,4
int 0x40
mcall
 
popa
 
809,16 → 809,16
mov ebx,0
mov ecx,0x3f0
mov edx,0x3ff
int 0x40
mcall
 
mov eax,45
mov ebx,0
mov ecx,4
int 0x40
mcall
 
mov eax,40
mov ebx,10000b shl 16 + 111b
int 0x40
mcall
 
mov [infrared_enabled],1
 
841,51 → 841,43
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
int 0x40
mcall
; DRAW WINDOW
mov eax,0 ; function 0 : define and draw window
mov ebx,100*65536+320 ; [x start] *65536 + [x size]
mov ecx,100*65536+140 ; [y start] *65536 + [y size]
mov edx,[bgr]
add edx,0x03000000 ; color of work area RRGGBB,8->color gl
mov esi,0x808844ee
mov edi,0x008844ee ; color of frames RRGGBB
int 0x40
or edx,0x13000000 ; color of work area RRGGBB,8->color gl
mov edi,title ; WINDOW LABEL
mcall
 
; WINDOW LABEL
mov eax,4 ; function 4 : write text to window
mov ebx,8*65536+8 ; [x start] *65536 + [y start]
mov ecx,0x10ffffff ; color of text RRGGBB
mov edx,labelt ; pointer to text beginning
mov esi,labellen-labelt ; text length
int 0x40
 
mov eax,8 ; START/STOP - id 2
mov ebx,24*65536+77
mov ecx,80*65536+16
mov edx,2
mov esi,[border]
int 0x40
mcall
 
inc edx ; << / >> - id 3 , 4
add ebx,86*65536-57
mov eax,8
int 0x40
mcall
inc edx
add ebx,24*65536
mov eax,8
int 0x40
mcall
 
mov eax,8 ; REPEAT
add ebx,29*65536+54
inc edx
int 0x40
mcall
 
mov eax,8 ; enable infrared
add ebx,98*65536-33
add ecx,10*65536+10
inc edx
int 0x40
mcall
 
pusha
mov eax,8
892,7 → 884,7
mov ebx,25*65536+9
mov ecx,115*65536+9
inc edx
int 0x40
mcall
popa
 
mov eax,4
902,11 → 894,11
mov ecx,0xffffff
mov edx,infrared_text
mov esi,10
int 0x40
mcall
add ebx,11
add edx,10
mov eax,4
int 0x40
mcall
 
mov ebx,25*65536+35 ; draw info text with function 4
mov ecx,[textc]
914,7 → 906,7
mov esi,40
newline:
mov eax,4
int 0x40
mcall
add ebx,10
add edx,40
cmp [edx],byte 'x'
926,7 → 918,7
 
mov eax,12
mov ebx,2
int 0x40
mcall
 
popa
ret
944,7 → 936,7
mov ebx,260*65536+43
mov ecx,42*65536+32
mov edx,[border]
int 0x40
mcall
 
mov esi,[playposition]
mov ebx,260
955,7 → 947,7
shr ecx,3
add ecx,42
mov edx,[drawc];0x2255aa
int 0x40
mcall
 
add esi,2
 
1003,8 → 995,6
db ' '
 
 
labelt:
db ' WAVE PLAYER : 8b Mono - 16b Stereo'
labellen:
title db ' WAVE PLAYER : 8b Mono - 16b Stereo',0
 
I_END:
/programs/media/scrshoot/macros.inc
9,6 → 9,10
include 'textwork.inc'
;include 'ini.inc'
 
__CPU_type equ p5
SYSENTER_VAR equ 0
 
 
macro movr reg,val
{
if val < 65536
19,6 → 23,49
end if
}
 
macro mcall a,b,c,d,e,f { ; mike.dld, updated by Ghost for Fast System Calls
local ..ret_point
__mov eax,a
__mov ebx,b
__mov ecx,c
__mov edx,d
__mov esi,e
__mov edi,f
 
if __CPU_type eq p5
int 0x40
else
if __CPU_type eq p6
push ebp
mov ebp, esp
push ..ret_point ; it may be 2 or 5 byte
sysenter
..ret_point:
pop edx
pop ecx
 
else
if __CPU_type eq k6
push ecx
syscall
pop ecx
else
display 'ERROR : unknown CPU type'
int 0x40
end if
end if
end if
}
 
macro __mov reg,a,b { ; mike.dld
if (~a eq)&(~b eq)
mpack reg,a,b
else if (~a eq)&(b eq)
mov reg,a
end if
}
 
 
;--- § £®«®¢®ª ---
macro meos_header par_buf,cur_dir_buf
{
/programs/media/scrshoot/scrshoot.asm
13,11 → 13,11
meos_header cmdstr ; ¢áâ ¢«ï¥¬ § £®«®¢®ª ¯à®£à ¬¬ë
include 'scrwin.inc' ; ¢áâ ¢«ï¥¬ ª®¤ ®ª­  ¯à¤¯à®á¬®âà 
include 'scrsavef.inc'; ¢áâ ¢«ï¥¬ ¯à®æ¥¤ãàã á®åà ­¥­¨ï ä ©« 
use_edit_box ; \
use_txt_button ; |
use_label ; |-- GUI ª®¬¯®­¥­âë ¨ ­¥ª®â®àë¥ ¯à®æ¥¤ãàë
use_check_box ; |
use_text_work ; /
use_edit_box structure_of_potock,22,5 ; \
use_txt_button ; |
use_label ; |-- GUI ª®¬¯®­¥­âë ¨ ­¥ª®â®àë¥ ¯à®æ¥¤ãàë
use_check_box ; |
use_text_work ; /
include 'gp.inc'
include 'srectwin.inc'
include 'lang.inc'
492,10 → 492,10
labels_end:
 
editboxes:
edit1 edit_box 300,5,35,cl_white,0,0,0,1024,ed_buffer.1,ed_focus ; ¯ãâì ª ä ©«ã
edit2 edit_box 35,75,134,cl_white,0,0,0,9,ed_buffer.2,ed_figure_only ; § ¤¥à¦ª 
edit3 edit_box 35,165,164,cl_white,0,0,0,9,ed_buffer.3,ed_figure_only
edit4 edit_box 16,165,181,cl_white,0,0,0,1,sign_n_input,ed_figure_only,1
edit1 edit_box 300,5,35,cl_white,0xaabbcc,0,0,0,1024,ed_buffer.1,ed_focus ; ¯ãâì ª ä ©«ã
edit2 edit_box 35,75,134,cl_white,0xaabbcc,0,0,0,9,ed_buffer.2,ed_figure_only ; § ¤¥à¦ª 
edit3 edit_box 35,165,164,cl_white,0xaabbcc,0,0,0,9,ed_buffer.3,ed_figure_only
edit4 edit_box 16,165,181,cl_white,0xaabbcc,0,0,0,1,sign_n_input,ed_figure_only,1
editboxes_end:
 
buttons: