36,11 → 36,11 |
mcall 60,1,ipcbuff,IPC_BUF+20 |
mcall 40,1000111b |
mov [ipcbuff+4],8 |
mov ecx,4096 |
mov ecx,1024 |
flush: |
mov eax,63 |
mov ebx,2 |
mcall |
int 0x40 |
loop flush |
|
mov ecx, TMP |
52,18 → 52,11 |
mov [tmp2],'x' |
|
mov eax,14 |
mcall |
int 0x40 |
and eax,0xffff0000 |
sub eax,399 shl 16 |
add eax,399 |
mov [xstart],eax |
|
mov eax,48 |
mov ebx,3 |
mov ecx,sc |
mov edx,sizeof.system_colors |
mcall |
|
red: |
call draw_window |
|
71,7 → 64,7 |
|
mov eax,23 ; wait here for event |
mov ebx,1 |
mcall |
int 0x40 |
|
cmp eax,1 ; redraw request ? |
je red |
81,10 → 74,9 |
je button |
cmp eax,7 |
je ipc |
|
mov eax,63 |
mov ebx,2 |
mcall |
int 0x40 |
|
cmp ebx,1 |
jne still |
149,7 → 141,7 |
|
mov eax,63 |
mov ebx,2 |
mcall |
int 0x40 |
|
cmp ebx,1 |
je new_data |
184,8 → 176,8 |
rep movsb |
jmp red |
key: ; key |
mov al,2 ; just read it and ignore |
mcall |
mov eax,2 ; just read it and ignore |
int 0x40 |
cmp ah,' ' |
je button.no_krnl_flt |
cmp [vmode],2 |
207,14 → 199,14 |
arrows dd -1,16,-16,1 |
|
button: ; button |
mov al,17 ; get id |
mcall |
mov eax,17 ; get id |
int 0x40 |
|
cmp ah,1 ; button id=1 ? |
jne .noclose |
|
or eax,-1 ; close this program |
mcall |
mov eax,-1 ; close this program |
int 0x40 |
.noclose: |
shr eax,8 |
cmp eax,10 |
282,12 → 274,18 |
|
draw_window: |
|
mov eax,48 |
mov ebx,3 |
mov ecx,sc |
mov edx,sizeof.system_colors |
int 0x40 |
|
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
mcall |
int 0x40 |
|
; DRAW WINDOW |
xor eax,eax ; function 0 : define and draw window |
mov eax,0 ; function 0 : define and draw window |
; mov ebx,50*65536+400 ; [x start] *65536 + [x size] |
mov ebx,[xstart] |
mov ecx,MAXSTRINGS*10+45 ; [y start] *65536 + [y size] |
294,16 → 292,16 |
mov edx,[sc.work] ; color of work area RRGGBB,8->color gl |
or edx,0x13000000 |
mov edi,header ; WINDOW LABEL |
mcall |
int 0x40 |
|
mov ecx,4 |
mov esi,[sc.work] |
mov ebx,296 shl 16+5*6 |
mov ebx,316 shl 16+5*6 |
mov edx,3;+1 shl 30 |
mcall 8,,<5,12> |
mov edx,[vmode] |
lea edx,[edx*4+duk] |
mcall 4,<300,8>,,,4 |
mcall 4,<320,8>,,,4 |
|
cmp [vmode],2 |
je no_mdbg |
315,9 → 313,9 |
mov edx,text2 |
.kern: |
mov esi,80 |
newline: |
mov eax,4 |
newline: |
mcall |
int 0x40 |
add ebx,10 |
add edx,80 |
cmp [edx],byte 'x' |
336,7 → 334,7 |
enddraw: |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
mcall |
int 0x40 |
|
ret |
|
516,11 → 514,11 |
; 11,11 > 0,-1 |
; 5,11 > 0,-1 |
if lang eq ru |
header db '®áª ®â« ¤ª¨ ¨ á®®¡é¥¨©',0 |
header db '
',0 |
else if lang eq en |
header db 'General debug & message board',0 |
header db 'GENERAL DEBUG & MESSAGE BOARD',0 |
else |
header db 'Allgemeines debug- & nachrichtenboard',0 |
header db 'ALLGEMEINES DEBUG- & NACHRICHTENBOARD',0 |
end if |
krnl_cnt dd 0 |
vmode dd 0 |