diff --git a/programs/media/animage/trunk/bmplib.inc b/programs/media/animage/trunk/bmplib.inc index 6337f56098..7a4cf994a4 100644 --- a/programs/media/animage/trunk/bmplib.inc +++ b/programs/media/animage/trunk/bmplib.inc @@ -77,15 +77,8 @@ convert_to_24bpp: mov edi,ebp mov ecx,[bmptoimg_data_area_dwps] - loop_convert_to_24bpp_x: - - mov edx,[esi] - mov [edi],edx - add esi,4 - add edi,4 - - dec ecx - jnz loop_convert_to_24bpp_x + cld + rep movsd sub esi,[bmptoimg_data_area_bps] sub esi,[bmptoimg_data_area_bps] diff --git a/programs/media/animage/trunk/dialog.inc b/programs/media/animage/trunk/dialog.inc deleted file mode 100644 index bc8cbc8f4a..0000000000 --- a/programs/media/animage/trunk/dialog.inc +++ /dev/null @@ -1,421 +0,0 @@ -macro opendialog redproc,openoff,erroff,path -{ -local new_d, get_loops, dlg_pid_get, DLGPID, num_of_proc -local run_fileinfo, param -local getmesloop, loox, mred, mkey, mbutton, mgetmes -local dlg_is_work, ready, procinfo -; -; STEP 1 Run SYSXTREE with parametrs MYPID 4 bytes in dec, -; 1 byte space, 1 byte type of dialog (O - Open ,S - Save) -; - - cld -;; mov esi,path - mov edi,path - xor eax,eax - mov ecx,(1024+16)/4 - rep stosd - -;mov [get_loops],0 -mov [dlg_pid_get],0 - -; Get my PID in dec format 4 bytes - mov eax,9 - mov ebx,procinfo - or ecx,-1 - mcall - -; convert eax bin to param dec - mov eax,dword [procinfo+30] ;offset of myPID - mov edi,param+4-1 ;offset to 4 bytes - mov ecx,4 - mov ebx,10 - cld -new_d: - xor edx,edx - div ebx - add dl,'0' - mov [edi],dl - dec edi - loop new_d - -; wirite 1 byte space to param - mov [param+4],byte 32 ;Space for next parametr -; and 1 byte type of dialog to param - mov [param+5],byte 'O' ;Get Open dialog (Use 'S' for Save dialog) - -; -; STEP2 prepare IPC area for get messages -; - -; prepare IPC area - mov [path],dword 0 - mov [path+4],dword 8 - -; define IPC memory - mov eax,60 - mov ebx,1 ; define IPC - mov ecx,path ; offset of area - mov edx,1024+16 ; size - mcall - -; change wanted events list 7-bit IPC event - mov eax,40 - mov ebx,01000111b - mcall - -; -; STEP 3 run SYSTEM XTREE with parameters -; - - mov eax,70 - mov ebx,run_fileinfo - mcall - - call redproc - - mov [get_loops],0 -getmesloop: - mov eax,23 - mov ebx,50 ;0.5 sec - mcall - dec eax - jz mred - dec eax - jz mkey - dec eax - jz mbutton - cmp al, 7-3 - jz mgetmes - -; Get number of procces - mov ebx,procinfo - mov ecx,-1 - mov eax,9 - mcall - mov ebp,eax - -loox: - mov eax,9 - mov ebx,procinfo - mov ecx,ebp - mcall - mov eax,[DLGPID] - cmp [procinfo+30],eax ;IF Dialog find - je dlg_is_work ;jmp to dlg_is_work - dec ebp - jnz loox - - jmp erroff - -dlg_is_work: - cmp [procinfo+50],word 9 ;If slot state 9 - dialog is terminated - je erroff ;TESTODP2 terminated too - - cmp [dlg_pid_get],dword 1 - je getmesloop - inc [get_loops] - cmp [get_loops],4 ;2 sec if DLG_PID not get, TESTOP2 terminated - jae erroff - jmp getmesloop - -mred: - call redproc - jmp getmesloop -mkey: - mov eax,2 - mcall ; read (eax=2) - jmp getmesloop -mbutton: - mov eax,17 ; get id - mcall - cmp ah,1 ; button id=1 ? - jne getmesloop - mov eax,-1 ; close this program - mcall -mgetmes: - -; If dlg_pid_get then second message get jmp to still - cmp [dlg_pid_get],dword 1 - je ready - -; First message is number of PID SYSXTREE dialog - -; convert PID dec to PID bin - movzx eax,byte [path+16] - sub eax,48 - imul eax,10 - movzx ebx,byte [path+16+1] - add eax,ebx - sub eax,48 - imul eax,10 - movzx ebx,byte [path+16+2] - add eax,ebx - sub eax,48 - imul eax,10 - movzx ebx,byte [path+16+3] - add eax,ebx - sub eax,48 - mov [DLGPID],eax - -; Claear and prepare IPC area for next message - mov [path],dword 0 - mov [path+4],dword 8 - mov [path+8],dword 0 - mov [path+12],dword 0 - mov [path+16],dword 0 - -; Set dlg_pid_get for get next message - mov [dlg_pid_get],dword 1 - call redproc ;show DLG_PID - jmp getmesloop - -ready: -; -; The second message get -; Second message is 100 bytes path to SAVE/OPEN file -; shl path string on 16 bytes -; - cld - mov esi,path+16 - mov edi,path - mov ecx,1024/4 - rep movsd - mov [edi],byte 0 - - jmp openoff - - -; DATA AREA -get_loops dd 0 -dlg_pid_get dd 0 -DLGPID dd 0 - -param: - dd 0 ; My dec PID - dd 0,0 ; Type of dialog - -run_fileinfo: - dd 7 - dd 0 - dd param - dd 0 - dd 0 -;run_filepath - db '/sys/SYSXTREE',0 - -procinfo: -times 1024 db 0 -} - - -macro savedialog redproc,openoff,erroff,path -{ -local new_d, get_loops, dlg_pid_get, DLGPID, num_of_proc -local run_fileinfo, run_filepath, param -local getmesloop, loox, mred, mkey, mbutton, mgetmes -local dlg_is_work, ready, procinfo -; -; STEP 1 Run SYSXTREE with parametrs MYPID 4 bytes in dec, -; 1 byte space, 1 byte type of dialog (O - Open ,S - Save) -; - - cld -;; mov esi,path - mov edi,path - xor eax,eax - mov ecx,(1024+16)/4 - rep stosb - -;mov [get_loops],0 -mov [dlg_pid_get],0 - -; Get my PID in dec format 4 bytes - mov eax,9 - mov ebx,procinfo - mov ecx,-1 - mcall - -; convert eax bin to param dec - mov eax,dword [procinfo+30] ;offset of myPID - mov edi,param+4-1 ;offset to 4 bytes - mov ecx,4 - mov ebx,10 - cld -new_d: - xor edx,edx - div ebx - add dl,'0' - mov [edi],dl - dec edi - loop new_d - -; wirite 1 byte space to param - mov [param+4],byte 32 ;Space for next parametr -; and 1 byte type of dialog to param - mov [param+5],byte 'S' ;Get Open dialog (Use 'S' for Save dialog) - -; -; STEP2 prepare IPC area for get messages -; - -; prepare IPC area - mov [path],dword 0 - mov [path+4],dword 8 - -; define IPC memory - mov eax,60 - mov ebx,1 ; define IPC - mov ecx,path ; offset of area - mov edx,1024+16 ; size - mcall - -; change wanted events list 7-bit IPC event - mov eax,40 - mov ebx,01000111b - mcall - -; -; STEP 3 run SYSTEM XTREE with parameters -; - - mov eax,70 - mov ebx,run_fileinfo - mcall - - call redproc - - mov [get_loops],0 -getmesloop: - mov eax,23 - mov ebx,50 ;0.5 sec - mcall - dec eax - jz mred - dec eax - jz mkey - dec eax - jz mbutton - cmp al, 7-3 - jz mgetmes - -; Get number of procces - mov ebx,procinfo - mov ecx,-1 - mov eax,9 - mcall - mov ebp,eax - -loox: - mov eax,9 - mov ebx,procinfo - mov ecx,ebp - mcall - mov eax,[DLGPID] - cmp [procinfo+30],eax ;IF Dialog find - je dlg_is_work ;jmp to dlg_is_work - dec ebp - jnz loox - - jmp erroff - -dlg_is_work: - cmp [procinfo+50],word 9 ;If slot state 9 - dialog is terminated - je erroff ;TESTODP2 terminated too - - cmp [dlg_pid_get],dword 1 - je getmesloop - inc [get_loops] - cmp [get_loops],4 ;2 sec if DLG_PID not get, TESTOP2 terminated - jae erroff - jmp getmesloop - -mred: - call redproc - jmp getmesloop -mkey: - mov eax,2 - mcall ; read (eax=2) - jmp getmesloop -mbutton: - mov eax,17 ; get id - mcall - cmp ah,1 ; button id=1 ? - jne getmesloop - mov eax,-1 ; close this program - mcall -mgetmes: - -; If dlg_pid_get then second message get jmp to still - cmp [dlg_pid_get],dword 1 - je ready - -; First message is number of PID SYSXTREE dialog - -; convert PID dec to PID bin - movzx eax,byte [path+16] - sub eax,48 - imul eax,10 - movzx ebx,byte [path+16+1] - add eax,ebx - sub eax,48 - imul eax,10 - movzx ebx,byte [path+16+2] - add eax,ebx - sub eax,48 - imul eax,10 - movzx ebx,byte [path+16+3] - add eax,ebx - sub eax,48 - mov [DLGPID],eax - -; Claear and prepare IPC area for next message - mov [path],dword 0 - mov [path+4],dword 8 - mov [path+8],dword 0 - mov [path+12],dword 0 - mov [path+16],dword 0 - -; Set dlg_pid_get for get next message - mov [dlg_pid_get],dword 1 - call redproc ;show DLG_PID - jmp getmesloop - -ready: -; -; The second message get -; Second message is 100 bytes path to SAVE/OPEN file -; shl path string on 16 bytes -; - cld - mov esi,path+16 - mov edi,path - mov ecx,1024/4 - rep movsd - mov [edi],byte 0 - - jmp openoff - - -; DATA AREA -get_loops dd 0 -dlg_pid_get dd 0 -DLGPID dd 0 - -param: - dd 0 ; My dec PID - dd 0,0 ; Type of dialog - -run_fileinfo: - dd 7 - dd 0 - dd param - dd 0 - dd 0 -;run_filepath: - db '/sys/SYSXTREE',0 - -procinfo: -times 1024 db 0 -} -;----------------------------------------------------------- diff --git a/programs/media/animage/trunk/load_dlls.inc b/programs/media/animage/trunk/load_dlls.inc deleted file mode 100644 index fe3e751fd4..0000000000 --- a/programs/media/animage/trunk/load_dlls.inc +++ /dev/null @@ -1,15 +0,0 @@ -; load dll from file to memory -; IN -; eax - pointer to full dll path(path to dll +name_of_dll) -; OUT -; eax- handle to table of export of dll - -load_dll: - - mov ecx,eax - mov eax,68 - mov ebx,19 - mcall - - ret - diff --git a/programs/media/animage/trunk/memory.inc b/programs/media/animage/trunk/memory.inc index 33c53c1742..4ff705ba73 100644 --- a/programs/media/animage/trunk/memory.inc +++ b/programs/media/animage/trunk/memory.inc @@ -47,17 +47,15 @@ prepare_data_pointers: add [PointerToEditBufer],eax add [PointerToEditBufer],eax - add [PointerToSpriteBufer],eax - add [PointerToSpriteBufer],eax - add [PointerToSpriteBufer],eax + shl eax,2 add [PointerToSpriteBufer],eax mov eax,[ScreenPointer] - add eax,(1200*100*3)+50*(20*20*3)+1 + add eax,(1200*1000*3)+50*(20*20*3)+1 mov [PointerToPalette],eax mov eax,[ScreenPointer] - add eax,(1200*1000)*3+50*(20*20*3)+8 + add eax,(1200*1000*3)+50*(20*20*3)+8 mov [ReserveArray],eax ret ;--------------------------------------------------------- \ No newline at end of file