Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 485 → Rev 205

/programs/fs/sysxtree/trunk/macros.inc
0,0 → 1,269
; new application structure
macro meos_app_start
{
use32
org 0x0
 
db 'MENUET01'
dd 0x01
dd __start
dd __end
dd __memory
dd __stack
 
if used __params & ~defined __params
dd __params
else
dd 0x0
end if
 
dd 0x0
}
MEOS_APP_START fix meos_app_start
 
macro code
{
__start:
}
CODE fix code
 
macro data
{
__data:
}
DATA fix data
 
macro udata
{
if used __params & ~defined __params
__params:
db 0
__end:
rb 255
else
__end:
end if
__udata:
}
UDATA fix udata
 
macro meos_app_end
{
align 32
rb 2048
__stack:
__memory:
}
MEOS_APP_END fix meos_app_end
 
 
; macro for defining multiline text data
struc mstr [sstring]
{
forward
local ssize
virtual at 0
db sstring
ssize = $
end virtual
dd ssize
db sstring
common
dd -1
}
 
 
; strings
macro sz name,[data] { ; from MFAR [mike.dld]
common
if used name
label name
end if
forward
if used name
db data
end if
common
if used name
.size = $-name
end if
}
 
macro lsz name,[lng,data] { ; from MFAR [mike.dld]
common
if used name
label name
end if
forward
if (used name)&(lang eq lng)
db data
end if
common
if used name
.size = $-name
end if
}
 
 
 
; easy system call macro
macro mpack dest, hsrc, lsrc
{
if (hsrc eqtype 0) & (lsrc eqtype 0)
mov dest, (hsrc) shl 16 + lsrc
else
if (hsrc eqtype 0) & (~lsrc eqtype 0)
mov dest, (hsrc) shl 16
add dest, lsrc
else
mov dest, hsrc
shl dest, 16
add dest, lsrc
end if
end if
}
 
macro __mov reg,a,b { ; mike.dld
if (~a eq)&(~b eq)
mpack reg,a,b
else if (~a eq)&(b eq)
mov reg,a
end if
}
 
macro mcall a,b,c,d,e,f { ; mike.dld
__mov eax,a
__mov ebx,b
__mov ecx,c
__mov edx,d
__mov esi,e
__mov edi,f
int 0x40
}
 
 
 
; optimize the code for size
__regs fix <eax,ebx,ecx,edx,esi,edi,ebp,esp>
 
macro add arg1,arg2
{
if (arg2 eqtype 0)
if (arg2) = 1
inc arg1
else
add arg1,arg2
end if
else
add arg1,arg2
end if
}
 
macro sub arg1,arg2
{
if (arg2 eqtype 0)
if (arg2) = 1
dec arg1
else
sub arg1,arg2
end if
else
sub arg1,arg2
end if
}
 
macro mov arg1,arg2
{
if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0'))
if (arg2) = 0
xor arg1,arg1
else if (arg2) = 1
xor arg1,arg1
inc arg1
else if (arg2) = -1
or arg1,-1
else if (arg2) > -128 & (arg2) < 128
push arg2
pop arg1
else
mov arg1,arg2
end if
else
mov arg1,arg2
end if
}
 
 
macro struct name
{
virtual at 0
name name
sizeof.#name = $ - name
end virtual
}
 
; structures used in MeOS
struc process_information
{
.cpu_usage dd ? ; +0
.window_stack_position dw ? ; +4
.window_stack_value dw ? ; +6
.not_used1 dw ? ; +8
.process_name rb 12 ; +10
.memory_start dd ? ; +22
.used_memory dd ? ; +26
.PID dd ? ; +30
.x_start dd ? ; +34
.y_start dd ? ; +38
.x_size dd ? ; +42
.y_size dd ? ; +46
.slot_state dw ? ; +50
dw ? ; +52 - reserved
.client_left dd ? ; +54
.client_top dd ? ; +58
.client_width dd ? ; +62
.client_height dd ? ; +66
.wnd_state db ? ; +70
rb (1024-71)
}
struct process_information
 
struc system_colors
{
.frame dd ?
.grab dd ?
.grab_button dd ?
.grab_button_text dd ?
.grab_text dd ?
.work dd ?
.work_button dd ?
.work_button_text dd ?
.work_text dd ?
.work_graph dd ?
}
struct system_colors
 
 
; constants
 
; events
EV_IDLE = 0
EV_TIMER = 0
EV_REDRAW = 1
EV_KEY = 2
EV_BUTTON = 3
EV_EXIT = 4
EV_BACKGROUND = 5
EV_MOUSE = 6
EV_IPC = 7
EV_STACK = 8
 
; event mask bits for function 40
EVM_REDRAW = 1b
EVM_KEY = 10b
EVM_BUTTON = 100b
EVM_EXIT = 1000b
EVM_BACKGROUND = 10000b
EVM_MOUSE = 100000b
EVM_IPC = 1000000b
EVM_STACK = 10000000b
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/programs/fs/sysxtree/trunk/sysxtree.asm
45,7 → 45,7
; dd 0,0
 
;******************************************************************************
include '..\..\..\macros.inc'
include 'macros.inc'
include 'ascl.inc'
include 'ascgl.inc'
 
55,7 → 55,7
; //// Willow
; mov eax,58
; mov ebx,MRUfile
; mcall
; int 0x40
; //// Willow
mcall 18,11,1,table_area
cmp [edx+2],byte 0
101,7 → 101,7
 
mov eax,40
mov ebx,0100111b
mcall
int 0x40
 
cmp byte [param_area],0 ;test parameters line
jne no_brow ;it's dialog
115,7 → 115,7
mov eax,9
mov ebx,procinfo
mov ecx,-1
mcall
int 0x40
 
mov eax,dword [procinfo+30]
mov edi,MYPID+4-1
151,7 → 151,7
mov ebx,2
mov edx,MYPID
mov esi,4
mcall
int 0x40
no_dlg:
 
giftoimg but_file,tempimg
210,7 → 210,7
mov eax,9
mov ebx,procinfo
mov ecx,-1
mcall
int 0x40
 
wtevent red,key,button
 
217,7 → 217,7
scrolltest:
mov eax,37
mov ebx,2
mcall
int 0x40
dec eax
jne still
 
224,11 → 224,11
scrl:
mov eax,37
mov ebx,1
mcall
int 0x40
movzx ebx, ax ; y
shr eax, 16 ; x
mov ebp,eax
sub ebp,[listx] ;[procinfo.box.left]
sub ebp,[listx] ;[procinfo.x_size]
sub ebp,[listxsize]
add ebp,[scrollsize]
cmp ebp,dword [scrollsize] ;8
291,7 → 291,7
;===================
key: ; key
mov eax,2
mcall
int 0x40
cmp dword [focus],0
jne con_edit
cmp ah,key_Up
400,7 → 400,7
 
button: ; button
mov eax,17
mcall
int 0x40
 
cmp ah,2 ;Edit prompt line?
je edit_prompt
411,7 → 411,7
mousetest:
mov eax,37
mov ebx,1
mcall
int 0x40
mov ebx,eax
shr eax,16 ;x
and ebx,0xffff ;y
565,7 → 565,7
mov ebx,2
mov edx,paramtest
mov esi,1024
mcall
int 0x40
 
jmp exit
 
647,7 → 647,7
mov dword [ebx+21], paramtest ; program name
.do:
mov eax, 70
mcall
int 0x40
jmp still
 
run:
818,7 → 818,7
mov byte [ebx], 2
mov [ebx+12], edi
mov eax, 70
mcall
int 0x40
jmp still
no_copyclip:
 
829,7 → 829,7
mov byte [ebx], 0
mov dword [ebx+12], 1023
mov eax, 70
mcall
int 0x40
cmp ebx, 0
jle still
mov byte [paramtest+ebx], 0
884,18 → 884,18
mov ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB
mov edx, copyr_param+1
movzx esi, byte [edx-1]
mcall
int 0x40
mov ebx,250*65536+67 ; [x start] *65536 + [y start]
mov ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB
mov edx, ebp
mov esi, edi
mcall
int 0x40
no_outpath:
 
; run COPYR
mov eax, 70
mov ebx, copyr_run
mcall
int 0x40
delay 50 ;wait recoed file
jmp update ;still
no_clippaste:
999,10 → 999,10
; mov ebx,MRUfile
; mov dword[ebx+8],255
; inc dword[ebx]
; mcall
; int 0x40
; //// Willow
mov eax,-1
mcall
int 0x40
 
draw_wd:
; call draw_window
1028,10 → 1028,10
cmp [browser], 1 ;it's browser?
jne dialogscr
 
mov eax,[procinfo.box.top]
mov eax,[procinfo.y_size]
sub eax,90
drawfbox 40,76,300,eax,0x00000000
mov eax,[procinfo.box.top]
mov eax,[procinfo.y_size]
sub eax,92
drawfbox 41,77,298,eax,0x00ffffff
mov edi,esi ;14
1041,10 → 1041,10
jmp outlab
 
dialogscr:
mov eax,[procinfo.box.top]
mov eax,[procinfo.y_size]
sub eax,84
drawfbox 16,54,270,eax,0x00000000
mov eax,[procinfo.box.top]
mov eax,[procinfo.y_size]
sub eax,86
drawfbox 17,55,268,eax,0x00ffffff
mov edi,esi ;14
1056,7 → 1056,7
mov eax,4
mov esi,40
helploo:
mcall
int 0x40
add ebx,11
add edx,40
dec edi
1144,8 → 1144,8
; mov eax,9
; mov ebx,procinfo
; mov ecx,-1
; mcall
; mov eax,[procinfo.box.left]
; int 0x40
; mov eax,[procinfo.x_size]
; cmp eax,66
; jg temp12345
; ret
1154,7 → 1154,7
mov ebx,3
mov ecx,sc
mov edx,sizeof.system_colors
mcall
int 0x40
 
mov eax,[sc.work_button]
mov [b_color],eax
1161,7 → 1161,7
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
mcall
int 0x40
 
;Window
 
1178,43 → 1178,43
isb1:
; mov edx,[sc.work] ; color of work area RRGGBB
or edx,0x03ffffff;000000
mcall
int 0x40
 
;Get proc info
mov eax,9
mov ebx,procinfo
mov ecx,-1
mcall
int 0x40
 
mov eax,[procinfo.box.left]
mov eax,[procinfo.x_size]
cmp eax,66
jg @f
.ret:
ret
@@:
cmp [procinfo.box.top], 0x70
cmp [procinfo.y_size], 0x70
jl .ret
 
cmp [browser], 1 ;it's browser
jne nob9
mov [listx],120
; mov eax,[procinfo.box.left]
; mov eax,[procinfo.x_size]
sub eax,127;[listx]+7
cmp eax,10
jl .ret
mov [listxsize],eax
mov [listy],73
mov eax,[procinfo.box.top]
mov eax,[procinfo.y_size]
sub eax,73+7;[listy]+7
mov [listysize],eax
jmp isb9
nob9:
mov [listx],10
; mov eax,[procinfo.box.left]
; mov eax,[procinfo.x_size]
sub eax,17 ;[listx]+7
mov [listxsize],eax
mov [listy],54
mov eax,[procinfo.box.top]
mov eax,[procinfo.y_size]
sub eax,54+34;[listy]+34
mov [listysize],eax
isb9:
1235,12 → 1235,12
mov edx,22;+1000000000000000000000000000000b ;spoke butt
mov edi,3 ;draw 13 button's
mov esi,0x00339933
mcall
int 0x40
dec edi
nexthbut:
add ebx,(6*8)*65536
inc edx
mcall
int 0x40
dec edi
jnz nexthbut
 
1248,17 → 1248,17
glabel 8,25,' FILE VIEW INFO ', cl_White ;Black
 
;BlackLine
mov eax,[procinfo.box.left]
mov eax,[procinfo.x_size]
sub eax,10
drawfbox 5,35, eax, 1, cl_Black
 
;BlackLine2
mov eax,[procinfo.box.left]
mov eax,[procinfo.x_size]
sub eax,10
drawfbox 5,68, eax, 1, cl_Black
 
;BlackLine2 vertical
; mov eax,[procinfo.box.top]
; mov eax,[procinfo.y_size]
; sub eax,69+4
; drawfbox 115, 69, 1, eax, cl_Black
 
1329,12 → 1329,12
mov edx,8;+1000000000000000000000000000000b ;spoke butt
mov edi,13 ;draw 13 button's
mov esi,cl_Grey
mcall
int 0x40
dec edi
nextbut:
add ebx,(16+6)*65536
inc edx
mcall
int 0x40
dec edi
jnz nextbut
 
1344,7 → 1344,7
;But img browser
setimg 10,37,butimg
;left logo
add eax,[procinfo.box.left]
add eax,[procinfo.x_size]
sub eax,80
mov [temp],eax
setimg [temp],37,logoimg
1359,7 → 1359,7
 
mov [urlx],48
mov [urly],55
mov eax,[procinfo.box.left]
mov eax,[procinfo.x_size]
sub eax,48+10
mov [urlxsize],eax
mov [urlysize],12
1374,7 → 1374,7
mov ecx,cl_Black
add edx,modetext
mov esi,16
mcall
int 0x40
 
;List size
outcount [listsize],294,25,cl_Black,4*65536
1388,10 → 1388,10
nob5:
 
mov [urlx],10
mov eax,[procinfo.box.top]
mov eax,[procinfo.y_size]
sub eax,24
mov [urly],eax
mov eax,[procinfo.box.left]
mov eax,[procinfo.x_size]
sub eax,80
mov [urlxsize],eax
mov [urlysize],12
1410,7 → 1410,7
or ecx,0x10000000
mov esi,9
mov eax,4
mcall
int 0x40
no_saveh:
 
 
1417,11 → 1417,11
;Draw OPEN\SAVE button
mov ebx,0*65536+50
mov ecx,0*65536+12
mov eax,[procinfo.box.left]
mov eax,[procinfo.x_size]
sub eax,63
shl eax,16
add ebx,eax
mov eax,[procinfo.box.top]
mov eax,[procinfo.y_size]
sub eax,25
shl eax,16
add ecx,eax
1428,12 → 1428,12
mov eax,8
mov edx,5 ;button ID
mov esi,0x006699aa ;gradient!!!
mcall
int 0x40
 
; label OPEN or SAVE
mov ebx,[procinfo.box.left]
mov ebx,[procinfo.x_size]
sub ebx,48
mov eax,[procinfo.box.top]
mov eax,[procinfo.y_size]
sub eax,22
shl ebx,16
add ebx,eax
1450,7 → 1450,7
mov ecx,cl_White
mov esi,4
mov eax,4
mcall
int 0x40
no_saveb:
 
isb5:
1479,16 → 1479,16
mov eax,8
mov edx,2 ;button ID
mov esi,0x00aaaaaa ;gradient!!!
mcall
int 0x40
 
;Draw URL String
mov eax,13
mov edx,cl_Black
mcall
int 0x40
add ebx,1*65536-2+1
add ecx,1*65536-2+1
mov edx,cl_White
mcall
int 0x40
 
;Draw URL Cursor
mov eax,6
1503,7 → 1503,7
add ecx,2*65536-4
mov eax,13
mov edx,cl_Black
mcall
int 0x40
 
; OUT TEXT
mov eax,[urlxsize] ;calculating text leight
1519,7 → 1519,7
mov eax,4 ; function 4 : write text to window
mov ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB
mov edx,path ; pointer to text beginning
mcall
int 0x40
 
cmp [flick],2
jne no_flick_url
1546,7 → 1546,7
add ecx,[listysize]
sub ecx,scrollbutsize*2
mov edx,[scrollcolor] ;0x00006600
mcall
int 0x40
 
;Draw Scroll Box
mov edx,0
1595,7 → 1595,7
shl ebx, 16
mov bx, word [scrollsize]
mov edx, [scrollboxcol]
mcall
int 0x40
notusescroll:
 
 
1611,12 → 1611,12
 
mov eax,8
mov edx,4+1000000000000000000000000000000b ;spoke butt
mcall
int 0x40
 
add ebx,15
mov eax,13
mov edx,[listcolor] ;ffffff
mcall
int 0x40
 
;Draw up/down buttons
mov ebx,[listx]
1629,12 → 1629,12
add ecx,scrollbutsize-1
mov eax,8
mov edx,6+1000000000000000000000000000000b ;spoke butt
mcall
int 0x40
 
inc ecx
mov eax,13
mov edx,[scrollbutcol] ;ffffff
mcall
int 0x40
 
; Draw image on up button
pushad
1646,7 → 1646,7
mov ecx,8*65536+9
mov ebx,upsb+8
mov eax,7
mcall
int 0x40
popad
 
 
1658,12 → 1658,12
add ecx,eax
 
mov eax,8
mcall
int 0x40
 
inc ecx
mov eax,13
mov edx,[scrollbutcol] ;ffffff
mcall
int 0x40
 
; Draw image on down button
pushad
1675,7 → 1675,7
mov ecx,8*65536+9
mov ebx,dnsb+8
mov eax,7
mcall
int 0x40
popad
 
 
1795,7 → 1795,7
@@:
push eax
mov eax,4
mcall
int 0x40
cmp byte [edx+esi], 0
jz @f
pushad
1805,7 → 1805,7
add ebx, eax
mov esi, 1
mov eax, 4
mcall
int 0x40
popad
@@:
pop eax
1817,7 → 1817,7
add edx,4
mov esi,23
mov eax,4
mcall
int 0x40
pop edx ebx
 
pushad
1911,7 → 1911,7
; mov ebx,upsb+8
pop ebx
mov eax,7
mcall
int 0x40
no_out_ico:
popad
 
2008,7 → 2008,7
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
mcall
int 0x40
 
ret
 
2040,7 → 2040,7
mov eax,4
mov esi,12
menuloo:
mcall
int 0x40
add ebx,11
add edx,12
dec edi
2050,7 → 2050,7
menubutton:
mov eax,8
nextmenubut:
mcall
int 0x40
add ecx,11*65536
inc edx
dec edi
2156,7 → 2156,7
loorhd:
mov eax,70
mov ebx,fileinfoblock
mcall
int 0x40
 
cmp eax,6
je end_of_dir
/programs/fs/sysxtree/trunk/ascl.inc
50,7 → 50,7
mov dword [fileinfo+8],1 ; how many blocks to read (1)
mov eax,58
mov ebx,fileinfo
mcall
int 0x40
mov eax,[file_load_area+2]
shr eax,9 ; ¯®¤¥«¨¬ ­  512 ¨ ¯à¨¡ ¢¨¬ 1 - ¯®«ã稬 ç¨á«® ¡«®ª®¢
inc eax
57,7 → 57,7
mov dword [fileinfo+8],eax
mov eax,58
mov ebx,fileinfo
mcall
int 0x40
}
 
 
143,7 → 143,7
mov edx,id
mov esi,bcolor
mov eax,8
mcall
int 0x40
 
mov eax,asd-lab ;calc size
mov ebx,6
168,7 → 168,7
mov edx,lab
mov esi,asd-lab ;calc size
mov eax,4
mcall
int 0x40
}
 
 
197,7 → 197,7
mov eax,9
mov ebx,procinfo
mov ecx,-1
mcall
int 0x40
 
; convert eax bin to param dec
mov eax,dword [procinfo+30] ;offset of myPID
231,12 → 231,12
mov ebx,1 ; define IPC
mov ecx,path ; offset of area
mov edx,1024+16 ; size
mcall
int 0x40
 
; change wanted events list 7-bit IPC event
mov eax,40
mov ebx,01000111b
mcall
int 0x40
 
;
; STEP 3 run SYSTEM XTREE with parameters
244,7 → 244,7
 
mov eax,70
mov ebx,run_fileinfo
mcall
int 0x40
 
call redproc
 
252,7 → 252,7
getmesloop:
mov eax,23
mov ebx,50 ;0.5 sec
mcall
int 0x40
dec eax
jz mred
dec eax
266,7 → 266,7
mov ebx,procinfo
mov ecx,-1
mov eax,9
mcall
int 0x40
mov ebp,eax
 
loox:
273,7 → 273,7
mov eax,9
mov ebx,procinfo
mov ecx,ebp
mcall
int 0x40
mov eax,[DLGPID]
cmp [procinfo+30],eax ;IF Dialog find
je dlg_is_work ;jmp to dlg_is_work
298,15 → 298,15
jmp getmesloop
mkey:
mov eax,2
mcall ; read (eax=2)
int 0x40 ; read (eax=2)
jmp getmesloop
mbutton:
mov eax,17 ; get id
mcall
int 0x40
cmp ah,1 ; button id=1 ?
jne getmesloop
mov eax,-1 ; close this program
mcall
int 0x40
mgetmes:
 
; If dlg_pid_get then second message get jmp to still
408,7 → 408,7
mov eax,9
mov ebx,procinfo
mov ecx,-1
mcall
int 0x40
 
; convert eax bin to param dec
mov eax,dword [procinfo+30] ;offset of myPID
442,12 → 442,12
mov ebx,1 ; define IPC
mov ecx,path ; offset of area
mov edx,1024+16 ; size
mcall
int 0x40
 
; change wanted events list 7-bit IPC event
mov eax,40
mov ebx,01000111b
mcall
int 0x40
 
;
; STEP 3 run SYSTEM XTREE with parameters
455,7 → 455,7
 
mov eax,70
mov ebx,run_fileinfo
mcall
int 0x40
 
call redproc
 
463,7 → 463,7
getmesloop:
mov eax,23
mov ebx,50 ;0.5 sec
mcall
int 0x40
dec eax
jz mred
dec eax
477,7 → 477,7
mov ebx,procinfo
mov ecx,-1
mov eax,9
mcall
int 0x40
mov ebp,eax
 
loox:
484,7 → 484,7
mov eax,9
mov ebx,procinfo
mov ecx,ebp
mcall
int 0x40
mov eax,[DLGPID]
cmp [procinfo+30],eax ;IF Dialog find
je dlg_is_work ;jmp to dlg_is_work
509,15 → 509,15
jmp getmesloop
mkey:
mov eax,2
mcall ; read (eax=2)
int 0x40 ; read (eax=2)
jmp getmesloop
mbutton:
mov eax,17 ; get id
mcall
int 0x40
cmp ah,1 ; button id=1 ?
jne getmesloop
mov eax,-1 ; close this program
mcall
int 0x40
mgetmes:
 
; If dlg_pid_get then second message get jmp to still
669,7 → 669,7
macro scank
{
mov eax,10
mcall
int 0x40
}
 
macro putpix x,y,color
678,7 → 678,7
mov ecx,y
mov edx,color
mov eax,1
mcall
int 0x40
}
 
macro puttxt x,y,offs,size,color
696,7 → 696,7
; mov edx,offs
; mov esi,size
mov eax,4
mcall
int 0x40
}
 
macro outcount data, x, y, color, numtype
708,7 → 708,7
words2reg edx,x,y
mov esi,color
mov eax,47
mcall
int 0x40
}
 
; SCEVENT - Scan event
716,7 → 716,7
macro scevent red,key,but
{
mov eax,11
mcall
int 0x40
dec eax
jz red
dec eax
730,7 → 730,7
macro wtevent red,key,but
{
mov eax,10
mcall
int 0x40
dec eax
jz red
dec eax
745,7 → 745,7
{
mov eax,23
mov ebx,xfps
mcall
int 0x40
cmp eax,0
je noevent
dec eax
762,7 → 762,7
macro close
{
mov eax,-1
mcall
int 0x40
}
 
; DELAY - Create delay 1/100 sec
773,7 → 773,7
{
mov eax,5
mov ebx,arg1
mcall
int 0x40
}
 
; WINDOW - Draw window
788,7 → 788,7
words2reg ecx,arg2,arg4
mov edx,arg5
mov eax,0
mcall
int 0x40
}
 
macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7
799,7 → 799,7
mov esi,arg6
mov edi,arg7
mov eax,0
mcall
int 0x40
}
 
 
809,7 → 809,7
{
mov eax,12
mov ebx,1
mcall
int 0x40
}
 
; ENDWD - End window draw
818,7 → 818,7
{
mov eax,12
mov ebx,2
mcall
int 0x40
}
 
; LABEL - Put text to frame
842,7 → 842,7
mov edx,lab
mov esi,asd-lab ;calc size
mov eax,4
mcall
int 0x40
}
 
;Key's
/programs/fs/sysxtree/trunk/ascgl.inc
373,7 → 373,7
words2reg ecx,y,ys ;y*65536+ys
mov edx,color
mov eax,13
mcall
int 0x40
}
 
; FPS - Set Frame Per Second Display
390,7 → 390,7
spdat:
get_time:
mov eax,3
mcall
int 0x40
cmp eax,[savetime]
jne new_time
inc [fps_cntr]
409,7 → 409,7
mov ecx,y*65536+7
mov edx,delcolor
mov eax,13
mcall
int 0x40
end if
mov dword [ttt],fps_show_frequency
mov eax,47
418,7 → 418,7
mov edx,x*65536+y
mov esi,color
mov ecx,[fps]
mcall
int 0x40
no_out_fps:
}
 
496,7 → 496,7
add cx,[arg3+4]
; wordstoreg ecx,[arg3],[arg3+4]
words2reg edx, x , y ;arg1*65536+arg2
mcall
int 0x40
}
 
macro setframe x , y ,arg3
507,7 → 507,7
words2reg edx, x , y ;arg1*65536+arg2
add edx,dword [arg3]
mov ecx,dword [arg3+4]
mcall
int 0x40
}
 
 
/programs/fs/sysxtree/trunk/build_en.bat
1,5 → 1,4
@erase lang.inc
@echo lang fix en >lang.inc
@fasm sysxtree.asm sysxtree
@erase lang.inc
@pause
/programs/fs/sysxtree/trunk/build_ru.bat
1,5 → 1,4
@erase lang.inc
@echo lang fix ru >lang.inc
@fasm sysxtree.asm sysxtree
@erase lang.inc
@pause