Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 9971 → Rev 9970

/programs/demos/unvwater/trunk/unvwater.asm
8,12 → 8,19
use32
org 0x0
 
db 'MENUET01' ; header
dd 1 ; version
dd STARTAPP ; program start
dd I_END ; program image size
dd MEM ; size memory for program
dd STACKTOP ; pointer of stack
;db 'MENUET00' ; 8 byte id
;dd 38 ; required os
;dd STARTAPP ; program start
;dd I_END ; program image size
;dd 0x100000 ; required amount of memory
;dd 0x00000000 ; reserved=no extended header
 
db 'MENUET01'
dd 1
dd STARTAPP
dd I_END
dd MEM
dd STACKTOP
dd 0
dd 0
 
/programs/games/pong/trunk/pong.asm
20,14 → 20,21
CK_DOWN2 equ 80
 
use32
org 0x0
 
;org 0x0
;
;db 'MENUET00' ; 8 byte id
;dd 38 ; required os
;dd START ; program start
;dd I_END ; program image size
;dd 0x2000 ; required amount of memory
;dd 0x00000000 ; reserved=no extended header
db 'MENUET01'
dd 1 ; version
dd START ; program start
dd I_END ; program image size
dd MEM ; size memory for program
dd STACKTOP ; pointer on stack
dd 1
dd START
dd I_END
dd MEM
dd STACKTOP
dd 0
dd 0
 
/programs/games/mario2/trunk/MARIO.ASM
8,44 → 8,29
org 0x0
 
db 'MENUET01' ; header
dd 1 ; version
db 'MENUET00' ; 8 byte id
dd 38 ; required os
dd START ; program start
dd I_END ; image size
dd MEM ; size memory program
dd STACKTOP ; pointer to begin stack pos
dd 0
dd 0
dd 0x100000 ; reguired amount of memory
dd 0x00000000 ; reserved=no extended header
res_base = loadp + 0x36 ; offset on array pixel in BMP file
res_width_px = 150
res_height_px = 35
res_line_size = (res_width_px*3 + 11b) and not 11b ; 150*3 + 2
 
empty equ 0x80000 + 0*3*40*40
build_1 equ 0x80000 + 1*3*40*40
build_2 equ 0x80000 + 2*3*40*40
build_3 equ 0x80000 + 3*3*40*40
 
block_width = 40
block_height = 40
block_line_size = block_width * 3
block_img_size = block_width * block_height * 3
block_draw_size = (block_width shl 16) + block_height ; for sysfn 7
block_count_pixel = block_width * block_height
mario_1 equ 0x90000 + 0*3*70*51
mario_2 equ 0x90000 + 1*3*70*51
mario_3 equ 0x90000 + 2*3*70*51
mario_4 equ 0x90000 + 3*3*70*51
mario_5 equ 0x90000 + 4*3*70*51
mario_6 equ 0x90000 + 5*3*70*51
mario_green equ 0x90000 + 6*3*70*51
loadp equ 0x90000 + 7*3*70*51
 
mario_width = 50
mario_height = 70
mario_line_size = mario_width * 3
mario_img_size = mario_width * mario_height * 3
mario_draw_size = (mario_width shl 16) + mario_height
mario_count_pixel = mario_width * mario_height
 
 
wnd_pos_x = 80
wnd_pos_y = 20
 
wnd_header_size = 0x16
wnd_height = 9*block_height + wnd_header_size
wnd_width = 12*block_width + 1
 
 
START:
61,29 → 46,30
sta:
mov eax,field
mov dword[xxyy], 1*65536 + wnd_header_size
mov edx,1*65526+30
mov [xxyy],dword 1*65536+22
stl:
cmp byte[eax], ' '
jnz @f
cmp [eax],byte ' '
jnz noempty
mov ebx,empty
@@:
noempty:
cmp byte[eax], '1'
jnz @f
cmp [eax],byte '1'
jnz no1
mov ebx,build_1
@@:
no1:
cmp byte[eax], '2'
jnz @f
cmp [eax],byte '2'
jnz no2
mov ebx,build_2
@@:
no2:
cmp byte[eax], '3'
jnz @f
cmp [eax],byte '3'
jnz no3
mov ebx,build_3
@@:
no3:
pusha
90,23 → 76,26
mov edx,[xxyy]
mov eax,7 ; display image
mov ecx, block_draw_size
mov ecx,40*65536+40
int 0x40
popa
add word [xxyy+2], block_width
cmp word [xxyy+2], block_width*12+1
jnz .nonewline
add word [xxyy+2],word 40
cmp word [xxyy+2],word 40*12+1
jnz nonewline
mov word [xxyy+2],word 1
add word [xxyy+0],word 40
nonewline:
 
mov word [xxyy+2], 1
add word [xxyy+0], block_height
.nonewline:
add eax,1
cmp eax, field.end
jnz stl
cmp eax,field+12*9
jz nodraw
jmp stl
nodraw:
; ********* MAIN LOOP ***********
116,16 → 105,14
mov eax,11 ; check for event
int 0x40
 
cmp eax,1
jz red
cmp eax,2
jz key
cmp eax,3 ; check pressed button
cmp eax,3
jnz wait_for_event
mov eax, -1 ; close this program
int 0x40
jmp button
 
red:
141,17 → 128,17
mov eax,2 ; ah <- key
int 0x40
cmp ah,176 ; 'left'
cmp ah,176
jnz key1
mov byte [leftright],byte 1
key1:
cmp ah,179 ; 'right'
cmp ah,179
jnz key2
mov byte [leftright],byte 4
key2:
cmp ah,177 ; 'down'
cmp ah,177
jnz key3
mov al,byte [leftright]
mov bl,al
166,7 → 153,7
mov byte [leftright],bl
key3:
cmp ah,178 ; 'up'
cmp ah,178
jnz key4
cmp [velocity],dword 0xff
jnz key4
173,7 → 160,6
mov [velocity],dword 0x110
key4:
; this code using for fix defects drawing(draw in caption area)
mov eax,71 ;draw caption
mov ebx,1
mov ecx,title
183,25 → 169,41
;jmp wait_for_event
button:
mov eax,0xffffffff ; close this program
int 0x40
load_graph:
pusha
; empty block init - set in 0x00500f color
mov eax,6 ; 6 = open file
mov ebx,filename
mov ecx,0
mov edx,0xFFFFFF
mov esi,loadp
mov edi,0 ; floppy
int 0x40
; empty
mov edi,empty
mov ecx, block_count_pixel
mov ecx,40*40
mov eax,0x00500f
cld
@@:
emptyl:
mov [edi],eax
add edi, 3
loop @b
loop emptyl
mov [width], block_line_size
mov [width_move], block_width/2
mov [height_move], block_height/2
mov [width],40*3
mov [width_move],20
mov [sub_esi],150*3+2
mov [add_edi],40*3*2
mov [imul_esi],20*3
mov [base], res_base + 3*res_width_px * 34 +3*98-1
mov [base],loadp+18*3+3*150*34+3*98-1
mov esi,0
mov edi,build_1
214,24 → 216,26
; build_3
mov edi,build_3
mov esi, res_base + 230*3+3*300*69
mov ecx, block_height
mov esi,loadp+18*3+230*3+3*300*69
mov ecx,40
build_3l:
pusha
mov ecx, block_line_size
mov ecx,3*40
cld
rep movsb
popa
sub esi,300*3
add edi, block_line_size
add edi,40*3
loop build_3l
mov [width], mario_line_size
mov [width_move], mario_width/2
mov [height_move], mario_height/2
mov [width],50*3
mov [width_move],25
mov [sub_esi],150*3+2
mov [add_edi],50*3*2
mov [imul_esi],25*3
mov [base], res_base + 3*res_width_px*34 + 68
mov [base],loadp+18*3+3*150*34+68
mov esi,0
mov edi,mario_1
248,21 → 252,16
jmp mario_mirror
; copy in [edi], image x2
convert:
imul esi,[imul_esi]
add esi,[base] ; loadp+18*3+3*150*34+68
mov eax, [width]
shl eax, 1 ; *2
mov ecx, [height_move] ;?
 
.new_line:
mov ecx,70
mario_1l:
pusha
mov ecx,[width_move]
 
.putpix: ; set 4 pixel: edi, edi+3, edi+width, edi+width+3
putpix:
mov eax,[esi]
mov [edi+00],ax
mov [edi+03],ax
279,41 → 278,45
mov [edi+ebx],al
add esi,3
add edi,6
loop .putpix
loop putpix
popa
sub esi,[sub_esi]
add edi,[add_edi]
loop mario_1l
 
sub esi,res_line_size
add edi, eax
loop .new_line
ret
 
imul_esi dd 0
base dd 0
width dd 0
width_move dd 0
height_move dd 0
sub_esi dd 0x0
add_edi dd 0x0
imul_esi dd 0x0
base dd 0x0
width dd 0x0
width_move dd 0x0
mario_mirror:
 
; mario_green
mov edi,mario_green
mov ecx, mario_count_pixel
@@:
mov ecx,70*50
mario_greenl:
mov [edi],dword 0x00500f
add edi, 3
loop @b
loop mario_greenl
; mario_4 - reverse mario_1
; mario_4
mov edi, mario_4
mov esi, mario_1 + (mario_width - 1)*3
mov ecx, mario_height
mov esi,mario_1+49*3
mov ecx,70
m4l1:
pusha
mov ecx, mario_width
mov ecx,50
m4l2:
mov eax,[esi]
mov [edi],ax
323,20 → 326,19
sub esi,3
loop m4l2
popa
 
add esi, mario_width*3
add edi, mario_width*3
add esi,50*3
add edi,50*3
loop m4l1
; mario_5 - reverse mario_2
; mario_5
mov edi, mario_5
mov esi, mario_2 + (mario_width - 1)*3
mov ecx, mario_height
mov esi,mario_2+49*3
mov ecx,70
m5l1:
pusha
mov ecx, mario_width
mov ecx,50
m5l2:
mov eax,[esi]
mov [edi],ax
346,20 → 348,19
sub esi,3
loop m5l2
popa
 
add esi, mario_width*3
add edi, mario_width*3
add esi,50*3
add edi,50*3
loop m5l1
; mario_6 - reverse mario_3
; mario_6
mov edi, mario_6
mov esi, mario_3 + (mario_width - 1)*3
mov ecx, mario_height
mov esi,mario_3+49*3
mov ecx,70
m6l1:
pusha
mov ecx, mario_width
mov ecx,50
m6l2:
mov eax,[esi]
mov [edi],ax
369,13 → 370,13
sub esi,3
loop m6l2
popa
 
add esi, mario_width*3
add edi, mario_width*3
add esi,50*3
add edi,50*3
loop m6l1
popa
ret
546,132 → 547,129
mov eax,[mariomem]
cmp eax,[marioxy]
jnz @f
jnz dm1
call mario_delay
 
popa
ret
 
@@:
dm1:
mov eax,[marioxy]
mov [mariomem],eax
cmp byte [leftright], 1 ; go left
jz m_left
cmp byte [leftright],byte 1 ; go left
jnz no_m_left
jmp m_left
no_m_left:
cmp byte [leftright], 4 ; go right
jz m_right
cmp byte [leftright],byte 4 ; go right
jnz no_m_right
jmp m_right
no_m_right:
cmp byte [leftright], 2 ; stand left
cmp byte [leftright],byte 2 ; stand left
jnz no_r_still
 
mov eax,7
mov ebx,mario_green
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call advance_mario
mov eax,7
mov ebx,mario_1
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call mario_delay
 
popa
ret
no_r_still:
 
no_r_still:
cmp byte [leftright],byte 3 ; stand right
jnz no_l_still
 
mov eax,7
mov ebx,mario_green
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call advance_mario
mov eax,7
mov ebx,mario_4
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call mario_delay
 
popa
ret
no_l_still:
popa
ret
 
m_left:
mov eax,7
mov ebx,mario_green
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call advance_mario
mov eax,7
mov ebx,mario_1
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call mario_delay
mov eax,7
mov ebx,mario_green
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call advance_mario
mov eax,7
mov ebx,mario_2
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call mario_delay
mov eax,7
mov ebx,mario_green
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call advance_mario
mov eax,7
mov ebx,mario_3
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call mario_delay
mov eax,7
mov ebx,mario_green
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call advance_mario
mov eax,7
mov ebx,mario_2
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call mario_delay
popa
ret
m_right:
679,67 → 677,64
mov eax,7
mov ebx,mario_green
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call advance_mario
mov eax,7
mov ebx,mario_4
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call mario_delay
mov eax,7
mov ebx,mario_green
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call advance_mario
mov eax,7
mov ebx,mario_5
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call mario_delay
mov eax,7
mov ebx,mario_green
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call advance_mario
mov eax,7
mov ebx,mario_6
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call mario_delay
mov eax,7
mov ebx,mario_green
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call advance_mario
mov eax,7
mov ebx,mario_5
mov ecx, mario_draw_size
mov ecx,50*65536+70
mov edx,[marioxy]
int 0x40
 
call mario_delay
popa
ret
 
draw_window:
pusha
749,9 → 744,9
int 0x40
mov eax,0 ; define and draw window
mov ebx, (wnd_pos_x shl 16) + wnd_width ;80*65536+480+1
mov ecx, (wnd_pos_y shl 16) + wnd_height ;20*65536+382
mov edx,0x5466AA88 ; 4 type window + title + no draw work space
mov ebx,80*65536+480+1
mov ecx,20*65536+382
mov edx,0x5466AA88
mov edi,title
int 0x40
766,6 → 761,9
; DATA SECTION
filename:
db 'MARIOALLBMP'
title:
db 'SUPER MARIO - USE ARROW KEYS', 0
780,7 → 778,6
db '1 1'
db '1 1'
db '222222222222'
.end:
xxyy dd 0x0
792,33 → 789,9
velocity dd 0x0
align 16
loadp:
file 'MARIOALL.BMP'
 
I_END:
 
align 0x1000
 
empty: rb block_img_size
build_1: rb block_img_size
build_2: rb block_img_size
build_3: rb block_img_size
 
align 0x1000
 
mario_1: rb mario_img_size
mario_2: rb mario_img_size
mario_3: rb mario_img_size
mario_4: rb mario_img_size
mario_5: rb mario_img_size
mario_6: rb mario_img_size
mario_green: rb mario_img_size
 
 
rb 4096
STACKTOP:
MEM:
/programs/system/taskbar/trunk/TASKBAR.ASM
579,7 → 579,7
mcall 66,1,1
 
mcall 9,process_info_buffer,-1
mov ecx, [ebx + process_information.PID] ; PID
mov ecx,[ebx+30] ; PID
mcall 18,21
mov [my_active_slot],eax ; WINDOW SLOT
 
627,7 → 627,7
call set_work_ares_pf_screen
 
mcall 9,process_info_buffer,-1
mov ecx,[process_info_buffer.PID]
mov ecx,[process_info_buffer+30]
mcall 18,21
mov [this_slot],eax
mov [max_slot],255
798,7 → 798,7
 
mcall 9,process_info_buffer
 
test [ebx + process_information.wnd_state], byte 10b ; window is minimized to panel
test [ebx+70],dword 10b ; window is minimized to panel
jnz @f
 
cmp ecx,[current_active_slot]
/programs/system/taskbar/trunk/ctx_menu.asm
1,7 → 1,7
;------------------------------------------------------------------------------
align 4
context_menu_start:
mcall 40, EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE ;00100111b
mcall 40,00100111b
mov ecx, [ctx_menu_PID]
mcall 18,21
mov ecx, eax
11,13 → 11,13
align 4
ctx_menu_still:
mcall 10
cmp eax, EV_KEY
cmp eax, 2
jz ctx_menu_key
 
cmp eax, EV_BUTTON
cmp eax, 3
jz ctx_menu_button
 
cmp eax, EV_MOUSE
cmp eax, 6
jz ctx_menu_mouse
 
call draw_ctx_menu
75,7 → 75,7
mov edx, [n_slot]
xor ecx, ecx
 
test [procinfo_for_detect.wnd_state],byte 2
test [procinfo_for_detect+70],byte 2
setnz cl
add cl, cl
;--------------------------------------
102,9 → 102,9
sub ecx, 60 ; 41
shl ecx, 16
add ecx, 60 ; 41
mov esi, [system_colours.grab] ; sc.grab
mov esi, [system_colours + 4] ; sc.grab
or esi, 0x81000000
mcall ,,,[system_colours.work],,[system_colours.work_dark]
mcall ,,,[system_colours + 20],,[system_colours+8]
 
mcall 8,<0,133>,<22,17>,0x40000001
 
111,7 → 111,7
inc edx
mcall ,,<40,17>
mov ecx, [system_colours.grab_text] ; sc.grab_text
mov ecx, [system_colours + 16] ; sc.grab_text
or ecx, 0x10000000
mcall 4,<32,4>,,ctx_menu_title,ctx_menu_title_end - ctx_menu_title
 
118,13 → 118,13
add ebx, 1 * 65536
mcall
 
mov ecx, [system_colours.work_text] ; sc.work_text
mov ecx, [system_colours + 32] ; sc.work_text
or ecx, 0x80000000
mcall ,<4,28>,,ctx_menu_text
 
mov edx, ctx_menu_text2
 
test byte [procinfo_for_detect.wnd_state], 2
test byte [procinfo_for_detect+70], 2
jz @f
mov edx, ctx_menu_text3
;--------------------------------------
/programs/system/taskbar/trunk/drawappl.inc
28,12 → 28,12
need_window_tab:
; in: ebx->process info
; out: ZF set <=> do not draw
cmp byte [ebx + process_information.process_name], '@'
cmp byte [ebx+10], '@'
jz .nodraw
; do not draw undefined (zero-sized) windows
cmp dword [ebx + process_information.box.width], 0
cmp dword [ebx+42], 0
jnz @f
cmp dword [ebx + process_information.box.height], 0
cmp dword [ebx+46], 0
jz .nodraw
;--------------------------------------
align 4
40,14 → 40,14
@@:
; do not draw OpenDialog windows
push edi
mov edi, dword [ebx + process_information.process_name]
mov edi, dword [ebx+10]
or edi, 0x20202020
cmp edi, 'open'
jne @f
 
mov edi, dword [ebx + process_information.process_name + 4]
mov edi, dword [ebx+14]
or edi, 0x20202020
cmp edi, 'dial'
cmp dword [ebx+14], 'dial'
jne @f
 
pop edi
56,18 → 56,18
align 4
@@:
pop edi
cmp dword [ebx + process_information.process_name], 'ICON'
cmp dword [ebx+10], 'ICON'
jnz @f
 
cmp [ebx + process_information.box.width], dword 51
cmp [ebx+42], dword 51
jnz @f
 
cmp [ebx + process_information.box.height], dword 51
cmp [ebx+46], dword 51
jz .nodraw
;--------------------------------------
align 4
@@:
cmp dword[ebx + process_information.process_name], ' '
cmp [ebx+10], dword ' '
;--------------------------------------
align 4
.nodraw:
180,8 → 180,8
shr ecx,16
add bx,cx
mov edx, procinfo_window_tabs.process_name
mcall 4,,[system_colours.work_button_text],, sizeof.process_information.process_name
mov edx, procinfo_window_tabs+10
mcall 4,,[system_colours.work_button_text],,11
;--------------------------------------
align 4
.nodraw:
/programs/system/taskbar/trunk/drawwind.inc
8,10 → 8,10
mov [running_applications],-1
mcall 12,1
 
mcall 48,3,system_colours, sizeof.system_colors
mcall 48,3,system_colours,10*4
 
mov eax, [system_colours.work_button]
mov edx,[system_colours.work_button]
mov eax, [system_colours+4*6]
mov edx,[system_colours+4*6]
mov eax,COLOR_CHANGE_MAGNITUDE
call subtract_color_change_magnitude
mov [wcolor], edx
306,7 → 306,7
align 4
@@:
; Inserted code for drawing buttons 103, 104, 105 (Clean, Restore, Exchange windows)
mov esi, dword [system_colours.work_button] ; drawing buttons
mov esi, dword [system_colours+24] ; drawing buttons
and esi, 0x00ffffff
mov edx, 0x60000000 + 103
mov ecx, [height]
/programs/system/taskbar/trunk/u_data.inc
34,7 → 34,7
 
;------------------------------------------------------------------------------
align 4
system_colours system_colors
system_colours system_colors ; rd 10
;------------------------------------------------------------------------------
align 4
app_list rd 50
48,13 → 48,16
;-----------------------------------------------------------------------------
align 4
library_path:
process_info_buffer process_information
process_info_buffer:
rb 1024
;------------------------------------------------------------------------------
align 4
procinfo_for_detect process_information
procinfo_for_detect:
rb 1024
;------------------------------------------------------------------------------
align 4
procinfo_window_tabs process_information
procinfo_window_tabs:
rb 1024
;-----------------------------------------------------------------------------
align 4
bootparam:
/programs/system/zkey/trunk/ZKEY.ASM
11,16 → 11,13
use32
org 0x0
 
db 'MENUET01'
dd 1 ; version
db 'MENUET00' ; 8 byte id
dd 38 ; required os
dd STARTAPP ; program start
dd I_END ; program image size
dd MEM ; size memory for program
dd STACKTOP ; base stack pointer
dd 0
dd 0
dd 0x100000 ; required amount of memory
dd 0x00000000 ; reserved=no extended header
 
include '../../../macros.inc'
include "ASPAPI.INC"
 
N_KEYCOLOR equ 0x00677889 ; Normal button color
29,6 → 26,8
TEXTCOLOR equ 0x00FFFFFF ; Button caption color
 
ASCII_KEYMAP_SIZE equ 128
PROCINFO_SIZE equ 1024
PROCINFO_BUFF equ ascii_keymap + ASCII_KEYMAP_SIZE
 
STARTAPP:
mov ecx, 1 ; to send scancodes.
190,7 → 189,7
mov [zkey_window], eax
set_event_mask:
mov eax, 40
mov ebx, EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE ; 39 ; 100111b
mov ebx, 39
int 0x40
 
still:
199,9 → 198,8
call set_keyboard_mode
; delete_switch_button
mov eax, 8
mov edx, BT_DEL + 0x00700000
mov edx, 0x80700000
int 0x40
 
mov byte [red_type], 2
call draw_window.draw_switch_button
208,11 → 206,11
mov eax, 10 ; Wait for an event in the queue.
int 0x40
 
cmp al, EV_REDRAW ; redraw request ?
cmp al,1 ; redraw request ?
jz red
cmp al, EV_KEY ; key in buffer ?
cmp al,2 ; key in buffer ?
jz key
cmp al, EV_BUTTON ; button in buffer ?
cmp al,3 ; button in buffer ?
jz button
 
jmp still
393,7 → 391,7
mov ebx, PROCINFO_BUFF
mov ecx, [receiver_window]
int 0x40
movzx ecx, byte [ebx + process_information.keyboard_mode]
movzx ecx, byte [ebx + 75]
ret
 
;************************************
479,11 → 477,4
 
I_END: ; End of application code and data marker
 
ascii_keymap: rb ASCII_KEYMAP_SIZE
 
PROCINFO_BUFF process_information
 
rb 4096
STACKTOP:
MEM:
 
ascii_keymap:
/programs/macros.inc
465,9 → 465,7
dw ? ; +52
client_box BOX ; +54
wnd_state db ? ; +70
event_mask dd ? ; +71
keyboard_mode db ? ; +75
rb (1024-76)
rb (1024-71)
ends
 
struct system_colors