2006-01-03 10:43:31 +01:00
|
|
|
|
;
|
|
|
|
|
; END
|
|
|
|
|
;
|
2006-02-16 07:44:47 +01:00
|
|
|
|
; <diamond> note that 'mov al,xx' is shorter than 'mov eax,xx'
|
|
|
|
|
; and if we know that high 24 bits of eax are zero, we can use 1st form
|
|
|
|
|
; the same about ebx,ecx,edx
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2006-03-17 18:14:40 +01:00
|
|
|
|
include "lang.inc"
|
2006-01-03 10:43:31 +01:00
|
|
|
|
include "macros.inc"
|
|
|
|
|
|
|
|
|
|
meos_app_start
|
|
|
|
|
code
|
|
|
|
|
|
2006-02-16 07:44:47 +01:00
|
|
|
|
do_draw:
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
mov eax,48
|
|
|
|
|
mov ebx,3
|
|
|
|
|
mov ecx,sc
|
|
|
|
|
mov edx,sizeof.system_colors
|
|
|
|
|
int 0x40
|
|
|
|
|
|
2006-02-16 07:44:47 +01:00
|
|
|
|
mov al,12 ; eax=12 - tell os about redraw start
|
|
|
|
|
mov bl,1
|
2006-01-03 10:43:31 +01:00
|
|
|
|
int 0x40
|
|
|
|
|
|
2006-02-16 07:44:47 +01:00
|
|
|
|
mov al,14 ; eax=14 - get screen max x & max y
|
2006-01-03 10:43:31 +01:00
|
|
|
|
int 0x40
|
|
|
|
|
|
2006-02-16 07:44:47 +01:00
|
|
|
|
movzx ecx,ax
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
shr eax,17
|
|
|
|
|
shl eax,16
|
2006-02-16 07:44:47 +01:00
|
|
|
|
lea ebx,[eax-110*10000h+220]
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
shr ecx,1
|
|
|
|
|
shl ecx,16
|
2007-02-12 06:14:58 +01:00
|
|
|
|
sub ecx,50*10000h - 120
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2007-02-12 06:14:58 +01:00
|
|
|
|
xor eax,eax ; define and draw window
|
2006-10-26 16:43:39 +02:00
|
|
|
|
mov edx,[sc.work]
|
|
|
|
|
mov esi,edx
|
|
|
|
|
mov edi,edx
|
2006-01-03 10:43:31 +01:00
|
|
|
|
int 0x40
|
|
|
|
|
|
2006-10-26 16:43:39 +02:00
|
|
|
|
mov edx,0x444444
|
2006-02-16 07:44:47 +01:00
|
|
|
|
mov al,13
|
2006-10-26 16:43:39 +02:00
|
|
|
|
mcall ,18 shl 16+90,29 shl 16+27
|
2006-02-16 07:44:47 +01:00
|
|
|
|
push ebx
|
2007-02-12 06:14:58 +01:00
|
|
|
|
mcall ,121 shl 16+90
|
2006-02-16 07:44:47 +01:00
|
|
|
|
xchg ebx,[esp]
|
2006-10-26 16:43:39 +02:00
|
|
|
|
mcall ,,63 shl 16+27
|
2006-02-16 07:44:47 +01:00
|
|
|
|
pop ebx
|
|
|
|
|
mcall
|
2007-02-12 06:14:58 +01:00
|
|
|
|
mcall ,179 shl 16+30,99 shl 16+15
|
2006-02-16 07:44:47 +01:00
|
|
|
|
|
2006-10-26 16:43:39 +02:00
|
|
|
|
xor edx,edx
|
2006-02-16 07:44:47 +01:00
|
|
|
|
mov al,8
|
|
|
|
|
inc edx
|
2006-10-26 16:43:39 +02:00
|
|
|
|
mcall ,15 shl 16+87,26 shl 16+24,,0xbb0055
|
2006-02-16 07:44:47 +01:00
|
|
|
|
inc edx
|
2006-10-26 16:43:39 +02:00
|
|
|
|
mcall ,118 shl 16+87,,,0xaaaa ;cccc
|
2006-02-16 07:44:47 +01:00
|
|
|
|
inc edx
|
2006-10-26 16:43:39 +02:00
|
|
|
|
mcall ,15 shl 16+87,60 shl 16+24,,0x9900
|
2006-02-16 07:44:47 +01:00
|
|
|
|
inc edx
|
2006-10-26 16:43:39 +02:00
|
|
|
|
mcall ,118 shl 16+87,,,0xaaaaaa ;cccccc
|
2007-02-12 06:14:58 +01:00
|
|
|
|
inc edx
|
|
|
|
|
mcall ,175 shl 16+30,95 shl 16+15,,[sc.work_button]
|
2006-02-16 07:44:47 +01:00
|
|
|
|
|
|
|
|
|
mov al,4 ; 0x00000004 = write text
|
2006-01-03 10:43:31 +01:00
|
|
|
|
mov ebx,75*65536+10
|
2006-10-26 16:43:39 +02:00
|
|
|
|
mov ecx,[sc.work_text] ; 8b window nro - RR GG BB color
|
2007-02-12 06:14:58 +01:00
|
|
|
|
or ecx,0x90000000
|
2006-01-03 10:43:31 +01:00
|
|
|
|
mov edx,label1 ; pointer to text beginning
|
|
|
|
|
int 0x40
|
|
|
|
|
|
2007-02-12 06:14:58 +01:00
|
|
|
|
mov ebx,15*65536+101
|
|
|
|
|
mov edx,label4
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
mov ecx,0x90eeeeee ; 8b window nro - RR GG BB color
|
2006-01-03 10:43:31 +01:00
|
|
|
|
mov ebx,25*65536+30
|
2007-02-12 06:14:58 +01:00
|
|
|
|
mov edx,label2 ; pointer to text beginning
|
2006-01-03 10:43:31 +01:00
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
mov ebx,20*65536+64
|
2007-02-12 06:14:58 +01:00
|
|
|
|
mov edx,label3
|
2006-01-03 10:43:31 +01:00
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
mov ebx,45*65536+41
|
2007-02-12 06:14:58 +01:00
|
|
|
|
mov edx,label5
|
2006-01-03 10:43:31 +01:00
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
mov ebx,40*65536+75
|
2007-02-12 06:14:58 +01:00
|
|
|
|
mov edx,label6
|
2006-01-03 10:43:31 +01:00
|
|
|
|
int 0x40
|
|
|
|
|
|
2007-02-12 06:14:58 +01:00
|
|
|
|
mov al,12 ;end of redraw
|
2006-01-03 10:43:31 +01:00
|
|
|
|
mov ebx,2
|
|
|
|
|
int 0x40
|
|
|
|
|
|
2006-02-16 07:44:47 +01:00
|
|
|
|
still:
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2006-02-16 07:44:47 +01:00
|
|
|
|
mov eax,10 ; wait here for event
|
|
|
|
|
int 0x40
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2006-02-16 07:44:47 +01:00
|
|
|
|
dec eax
|
|
|
|
|
jz do_draw
|
|
|
|
|
dec eax
|
|
|
|
|
jnz button
|
|
|
|
|
key:
|
|
|
|
|
mov al,2 ; now eax=2 - get key code
|
|
|
|
|
int 40h
|
|
|
|
|
mov al,ah
|
|
|
|
|
cmp al,13
|
|
|
|
|
jz restart
|
|
|
|
|
cmp al,27
|
|
|
|
|
jz close_1
|
|
|
|
|
cmp al,180
|
|
|
|
|
jz restart_kernel
|
|
|
|
|
cmp al,181
|
|
|
|
|
jz power_off
|
|
|
|
|
jmp still
|
|
|
|
|
|
|
|
|
|
button:
|
|
|
|
|
mov al,17 ; now eax=17 - get pressed button id
|
|
|
|
|
int 0x40
|
|
|
|
|
xchg al,ah
|
|
|
|
|
dec eax
|
|
|
|
|
jz power_off
|
|
|
|
|
dec eax
|
|
|
|
|
jz restart_kernel
|
|
|
|
|
dec eax
|
|
|
|
|
jz restart
|
2007-02-12 06:14:58 +01:00
|
|
|
|
dec eax
|
|
|
|
|
jnz run_rdsave
|
2006-02-16 07:44:47 +01:00
|
|
|
|
; we have only one button left, this is close button
|
|
|
|
|
; dec eax
|
|
|
|
|
; jnz still
|
|
|
|
|
close_1:
|
|
|
|
|
or eax,-1
|
|
|
|
|
int 40h
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2006-02-16 07:44:47 +01:00
|
|
|
|
power_off:
|
|
|
|
|
push 2
|
|
|
|
|
jmp mcall_and_close
|
|
|
|
|
|
|
|
|
|
restart:
|
|
|
|
|
push 3
|
|
|
|
|
jmp mcall_and_close
|
|
|
|
|
|
|
|
|
|
restart_kernel:
|
|
|
|
|
push 4
|
|
|
|
|
mcall_and_close:
|
|
|
|
|
pop ecx
|
|
|
|
|
mcall 18,9
|
|
|
|
|
jmp close_1
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2007-02-12 06:14:58 +01:00
|
|
|
|
run_rdsave:
|
|
|
|
|
mov eax,70
|
|
|
|
|
mov ebx,rdsave
|
|
|
|
|
int 0x40
|
|
|
|
|
jmp still
|
|
|
|
|
|
2006-01-03 10:43:31 +01:00
|
|
|
|
data
|
|
|
|
|
|
|
|
|
|
if lang eq ru
|
|
|
|
|
label1:
|
2007-02-12 06:14:58 +01:00
|
|
|
|
db '<27><><EFBFBD> <20>롮<EFBFBD>:',0
|
2006-01-03 10:43:31 +01:00
|
|
|
|
label2:
|
2007-02-12 06:14:58 +01:00
|
|
|
|
db '<27>몫<EFBFBD><EBAAAB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>',0
|
2006-01-03 10:43:31 +01:00
|
|
|
|
label3:
|
2007-02-12 06:14:58 +01:00
|
|
|
|
db '<27><>१<EFBFBD><E0A5A7><EFBFBD><EFBFBD><EFBFBD> <20>⬥<EFBFBD><E2ACA5>',0
|
|
|
|
|
label4:
|
|
|
|
|
db '<27><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD>ன<EFBFBD><E0AEA9>',0
|
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
|
|
|
|
else if lang eq en
|
2006-01-03 10:43:31 +01:00
|
|
|
|
label1:
|
2007-02-12 06:14:58 +01:00
|
|
|
|
db ' SELECT:',0
|
2006-01-03 10:43:31 +01:00
|
|
|
|
label2:
|
2007-02-12 06:14:58 +01:00
|
|
|
|
db 'POWER OFF KERNEL',0
|
2006-01-03 10:43:31 +01:00
|
|
|
|
label3:
|
2007-02-12 06:14:58 +01:00
|
|
|
|
db ' RESTART CANCEL',0
|
|
|
|
|
label4:
|
|
|
|
|
db 'Save settings',0
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2007-01-13 21:34:33 +01:00
|
|
|
|
else if lang eq et
|
|
|
|
|
label1:
|
2007-02-12 06:14:58 +01:00
|
|
|
|
db ' VALI:',0
|
2007-01-13 21:34:33 +01:00
|
|
|
|
label2:
|
2007-02-12 06:14:58 +01:00
|
|
|
|
db 'L<>LITA V<>LJA KERNEL',0
|
2007-01-13 21:34:33 +01:00
|
|
|
|
label3:
|
2007-02-12 06:14:58 +01:00
|
|
|
|
db ' RESTART T<>HISTA',0
|
|
|
|
|
label4:
|
|
|
|
|
db 'Save settings',0
|
2007-01-13 21:34:33 +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
|
|
|
|
else
|
|
|
|
|
label1:
|
2007-02-12 06:14:58 +01:00
|
|
|
|
db 'WAEHLEN:',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
|
|
|
|
label2:
|
2007-02-12 06:14:58 +01:00
|
|
|
|
db ' BEENDEN KERNEL',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
|
|
|
|
label3:
|
2007-02-12 06:14:58 +01:00
|
|
|
|
db ' NEUSTART ABBRECHEN',0
|
2006-01-03 10:43:31 +01:00
|
|
|
|
label4:
|
2007-02-12 06:14:58 +01:00
|
|
|
|
db 'Save settings',0
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2007-02-12 06:14:58 +01:00
|
|
|
|
end if
|
2006-01-03 10:43:31 +01:00
|
|
|
|
label5:
|
2007-02-12 06:14:58 +01:00
|
|
|
|
db '(End) (Home)',0
|
|
|
|
|
label6:
|
|
|
|
|
db '(Enter) (Esc)',0
|
|
|
|
|
|
|
|
|
|
rdsave:
|
|
|
|
|
dd 7
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
db '/rd/1/rdsave',0
|
2006-01-03 10:43:31 +01:00
|
|
|
|
udata
|
|
|
|
|
sc system_colors
|
|
|
|
|
|
|
|
|
|
meos_app_end
|