2006-01-03 10:43:31 +01:00
|
|
|
|
; Picture browser by lisovin@26.ru
|
|
|
|
|
; Modified by Ivan Poddubny - v.0.3
|
2006-10-23 14:54:00 +02:00
|
|
|
|
; Modified by Diamond - v.0.4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
; Compile with FASM for Menuet
|
|
|
|
|
|
|
|
|
|
;******************************************************************************
|
|
|
|
|
use32
|
|
|
|
|
org 0x0
|
|
|
|
|
db 'MENUET01' ; 8 byte id
|
|
|
|
|
dd 0x01 ; header version
|
|
|
|
|
dd START ; start of code
|
|
|
|
|
dd IM_END ; size of image
|
|
|
|
|
dd 0x300000 ; memory for app
|
|
|
|
|
dd 0x300000 ; esp
|
|
|
|
|
dd temp_area , 0x0 ; I_Param , I_Icon
|
2006-08-18 16:32:11 +02:00
|
|
|
|
|
2006-01-03 10:43:31 +01:00
|
|
|
|
include 'lang.inc'
|
|
|
|
|
include 'macros.inc'
|
|
|
|
|
;******************************************************************************
|
|
|
|
|
|
|
|
|
|
START: ; start of execution
|
|
|
|
|
|
|
|
|
|
; check for parameters
|
|
|
|
|
cmp dword [temp_area],'BOOT'
|
|
|
|
|
jne .no_boot
|
|
|
|
|
call load_image
|
|
|
|
|
call convert
|
|
|
|
|
call background
|
|
|
|
|
or eax,-1
|
|
|
|
|
int 0x40
|
|
|
|
|
.no_boot:
|
|
|
|
|
|
|
|
|
|
cmp byte [temp_area],0
|
|
|
|
|
jz .no_param
|
|
|
|
|
mov edi,string ; clear string
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
mov ecx,256/4 ; length of a string
|
2006-01-03 10:43:31 +01:00
|
|
|
|
xor eax,eax ; symbol <0>
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
rep stosd
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
mov edi,temp_area ; look for <0> in temp_area
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
mov esi,edi
|
|
|
|
|
mov ecx,257 ; strlen
|
2006-01-03 10:43:31 +01:00
|
|
|
|
repne scasb
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
lea ecx, [edi-temp_area]
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
mov edi,string
|
|
|
|
|
rep movsb ; copy string from temp_area to "string" (filename)
|
|
|
|
|
|
2006-08-18 16:32:11 +02:00
|
|
|
|
call load_image
|
|
|
|
|
call convert
|
|
|
|
|
|
2006-01-03 10:43:31 +01:00
|
|
|
|
.no_param:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mov ecx,-1 ; get information about me
|
|
|
|
|
call getappinfo
|
|
|
|
|
|
|
|
|
|
mov edx,[process_info+30] ; ⥯<><E2A5AF><EFBFBD> <20> edx <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD>
|
|
|
|
|
mov ecx,eax
|
|
|
|
|
|
|
|
|
|
@@:
|
|
|
|
|
call getappinfo
|
|
|
|
|
cmp edx,[process_info+30]
|
|
|
|
|
je @f ; <20> <20><><EFBFBD> PID ᮢ<><E1AEA2><EFBFBD> <20> PID <20><><EFBFBD>ᬠ<EFBFBD>ਢ<EFBFBD><E0A8A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><>諨 ᥡ<>
|
|
|
|
|
dec ecx ; <20><><EFBFBD><EFBFBD><EFBFBD> ᬮ<>ਬ <><E1ABA5><EFBFBD>騩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
jne @b ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD>, <20> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᬮ<EFBFBD>७<EFBFBD>
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
; ⥯<><E2A5AF><EFBFBD> <20> ecx <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
mov [process],ecx
|
|
|
|
|
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
draw_still:
|
2006-01-03 10:43:31 +01:00
|
|
|
|
call draw_window
|
|
|
|
|
|
|
|
|
|
still:
|
|
|
|
|
|
|
|
|
|
mov eax,10 ; wait here for event
|
|
|
|
|
int 0x40
|
|
|
|
|
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
dec eax
|
|
|
|
|
jz red
|
|
|
|
|
dec eax
|
|
|
|
|
jnz button
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
key: ; key
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
mov al,2
|
2006-01-03 10:43:31 +01:00
|
|
|
|
int 0x40
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
mov al,ah
|
|
|
|
|
cmp al,6
|
2006-01-03 10:43:31 +01:00
|
|
|
|
je kfile
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
cmp al,15
|
2006-01-03 10:43:31 +01:00
|
|
|
|
je kopen
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
cmp al,9
|
2006-01-03 10:43:31 +01:00
|
|
|
|
je kinfo
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
cmp al,2
|
2006-01-03 10:43:31 +01:00
|
|
|
|
je kbgrd
|
|
|
|
|
jmp still
|
|
|
|
|
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
red:
|
|
|
|
|
test byte [status], 4
|
|
|
|
|
jz draw_still
|
|
|
|
|
mov al, 18
|
|
|
|
|
mov ebx, 3
|
|
|
|
|
mov ecx, [process]
|
|
|
|
|
int 0x40
|
|
|
|
|
and byte [status], not 4
|
|
|
|
|
jmp still
|
|
|
|
|
|
2006-01-03 10:43:31 +01:00
|
|
|
|
button: ; button
|
|
|
|
|
mov eax,17 ; get id
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
cmp ah,1 ; button id=1 ?
|
|
|
|
|
jne noclose
|
|
|
|
|
|
|
|
|
|
mov eax,-1 ; close this program
|
|
|
|
|
int 0x40
|
|
|
|
|
noclose:
|
|
|
|
|
cmp ah,2
|
|
|
|
|
jne nofile
|
|
|
|
|
kfile:
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
test byte [status], 1
|
|
|
|
|
jnz still
|
|
|
|
|
or byte [status], 1
|
2006-01-03 10:43:31 +01:00
|
|
|
|
mov eax,51
|
|
|
|
|
mov ebx,1
|
|
|
|
|
mov ecx,thread1
|
|
|
|
|
mov edx,0x29fff0
|
|
|
|
|
int 0x40
|
|
|
|
|
jmp still
|
|
|
|
|
nofile:
|
|
|
|
|
cmp ah,3
|
|
|
|
|
jne noopen
|
|
|
|
|
|
|
|
|
|
kopen:
|
|
|
|
|
mov ecx,-1
|
|
|
|
|
call getappinfo
|
|
|
|
|
mov ebx,dword [I_END+42]
|
|
|
|
|
mov ecx,dword [I_END+46]
|
|
|
|
|
add ebx,10*65536-15
|
|
|
|
|
add ecx,50*65536-55
|
|
|
|
|
mov edx,0xffffff
|
|
|
|
|
mov eax,13
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
call load_image
|
|
|
|
|
|
|
|
|
|
open1:
|
|
|
|
|
cmp word [I_END],word 'BM'
|
|
|
|
|
jne still
|
|
|
|
|
call convert
|
|
|
|
|
call drawimage
|
|
|
|
|
jmp still
|
|
|
|
|
noopen:
|
|
|
|
|
|
|
|
|
|
cmp ah,4
|
|
|
|
|
jne noinfo
|
|
|
|
|
kinfo:
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
test byte [status], 2
|
|
|
|
|
jnz still
|
|
|
|
|
or byte [status], 2
|
2006-01-03 10:43:31 +01:00
|
|
|
|
mov eax,51
|
|
|
|
|
mov ebx,1
|
|
|
|
|
mov ecx,thread2
|
|
|
|
|
mov edx,0x2afff0
|
|
|
|
|
int 0x40
|
|
|
|
|
jmp still
|
|
|
|
|
noinfo:
|
|
|
|
|
|
|
|
|
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
|
|
|
|
cmp ah,5
|
|
|
|
|
jne still
|
|
|
|
|
kbgrd:
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
test byte [status], 8
|
|
|
|
|
jnz still
|
|
|
|
|
or byte [status], 8
|
2006-01-03 10:43:31 +01:00
|
|
|
|
mov eax,51
|
|
|
|
|
mov ebx,1
|
|
|
|
|
mov ecx,thread3
|
|
|
|
|
mov edx,0x2bfff0
|
|
|
|
|
int 0x40
|
|
|
|
|
jmp still
|
|
|
|
|
;call background
|
|
|
|
|
|
|
|
|
|
getappinfo:
|
|
|
|
|
mov eax,9
|
2006-08-18 16:32:11 +02:00
|
|
|
|
mov ebx,process_info
|
2006-01-03 10:43:31 +01:00
|
|
|
|
int 0x40
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
load_image:
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
mov eax, 70
|
|
|
|
|
mov ebx, fileinfo
|
|
|
|
|
int 0x40
|
2006-08-18 16:32:11 +02:00
|
|
|
|
mov eax,[I_END+18]
|
|
|
|
|
mov ebx,[I_END+22]
|
2006-10-23 14:54:00 +02:00
|
|
|
|
test ebx, ebx
|
|
|
|
|
jns @f
|
|
|
|
|
neg ebx
|
|
|
|
|
@@:
|
2006-08-18 16:32:11 +02:00
|
|
|
|
add eax,20
|
|
|
|
|
cmp eax,210
|
|
|
|
|
jae @f
|
|
|
|
|
mov eax,210
|
|
|
|
|
@@:
|
|
|
|
|
add ebx,58
|
|
|
|
|
cmp ebx,56
|
|
|
|
|
jae @f
|
|
|
|
|
mov ebx,56
|
|
|
|
|
@@:
|
|
|
|
|
mov [wnd_width],eax
|
|
|
|
|
mov [wnd_height],ebx
|
|
|
|
|
test [bWasDraw],1
|
|
|
|
|
jz @f
|
|
|
|
|
mov esi,ebx
|
|
|
|
|
mov edx,eax
|
|
|
|
|
mov ecx,-1
|
|
|
|
|
mov ebx,-1
|
|
|
|
|
mov eax,67
|
|
|
|
|
int 40h
|
|
|
|
|
@@:
|
|
|
|
|
ret
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
drawimage:
|
|
|
|
|
cmp word [I_END],word 'BM'
|
|
|
|
|
jne nodrawimage
|
|
|
|
|
mov eax,7
|
|
|
|
|
mov ebx,[soi]
|
2006-10-23 14:54:00 +02:00
|
|
|
|
mov ecx, dword [I_END+18-2]
|
|
|
|
|
mov cx, [I_END+22]
|
|
|
|
|
test cx, cx
|
|
|
|
|
jns @f
|
|
|
|
|
neg cx
|
|
|
|
|
@@:
|
2006-01-03 10:43:31 +01:00
|
|
|
|
mov edx,10*65536+50
|
|
|
|
|
int 0x40
|
|
|
|
|
nodrawimage:
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
|
|
|
|
background:
|
|
|
|
|
cmp word [I_END],word 'BM'
|
|
|
|
|
jne @f
|
|
|
|
|
mov eax,15
|
|
|
|
|
mov ebx,1
|
|
|
|
|
mov ecx,[I_END+18] ; <20><>ਭ<EFBFBD>
|
|
|
|
|
mov edx,[I_END+22] ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
mov esi, ecx
|
|
|
|
|
imul esi, edx
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
lea esi, [esi+esi*2]
|
2006-01-03 10:43:31 +01:00
|
|
|
|
mov ebx,5
|
|
|
|
|
mov ecx,[soi]
|
|
|
|
|
xor edx,edx
|
|
|
|
|
;;; mov esi, ;640*480*3
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
dec ebx ;tile/stretch
|
|
|
|
|
mov ecx,dword [bgrmode]
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
dec ebx
|
|
|
|
|
int 0x40
|
|
|
|
|
@@:
|
|
|
|
|
ret
|
|
|
|
|
|
2006-10-23 14:54:00 +02:00
|
|
|
|
convert:
|
|
|
|
|
mov ecx, I_END
|
|
|
|
|
add ecx, [ecx+2]
|
|
|
|
|
mov [soi], ecx
|
|
|
|
|
mov ebp, [I_END+18]
|
|
|
|
|
lea ebp, [ebp*3] ; ebp = size of output scanline
|
|
|
|
|
mov eax, [I_END+22]
|
|
|
|
|
dec eax
|
|
|
|
|
mul ebp
|
|
|
|
|
add eax, ecx
|
|
|
|
|
mov edi, eax ; edi points to last scanline
|
|
|
|
|
mov esi, I_END
|
|
|
|
|
add esi, [esi+10]
|
|
|
|
|
mov ebx, I_END+54
|
|
|
|
|
mov edx, [I_END+22]
|
|
|
|
|
lea eax, [ebp*2]
|
|
|
|
|
mov [delta], eax
|
|
|
|
|
test edx, edx
|
|
|
|
|
jz .ret
|
|
|
|
|
jns @f
|
|
|
|
|
neg edx
|
|
|
|
|
and [delta], 0
|
|
|
|
|
mov edi, ecx
|
|
|
|
|
@@:
|
|
|
|
|
movzx eax, word [I_END+28]
|
|
|
|
|
cmp eax, 24
|
|
|
|
|
jz convert24
|
|
|
|
|
cmp eax, 8
|
|
|
|
|
jz convert8
|
|
|
|
|
cmp eax, 4
|
|
|
|
|
jz convert4
|
|
|
|
|
dec eax
|
|
|
|
|
jz convert1
|
|
|
|
|
.ret:
|
|
|
|
|
ret
|
|
|
|
|
convert24:
|
|
|
|
|
mov ecx, ebp
|
|
|
|
|
rep movsb
|
|
|
|
|
sub edi, [delta]
|
|
|
|
|
mov eax, ebp
|
|
|
|
|
neg eax
|
|
|
|
|
and eax, 3
|
|
|
|
|
add esi, eax
|
|
|
|
|
dec edx
|
|
|
|
|
jnz convert24
|
|
|
|
|
ret
|
|
|
|
|
convert8:
|
|
|
|
|
push edi
|
|
|
|
|
add [esp], ebp
|
|
|
|
|
.loopi:
|
|
|
|
|
xor eax, eax
|
|
|
|
|
lodsb
|
|
|
|
|
cmp dword [I_END+30], 1
|
|
|
|
|
jnz .nocompressed
|
|
|
|
|
.compressed:
|
|
|
|
|
mov ecx, eax
|
|
|
|
|
jecxz .special
|
|
|
|
|
lodsb
|
|
|
|
|
mov eax, [ebx+eax*4]
|
|
|
|
|
@@:
|
|
|
|
|
call putpixel
|
|
|
|
|
loop @b
|
|
|
|
|
jmp .loopi
|
|
|
|
|
.nocompressed:
|
|
|
|
|
mov eax, [ebx+eax*4]
|
|
|
|
|
call putpixel
|
|
|
|
|
.loopicont:
|
|
|
|
|
cmp edi, [esp]
|
|
|
|
|
jnz .loopi
|
|
|
|
|
.next:
|
|
|
|
|
pop edi
|
|
|
|
|
sub edi, [delta]
|
|
|
|
|
mov eax, ebp
|
|
|
|
|
and eax, 3
|
|
|
|
|
add esi, eax
|
|
|
|
|
dec edx
|
|
|
|
|
jnz convert8
|
|
|
|
|
ret
|
|
|
|
|
.special:
|
|
|
|
|
lodsb
|
|
|
|
|
test al, al
|
|
|
|
|
jz .next
|
|
|
|
|
cmp al, 2
|
|
|
|
|
jbe .end
|
|
|
|
|
mov ecx, eax
|
|
|
|
|
push ecx
|
|
|
|
|
@@:
|
|
|
|
|
xor eax, eax
|
|
|
|
|
lodsb
|
|
|
|
|
mov eax, [ebx+eax*4]
|
|
|
|
|
call putpixel
|
|
|
|
|
loop @b
|
|
|
|
|
pop ecx
|
|
|
|
|
and ecx, 1
|
|
|
|
|
add esi, ecx
|
|
|
|
|
jmp .loopi
|
|
|
|
|
.end:
|
|
|
|
|
pop edi
|
|
|
|
|
ret
|
|
|
|
|
convert4:
|
|
|
|
|
push edi
|
|
|
|
|
add [esp], ebp
|
|
|
|
|
.loopi:
|
|
|
|
|
xor eax, eax
|
|
|
|
|
lodsb
|
|
|
|
|
shr eax, 4
|
|
|
|
|
mov eax, [ebx+eax*4]
|
|
|
|
|
call putpixel
|
|
|
|
|
cmp edi, [esp]
|
|
|
|
|
jz .loopidone
|
|
|
|
|
mov al, [esi-1]
|
|
|
|
|
and eax, 0xF
|
|
|
|
|
mov eax, [ebx+eax*4]
|
|
|
|
|
stosd
|
|
|
|
|
dec edi
|
|
|
|
|
cmp edi, [esp]
|
|
|
|
|
jnz .loopi
|
|
|
|
|
.loopidone:
|
|
|
|
|
pop edi
|
|
|
|
|
sub edi, [delta]
|
|
|
|
|
call align_input
|
|
|
|
|
dec edx
|
|
|
|
|
jnz convert4
|
|
|
|
|
ret
|
|
|
|
|
convert1:
|
|
|
|
|
push edi
|
|
|
|
|
add [esp], ebp
|
|
|
|
|
.loopi:
|
|
|
|
|
lodsb
|
|
|
|
|
mov ecx, 8
|
|
|
|
|
.loopii:
|
|
|
|
|
add al, al
|
|
|
|
|
push eax
|
|
|
|
|
setc al
|
|
|
|
|
movzx eax, al
|
|
|
|
|
mov eax, [ebx+eax*4]
|
|
|
|
|
call putpixel
|
|
|
|
|
pop eax
|
|
|
|
|
cmp edi, [esp]
|
|
|
|
|
loopnz .loopii
|
|
|
|
|
jnz .loopi
|
|
|
|
|
pop edi
|
|
|
|
|
sub edi, [delta]
|
|
|
|
|
call align_input
|
|
|
|
|
dec edx
|
|
|
|
|
jnz convert1
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
align_input:
|
|
|
|
|
push esi
|
|
|
|
|
sub esi, I_END
|
|
|
|
|
sub esi, [I_END+10]
|
|
|
|
|
neg esi
|
|
|
|
|
and esi, 3
|
|
|
|
|
add [esp], esi
|
|
|
|
|
pop esi
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
putpixel:
|
|
|
|
|
push eax
|
|
|
|
|
stosw
|
|
|
|
|
shr eax, 16
|
|
|
|
|
stosb
|
|
|
|
|
pop eax
|
|
|
|
|
ret
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
; *********************************************
|
|
|
|
|
; ******* WINDOW DEFINITIONS AND DRAW ********
|
|
|
|
|
; *********************************************
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
draw_window:
|
2006-08-18 16:32:11 +02:00
|
|
|
|
or [bWasDraw],1
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
mov eax,12 ; function 12:tell os about windowdraw
|
|
|
|
|
mov ebx,1 ; 1, start of draw
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
; DRAW WINDOW
|
|
|
|
|
xor eax,eax ; function 0 : define and draw window
|
2006-08-18 16:32:11 +02:00
|
|
|
|
; mov ebx,350 ; [x start] *65536 + [x size]
|
|
|
|
|
; mov ecx,400 ; [y start] *65536 + [y size]
|
|
|
|
|
mov ebx,100*65536
|
|
|
|
|
mov ecx,100*65536
|
|
|
|
|
add ebx,[wnd_width]
|
|
|
|
|
add ecx,[wnd_height]
|
2006-01-03 10:43:31 +01:00
|
|
|
|
mov edx,0x03ffffff ; color of work area RRGGBB,8->color gl
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
mov eax,8
|
|
|
|
|
mov ebx,10*65536+46
|
|
|
|
|
mov ecx,25*65536+20
|
|
|
|
|
mov edx,2
|
|
|
|
|
mov esi,0x780078
|
|
|
|
|
newbutton:
|
|
|
|
|
int 0x40
|
|
|
|
|
add ebx,48*65536
|
|
|
|
|
inc edx
|
|
|
|
|
cmp edx,6
|
|
|
|
|
jb newbutton
|
|
|
|
|
|
|
|
|
|
; WINDOW LABEL
|
|
|
|
|
mov eax,4 ; function 4 : write text to window
|
|
|
|
|
mov ebx,8*65536+8 ; [x start] *65536 + [y start]
|
|
|
|
|
mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB )
|
|
|
|
|
mov edx,labelt ; pointer to text beginning
|
|
|
|
|
mov esi,12 ; text length
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
mov ebx,14*65536+32
|
|
|
|
|
mov edx,buttext
|
|
|
|
|
mov esi,26
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
call drawimage
|
|
|
|
|
|
|
|
|
|
mov eax,12 ; function 12:tell os about windowdraw
|
|
|
|
|
mov ebx,2 ; 2, end of draw
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; DATA AREA
|
|
|
|
|
|
|
|
|
|
labelt:
|
2006-10-23 14:54:00 +02:00
|
|
|
|
db 'MeView v.0.4'
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
lsz buttext,\
|
|
|
|
|
en, ' FILE OPEN INFO BGRD',\
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
ru, ' <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> ',\
|
|
|
|
|
de, 'DATEI OEFNEN INFO HGRD'
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
thread1: ; start of thread1
|
|
|
|
|
|
|
|
|
|
call draw_window1
|
|
|
|
|
|
|
|
|
|
still1:
|
|
|
|
|
|
|
|
|
|
mov eax,10 ; wait here for event
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
cmp eax,1 ; redraw request ?
|
|
|
|
|
je thread1
|
|
|
|
|
cmp eax,2 ; key in buffer ?
|
|
|
|
|
je key1
|
|
|
|
|
cmp eax,3 ; button in buffer ?
|
|
|
|
|
je button1
|
|
|
|
|
|
|
|
|
|
jmp still1
|
|
|
|
|
|
|
|
|
|
key1: ; key
|
|
|
|
|
int 0x40
|
|
|
|
|
cmp ah,179
|
|
|
|
|
jne noright
|
|
|
|
|
mov eax,[pos]
|
|
|
|
|
cmp eax,41
|
|
|
|
|
ja still1
|
|
|
|
|
inc eax
|
|
|
|
|
mov [pos],eax
|
|
|
|
|
call drawstring
|
|
|
|
|
jmp still1
|
|
|
|
|
noright:
|
|
|
|
|
cmp ah,176
|
|
|
|
|
jne noleft
|
|
|
|
|
mov eax,[pos]
|
|
|
|
|
test eax,eax
|
|
|
|
|
je still1
|
|
|
|
|
dec eax
|
|
|
|
|
mov [pos],eax
|
|
|
|
|
call drawstring
|
|
|
|
|
jmp still1
|
|
|
|
|
noleft:
|
|
|
|
|
cmp ah,182 ;del
|
|
|
|
|
jne nodelet
|
|
|
|
|
call shiftback
|
|
|
|
|
call drawstring
|
|
|
|
|
jmp still1
|
|
|
|
|
nodelet:
|
|
|
|
|
cmp ah,8 ;zaboy
|
|
|
|
|
jne noback
|
|
|
|
|
mov eax,[pos]
|
|
|
|
|
test eax,eax
|
|
|
|
|
je still1
|
|
|
|
|
dec eax
|
|
|
|
|
mov [pos],eax
|
|
|
|
|
call shiftback
|
|
|
|
|
call drawstring
|
|
|
|
|
jmp still1
|
|
|
|
|
noback:
|
|
|
|
|
cmp ah,13
|
|
|
|
|
jne noenter
|
|
|
|
|
enter1:
|
|
|
|
|
mov al,byte ' '
|
|
|
|
|
mov edi,string
|
|
|
|
|
mov ecx,43
|
|
|
|
|
cld
|
|
|
|
|
repne scasb
|
|
|
|
|
dec edi
|
|
|
|
|
mov byte [edi],0
|
|
|
|
|
jmp close1
|
|
|
|
|
noenter:
|
|
|
|
|
cmp ah,27
|
|
|
|
|
jne noesc
|
|
|
|
|
jmp enter1
|
|
|
|
|
noesc:
|
|
|
|
|
cmp dword [pos],42
|
|
|
|
|
jae still1
|
|
|
|
|
|
|
|
|
|
mov edi,string
|
|
|
|
|
add edi,42
|
|
|
|
|
mov esi,edi
|
|
|
|
|
dec esi
|
|
|
|
|
mov ecx,42
|
|
|
|
|
sub ecx,[pos]
|
|
|
|
|
std
|
|
|
|
|
rep movsb
|
|
|
|
|
|
|
|
|
|
shr eax,8
|
|
|
|
|
mov esi,string
|
|
|
|
|
add esi,[pos]
|
|
|
|
|
mov byte [esi],al
|
|
|
|
|
inc dword [pos]
|
|
|
|
|
call drawstring
|
|
|
|
|
|
|
|
|
|
jmp still1
|
|
|
|
|
|
|
|
|
|
button1: ; button
|
|
|
|
|
mov eax,17 ; get id
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
cmp ah,1 ; button id=1 ?
|
|
|
|
|
jne noclose1
|
|
|
|
|
jmp enter1
|
|
|
|
|
close1:
|
|
|
|
|
bts dword [status],2
|
|
|
|
|
btr dword [status],0
|
|
|
|
|
mov eax,-1 ; close this program
|
|
|
|
|
int 0x40
|
|
|
|
|
noclose1:
|
|
|
|
|
cmp ah,2
|
|
|
|
|
jne nosetcur
|
|
|
|
|
mov eax,37
|
|
|
|
|
mov ebx,1
|
|
|
|
|
int 0x40
|
|
|
|
|
shr eax,16
|
|
|
|
|
sub eax,21
|
|
|
|
|
xor edx,edx
|
|
|
|
|
mov ebx,6
|
|
|
|
|
div ebx
|
|
|
|
|
mov [pos],eax
|
|
|
|
|
call drawstring
|
|
|
|
|
jmp still1
|
|
|
|
|
nosetcur:
|
|
|
|
|
jmp still1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shiftback:
|
|
|
|
|
mov edi,string
|
|
|
|
|
add edi,[pos]
|
|
|
|
|
mov esi,edi
|
|
|
|
|
inc esi
|
|
|
|
|
mov ecx,43
|
|
|
|
|
sub ecx,[pos]
|
|
|
|
|
cld
|
|
|
|
|
rep movsb
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
; *********************************************
|
|
|
|
|
; ******* WINDOW DEFINITIONS AND DRAW ********
|
|
|
|
|
; *********************************************
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
draw_window1:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mov eax,12 ; function 12:tell os about windowdraw
|
|
|
|
|
mov ebx,1 ; 1, start of draw
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
; DRAW WINDOW
|
|
|
|
|
xor eax,eax ; function 0 : define and draw window
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
; WINDOW LABEL
|
|
|
|
|
mov eax,4 ; function 4 : write text to window
|
|
|
|
|
mov ebx,8*65536+8 ; [x start] *65536 + [y start]
|
|
|
|
|
mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB )
|
|
|
|
|
mov edx,labelt1 ; pointer to text beginning
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
mov esi,labelt1.size ; text length
|
2006-01-03 10:43:31 +01:00
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
call drawstring
|
|
|
|
|
|
|
|
|
|
mov eax,12 ; function 12:tell os about windowdraw
|
|
|
|
|
mov ebx,2 ; 2, end of draw
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
drawstring:
|
|
|
|
|
pusha
|
|
|
|
|
mov eax,8 ;invisible button
|
|
|
|
|
mov ebx,21*65536+258
|
|
|
|
|
mov ecx,40*65536+15
|
2006-08-18 16:32:11 +02:00
|
|
|
|
mov edx,0x60000002
|
2006-01-03 10:43:31 +01:00
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
mov eax,13 ;bar
|
|
|
|
|
mov edx,0xe0e0e0
|
|
|
|
|
int 0x40
|
|
|
|
|
push eax ;cursor
|
|
|
|
|
mov eax,6*65536
|
|
|
|
|
mul dword [pos]
|
|
|
|
|
add eax,21*65536+6
|
|
|
|
|
mov ebx,eax
|
|
|
|
|
pop eax
|
|
|
|
|
mov edx,0x6a73d0
|
|
|
|
|
int 0x40
|
|
|
|
|
mov eax,4 ;path
|
|
|
|
|
mov ebx,21*65536+44
|
|
|
|
|
xor ecx,ecx
|
|
|
|
|
mov edx,string
|
|
|
|
|
mov esi,43
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
popa
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
; DATA AREA
|
|
|
|
|
|
|
|
|
|
lsz labelt1,\
|
|
|
|
|
en, 'File',\
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
ru, '<27><><EFBFBD><EFBFBD>',\
|
|
|
|
|
de, 'Datei'
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
thread2: ; start of info thread
|
|
|
|
|
|
|
|
|
|
call draw_window2
|
|
|
|
|
|
|
|
|
|
still2:
|
|
|
|
|
|
|
|
|
|
mov eax,10 ; wait here for event
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
cmp eax,1 ; redraw request ?
|
|
|
|
|
je thread2
|
|
|
|
|
cmp eax,2 ; key in buffer ?
|
|
|
|
|
je close2
|
|
|
|
|
cmp eax,3 ; button in buffer ?
|
|
|
|
|
je button2
|
|
|
|
|
|
|
|
|
|
jmp still2
|
|
|
|
|
|
|
|
|
|
button2: ; button
|
|
|
|
|
mov eax,17 ; get id
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
cmp ah,1 ; button id=1 ?
|
|
|
|
|
jne noclose2
|
|
|
|
|
close2:
|
|
|
|
|
btr dword [status],1
|
|
|
|
|
bts dword [status],2
|
|
|
|
|
mov eax,-1 ; close this program
|
|
|
|
|
int 0x40
|
|
|
|
|
noclose2:
|
|
|
|
|
|
|
|
|
|
jmp still2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; *********************************************
|
|
|
|
|
; ******* WINDOW DEFINITIONS AND DRAW ********
|
|
|
|
|
; *********************************************
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
draw_window2:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mov eax,12 ; function 12:tell os about windowdraw
|
|
|
|
|
mov ebx,1 ; 1, start of draw
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
; DRAW WINDOW
|
|
|
|
|
xor eax,eax ; function 0 : define and draw window
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
; WINDOW LABEL
|
|
|
|
|
mov eax,4 ; function 4 : write text to window
|
|
|
|
|
mov ebx,8*65536+8 ; [x start] *65536 + [y start]
|
|
|
|
|
mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB )
|
|
|
|
|
mov edx,labelt2 ; pointer to text beginning
|
|
|
|
|
mov esi,labelt2.size ; text length
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
mov ebx,10*65536+30
|
|
|
|
|
mov edx,string
|
|
|
|
|
mov esi,43
|
|
|
|
|
int 0x40
|
|
|
|
|
mov edx,fitext
|
|
|
|
|
mov esi,14
|
|
|
|
|
add ebx,70*65536+10
|
|
|
|
|
followstring:
|
|
|
|
|
int 0x40
|
|
|
|
|
add ebx,10
|
|
|
|
|
add edx,esi
|
|
|
|
|
cmp ebx,80*65536+70
|
|
|
|
|
jbe followstring
|
|
|
|
|
mov eax,47
|
|
|
|
|
mov edx,200*65536+40
|
|
|
|
|
mov esi,ecx
|
|
|
|
|
mov ecx, [I_END+2]
|
|
|
|
|
call digitcorrect
|
|
|
|
|
int 0x40
|
|
|
|
|
add edx,10
|
|
|
|
|
mov ecx, [I_END+18]
|
|
|
|
|
call digitcorrect
|
|
|
|
|
int 0x40
|
|
|
|
|
add edx,10
|
|
|
|
|
mov ecx, [I_END+22]
|
|
|
|
|
call digitcorrect
|
|
|
|
|
int 0x40
|
|
|
|
|
add edx,10
|
|
|
|
|
movzx ecx,word [I_END+28]
|
|
|
|
|
call digitcorrect
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
mov eax,12 ; function 12:tell os about windowdraw
|
|
|
|
|
mov ebx,2 ; 2, end of draw
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
digitcorrect:
|
|
|
|
|
xor ebx,ebx
|
|
|
|
|
mov bh,6
|
|
|
|
|
cmp ecx,99999
|
|
|
|
|
ja c_end
|
|
|
|
|
dec bh
|
|
|
|
|
cmp ecx,9999
|
|
|
|
|
ja c_end
|
|
|
|
|
dec bh
|
|
|
|
|
cmp ecx,999
|
|
|
|
|
ja c_end
|
|
|
|
|
dec bh
|
|
|
|
|
cmp ecx,99
|
|
|
|
|
ja c_end
|
|
|
|
|
dec bh
|
|
|
|
|
cmp ecx,9
|
|
|
|
|
ja c_end
|
|
|
|
|
dec bh
|
|
|
|
|
c_end:
|
|
|
|
|
bswap ebx
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; DATA AREA
|
|
|
|
|
|
|
|
|
|
lsz labelt2,\
|
|
|
|
|
en, 'File info',\
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
ru, '<27><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> <20> 䠩<><E4A0A9>',\
|
|
|
|
|
de, 'Dateiinfo'
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
lsz fitext,\
|
|
|
|
|
en, 'FILE SIZE ',\
|
|
|
|
|
en, 'X SIZE ',\
|
|
|
|
|
en, 'Y SIZE ',\
|
|
|
|
|
en, 'BITS PER PIXEL',\
|
|
|
|
|
\
|
|
|
|
|
ru, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<><E4A0A9> ',\
|
|
|
|
|
ru, '<27><>ਭ<EFBFBD> ',\
|
|
|
|
|
ru, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',\
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
ru, '<27><><EFBFBD> <20><> <20><><EFBFBD>ᥫ ',\
|
|
|
|
|
\
|
|
|
|
|
de, 'FATEIGROESSE ',\
|
|
|
|
|
de, 'X GROESSE ',\
|
|
|
|
|
de, 'Y GROESSE ',\
|
|
|
|
|
de, 'BITS PER PIXEL'
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
thread3: ; start of bgrd thread
|
|
|
|
|
|
|
|
|
|
call draw_window3
|
|
|
|
|
|
|
|
|
|
still3:
|
|
|
|
|
|
|
|
|
|
mov eax,10 ; wait here for event
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
cmp eax,1 ; redraw request ?
|
|
|
|
|
je thread3
|
|
|
|
|
cmp eax,2 ; key in buffer ?
|
|
|
|
|
je key3
|
|
|
|
|
cmp eax,3 ; button in buffer ?
|
|
|
|
|
je button3
|
|
|
|
|
|
|
|
|
|
jmp still3
|
|
|
|
|
|
|
|
|
|
key3:
|
|
|
|
|
int 0x40
|
|
|
|
|
cmp ah,27
|
|
|
|
|
je close3
|
|
|
|
|
cmp ah,13
|
|
|
|
|
je kok
|
|
|
|
|
cmp ah,178 ;up
|
|
|
|
|
jne nofup
|
|
|
|
|
cmp dword [bgrmode],1
|
|
|
|
|
je fdn
|
|
|
|
|
fup:
|
|
|
|
|
dec dword [bgrmode]
|
|
|
|
|
jmp flagcont
|
|
|
|
|
nofup:
|
|
|
|
|
cmp ah,177 ;down
|
|
|
|
|
jne still3
|
|
|
|
|
cmp dword [bgrmode],2
|
|
|
|
|
je fup
|
|
|
|
|
fdn:
|
|
|
|
|
inc dword [bgrmode]
|
|
|
|
|
jmp flagcont
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
button3: ; button
|
|
|
|
|
mov eax,17 ; get id
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
cmp ah,1 ; button id=1 ?
|
|
|
|
|
jne noclose3
|
|
|
|
|
close3:
|
|
|
|
|
btr dword [status],3
|
|
|
|
|
bts dword [status],2
|
|
|
|
|
mov eax,-1 ; close this program
|
|
|
|
|
int 0x40
|
|
|
|
|
noclose3:
|
|
|
|
|
cmp ah,4
|
|
|
|
|
jne nook
|
|
|
|
|
kok:
|
|
|
|
|
call background
|
|
|
|
|
jmp close3
|
|
|
|
|
nook:
|
|
|
|
|
cmp ah,2
|
|
|
|
|
jb still3
|
|
|
|
|
cmp ah,3
|
|
|
|
|
ja still3
|
|
|
|
|
dec ah
|
|
|
|
|
mov byte [bgrmode],ah
|
|
|
|
|
flagcont:
|
|
|
|
|
call drawflags
|
|
|
|
|
jmp still3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; *********************************************
|
|
|
|
|
; ******* WINDOW DEFINITIONS AND DRAW ********
|
|
|
|
|
; *********************************************
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
draw_window3:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mov eax,12 ; function 12:tell os about windowdraw
|
|
|
|
|
mov ebx,1 ; 1, start of draw
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
; DRAW WINDOW
|
|
|
|
|
xor eax,eax ; function 0 : define and draw window
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
mov eax,8
|
|
|
|
|
mov ebx,70*65536+40
|
|
|
|
|
mov ecx,70*65536+20
|
|
|
|
|
mov edx,4
|
|
|
|
|
mov esi,0xac0000
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
; WINDOW LABEL
|
|
|
|
|
mov eax,4 ; function 4 : write text to window
|
|
|
|
|
mov ebx,8*65536+8 ; [x start] *65536 + [y start]
|
|
|
|
|
mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB )
|
|
|
|
|
mov edx,labelt3 ; pointer to text beginning
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
mov esi,labelt3.size ; text length
|
2006-01-03 10:43:31 +01:00
|
|
|
|
int 0x40
|
|
|
|
|
add ebx,38*65536+20
|
|
|
|
|
mov ecx,0xddeeff
|
|
|
|
|
mov edx, bgrdtext
|
|
|
|
|
mov esi, bgrdtext.size
|
|
|
|
|
int 0x40
|
|
|
|
|
add ebx,40*65536+15
|
|
|
|
|
mov edx, tiled
|
|
|
|
|
mov esi, tiled.size
|
|
|
|
|
int 0x40
|
|
|
|
|
add ebx,15
|
|
|
|
|
mov edx, stretch
|
|
|
|
|
mov esi, stretch.size ;7
|
|
|
|
|
int 0x40
|
|
|
|
|
add ebx,18
|
|
|
|
|
mov edx, ok_btn
|
|
|
|
|
mov esi, ok_btn.size ;2
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
call drawflags
|
|
|
|
|
|
|
|
|
|
mov eax,12 ; function 12:tell os about windowdraw
|
|
|
|
|
mov ebx,2 ; 2, end of draw
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
drawflags:
|
|
|
|
|
mov eax,8
|
|
|
|
|
mov ebx,70*65536+10
|
|
|
|
|
mov ecx,40*65536+10
|
|
|
|
|
mov edx,2
|
|
|
|
|
mov esi,0xe0e0e0
|
|
|
|
|
int 0x40
|
|
|
|
|
add ecx,15*65536
|
|
|
|
|
inc edx
|
|
|
|
|
int 0x40
|
|
|
|
|
mov eax,4
|
|
|
|
|
mov ebx,73*65536+42
|
|
|
|
|
xor ecx,ecx
|
|
|
|
|
mov edx,vflag
|
|
|
|
|
mov esi,1
|
|
|
|
|
cmp dword [bgrmode],1
|
|
|
|
|
je nodownflag
|
|
|
|
|
add ebx,15
|
|
|
|
|
nodownflag:
|
|
|
|
|
int 0x40
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; DATA AREA
|
2006-10-23 14:54:00 +02:00
|
|
|
|
status dd 0 ;bit0=1 if file thread is created
|
|
|
|
|
soi dd 0
|
|
|
|
|
delta dd 0
|
|
|
|
|
process dd 0
|
|
|
|
|
|
|
|
|
|
bWasDraw db 0
|
2006-01-03 10:43:31 +01:00
|
|
|
|
vflag: db 'x'
|
|
|
|
|
bgrmode: dd 1
|
|
|
|
|
|
2006-08-18 16:32:11 +02:00
|
|
|
|
wnd_width dd 210
|
|
|
|
|
wnd_height dd 53
|
|
|
|
|
|
2006-01-03 10:43:31 +01:00
|
|
|
|
lsz labelt3,\
|
|
|
|
|
en, 'Background set',\
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
ru, "<22><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> 䮭<>",\
|
|
|
|
|
de, 'Hintergrund gesetzt'
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
lsz bgrdtext,\
|
|
|
|
|
en, 'SET AS BACKGROUND:',\
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
ru, '<27><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>:',\
|
|
|
|
|
de, 'ALS HINTERGRUND'
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
lsz tiled,\
|
|
|
|
|
en, 'TILED',\
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
ru, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',\
|
|
|
|
|
de, 'GEKACHELT'
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
lsz stretch,\
|
|
|
|
|
en, 'STRETCH',\
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
ru, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',\
|
|
|
|
|
de, 'GESTRECKT'
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
lsz ok_btn,\
|
|
|
|
|
en, 'Ok',\
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
ru, 'Ok',\
|
|
|
|
|
de, 'Ok'
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
pos: dd 6
|
|
|
|
|
fileinfo:
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0x290000-I_END
|
|
|
|
|
dd I_END
|
|
|
|
|
string:
|
|
|
|
|
db '/rd/1/bgr.bmp',0
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
IM_END:
|
mv, gifview, jpegview: modified to use function 70
tinypad2: modified for new sysxtree
kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev:
german translation from derPENGUIN
git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-25 15:06:57 +02:00
|
|
|
|
rb string+257-$
|
|
|
|
|
|
2006-08-18 16:32:11 +02:00
|
|
|
|
process_info:
|
2006-01-03 10:43:31 +01:00
|
|
|
|
temp_area:
|
|
|
|
|
rb 0x10000
|
|
|
|
|
I_END:
|