/programs/build_all.bat |
---|
1,6 → 1,7 |
@echo off |
set languages=en ru ge et |
set __CPU_type=p5 p6 k6 |
set kpack=y n |
cls |
echo Build KolibriOS apps |
12,6 → 13,14 |
@erase lang.inc |
echo lang fix %res% > lang.inc |
echo Enter CPU_type ("p5" for interrupt, "p6" for SYSENTER, "k6" for SYSCALL) |
set /p res="> |
@erase config.inc |
echo __CPU_type fix %res% > config.inc |
if not exist bin mkdir bin |
if not exist bin\demos mkdir bin\demos |
if not exist bin\develop mkdir bin\develop |
35,6 → 44,7 |
@fasm system\kbd\trunk\kbd.ASM bin\kbd |
@fasm system\launcher\trunk\launcher.asm bin\launcher |
@fasm system\menu\trunk\menu.asm bin\@menu |
@fasm system\mgb\trunk\mgb.asm bin\mgb |
@fasm system\PANEL\trunk\@PANEL.ASM bin\@PANEL |
@fasm system\pcidev\trunk\pcidev.asm bin\pcidev |
@fasm system\RB\trunk\@RB.ASM bin\@RB |
77,10 → 87,12 |
@fasm network\dhcp\trunk\dhcp.asm bin\network\dhcp |
@fasm network\dnsr\trunk\dnsr.asm bin\network\dnsr |
@fasm network\ethstat\trunk\ethstat.asm bin\network\ethstat |
@fasm network\ftps\trunk\https.asm bin\network\ftps |
@fasm network\httpc\trunk\httpc.asm bin\network\httpc |
@fasm network\https\trunk\https.asm bin\network\https |
@fasm network\ipc\trunk\ipc.asm bin\network\ipc |
@fasm network\local\trunk\local.asm bin\network\local |
@fasm network\mp3s\trunk\mp3s.asm bin\network\mp3s |
@fasm network\netsendc\trunk\netsendc.asm bin\network\netsendc |
@fasm network\netsends\trunk\netsends.asm bin\network\netsends |
@fasm network\nntpc\trunk\nntpc.asm bin\network\nntpc |
119,7 → 131,7 |
@fasm media\midamp\trunk\midamp.asm bin\midamp |
@fasm media\midiplay\trunk\midiplay.asm bin\midiplay |
@fasm media\mixer\trunk\mixer.asm bin\mixer |
@fasm media\mp3s\trunk\mp3s.asm bin\mp3s |
@fasm media\mv\trunk\mv.asm bin\mv |
@fasm media\pic4\trunk\pic4.asm bin\pic4 |
@fasm media\sb\trunk\sb.asm bin\sb |
143,6 → 155,7 |
@fasm games\pong3\trunk\pong3.asm bin\games\pong3 |
@fasm games\tanks\trunk\tanks.asm bin\games\tanks |
@fasm games\tetris\trunk\tetris.asm bin\games\tetris |
rem @fasm games\hunter\trunk\hunter.asm bin\games\hunter |
echo * |
echo Building demos |
200,6 → 213,7 |
@kpack bin\kbd |
@kpack bin\launcher |
@kpack bin\menu |
@kpack bin\mgb |
@kpack bin\@PANEL |
@kpack bin\pcidev |
@kpack bin\@RB |
/programs/config.inc |
---|
0,0 → 1,0 |
__CPU_type fix p5 |
/programs/demos/3dcube2/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/demos/3dcube2/trunk/3DCUBE2.ASM |
---|
24,20 → 24,17 |
SCREEN_Y equ 200 |
include 'lang.inc' |
include '..\..\..\macros.inc' |
include 'ascl.inc' |
include 'ascgl.inc' |
include 'macros.inc' |
START: |
call draw_window |
call init_sin_cos |
still: |
; mov eax,23 ; wait for system event with 10 ms timeout |
; mov ebx,1 ; wait 10 ms, then continue |
; int 0x40 |
mov eax,11 |
int 0x40 |
mcall |
dec eax |
; cmp eax,1 ; window redraw request ? |
84,36 → 81,36 |
jmp still |
key: |
mov eax,2 |
int 0x40 |
mcall |
jmp still |
button: |
mov eax,17 |
int 0x40 |
mcall |
cmp ah,1 |
jne still |
exit: |
mov eax,-1 |
int 0x40 |
mcall |
;Draw window |
draw_window: |
mov eax,12 ;Start |
mov ebx,1 |
int 0x40 |
mcall |
mov eax,0 ;Draw window |
mov ebx,100*65536+(SCREEN_X+9) ;x start*65536+x size |
mov ecx,100*65536+(SCREEN_Y+26) ;y start*65536+y size |
mov edx,0x13000000 ;0x03 use skinned window |
mov edi,header |
int 0x40 |
mov edi,title |
mcall |
mov eax,12 ;End |
mov ebx,2 |
int 0x40 |
mcall |
ret |
header db '3D TEST SAMPLE FOR MENUETOS',0 |
title db '3D TEST SAMPLE FOR MENUETOS',0 |
; Draw faces procedure |
182,7 → 179,7 |
mov ecx,SCREEN_X*65536+SCREEN_Y |
mov edx,5*65536+22 |
mov ax,7 |
int 0x40 |
mcall |
;White background |
mov edi,scrbuf |
578,7 → 575,7 |
pushad |
mov eax,37 |
mov ebx,1 |
int 0x40 |
mcall |
mov ebx,eax |
shr eax,16 |
and ebx,0xffff |
/programs/demos/3dcube2/trunk/ascgl.inc |
---|
33,7 → 33,7 |
add ecx,ys |
mov edx,color |
mov eax,13 |
int 0x40 |
mcall |
} |
; FPS - Set Frame Per Second Display |
50,7 → 50,7 |
spdat: |
get_time: |
mov eax,3 |
int 0x40 |
mcall |
cmp eax,[savetime] |
jne new_time |
inc [fps_cntr] |
69,7 → 69,7 |
mov ecx,y*65536+7 |
mov edx,delcolor |
mov eax,13 |
int 0x40 |
mcall |
end if |
mov dword [ttt],fps_show_frequency |
mov eax,47 |
78,7 → 78,7 |
mov edx,x*65536+y |
mov esi,color |
mov ecx,[fps] |
int 0x40 |
mcall |
no_out_fps: |
} |
153,7 → 153,7 |
shl edx,16 |
add edx,arg2 |
end if |
int 0x40 |
mcall |
nodi: |
} |
173,7 → 173,7 |
shl edx,16 |
add edx,arg2 |
end if |
int 0x40 |
mcall |
} |
;Not optimiz |
451,7 → 451,7 |
mov dword [fileinfo+8],1 ; how many blocks to read (1) |
mov eax,58 |
mov ebx,fileinfo |
int 0x40 |
mcall |
mov eax,[bmp_load_area+2] |
shr eax,9 ; ¯®¤¥«¨¬ 512 ¨ ¯à¨¡ ¢¨¬ 1 - ¯®«ã稬 ç¨á«® ¡«®ª®¢ |
inc eax |
458,7 → 458,7 |
mov dword [fileinfo+8],eax |
mov eax,58 |
mov ebx,fileinfo |
int 0x40 |
mcall |
; jmp qwe |
;bmpfn db bmp_file_name |
469,7 → 469,7 |
; mov edx,0xFFFFFF |
; mov esi,bmp_load_area |
; mov edi,0 |
; int 0x40 |
; mcall |
; convert: |
movzx eax,word [bmp_load_area+28] |
/programs/demos/3dcube2/trunk/ascl.inc |
---|
36,9 → 36,9 |
mov eax,6 |
mov ebx,clip_file |
mov ecx,0 |
mov edx,-1 |
or edx,-1 |
mov esi,path |
int 0x40 |
mcall |
cmp byte [clip_file+7],'Z' |
je erroff |
cmp eax,0xffffffff |
54,12 → 54,12 |
mov edx,100 |
mov esi,0 |
mov eax,33 |
int 0x40 |
mcall |
mov ebx,dlg_file |
mov ecx,clip_file |
mov eax,19 |
int 0x40 |
mcall |
still: |
scevent red,key,button |
72,7 → 72,7 |
mov ecx,0 |
mov edx,-1 |
mov esi,path |
int 0x40 |
mcall |
cmp eax,0xffffffff |
je erroff ;errexit |
mov dword [redwait],0 |
84,19 → 84,19 |
file_is_open: |
mov eax,32 |
mov ebx,clip_file |
int 0x40 |
mcall |
jmp openoff |
key: ; key |
int 0x40 ; read (eax=2) |
mcall ; read (eax=2) |
jmp still |
button: ; button |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
jne still |
mov eax,-1 ; close this program |
int 0x40 |
mcall |
red: |
call redproc |
127,7 → 127,7 |
mov ecx,0 |
mov edx,-1 |
mov esi,path |
int 0x40 |
mcall |
cmp byte [clip_file+7],'Z' |
je erroff |
cmp eax,0xffffffff |
143,12 → 143,12 |
mov edx,100 |
mov esi,0 |
mov eax,33 |
int 0x40 |
mcall |
mov ebx,dlg_file |
mov ecx,clip_file |
mov eax,19 |
int 0x40 |
mcall |
still: |
scevent red,key,button |
161,7 → 161,7 |
mov ecx,0 |
mov edx,-1 |
mov esi,path |
int 0x40 |
mcall |
cmp eax,0xffffffff |
je erroff ;errexit |
mov dword [redwait],0 |
173,19 → 173,19 |
file_is_open: |
mov eax,32 |
mov ebx,clip_file |
int 0x40 |
mcall |
jmp openoff |
key: ; key |
int 0x40 ; read (eax=2) |
mcall ; read (eax=2) |
jmp still |
button: ; button |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
jne still |
mov eax,-1 ; close this program |
int 0x40 |
mcall |
red: |
call redproc |
272,7 → 272,7 |
macro scank |
{ |
mov eax,10 |
int 0x40 |
mcall |
} |
macro putpix x,y,color |
281,7 → 281,7 |
mov ecx,y |
mov edx,color |
mov eax,1 |
int 0x40 |
mcall |
} |
macro puttxt x,y,offs,size,color |
293,7 → 293,7 |
mov edx,offs |
mov esi,size |
mov eax,4 |
int 0x40 |
mcall |
} |
;_ equ '____' |
306,7 → 306,7 |
; mov ecx,y |
; mov edx,color |
; mov eax,1 |
; int 0x40 |
; mcall |
;} |
318,7 → 318,7 |
mov edx,x*65536+y |
mov esi,color |
mov eax,47 |
int 0x40 |
mcall |
} |
; SCEVENT - Scan event |
326,7 → 326,7 |
macro scevent red,key,but |
{ |
mov eax,11 |
int 0x40 |
mcall |
dec eax |
jz red |
dec eax |
340,7 → 340,7 |
macro wtevent red,key,but |
{ |
mov eax,10 |
int 0x40 |
mcall |
dec eax |
jz red |
dec eax |
355,7 → 355,7 |
{ |
mov eax,23 |
mov ebx,xfps |
int 0x40 |
mcall |
cmp eax,0 |
je noevent |
dec eax |
372,7 → 372,7 |
macro close |
{ |
mov eax,-1 |
int 0x40 |
mcall |
} |
; DELAY - Create delay 1/100 sec |
383,7 → 383,7 |
{ |
mov eax,5 |
mov ebx,arg1 |
int 0x40 |
mcall |
} |
; WINDOW - Draw window |
396,7 → 396,7 |
mov ecx,arg2*65536+arg4 |
mov edx,arg5 |
mov eax,0 |
int 0x40 |
mcall |
} |
macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 |
407,7 → 407,7 |
mov esi,arg6 |
mov edi,arg7 |
mov eax,0 |
int 0x40 |
mcall |
} |
417,7 → 417,7 |
{ |
mov eax,12 |
mov ebx,1 |
int 0x40 |
mcall |
} |
; ENDWD - End window draw |
426,7 → 426,7 |
{ |
mov eax,12 |
mov ebx,2 |
int 0x40 |
mcall |
} |
; LABEL - Put text to frame |
446,7 → 446,7 |
mov edx,lab |
mov esi,asd-lab ;calc size |
mov eax,4 |
int 0x40 |
mcall |
} |
;Key's |
/programs/demos/3dcube2/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm 3dcube2.asm 3dcube2 |
@erase lang.inc |
@pause |
/programs/demos/3dcube2/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm 3dcube2.asm 3dcube2 |
@erase lang.inc |
@pause |
/programs/demos/3detx60b/trunk/3DETX60B.ASM |
---|
61,6 → 61,7 |
dd 0x0 , 0x0 ; I_Param , I_Icon |
include 'lang.inc' |
include '..\..\..\macros.inc' |
include 'ascgl.inc' |
include 'ascl.inc' |
271,13 → 272,13 |
mov eax,66 |
mov ebx,1 |
mov ecx,1 |
int 0x40 |
mcall |
mov eax,26 |
mov ebx,2 |
mov ecx,1 |
mov edx,keymap+100 |
int 0x40 |
mcall |
;Build triangle matrix |
mov esi,points |
384,7 → 385,7 |
;Main loop |
still: ; ®á®¢®© 横« |
mov eax,11 ; ¯à®¢¥àª á®áâ®ï¨ï ®ª |
int 0x40 |
mcall |
cmp eax,1 ; ®ª® ᤢ¨ã«¨ ¥£® 㦮 ¯¥à¥à¨á®¢ âì |
je red |
490,16 → 491,16 |
mov ecx,0x0000ff00 ; font 1 & color ( 0xF0RRGGBB ) |
mov edx,keymap ; pointer to text beginning |
mov esi,100 ; text length |
int 0x40 |
mcall |
add edx,100 |
add ebx,10 |
mov esi,60 ; text length |
mov ecx,0x00dddddd ; font 1 & color ( 0xF0RRGGBB ) |
int 0x40 |
mcall |
mov edx,usemap |
mov esi,60 ; text length |
mov ecx,0x0000ff00 |
int 0x40 |
mcall |
jmp rx |
;01234567890123456789012345678901234567890123456789 |
usemap db ' E wer u [] asd zxc ' |
721,7 → 722,7 |
key: ; key |
mov eax,2 ; just read it and ignore |
int 0x40 |
mcall |
shr eax,8 |
and eax,0xff |
747,14 → 748,14 |
button: ; button |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 |
jz exit |
jmp cycle |
exit: |
mov eax,-1 |
int 0x40 |
or eax,-1 |
mcall |
; ********************************************* |
; ******* WINDOW DEFINITIONS AND DRAW ******** |
763,7 → 764,7 |
draw_window: |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
; DRAW WINDOW |
mov eax,0 ; function 0 : define and draw window |
mov ebx,0*65536+SCREEN_X-1 ; [x start] *65536 + [x size] |
771,7 → 772,7 |
mov edx,0x03ffffff ; color of work area RRGGBB,8->color gl |
mov esi,0x005080d0 ; color of grab bar RRGGBB,8->color gl |
mov edi,0x005080d0 ; color of frames RRGGBB |
int 0x40 |
mcall |
; WINDOW LABEL |
mov eax,4 ; function 4 : write text to window |
mov ebx,8*65536+8 ; [x start] *65536 + [y start] |
778,11 → 779,11 |
mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB ) |
mov edx,labelt ; pointer to text beginning |
mov esi,labellen-labelt ; text length |
int 0x40 |
mcall |
mov eax,12 |
mov ebx,2 |
int 0x40 |
mcall |
ret |
dispimg: |
790,7 → 791,7 |
mov ebx,I_END ;zbuffer |
mov ecx,SCREEN_X*65536+SCREEN_Y |
xor edx,edx ;0*65536+0 |
int 0x40 |
mcall |
; ret |
mov eax,8 |
798,7 → 799,7 |
mov ecx,10*65536+20 |
mov edx,1 |
mov esi,0x0000aa00 |
int 0x40 |
mcall |
ret |
clrscr: ; clear screen buffer |
/programs/demos/3detx60b/trunk/ascgl.inc |
---|
20,8 → 20,8 |
;0.07 convbmp ~13.05.2004 |
;0.08 fps ~14.05.2004 |
;0.09 drawfbox ~03.06.2004 |
;0.10 all macros optimized by Halyavin A., add at ~07.06.2004 |
;0.11 many macros optimized by Halyavin A., add at ~30.08.2004 |
;0.10 all macros optimized by halyavin, add at ~07.06.2004 |
;0.11 many macros optimized by halyavin, add at ~30.08.2004 |
;0.12 bmptoimg ~07.09.2004 |
;0.13 imgtoimg ~08.09.2004 |
;0.14 imgtoimg modify not brake bmp pict! ~09.09.2004 |
369,11 → 369,11 |
;DrawBox |
macro drawfbox x,y,xs,ys,color |
{ |
words2reg ebx,x,xs ;x*65536+xs |
words2reg ecx,y,ys ;y*65536+ys |
wordstoreg ebx,x,xs ;x*65536+xs |
wordstoreg ecx,y,ys ;y*65536+ys |
mov edx,color |
mov eax,13 |
int 0x40 |
mcall |
} |
; FPS - Set Frame Per Second Display |
390,7 → 390,7 |
spdat: |
get_time: |
mov eax,3 |
int 0x40 |
mcall |
cmp eax,[savetime] |
jne new_time |
inc [fps_cntr] |
405,20 → 405,20 |
mov [fps_cntr],0 |
out_fps: |
if ~(delcolor eq ) |
mov ebx,x*65536+36 |
mov ebx,x*65536+30 |
mov ecx,y*65536+7 |
mov edx,delcolor |
mov eax,13 |
int 0x40 |
mcall |
end if |
mov dword [ttt],fps_show_frequency |
mov eax,47 |
mov ebx,6*65536 |
mov ebx,5*65536 |
; mov bl,0 |
mov edx,x*65536+y |
mov esi,color |
mov ecx,[fps] |
int 0x40 |
mcall |
no_out_fps: |
} |
495,8 → 495,8 |
shl ecx,16 |
add cx,[arg3+4] |
; wordstoreg ecx,[arg3],[arg3+4] |
words2reg edx, x , y ;arg1*65536+arg2 |
int 0x40 |
wordstoreg edx, x , y ;arg1*65536+arg2 |
mcall |
} |
macro setframe x , y ,arg3 |
504,10 → 504,10 |
mov eax,7 |
mov ebx,arg3 |
add ebx,8 |
words2reg edx, x , y ;arg1*65536+arg2 |
wordstoreg edx, x , y ;arg1*65536+arg2 |
add edx,dword [arg3] |
mov ecx,dword [arg3+4] |
int 0x40 |
mcall |
} |
1101,7 → 1101,7 |
local Gif_get_sym, shift, nextbl, noblock, loop1, exx |
local Gif_output, next, loop2 |
_null equ 0x1000 ; 0x1000 |
_null fix 0x1000 ; 0x1000 |
mov esi,gifsrc ;ª § ⥫ì ä ¨« ¢ ¯ ¬ï⨠|
mov edi,imgsrc ;ª § ⥫ì ᯨ᮪ ª à⨮ª |
/programs/demos/3detx60b/trunk/ascl.inc |
---|
27,13 → 27,11 |
;0.12 open/save dialog ~13.09.2004 |
;0.13 dialogs bugs deleted |
;0.14 drawlbut ~03.10.2004 |
;0.15 extendet label! |
; LOADFILE |
; (SYNTAX) LOADFILE 'full_path_to_file',file_load_area,file_temp_area |
; (SAMPLE) LOADFILE '/rd/1/clock.bmp',load_area,temp_area |
macro loadfile file_name,file_load_area,file_temp_area |
{ |
local open,fileinfo,string |
50,7 → 48,7 |
mov dword [fileinfo+8],1 ; how many blocks to read (1) |
mov eax,58 |
mov ebx,fileinfo |
int 0x40 |
mcall |
mov eax,[file_load_area+2] |
shr eax,9 ; ¯®¤¥«¨¬ 512 ¨ ¯à¨¡ ¢¨¬ 1 - ¯®«ã稬 ç¨á«® ¡«®ª®¢ |
inc eax |
57,79 → 55,29 |
mov dword [fileinfo+8],eax |
mov eax,58 |
mov ebx,fileinfo |
int 0x40 |
mcall |
} |
;macro wordstoreg reg,hiword,loword |
;{ |
;if hiword eqtype 0 & loword eqtype 0 |
; mov reg,dword hiword*65536+loword |
;else if hiword eqtype 12 & loword eqtype eax |
; mov reg,dword hiword*65536 |
; add reg,dword loword |
;else if hiword eqtype 12 & loword eqtype [123] |
; mov reg,dword hiword*65536 |
; add reg,dword loword |
;else |
; mov reg,dword hiword |
; shl reg,16 |
; add reg,dword loword |
;end if |
;} |
macro dword2reg reg,doubleword |
macro wordstoreg reg,hiword,loword |
{ |
if doubleword eq |
; not changes |
if hiword eqtype 0 & loword eqtype 0 |
mov reg,(hiword)*65536+(loword) |
else if hiword eqtype 12 & loword eqtype eax |
mov reg,(hiword)*65536 |
add reg,loword |
else if hiword eqtype 0 & loword eqtype [123] |
mov reg,(hiword)*65536 |
add reg,loword |
else if (hiword eq ) & (loword eq ) |
else |
mov reg,dword doubleword |
end if |
} |
macro words2reg reg,hiword,lowword |
{ |
if hiword eq |
if lowword eq |
; not changes |
else |
if lowword eqtype 12 |
and reg,dword 0xffff0000 |
add reg,dword lowword |
else |
and reg,dword 0xffff0000 |
add reg,dword lowword |
end if |
end if |
else |
if lowword eq |
if hiword eqtype 12 |
and reg,dword 0x0000ffff |
add reg,dword hiword*65536 |
else |
mov reg,hiword |
shl reg,16 |
add reg,dword hiword |
ror reg,16 |
add reg,loword |
end if |
else |
if lowword eqtype 12 & hiword eqtype 12 |
if lowword eq 0 & hiword eq 0 |
xor reg,reg |
else |
mov reg,dword hiword*65536+lowword |
end if |
else |
mov reg,dword hiword |
shl reg,16 |
add reg,dword lowword |
end if |
end if |
end if |
} |
; DRAW BUTTON with label |
macro drawlbut x,y,xs,ys,text,id,bcolor,tcolor |
138,12 → 86,12 |
jmp asd |
lab db text ;arg label |
asd: |
words2reg ebx,x,xs |
words2reg ecx,y,ys |
wordstoreg ebx,x,xs |
wordstoreg ecx,y,ys |
mov edx,id |
mov esi,bcolor |
mov eax,8 |
int 0x40 |
mcall |
mov eax,asd-lab ;calc size |
mov ebx,6 |
168,7 → 116,7 |
mov edx,lab |
mov esi,asd-lab ;calc size |
mov eax,4 |
int 0x40 |
mcall |
} |
197,7 → 145,7 |
mov eax,9 |
mov ebx,procinfo |
mov ecx,-1 |
int 0x40 |
mcall |
; convert eax bin to param dec |
mov eax,dword [procinfo+30] ;offset of myPID |
231,12 → 179,12 |
mov ebx,1 ; define IPC |
mov ecx,path ; offset of area |
mov edx,150 ; size 150 bytes |
int 0x40 |
mcall |
; change wanted events list 7-bit IPC event |
mov eax,40 |
mov ebx,01000111b |
int 0x40 |
mcall |
; |
; STEP 3 run SYSTEM XTREE with parameters |
244,7 → 192,7 |
mov eax,58 |
mov ebx,run_fileinfo |
int 0x40 |
mcall |
call redproc |
252,7 → 200,7 |
getmesloop: |
mov eax,23 |
mov ebx,50 ;0.5 sec |
int 0x40 |
mcall |
cmp eax,1 |
je mred |
267,7 → 215,7 |
mov ebx,procinfo |
mov ecx,-1 |
mov eax,9 |
int 0x40 |
mcall |
mov ebp,eax |
loox: |
274,7 → 222,7 |
mov eax,9 |
mov ebx,procinfo |
mov ecx,ebp |
int 0x40 |
mcall |
mov eax,[DLGPID] |
cmp [procinfo+30],eax ;IF Dialog find |
je dlg_is_work ;jmp to dlg_is_work |
299,15 → 247,15 |
jmp getmesloop |
mkey: |
mov eax,2 |
int 0x40 ; read (eax=2) |
mcall ; read (eax=2) |
jmp getmesloop |
mbutton: |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
jne getmesloop |
mov eax,-1 ; close this program |
int 0x40 |
mcall |
mgetmes: |
; If dlg_pid_get then second message get jmp to still |
380,7 → 328,7 |
db '/RD/1/SYSXTREE',0 |
procinfo: |
times 1024 db 0 |
times 256 db 0 |
} |
409,7 → 357,7 |
mov eax,9 |
mov ebx,procinfo |
mov ecx,-1 |
int 0x40 |
mcall |
; convert eax bin to param dec |
mov eax,dword [procinfo+30] ;offset of myPID |
442,13 → 390,13 |
mov eax,60 |
mov ebx,1 ; define IPC |
mov ecx,path ; offset of area |
mov edx,150 ; size 150 bytes |
int 0x40 |
mov edx,120 ; size 150 bytes |
mcall |
; change wanted events list 7-bit IPC event |
mov eax,40 |
mov ebx,01000111b |
int 0x40 |
mcall |
; |
; STEP 3 run SYSTEM XTREE with parameters |
456,7 → 404,7 |
mov eax,58 |
mov ebx,run_fileinfo |
int 0x40 |
mcall |
call redproc |
464,7 → 412,7 |
getmesloop: |
mov eax,23 |
mov ebx,50 ;0.5 sec |
int 0x40 |
mcall |
cmp eax,1 |
je mred |
479,7 → 427,7 |
mov ebx,procinfo |
mov ecx,-1 |
mov eax,9 |
int 0x40 |
mcall |
mov ebp,eax |
loox: |
486,7 → 434,7 |
mov eax,9 |
mov ebx,procinfo |
mov ecx,ebp |
int 0x40 |
mcall |
mov eax,[DLGPID] |
cmp [procinfo+30],eax ;IF Dialog find |
je dlg_is_work ;jmp to dlg_is_work |
510,16 → 458,15 |
call redproc |
jmp getmesloop |
mkey: |
mov eax,2 |
int 0x40 ; read (eax=2) |
mcall ; read (eax=2) |
jmp getmesloop |
mbutton: |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
jne getmesloop |
mov eax,-1 ; close this program |
int 0x40 |
mcall |
mgetmes: |
; If dlg_pid_get then second message get jmp to still |
579,8 → 526,8 |
DLGPID dd 0 |
param: |
dd 0 ; My dec PID |
dd 0,0 ; Type of dialog |
rb 4 ; My dec PID |
rb 6 ; Type of dialog |
run_fileinfo: |
dd 16 |
588,11 → 535,11 |
dd param |
dd 0 |
dd procinfo |
;run_filepath: |
run_filepath: |
db '/RD/1/SYSXTREE',0 |
procinfo: |
times 1024 db 0 |
times 256 db 0 |
} |
671,7 → 618,7 |
macro scank |
{ |
mov eax,10 |
int 0x40 |
mcall |
} |
macro putpix x,y,color |
680,7 → 627,7 |
mov ecx,y |
mov edx,color |
mov eax,1 |
int 0x40 |
mcall |
} |
macro puttxt x,y,offs,size,color |
688,17 → 635,12 |
; mov ebx,x |
; shl ebx,16 |
; add ebx,y |
words2reg ebx,x,y |
dword2reg ecx,color |
dword2reg edx,offs |
dword2reg esi,size |
; mov ecx,color |
; mov edx,offs |
; mov esi,size |
wordstoreg ebx,x,y |
mov ecx,color |
mov edx,offs |
mov esi,size |
mov eax,4 |
int 0x40 |
mcall |
} |
macro outcount data, x, y, color, numtype |
707,10 → 649,10 |
mov ebx,numtype |
mov bl,0 |
; mov edx,x*65536+y |
words2reg edx,x,y |
wordstoreg edx,x,y |
mov esi,color |
mov eax,47 |
int 0x40 |
mcall |
} |
; SCEVENT - Scan event |
718,7 → 660,7 |
macro scevent red,key,but |
{ |
mov eax,11 |
int 0x40 |
mcall |
dec eax |
jz red |
dec eax |
732,7 → 674,7 |
macro wtevent red,key,but |
{ |
mov eax,10 |
int 0x40 |
mcall |
dec eax |
jz red |
dec eax |
747,7 → 689,7 |
{ |
mov eax,23 |
mov ebx,xfps |
int 0x40 |
mcall |
cmp eax,0 |
je noevent |
dec eax |
764,7 → 706,7 |
macro close |
{ |
mov eax,-1 |
int 0x40 |
mcall |
} |
; DELAY - Create delay 1/100 sec |
775,7 → 717,7 |
{ |
mov eax,5 |
mov ebx,arg1 |
int 0x40 |
mcall |
} |
; WINDOW - Draw window |
786,11 → 728,11 |
{ |
; mov ebx,arg1*65536+arg3 |
; mov ecx,arg2*65536+arg4 |
words2reg ebx,arg1,arg3 |
words2reg ecx,arg2,arg4 |
wordstoreg ebx,arg1,arg3 |
wordstoreg ecx,arg2,arg4 |
mov edx,arg5 |
mov eax,0 |
int 0x40 |
mcall |
} |
macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 |
801,7 → 743,7 |
mov esi,arg6 |
mov edi,arg7 |
mov eax,0 |
int 0x40 |
mcall |
} |
811,7 → 753,7 |
{ |
mov eax,12 |
mov ebx,1 |
int 0x40 |
mcall |
} |
; ENDWD - End window draw |
820,7 → 762,7 |
{ |
mov eax,12 |
mov ebx,2 |
int 0x40 |
mcall |
} |
; LABEL - Put text to frame |
836,15 → 778,14 |
; mov ebx,arg1 ;arg1=y arg2=x |
; shl ebx,16 |
; add ebx,arg2 |
words2reg ebx,arg1,arg2 |
dword2reg ecx,arg4 |
wordstoreg ebx,arg1,arg2 |
if ~(arg4 eq ) |
mov ecx,arg4 ;arg4 color |
end if |
mov edx,lab |
mov esi,asd-lab ;calc size |
mov eax,4 |
int 0x40 |
mcall |
} |
;Key's |
/programs/demos/3detx60b/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm 3detx60b.asm 3detx60b |
@erase lang.inc |
@pause |
/programs/demos/3detx60b/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm 3detx60b.asm 3detx60b |
@erase lang.inc |
@pause |
/programs/demos/3dtcub10/trunk/3DTCUB10.ASM |
---|
20,6 → 20,7 |
dd 0x0 , 0x0 ; I_Param , I_Icon |
include 'lang.inc' |
include '..\..\..\macros.inc' |
MAX_DEGS equ 512 ;quantity of angels 2^n.Minimize for speedup |
MAX_POINTS equ 8 ;quantity of points |
MAX_FACES equ 6 ;quantity of points |
33,10 → 34,10 |
still: |
mov eax,23 ; wait for system event with 2 ms timeout |
mov ebx,2 ; wait 2 ms, then continue |
int 0x40 |
mcall |
; mov eax,11 ;If you want maximum speed! :) |
; int 0x40 |
; mcall |
dec eax ; window redraw request ? |
je red |
86,30 → 87,30 |
jmp exit |
button: |
mov eax,17 |
int 0x40 |
mcall |
cmp ah,1 |
jne still |
exit: |
mov eax,-1 |
int 0x40 |
mcall |
;Draw window |
draw_window: |
mov eax,12 ;Start |
mov ebx,1 |
int 0x40 |
mcall |
mov eax,0 ;Draw window |
mov ebx,0*65536+(799) ;x start*65536+x size |
mov ecx,0*65536+(599) ;y start*65536+y size |
mov edx,0x00000000 ;0x03 use skinned window |
int 0x40 |
mcall |
call clear_screen |
mov eax,12 ;End |
mov ebx,2 |
int 0x40 |
mcall |
ret |
head_label: db "3D TEXTURED CUBE THE LITTLE SCREEN SAVER FOR MENUETOS. USE " |
163,7 → 164,7 |
mov ebx,0*65536+800 |
mov ecx,0*65536+600 |
mov edx,0 |
int 40h |
mcall |
mov eax,4 ;Out Text |
mov ebx,8*65536+8 ;x start*65536+y start |
170,7 → 171,7 |
mov ecx,0x00ffffff ;color White |
mov edx,head_label |
mov esi,hl_end-head_label |
int 0x40 |
mcall |
ret |
clear_screen_buffer: |
178,7 → 179,7 |
mov ecx,800*65536+(600-40) ;sub 40 for antiflickering title |
mov edx,0*65536+40 |
mov eax,7 |
int 0x40 |
mcall |
mov eax,4 ;Out Text |
mov ebx,8*65536+580 ;x start*65536+y start |
189,7 → 190,7 |
mov edx,move_text |
add edx,[step] |
mov esi,130 ;mt_end-move_text |
int 0x40 |
mcall |
inc [n_step] |
cmp [n_step],6 |
/programs/demos/3dtcub10/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm 3dtcub10.asm 3dtcub10 |
@erase lang.inc |
@pause |
/programs/demos/3dtcub10/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm 3dtcub10.asm 3dtcub10 |
@erase lang.inc |
@pause |
/programs/demos/bcdclk/bcdclk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/demos/bcdclk/bcdclk/bcdclk.asm |
---|
18,7 → 18,7 |
dd 0x0 , 0x0 |
include "lang.inc" |
include "macros.inc" |
include "..\..\..\macros.inc" |
START: |
30,7 → 30,7 |
mov eax,23 ; wait for timeout |
mov ebx,50 |
int 0x40 |
mcall |
cmp eax,1 ; redraw ? |
je red |
44,12 → 44,12 |
button: |
mov al,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
jne noclose |
or eax,-1 ; close this program |
int 0x40 |
mcall |
noclose: |
jmp still |
57,7 → 57,7 |
drawclock: |
mov eax,3 ; get time |
int 0x40 |
mcall |
bswap eax |
shr eax,8 |
mov edi,dg1 |
82,7 → 82,7 |
mov edx,0x00ff0000 |
nobit: |
mov eax,13 ; plot 8,4,2,1 |
int 0x40 |
mcall |
add ecx,12*65536 |
shl byte[edi],1 |
inc esi |
91,7 → 91,7 |
shr byte[edi],4 |
mov edx,0x00880040 |
mov eax,13 ; draw digit box |
int 0x40 |
mcall |
pusha |
mov edx,ebx |
and edx,0xffff0000 |
102,7 → 102,7 |
mov ecx,[edi] |
mov esi,0x00ffffff |
mov eax,47 ; display decimal |
int 0x40 |
mcall |
popa |
sub ebx,12*65536 |
inc edi |
116,23 → 116,23 |
mov eax,12 |
mov ebx,1 ; start redraw |
int 0x40 |
mcall |
xor eax,eax ; window |
mov ebx,100*65536+107 |
mov ecx,100*65536+105 |
mov edx,0x33400088 |
mov edi,header |
int 0x40 |
mov edi,title |
mcall |
call drawclock |
mov eax,12 |
mov ebx,2 ; end redraw |
int 0x40 |
mcall |
ret |
header db 'BCD Clock',0 |
title db 'BCD Clock',0 |
I_END: |
dg1: db ? |
/programs/demos/bcdclk/bcdclk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm bcdclk.asm bcdclk |
@erase lang.inc |
@pause |
/programs/demos/bcdclk/bcdclk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm bcdclk.asm bcdclk |
@erase lang.inc |
@pause |
/programs/demos/bgitest/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/demos/bgitest/trunk/bgifont.inc |
---|
239,7 → 239,7 |
if ~ BGI_LEVEL eq KERNEL |
mov eax, 70 |
mov ebx, .fontattr |
int 0x40 |
mcall |
test eax, eax |
jnz .fail |
dps2 '1' |
247,7 → 247,7 |
mov [.fsize], eax |
mov ebx,.fontinfo |
mov eax,70 |
int 0x40 ; ebx - file size |
mcall ; ebx - file size |
else |
push edi esi edx |
mov eax,.font |
454,7 → 454,7 |
mov eax,9 |
mov ebx,BGI_PRC_INFO |
mov ecx,-1 |
int 0x40 |
mcall |
popa |
end if |
end if |
587,7 → 587,7 |
and edx, 0xFFFFFF |
; \end{diamond}[18.08.2006] |
mov eax,38 |
int 0x40 |
mcall |
test ebp,BGI_BOLD |
jz .nobold |
test ebp,BGI_FREE |
594,7 → 594,7 |
jnz .free5 |
.free5: |
add ebx,1 shl 16+1 |
int 0x40 |
mcall |
.nobold: |
pop eax |
else |
/programs/demos/bgitest/trunk/bgitest.asm |
---|
69,7 → 69,7 |
not1strun dd 0x0 |
include 'lang.inc' |
include 'macros.inc' |
include '..\..\..\macros.inc' |
;include 'debug.inc' |
include 'bgifont.inc' |
101,7 → 101,7 |
still: |
mov eax,10 |
int 0x40 |
mcall |
cmp eax,1 |
je red |
114,19 → 114,19 |
button: |
mov eax,17 |
int 0x40 |
mcall |
cmp ah,1 |
jnz noclose |
close: |
xor eax,eax |
dec eax |
int 0x40 |
mcall |
noclose: |
jmp still |
key: |
mov eax,2 |
int 0x40 |
mcall |
shr eax,8 |
cmp al,27 ; esc - close |
je close |
228,11 → 228,11 |
mov ebx,3 |
mov ecx,sc |
mov edx,sizeof.system_colors |
int 0x40 |
mcall |
mov eax,12 |
mov ebx,1 |
int 0x40 |
mcall |
xor eax,eax |
mov ebx,10*65536+_X*2+30 |
240,7 → 240,7 |
mov edx,0x03261212 |
mov esi,0x805080d0 |
mov edi,0x005080d0 |
int 0x40 |
mcall |
mov eax,4 |
mov ebx,8*65536+8 |
252,7 → 252,7 |
je .int |
sub esi,12 |
.int: |
int 0x40 |
mcall |
cmp [help],0 |
jnz .help |
282,16 → 282,16 |
mov edx,0x4b331a |
mov ebx,[edi] |
mov ecx,[edi+4] |
int 0x40 |
mcall |
mov ebx,[edi+8] |
mov ecx,[edi+12] |
int 0x40 |
mcall |
mov ebx,freetest |
BGIfont_Freetext |
.eod: |
mov eax,12 |
mov ebx,2 |
int 0x40 |
mcall |
ret |
Print: ; eax-pointer to _txt struc |
326,7 → 326,7 |
and esi,0xfff |
push ecx |
mov ecx,[ebp+8] |
int 0x40 |
mcall |
pop ecx |
lea edx,[esi+edx+4] |
add ebx,[ebp+4] |
/programs/demos/bgitest/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm bgitest.asm bgitest |
@erase lang.inc |
@pause |
/programs/demos/bgitest/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm bgitest.asm bgitest |
@erase lang.inc |
@pause |
/programs/demos/colorref/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm colorref.asm colorref |
@erase lang.inc |
@pause |
/programs/demos/colorref/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm colorref.asm colorref |
@erase lang.inc |
@pause |
/programs/demos/colorref/trunk/colorref.asm |
---|
15,6 → 15,7 |
dd 0x0,0x0 ; I_Param , I_Icon |
include 'lang.inc' |
include '..\..\..\macros.inc' |
wide: dd 0 ; screen pixels width |
mouse: dd 0 ; 1=right,2=left [mouse click] |
22,7 → 23,7 |
start: |
mov eax,14 ; get screen size |
int 0x40 |
mcall |
shr eax,16 ; get width into AX |
inc eax ; not 0 based |
mov [wide],eax |
32,7 → 33,7 |
still: |
mov eax,23 ; wait for event w/timeout |
mov ebx,5 ; delay in hundredths |
int 0x40 |
mcall |
cmp eax,1 ; redraw request ? |
jne s1 |
46,7 → 47,7 |
s3: mov eax,9 ; process info function |
mov ebx,stat_table ; return data table |
mov ecx,-1 ; who am i |
int 0x40 |
mcall |
cmp ax,[stat_table+4] ; are we active? |
je active ; yep |
jmp still |
54,7 → 55,7 |
active: |
mov eax,37 ; mouse info function |
mov ebx,2 ; get buttons |
int 0x40 |
mcall |
cmp eax,0 ; mouse click? |
jne click |
jmp still |
62,7 → 63,7 |
mov [mouse],eax ; save mouse click |
mov eax,37 ; mouse info |
xor ebx,ebx ; get screen pos for mouse |
int 0x40 ; into EAX |
mcall ; into EAX |
xor ebx,ebx |
mov bx,ax ; BX=y screen position |
shr eax,16 ; AX=x screen position |
72,7 → 73,7 |
mul ecx |
add ebx,eax ; add x |
mov eax,35 ; get mouse pos pixel |
int 0x40 ; EAX=mouse pixel color |
mcall ; EAX=mouse pixel color |
mov ebx,eax ; EBX has color |
mov esi,colors ; color table |
mov ecx,72 ; total colors |
110,7 → 111,7 |
key: ; key |
mov eax,2 ; just read it and ignore |
int 0x40 |
mcall |
cmp al,0 ; key in buffer? |
je k1 ; yep |
jmp still |
124,7 → 125,7 |
button: ; button |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
je close |
jmp still |
131,7 → 132,7 |
close: |
mov eax,-1 ; close this program |
int 0x40 |
mcall |
; ********************************************* |
143,20 → 144,20 |
mov eax,12 ; tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
mov eax,0 ; DRAW WINDOW |
mov ebx,1*65536+200 ; [x start] *65536 + [x size] |
mov ecx,200*65536+240 ; [y start] *65536 + [y size] |
mov edx,0x13000000 ; work area color (type II) |
mov edi,header ; frame color |
int 0x40 |
mov edi,title ; frame color |
mcall |
call palette ; display color palette |
mov eax,12 ; tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
178,7 → 179,7 |
mov ecx,edx ; y coord |
mov edx,[ebp] ; color |
mov eax,13 ; draw bar function |
int 0x40 |
mcall |
pop edx |
pop ecx |
add ebx,19*65536 ; next column |
197,7 → 198,7 |
mov ecx,188*65536+42 ; draw y and depth |
mov edx,0xc0c0c0 ; color grey |
mov eax,13 ; draw bar function |
int 0x40 |
mcall |
mov eax,[picks] ; first picked color |
mov esi,22*65536+196 ; print at x and y |
call do_hex ; print color number |
232,7 → 233,7 |
mov edx,esi ; copy color |
mov esi,0xe1e1e1 ; use white |
mov eax,47 ; print number function |
int 0x40 |
mcall |
ret |
245,7 → 246,7 |
mov edx,[edi] ; color |
mov ecx,esi ; recover y an depth |
mov eax,13 ; draw bar function |
int 0x40 |
mcall |
ret |
258,7 → 259,7 |
mov ecx,0xe1e1e1 ; color |
mov esi,15 |
mov eax,4 ; print text function |
int 0x40 |
mcall |
ret |
267,12 → 268,12 |
mov ecx,196*65536+26 ; y and depth |
mov edx,0x000000 ; color |
mov eax,13 ; draw bar funx |
int 0x40 |
mcall |
mov ebx,96*65536+90 ; x and width |
mov ecx,196*65536+26 ; y and depth |
mov edx,0x000000 ; color |
mov eax,13 ; draw bar funx |
int 0x40 |
mcall |
ret |
281,7 → 282,7 |
mov ecx,20*65536+216 ; y and depth |
mov edx,0x465e8f ; dark denim color |
mov eax,13 ; write text funx |
int 0x40 |
mcall |
mov ebx,20*65536+40 ; starting x and y |
mov edx,text ; start of text |
mov esi,27 ; width of text |
290,25 → 291,25 |
h1: push ecx |
sub ebx,65537 ; drop shadow x and y |
mov ecx,0x000000 ; black shadow |
int 0x40 |
mcall |
add ebx,65537 ; original x and y |
mov ecx,0xefefef ; white text |
int 0x40 |
mcall |
add edx,27 ; next line of text |
add bx,12 ; next row |
pop ecx |
loop h1 |
mov eax,10 ; wait on event |
int 0x40 |
mcall |
cmp eax,2 ; got a key? |
jne h2 ; nope |
mov eax,2 ; yep, burn it |
int 0x40 |
mcall |
h2: mov ebx,4*65536+192 ; y and width |
mov ecx,20*65536+216 ; x and depth |
mov edx,0x00000 ; restore black bkg |
mov eax,13 ; draw bar funx |
int 0x40 |
mcall |
call palette ; redraw color palette |
ret |
318,7 → 319,7 |
; ********** DATA DEFINITIONS AREA *********** |
; ********************************************* |
header db 'COLOR REFERENCE H>HELP',0 |
title db 'COLOR REFERENCE H>HELP',0 |
picks: |
dd 31,2 ; selected top/bot colors |
/programs/demos/crownscr/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/demos/crownscr/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm crownscr.asm crownscr |
@erase lang.inc |
@pause |
/programs/demos/crownscr/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm crownscr.asm crownscr |
@erase lang.inc |
@pause |
/programs/demos/crownscr/trunk/crownscr.asm |
---|
33,7 → 33,7 |
include "lang.inc" |
include "figuresi.inc" |
include "macros.inc" |
include "..\..\..\macros.inc" |
start: |
cld |
finit |
46,7 → 46,7 |
cmp [flscr],0 |
jz nofullscreen |
mov eax,14 |
int 0x40 |
mcall |
mov [maxy],ax |
sub ax,480 |
80,7 → 80,7 |
still: |
mov eax,23 |
mov ebx,delay |
int 0x40 ; wait here for event |
mcall ; wait here for event |
cmp eax,1 ; redraw request ? |
je red |
95,12 → 95,12 |
mov ecx,[outsize] ; ecx=image position in window [x]*65536+[y] |
mov ebx,scr ; ebx pointer to image in memory |
mov eax,07 ; putimage |
int 0x40 |
mcall |
jmp still |
key: |
mov eax,2 |
int 0x40 |
mcall |
cmp al,1 ; is key in buffer ? |
jz still |
110,7 → 110,7 |
button: ; button |
mov eax,17 ; get id |
int 0x40 |
mcall |
; cmp ah,1 ; button id=1 ? |
; jne still |
117,7 → 117,7 |
close: |
mov eax,-1 ; close this program |
int 0x40 |
mcall |
; ********************************************* |
128,7 → 128,7 |
draw_window: |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
cmp [flscr],0 |
jnz m2 |
138,7 → 138,7 |
mov esi,0x805080d0 ; color of grab bar RRGGBB,8->color gl |
mov edi,0x005080d0 ; color of frames RRGGBB |
xor eax,eax ; function 0 : define and draw window |
int 0x40 |
mcall |
; WINDOW LABEL |
mov ebx,8*65536+8 ; [x start] *65536 + [y start] |
146,7 → 146,7 |
mov edx,copyright ; pointer to text beginning |
mov esi,copyrightlen-copyright; text length |
mov eax,4 ; function 4 : write text to window |
int 0x40 |
mcall |
; CLOSE BUTTON |
mov ebx,(640-19)*65536+12 ; [x start] *65536 + [x size] |
154,7 → 154,7 |
mov edx,1 ; button id |
mov esi,0x6688dd ; button color RRGGBB |
mov eax,8 ; function 8 : define and draw button |
int 0x40 |
mcall |
jmp m3 |
m2: |
movzx ebx,[maxx] ; [x start] *65536 + [x size] |
164,17 → 164,17 |
mov esi,0x805080d0 ; color of grab bar RRGGBB,8->color gl |
mov edi,0x005080d0 ; color of frames RRGGBB |
xor eax,eax ; function 0 : define and draw window |
int 0x40 |
mcall |
inc bx |
inc cx |
mov eax,13 ; functiom 13 : draw bar |
int 0x40 |
mcall |
m3: |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
332,7 → 332,7 |
filling_alfbet: |
; Initialize RND |
mov eax,3 |
int 40h |
mcall |
; eax - fist random number |
mov ecx,n_points |
/programs/demos/cslide/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm cslide.asm cslide |
@erase lang.inc |
@pause |
/programs/demos/cslide/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm cslide.asm cslide |
@erase lang.inc |
@pause |
/programs/demos/cslide/trunk/cslide.asm |
---|
20,6 → 20,7 |
dd 0x0 , 0x0 ; I_Param , I_Icon |
include 'lang.inc' |
include '..\..\..\macros.inc' |
START: ; start of execution |
call draw_window ; at first, draw the window |
29,7 → 30,7 |
mov eax,23 |
mov ebx,2 |
int 0x40 |
mcall |
cmp eax,1 ; redraw request ? |
je red |
46,12 → 47,12 |
key: ; key |
mov eax,2 ; just read it and ignore |
int 0x40 |
mcall |
jmp still |
button: ; button |
mov eax,17 ; get id |
int 0x40 |
mcall |
shr eax,8 |
58,7 → 59,7 |
cmp eax,1 ; button id=1 ? |
jne noclose |
mov eax,-1 ; close this program |
int 0x40 |
mcall |
noclose: |
74,14 → 75,14 |
draw_window: |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
; DRAW WINDOW |
mov eax,0 ; function 0 : define and draw window |
mov ebx,100*65536+200 ; [x start] *65536 + [x size] |
mov ecx,100*65536+200 ; [y start] *65536 + [y size] |
mov edx,0x13ffffff ; color of work area RRGGBB,8->color gl |
mov edi,header ; WINDOW LABEL |
int 0x40 |
mov edi,title ; WINDOW LABEL |
mcall |
call draw_slider_info |
98,7 → 99,7 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
113,12 → 114,12 |
mouse_info: |
mov eax, 37 ;get mouse cordinates |
mov ebx, 1 ; |
int 0x40 ; |
mcall ; |
mov ecx, eax ; |
push ecx ; |
mov eax, 37 ;get mouse buttons |
mov ebx, 2 ; |
int 0x40 ; |
mcall ; |
cmp [mouseb], eax ;compare old mouse states to new states |
jne redraw_mouse_info ; |
cmp [mousey], cx ; |
174,7 → 175,7 |
mov ebx, 0x00960028 |
mov ecx, 0x00240010 |
mov edx, 0x00ffffff |
int 0x40 |
mcall |
;Draw Color Box |
xor edx, edx |
movzx ecx,word [slider_1+12] |
187,7 → 188,7 |
mov ebx, 0x00860035 |
mov ecx, 0x00590040 |
mov eax, 13 |
int 0x40 |
mcall |
;draw current value of slider |
mov ecx, edx |
mov eax, 47 |
194,7 → 195,7 |
mov ebx, 0x00060100 |
mov esi, 0 |
mov edx, 0x009A0029 |
int 0x40 |
mcall |
ret |
267,7 → 268,7 |
mov ebx, [ebp] ;x start/width |
mov ecx, [ebp+4] ;y start/height |
mov edx, 0x002288DD ;color |
int 0x40 ;draw bar |
mcall ;draw bar |
;Draw line for slide rail |
mov eax, 38 ;draw vertical slide line |
movzx ebx,word [ebp] ;x |
281,7 → 282,7 |
add ecx, [ebp+6] ;y start |
sub ecx, 10 ; |
mov edx, 0x00 ;color |
int 0x40 ; |
mcall ; |
;Draw slider box |
movzx eax,word [ebp+4] ;height |
sub eax, 20 ; |
301,7 → 302,7 |
mov cx, [box_h] ;height |
mov eax, 13 ;draw bar sys function |
mov edx, 0x00 ;color |
int 0x40 ;draw slider box |
mcall ;draw slider box |
pop edx |
pop ecx |
pop ebx |
374,5 → 375,5 |
;************************************************** |
; DATA AREA |
header db 'Color Slider',0 |
title db 'Color Slider',0 |
I_END: |
/programs/demos/eyes/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/demos/eyes/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm eyes.asm eyes |
@erase lang.inc |
@pause |
/programs/demos/eyes/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm eyes.asm eyes |
@erase lang.inc |
@pause |
/programs/demos/eyes/trunk/eyes.asm |
---|
26,7 → 26,7 |
dd 0x0 |
dd 0x0 |
include 'macros.inc' |
include '..\..\..\macros.inc' |
ENTRANCE: ; start of code |
; ==== main ==== |
41,7 → 41,7 |
mov eax,23 ; wait for event with timeout |
mov ebx,TIMEOUT |
int 0x40 |
mcall |
cmp eax,1 ; redraw ? |
jnz no_draw |
60,12 → 60,12 |
key: |
mov eax,2 ; just read and ignore |
int 0x40 |
mcall |
jmp still |
button: ; analyze button |
mov eax,-1 ; this is button 1 - we have only one button :-) |
int 0x40 |
mcall |
jmp still |
; -====- declarations -====- |
81,7 → 81,7 |
mov eax,50 ; set up shape reference area |
mov ebx,0 |
mov ecx,winref |
int 0x40 |
mcall |
ret |
91,7 → 91,7 |
mov eax,37 |
xor ebx,ebx |
int 0x40 |
mcall |
cmp dword [mouse],eax |
jne redraw_ok |
ret |
102,7 → 102,7 |
mov eax,12 |
mov ebx,1 |
int 0x40 |
mcall |
xor eax,eax ; define window |
mov ebx,[win_ebx] |
110,19 → 110,19 |
xor edx,edx |
xor esi,esi |
xor edi,edi |
int 0x40 |
mcall |
mov eax,8 ; define closebutton |
mov ebx,60 |
mov ecx,45 |
mov edx,1 |
int 0x40 |
mcall |
mov eax,7 |
mov ebx,skindata |
mov ecx,60*65536+30 |
mov edx,15 |
int 0x40 |
mcall |
mov eax,15 |
mov ebx,30 |
132,7 → 132,7 |
mov eax,12 |
mov ebx,2 |
int 0x40 |
mcall |
ret |
281,7 → 281,7 |
add ebx,4 |
mov eax,13 |
xor edx,edx |
int 0x40 |
mcall |
popa |
ret |
295,12 → 295,12 |
;mov ecx,0x00000000 |
;mov edx,0xFFFFFFFF |
;mov esi,imagedata |
;int 0x40 |
;mcall |
;cmp eax,0xFFFFFFFF |
;jnz filefound |
;mov eax,-1 ; file not exists... |
;int 0x40 |
;mcall |
;filefound: |
mov esi,imagedata+25 ; transform grayscale to putimage format |
327,7 → 327,7 |
loop transform_loop |
mov eax,14 ; calculating screen position |
int 0x40 |
mcall |
shr eax,1 |
mov ax,59 |
sub eax,30*65536 |
/programs/demos/fire/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/demos/fire/trunk/fire.asm |
---|
13,7 → 13,7 |
dd mem_end |
dd 0,0 ; no parameters, no path |
include 'macros.inc' |
include '..\..\..\macros.inc' |
START: |
27,7 → 27,7 |
mov eax,12 ; tell os about redraw |
mov ebx,1 |
int 0x40 |
mcall |
xor eax,eax ; define and draw window |
mov ebx,100*65536+321 |
35,7 → 35,7 |
mov edx,0x00000000 |
mov esi,0x00000000 |
mov edi,0x00000000 |
int 0x40 |
mcall |
mov al,4 ; 'FIRE FOR MENUET' |
mov ebx,110*65536+8 |
42,7 → 42,7 |
mov ecx,dword 0x00FFFFFF |
mov edx,text |
mov esi,textlen-text |
int 0x40 |
mcall |
mov al,8 |
mov ebx,(321-19)*65536+12 ; button start x & size |
49,23 → 49,23 |
mov ecx,5*65536+12 ; button start y & size |
mov edx,1 ; button number |
mov esi,0x009a0000 |
int 0x40 |
mcall |
mov ebx,ecx ;5*65536+12 |
inc edx |
int 0x40 |
mcall |
mov ebx,18*65536+12 |
inc edx |
int 0x40 |
mcall |
mov ebx,31*65536+12 |
inc edx |
int 0x40 |
mcall |
mov al,12 ; tell os about redraw end |
mov ebx,2 |
int 0x40 |
mcall |
sta: ; calculate fire image |
134,7 → 134,7 |
mov al, 5 ; in this moment always high 24 bits of eax are zero! |
mov ebx,[delay] |
int 0x40 |
mcall |
inc [calc] |
cmp [calc], byte 2 |
184,12 → 184,12 |
pop ebx |
mov ecx,4*80*65536+200 |
mov edx,1*65536+22 |
int 0x40 |
mcall |
nodrw: |
mov eax,11 ; check if os wants to talk to us |
int 0x40 |
mcall |
dec eax |
jz red |
cmp al, 3-1 |
197,13 → 197,13 |
button: ; get button id |
mov al,17 |
int 0x40 |
mcall |
shr eax, 8 |
dec eax |
jnz noclose |
or eax,-1 ; close this program |
int 0x40 |
mcall |
noclose: |
dec eax ; change fire type |
/programs/demos/fire2/trunk/fire2.asm |
---|
1,3 → 1,4 |
include '..\..\..\macros.inc' |
use32 |
org 0x0 |
17,7 → 18,7 |
rep stosd |
mov al, 3 |
int 0x40 |
mcall |
mov [curtime], eax |
red: |
25,7 → 26,7 |
pop eax |
push 1 |
pop ebx |
int 0x40 |
mcall |
xor eax, eax |
mov ebx, 200*65536+325 |
33,7 → 34,7 |
xor edx, edx |
xor esi, esi |
mov edi, 0x00100000 |
int 0x40 |
mcall |
mov al, 8 |
mov ebx, (325-19)*65536+12 |
40,7 → 41,7 |
mov ecx, 5*65536+12 |
inc edx |
mov esi, 0x00400000 |
int 0x40 |
mcall |
mov al, 4 |
mov ebx, 8*65536+8 |
48,18 → 49,18 |
mov edx, fire_label |
push len00 |
pop esi |
int 0x40 |
mcall |
mov al, 12 |
push 2 |
pop ebx |
int 0x40 |
mcall |
still: |
push 11 |
pop eax |
int 0x40 |
mcall |
dec eax |
jz red |
71,7 → 72,7 |
call image |
push 3 |
pop eax |
int 0x40 |
mcall |
cmp eax, [curtime] |
jz still |
mov [curtime], eax |
81,7 → 82,7 |
mov ebx, (8+27*6)*65536+18 |
mov ecx, 8*65536+8 |
xor edx, edx |
int 0x40 |
mcall |
lea edx, [ebx-10] |
mov al, 47 |
mov ebx, 30000h |
88,18 → 89,18 |
xor ecx, ecx |
xchg ecx, [fps] |
mov esi, 0x00FFFFFF ;0x00400000 |
int 0x40 |
mcall |
jmp still |
key: |
mov al, 2 |
int 0x40 |
mcall |
cmp ah, 1Bh ;<Esc> |
jne still |
button: |
; we have only one button, close |
or eax, -1 |
int 0x40 |
mcall |
image: |
/programs/demos/free3d04/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
/programs/demos/free3d04/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm free3d04.asm free3d04 |
@erase lang.inc |
@pause |
/programs/demos/free3d04/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm free3d04.asm free3d04 |
@erase lang.inc |
@pause |
/programs/demos/free3d04/trunk/free3d04.asm |
---|
35,7 → 35,7 |
dd APP_MEM;0x100000 ; esp |
dd 0x0 , 0x0 ; I_Param , I_Icon |
include 'lang.inc' |
include 'macros.inc' |
include '..\..\..\macros.inc' |
COLOR_ORDER equ OTHER |
include 'gif.inc' |
63,12 → 63,12 |
; ******* MOUSE CHECK ******* |
; mov eax,37 ; check mouse (use mouse over window to navigate) |
; mov ebx,2 ; check mousebuttons |
; int 0x40 |
; mcall |
; cmp eax,0 ; only use mouse when button down |
; je noneed ; deactivated cause of disappear-bug etc. |
mov eax,37 |
mov ebx,1 ; check mouseposition |
int 0x40 |
mcall |
mov ebx,eax |
shr eax,16 |
99,7 → 99,7 |
; mov eax,23 ; wait for system event with 10 ms timeout |
; mov ebx,1 ; thats max 100 FPS |
mov eax,11 ; ask no wait for full speed |
int 0x40 |
mcall |
cmp eax,1 ; window redraw request ? |
je red2 |
126,7 → 126,7 |
key2: ; key |
mov eax,2 |
int 0x40 |
mcall |
cmp al,1 |
je gamestart ; keybuffer empty |
284,7 → 284,7 |
button2: ; button |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
jne gamestart |
291,7 → 291,7 |
; eo GAME mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm |
finish: |
mov eax,-1 ; close this program |
int 0x40 |
mcall |
; ********************************************* |
303,7 → 303,7 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
; DRAW WINDOW |
mov eax,0 ; function 0 : define and draw window |
310,12 → 310,12 |
mov ebx,50*65536+649 ; [x start] *65536 + [x size] |
mov ecx,50*65536+504 ; [y start] *65536 + [y size] |
mov edx,0x33ffffff ; color of work area RRGGBB,8->color gl |
mov edi,header |
int 0x40 |
mov edi,title |
mcall |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
811,7 → 811,7 |
mov ebx,0x80000 |
mov ecx,640*65536+480 |
xor edx,edx |
int 0x40 |
mcall |
ret |
991,7 → 991,7 |
vpy: |
dd 0x0001FFFF |
header db 'FISHEYE RAYCASTING ENGINE ETC. FREE3D',0 |
title db 'FISHEYE RAYCASTING ENGINE ETC. FREE3D',0 |
sindegree dd 0.0 |
sininc dd 0.0017453292519943295769236907684886 |
/programs/demos/magnify/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/demos/magnify/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm magnify.asm magnify |
@erase lang.inc |
@pause |
/programs/demos/magnify/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm magnify.asm magnify |
@erase lang.inc |
@pause |
/programs/demos/magnify/trunk/magnify.asm |
---|
16,7 → 16,7 |
dd 0x1000 ; esp |
dd 0, 0 ; no parameters, no path |
include 'macros.inc' |
include '..\..\..\macros.inc' |
delay equ 20 |
magnify_width = 40 |
30,7 → 30,7 |
wtevent: |
mov eax, 23 ; wait here for event with timeout |
mov ebx, delay |
int 0x40 |
mcall |
dec eax |
js still |
jz redraw |
38,12 → 38,12 |
jnz button |
; key in buffer |
mov al, 2 |
int 0x40 |
mcall |
jmp wtevent |
button: |
; we have only one button, close |
or eax, -1 |
int 0x40 |
mcall |
; ********************************************* |
; ******* WINDOW DEFINITIONS AND DRAW ******** |
52,11 → 52,11 |
draw_window: |
mov eax, 12 ; function 12:tell os about windowdraw |
mov ebx, 1 ; 1, start of draw |
int 0x40 |
mcall |
mov al, 48 ; function 48 : graphics parameters |
mov bl, 4 ; subfunction 4 : get skin height |
int 0x40 |
mcall |
; DRAW WINDOW |
mov ebx, 100*65536 + 8*magnify_width + 8 |
64,12 → 64,12 |
mov edx, 0x33000000 ; color of work area RRGGBB |
mov edi, labelt ; header |
xor eax, eax ; function 0 : define and draw window |
int 0x40 |
mcall |
mov al, 12 ; function 12:tell os about windowdraw |
mov ebx, 2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
76,7 → 76,7 |
draw_screen: |
draw_magnify: |
mov eax, 14 |
int 0x40 ; get screen size |
mcall ; get screen size |
movzx ecx, ax |
inc ecx |
mov [size_y], ecx |
86,7 → 86,7 |
mov eax, 37 |
xor ebx, ebx |
int 0x40 ; get mouse coordinates |
mcall ; get mouse coordinates |
mov ecx, eax |
shr ecx, 16 ; ecx = x |
movzx edx, ax ; edx = y |
113,7 → 113,7 |
imul ebx, [size_x] |
add ebx, ecx |
mov eax, 35 |
int 0x40 ; read pixel |
mcall ; read pixel |
.nopix: |
push ecx edx |
sub ecx, [m_x] |
126,7 → 126,7 |
mov cl, 7 |
mov edx, eax |
mov eax, 13 |
int 0x40 |
mcall |
pop edx ecx |
inc ecx |
cmp ecx, [m_xe] |
/programs/demos/movback/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/demos/movback/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm movback.asm movback |
@erase lang.inc |
@pause |
/programs/demos/movback/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm movback.asm movback |
@erase lang.inc |
@pause |
/programs/demos/movback/trunk/movback.asm |
---|
1,5 → 1,5 |
include "lang.inc" |
include "macros.inc" |
include "..\..\..\macros.inc" |
WND_SIZE_X = 320 |
WND_SIZE_Y = 200 |
15,13 → 15,13 |
call init_palette |
mov eax,40 |
mov ebx,101b |
int 0x40 |
mcall |
jmp .paint_window |
.event_loop: |
mov eax,23 |
mov ebx,1 |
int 0x40 |
mcall |
test eax,eax |
je .draw_screen |
29,7 → 29,7 |
je .paint_window |
or eax,-1 |
int 0x40 |
mcall |
.draw_screen: |
add word [ver_counter],VC_DELTA |
39,30 → 39,30 |
mov ebx,virtual_screen_32 |
mov ecx,(WND_SIZE_X shl 16)+WND_SIZE_Y |
xor edx,edx |
int 0x40 |
mcall |
jmp .event_loop |
.paint_window: |
mov eax,12 |
mov ebx,1 |
int 0x40 |
mcall |
xor eax,eax |
mov ebx,(100 shl 16)+(WND_SIZE_X+9) |
mov ecx,(100 shl 16)+(WND_SIZE_Y+28) |
mov edx,0x33000000 |
mov edi,header |
int 0x40 |
mov edi,title |
mcall |
mov eax,7 |
mov ebx,virtual_screen_32 |
mov ecx,(WND_SIZE_X shl 16)+WND_SIZE_Y |
xor edx,edx |
int 0x40 |
mcall |
mov eax,12 |
mov ebx,2 |
int 0x40 |
mcall |
jmp .event_loop |
160,7 → 160,7 |
delta_angle dd 0.0245436926066 ; pi/128 |
scale_sin dd 128.0 |
header db 'MoveBack',0 |
title db 'MoveBack',0 |
UDATA |
ver_counter dd ? |
/programs/demos/plasma/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/demos/plasma/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm plasma.asm plasma |
@erase lang.inc |
@pause |
/programs/demos/plasma/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm plasma.asm plasma |
@erase lang.inc |
@pause |
/programs/demos/plasma/trunk/plasma.asm |
---|
1,6 → 1,6 |
; Originally written by Jarek Pelczar |
include "lang.inc" |
include "macros.inc" |
include "..\..\..\macros.inc" |
WND_SIZE_X = 320 |
WND_SIZE_Y = 200 |
10,7 → 10,7 |
fninit |
mov al,40 |
mov bl,101b |
int 0x40 |
mcall |
call init_palette |
call init_texture |
jmp .paint_window |
17,7 → 17,7 |
.event_loop: |
mov al,23 |
mov ebx,1 |
int 0x40 |
mcall |
test eax,eax |
je .draw_screen |
dec eax |
24,7 → 24,7 |
je .paint_window |
or eax,-1 |
int 0x40 |
mcall |
.draw_screen: |
call blit_8_to_32 |
32,7 → 32,7 |
mov ebx,virtual_screen_32 |
mov ecx,(WND_SIZE_X shl 16)+WND_SIZE_Y |
xor edx,edx |
int 0x40 |
mcall |
call rotate_pal |
jmp .event_loop |
41,24 → 41,24 |
push eax |
xor ebx,ebx |
inc ebx |
int 0x40 |
mcall |
xor eax,eax |
mov ebx,(100 shl 16)+(WND_SIZE_X+8) |
mov ecx,(100 shl 16)+(WND_SIZE_Y+25) |
mov edx,0x33000000 |
mov edi,header |
int 0x40 |
mov edi,title |
mcall |
mov al,7 |
mov ebx,virtual_screen_32 |
mov ecx,(WND_SIZE_X shl 16)+WND_SIZE_Y |
xor edx,edx |
int 0x40 |
mcall |
pop eax |
and ebx,2 ; bit 1 is set |
int 0x40 |
mcall |
jmp .event_loop |
161,7 → 161,7 |
DATA |
_multiplier dd 63.5 |
header db 'Plasma',0 |
title db 'Plasma',0 |
UDATA |
_fpom32 rd 1 |
/programs/demos/ss/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/demos/ss/trunk/@SS.ASM |
---|
14,22 → 14,22 |
dd 0x0 , 0x0 ; I_Param , I_Icon |
include 'lang.inc' |
include 'macros.inc' |
include '..\..\..\macros.inc' |
;include 'debug.inc' |
START: |
mov eax,14 |
int 0x40 |
mcall |
and eax,0xFFFF0000 |
mov [top_right_corner],eax |
mov eax,40 ; ãáâ ®¢¨âì ¬ áªã ᮡë⨩ |
mov ebx,110010b ; ॠ£¨à㥬 ª« ¢¨ âãàã, ¬ëèì, ®âà¨á®¢ªã ä® |
int 0x40 |
mcall |
mov eax,14 ; ¯®«ã稬 à §¬¥àë íªà |
int 0x40 |
mcall |
mov [y_max],ax |
shr eax,16 |
mov [x_max],ax |
37,18 → 37,18 |
event: ; ®¡à ¡®â稪 ᮡë⨩ (¢á¥å) |
mov eax,26 |
mov ebx,9 |
int 0x40 ; ¯®«ãç¨âì ¢à¥¬ï á¨á⥬ë |
mcall ; ¯®«ãç¨âì ¢à¥¬ï á¨á⥬ë |
; mov eax,3 |
; int 0x40 |
; mcall |
mov [evtime],eax ; § ¯®¬¨âì ¥£® |
mov eax,37 |
mov ebx,2 |
int 0x40 |
mcall |
cmp eax,3 ; ¯à®¤®«¦¨¬, ¥á«¨ ¦ â á।ïï ª®¯ª ¬ëè¨ |
jne still |
mov eax,37 ; ¯à®¢¥à¨¬ ª®®à¤¨ âë |
mov ebx,0 |
int 0x40 |
mcall |
cmp [top_right_corner],eax |
je create_setup ; ᮧ¤ ñ¬ ®ª® áâனª¨, ¥á«¨ ¬ëèì ¢ ¢¥à奬 ¯à ¢®¬ |
; 㣫ã íªà |
59,7 → 59,7 |
mov eax,23 ; ¦¤ñ¬ ᮡëâ¨ï ¢ â¥ç¥¨¥ 1 ᥪã¤ë |
mov ebx,100 |
int 0x40 |
mcall |
bt dword [params],0 ; ssaver works? |
jc event |
75,7 → 75,7 |
mov eax,26 |
mov ebx,9 |
int 0x40 |
mcall |
sub eax,[evtime] |
xor edx,edx |
mov ebx,60*100 ; ¯®¤¥«¨¬ 60*100, ¯®«ã稬 ¢à¥¬ï ¢ ¬¨ãâ å |
97,7 → 97,7 |
mov ebx,1 |
mov ecx,sthread |
mov edx,0x3F000 |
int 0x40 |
mcall |
bts dword [params],1 |
jmp still |
106,7 → 106,7 |
mov ebx,1 |
mov ecx,thread |
mov edx,0x3E000 |
int 0x40 |
mcall |
bts dword [params],0 |
ret |
113,10 → 113,10 |
thread: |
mov eax,5 |
mov ebx,eax |
int 0x40 |
mcall |
mov eax,40 |
mov ebx,100010b |
int 0x40 |
mcall |
cmp dword [type],0 |
je drawsswin |
cmp dword [type],24 |
135,7 → 135,7 |
mov dword [delay],25 |
mov eax,58 |
mov ebx,fileinfo |
int 0x40 |
mcall |
asminit1: |
mov eax,data_from_file |
mov [stringstart],eax |
152,14 → 152,14 |
inc ebx |
inc ecx |
mov edx,0x01000000 |
int 0x40 |
mcall |
mov eax,13 |
xor edx,edx |
int 0x40 |
mcall |
tstill: |
mov eax,23 |
mov ebx,[delay] |
int 0x40 |
mcall |
cmp eax,2 |
je thr_end |
cmp eax,6 |
174,10 → 174,10 |
btr dword [params],0 |
mov eax,26 |
mov ebx,9 |
int 0x40 |
mcall |
mov [evtime],eax |
or eax,-1 |
int 0x40 |
mcall |
drawssasm: |
mov edi,[stringstart] |
204,7 → 204,7 |
mov ecx,0x104ba010 |
mov edx,[stringstart] |
mov esi,[stringlen] |
int 0x40 |
mcall |
inc dword [stringlen] |
cmp byte [edi],byte ' ' |
je drawssasm |
276,7 → 276,7 |
mov eax,38 |
mov edx,[lcolor] |
and edx,0xffffff |
int 0x40 |
mcall |
dnol: |
292,7 → 292,7 |
sstill: |
mov eax,10 ; wait here for event |
int 0x40 |
mcall |
cmp eax,1 ; redraw request ? |
je sthread |
305,7 → 305,7 |
sbutton: ; button |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
jne snoclose |
312,7 → 312,7 |
btr dword [params],1 |
mov eax,-1 ; close this program |
int 0x40 |
mcall |
snoclose: |
cmp ah,7 |
jne nosetfl |
362,7 → 362,7 |
jne noshow |
mov eax,5 |
mov ebx,150 |
int 0x40 |
mcall |
call create_ss |
jmp sstill |
noshow: |
387,7 → 387,7 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
; DRAW WINDOW |
xor eax,eax ; function 0 : define and draw window |
394,7 → 394,8 |
mov ebx,100*65536+215 ; [x start] *65536 + [x size] |
mov ecx,100*65536+70 ; [y start] *65536 + [y size] |
mov edx,0x03400088 ; color of work area RRGGBB,8->color gl |
int 0x40 |
mov edi,title |
mcall |
mov eax,8 |
mov ebx,47*65536+10 |
401,43 → 402,38 |
mov ecx,31*65536+10 |
mov edx,2 |
mov esi,0x702050 |
int 0x40 |
mcall |
push ebx |
add ebx,13*65536 |
mov edi,ebx |
inc edx |
int 0x40 |
mcall |
pop ebx |
add ecx,15*65536 |
inc edx |
int 0x40 |
mcall |
mov ebx,edi |
inc edx |
int 0x40 |
mcall |
mov ebx,160*65536+40 |
mov ecx,28*65536+14 |
inc edx |
int 0x40 |
; WINDOW LABEL |
mcall |
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,17 ; text length |
int 0x40 |
add ebx,7*65536+25 |
mov ebx,15*65536+33 ; [x start] *65536 + [y start] |
mov ecx,0xffffff |
mov edx,setuptext |
mov esi,9 |
int 0x40 |
mcall |
add ebx,15 |
add edx,esi |
mov esi,30 |
int 0x40 |
mcall |
mov ebx,169*65536+32 |
mov edx,buttext |
mov esi,4 |
int 0x40 |
mcall |
call drawtype |
call drawtime |
445,7 → 441,7 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
458,7 → 454,7 |
jnc noblue |
mov edx,0x4e00e7 |
noblue: |
int 0x40 |
mcall |
mov eax,4 |
mov ebx,82*65536+32 |
xor ecx,ecx |
465,7 → 461,7 |
mov edx,typetext |
add edx,[type] |
mov esi,12 |
int 0x40 |
mcall |
ret |
drawtime: |
477,13 → 473,13 |
jnc noblue1 |
mov edx,0x4e00e7 |
noblue1: |
int 0x40 |
mcall |
mov eax,47 |
mov edx,82*65536+47 |
xor esi,esi |
movzx ecx,byte [time] |
mov ebx,0x00020000 |
int 0x40 |
mcall |
ret |
drawflag: |
492,7 → 488,7 |
mov ecx,45*65536+10 |
mov edx,7 |
mov esi,0xe0e0e0 |
int 0x40 |
mcall |
mov eax,4 |
mov ebx,153*65536+47 |
xor ecx,ecx |
502,13 → 498,13 |
jc setf |
inc edx |
setf: |
int 0x40 |
mcall |
ret |
; DATA AREA |
buttext db 'SHOW' |
flag db 'V ' |
labelt db 'SCREENSAVER SETUP' |
title db 'SCREENSAVER SETUP',0 |
setuptext db 'TYPE: < >TIME: < > MINUTES NEVER' |
typetext db 'BLACK SCREENCOLOR LINES ASSEMBLER ' |
type dd 12 |
/programs/demos/ss/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm @ss.asm @ss |
@erase lang.inc |
@pause |
/programs/demos/ss/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm @ss.asm @ss |
@erase lang.inc |
@pause |
/programs/demos/timer/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/demos/timer/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm timer.asm timer |
@erase lang.inc |
@pause |
/programs/demos/timer/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm timer.asm timer |
@erase lang.inc |
@pause |
/programs/demos/timer/trunk/timer.asm |
---|
17,12 → 17,12 |
dd 0x0 , 0x0 ; I_Param , I_Icon |
include 'lang.inc' |
include 'macros.inc' |
include '..\..\..\macros.inc' |
START: ; start of execution |
mov eax, 40 |
mov ebx, 101b |
int 0x40 |
mcall |
red: |
call draw_window |
31,7 → 31,7 |
mov eax,23 ; wait here for event |
mov ebx,50 |
int 0x40 |
mcall |
cmp eax,1 ; redraw request ? |
je red |
45,7 → 45,7 |
button: ; button |
or eax,-1 ; close this program |
int 0x40 |
mcall |
; ********************************************* |
56,7 → 56,7 |
mov eax, 26 ; get system counter |
mov ebx, 9 |
int 0x40 |
mcall |
cdq ;xor edx,edx |
mov ebx,100 |
83,7 → 83,7 |
mov edi,[sc.work] |
mov ebx,0x00020000 |
mov edx,15*65536+5 |
int 0x40 |
mcall |
pop eax ; MM |
imul ecx,ecx,60 |
91,7 → 91,7 |
mov ecx,eax |
mov eax,47 |
add edx,20*65536 |
int 0x40 |
mcall |
pop ecx |
pop eax |
102,7 → 102,7 |
mov ecx,eax ; SS |
mov eax,47 |
add edx,20*65536 |
int 0x40 |
mcall |
ret |
111,11 → 111,11 |
mov ebx,3 |
mov ecx,sc |
mov edx,sizeof.system_colors |
int 0x40 |
mcall |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
; DRAW WINDOW |
xor eax,eax ; function 0 : define and draw window |
123,14 → 123,14 |
mov ecx,100*65536+40 ; [y start] *65536 + [y size] |
mov edx,[sc.work] ; color of work area RRGGBB,8->color gl |
or edx,0x33000000 |
mov edi,header |
int 0x40 |
mov edi,title |
mcall |
call draw_clock |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
138,9 → 138,9 |
; DATA AREA |
if lang eq ru |
header db ' ',0 |
title db ' ',0 |
else |
header db 'TIMER',0 |
title db 'TIMER',0 |
end if |
/programs/demos/tinyfrac/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/demos/tinyfrac/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm tinyfrac.asm tinyfrac |
@erase lang.inc |
@pause |
/programs/demos/tinyfrac/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm tinyfrac.asm tinyfrac |
@erase lang.inc |
@pause |
/programs/demos/tinyfrac/trunk/tinyfrac.asm |
---|
83,7 → 83,7 |
dd 0,0 |
include 'lang.inc' |
include 'macros.inc' |
include '..\..\..\macros.inc' |
STARTX dd 200 |
STARTY dd 120 |
93,32 → 93,77 |
START: |
red: |
call draw_window |
call draw_fractal |
still: |
mov eax,10 |
int 0x40 |
mcall |
cmp eax,1 |
je red |
cmp eax,2 |
je key |
cmp eax,3 |
je button |
dec eax |
jz red |
dec eax |
jz key |
button: |
mov al,17 |
mcall |
cmp ah,1 |
jne no_close |
or eax,-1 |
mcall |
no_close: |
cmp ah,2 |
jne no_bgr |
mov eax,15 ; bgr 512 x 256 |
mov ebx,1 |
mov ecx,512 |
mov edx,256 |
mcall |
mov eax,15 |
mov ebx,5 |
mov ecx,0x1000 |
mov edx,0 |
mov esi,512*3*256 |
mcall |
mov eax,15 |
mov ebx,3 |
mcall |
jmp still |
red: |
call draw_window |
call put_image |
no_bgr: |
cmp ah,3 |
jb no_color |
cmp ah,5 |
jg no_color |
shr eax,8 |
sub eax,3 |
imul eax,8 |
add eax,8 |
not eax |
and eax,11000b |
mov [shlc],al |
call draw_fractal |
jmp still |
no_color: |
jmp still |
key: |
mov eax,2 |
int 0x40 |
mov al,2 |
mcall |
cmp ah,'e' |
je cycle |
179,61 → 224,6 |
call draw_fractal |
jmp still |
button: |
mov eax,17 |
int 0x40 |
cmp ah,1 |
jne no_close |
mov eax,-1 |
int 0x40 |
no_close: |
cmp ah,2 |
jne no_bgr |
mov eax,15 ; bgr 512 x 256 |
mov ebx,1 |
mov ecx,512 |
mov edx,256 |
int 0x40 |
mov eax,15 |
mov ebx,5 |
mov ecx,0x1000 |
mov edx,0 |
mov esi,512*3*256 |
int 0x40 |
mov eax,15 |
mov ebx,3 |
int 0x40 |
jmp still |
no_bgr: |
cmp ah,3 |
jb no_color |
cmp ah,5 |
jg no_color |
shr eax,8 |
sub eax,3 |
imul eax,8 |
add eax,8 |
not eax |
and eax,11000b |
; sub eax,8 |
mov [shlc],al |
call draw_fractal |
jmp still |
no_color: |
jmp still |
color_cycle: |
pusha |
257,7 → 247,7 |
call put_image |
mov eax,5 |
mov ebx,1 |
int 0x40 |
mcall |
dec esi |
jnz newcycle |
287,11 → 277,10 |
pusha |
mov eax,4 |
mov ebx,15*65536+35 |
mov ecx,0xffffff |
mov ebx,10*65536+30 |
mov ecx,0x80ffffff |
mov edx,calc |
mov esi,calcl-calc |
int 0x40 |
mcall |
popa |
pusha |
309,12 → 298,6 |
push cx |
; and cl,0x7 |
; cmp cl,0 |
; jne noim |
; call put_image |
; noim: |
mov cx, PIXWIDTH -1 ; width of screen in pixels |
sub bp,cx ; |
369,9 → 352,9 |
mov eax,7 |
mov ebx,0x1000 |
mov ecx,512*65536+255 |
mov edx,10*65536+30 |
int 0x40 |
mov ecx,512*65536+256 |
mov edx,4*65536+21 |
mcall |
popa |
446,38 → 429,30 |
mov eax,12 |
mov ebx,1 |
int 0x40 |
mcall |
mov eax,0 |
mov ebx,50*65536+531 |
mov ecx,100*65536+256+48 |
mov edx,0x02334455 |
mov esi,0x80778899 |
mov edi,0x00778899 |
int 0x40 |
xor eax,eax |
mov ebx,50*65536+PIXWIDTH+8 |
mov ecx,100*65536+PIXHEIGHT+25 |
mov edx,0x13334455 |
mov edi,title |
mcall |
mov eax,8 |
mov ebx,(531-19)*65536+12 |
mov ebx,290*65536+112 |
mov ecx,5*65536+12 |
mov edx,1 |
mov esi,0x808080 |
int 0x40 |
mov eax,8 |
mov ebx,300*65536+112 |
mov ecx,5*65536+12 |
mov edx,2 |
mov esi,0x808080 |
int 0x40 |
mcall |
mov ebx,430*65536+12 |
mov ebx,420*65536+12 |
mov ecx,5*65536+12 |
mov edx,3 |
mov esi,0xa00000 |
mov edi,3 |
;mov eax,8 |
newcolor: |
mov eax,8 |
int 0x40 |
mcall |
add ebx,13*65536 |
shr esi,8 |
inc edx |
485,15 → 460,14 |
jnz newcolor |
mov eax,4 |
mov ebx,8*65536+8 |
mov ecx,0xffffff |
mov edx,l |
mov esi,ll-l |
int 0x40 |
mov ebx,300*65536+8 |
mov ecx,0x80ffffff |
mov edx,button_txt |
mcall |
mov eax,12 |
mov ebx,2 |
int 0x40 |
mcall |
popa |
ret |
505,15 → 479,9 |
; |
l: db 'TINYFRAC - MOVE: ARROWS, ZOOM Q/W, CYCLE: E/R ' |
db 'SET AS WALLPAPER' |
ll: |
title db 'Tinyfrac - MOVE: ARROWS, ZOOM Q/W, CYCLE: E/R',0 |
button_txt db 'Set as wallpaper',0 |
calc db 'CALCULATING' |
calcl: |
calc db 'CALCULATING',0 |
I_END: |
I_END: |
/programs/demos/transp/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/demos/transp/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm transp.asm transp |
@erase lang.inc |
@pause |
/programs/demos/transp/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm transp.asm transp |
@erase lang.inc |
@pause |
/programs/demos/transp/trunk/transp.asm |
---|
17,13 → 17,13 |
dd 0x0 , 0x0 ; I_Param , I_Icon |
include 'lang.inc' |
include 'macros.inc' |
include '..\..\..\macros.inc' |
START: ; start of execution |
mov [procinfo.x_start], 100 |
mov [procinfo.x_size], 200 |
mov [procinfo.y_start], 80 |
mov [procinfo.y_size], 300 |
mov [procinfo.box.left], 100 |
mov [procinfo.box.width], 200 |
mov [procinfo.box.top], 80 |
mov [procinfo.box.height], 300 |
call draw_window |
red: |
call get_transparent |
32,7 → 32,7 |
still: |
mov eax,10 ; wait here for event |
int 0x40 |
mcall |
cmp eax,1 ; redraw request ? |
je red |
44,17 → 44,17 |
key: ; key |
mov al,2 ; just read it and ignore |
int 0x40 |
mcall |
jmp still |
button: ; button |
mov al,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
jne noclose |
or eax,-1 ; close this program |
int 0x40 |
mcall |
noclose: |
jmp still |
69,24 → 69,24 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
; DRAW WINDOW |
xor eax,eax ; function 0 : define and draw window |
mov ebx,[procinfo.x_start] |
mov ebx,[procinfo.box.left] |
shl ebx,16 |
add ebx,[procinfo.x_size] |
mov ecx,[procinfo.y_start] |
add ebx,[procinfo.box.width] |
mov ecx,[procinfo.box.top] |
shl ecx,16 |
add ecx,[procinfo.y_size] |
add ecx,[procinfo.box.height] |
mov edx,0x33000000 ; color of work area RRGGBB,8->color gl |
mov edi,header ; WINDOW LABEL |
int 0x40 |
mov edi,title ; WINDOW LABEL |
mcall |
call draw_transparent |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
99,11 → 99,11 |
mov eax,7 |
mov ebx,0x1000 |
mov ecx,[procinfo.x_size] |
mov ecx,[procinfo.box.width] |
shl ecx,16 |
add ecx,[procinfo.y_size] |
add ecx,[procinfo.box.height] |
xor edx,edx |
int 0x40 |
mcall |
popa |
ret |
116,29 → 116,29 |
mov eax,9 |
mov ebx,I_END |
mov ecx,-1 |
int 0x40 |
mcall |
mov eax,14 |
int 0x40 |
mcall |
shr eax,16 |
inc eax |
mov [scx],eax |
add [procinfo.x_start], 4 |
sub [procinfo.x_size], 4+4 |
add [procinfo.y_start], 22 |
sub [procinfo.y_size], 22+4 |
add [procinfo.box.left], 4 |
sub [procinfo.box.width], 4+4 |
add [procinfo.box.top], 22 |
sub [procinfo.box.height], 22+4 |
mov eax,[procinfo.x_start] |
add eax,[procinfo.x_size] |
mov eax,[procinfo.box.left] |
add eax,[procinfo.box.width] |
mov [x_end],eax |
mov eax,[procinfo.y_start] |
add eax,[procinfo.y_size] |
mov eax,[procinfo.box.top] |
add eax,[procinfo.box.height] |
mov [y_end],eax |
mov eax,[procinfo.x_start] |
mov ebx,[procinfo.y_start] |
mov eax,[procinfo.box.left] |
mov ebx,[procinfo.box.top] |
dtpl1: |
148,15 → 148,15 |
imul ebx,[scx] |
add ebx,eax |
mov eax,35 |
int 0x40 |
mcall |
or eax, 0x4e4e4e |
mov ebx,[esp+4] |
mov ecx,[esp] |
sub ebx,[procinfo.x_start] |
sub ecx,[procinfo.y_start] |
imul ecx,[procinfo.x_size] |
sub ebx,[procinfo.box.left] |
sub ecx,[procinfo.box.top] |
imul ecx,[procinfo.box.width] |
imul ebx,3 |
imul ecx,3 |
add ebx,ecx |
168,7 → 168,7 |
inc eax |
cmp eax,[x_end] |
jb dtpl1 |
mov eax,[procinfo.x_start] |
mov eax,[procinfo.box.left] |
inc ebx |
cmp ebx,[y_end] |
jb dtpl1 |
182,18 → 182,13 |
; DATA AREA |
;x_start dd 100 |
;y_start dd 80 |
;x_size dd 160 |
;y_size dd 200 |
x_end dd 0 |
y_end dd 0 |
scx dd 640 |
header db 'Transparent',0 |
title db 'Transparent',0 |
I_END: |
procinfo process_information |
/programs/demos/trantest/trunk/ascgl.inc |
---|
373,7 → 373,7 |
wordstoreg ecx,y,ys ;y*65536+ys |
mov edx,color |
mov eax,13 |
int 0x40 |
mcall |
} |
; FPS - Set Frame Per Second Display |
390,7 → 390,7 |
spdat: |
get_time: |
mov eax,3 |
int 0x40 |
mcall |
cmp eax,[savetime] |
jne new_time |
inc [fps_cntr] |
409,7 → 409,7 |
mov ecx,y*65536+7 |
mov edx,delcolor |
mov eax,13 |
int 0x40 |
mcall |
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] |
int 0x40 |
mcall |
no_out_fps: |
} |
496,7 → 496,7 |
add cx,[arg3+4] |
; wordstoreg ecx,[arg3],[arg3+4] |
wordstoreg edx, x , y ;arg1*65536+arg2 |
int 0x40 |
mcall |
} |
macro setframe x , y ,arg3 |
507,7 → 507,7 |
wordstoreg edx, x , y ;arg1*65536+arg2 |
add edx,dword [arg3] |
mov ecx,dword [arg3+4] |
int 0x40 |
mcall |
} |
/programs/demos/trantest/trunk/ascl.inc |
---|
48,7 → 48,7 |
mov dword [fileinfo+8],1 ; how many blocks to read (1) |
mov eax,58 |
mov ebx,fileinfo |
int 0x40 |
mcall |
mov eax,[file_load_area+2] |
shr eax,9 ; ¯®¤¥«¨¬ 512 ¨ ¯à¨¡ ¢¨¬ 1 - ¯®«ã稬 ç¨á«® ¡«®ª®¢ |
inc eax |
55,7 → 55,7 |
mov dword [fileinfo+8],eax |
mov eax,58 |
mov ebx,fileinfo |
int 0x40 |
mcall |
} |
91,7 → 91,7 |
mov edx,id |
mov esi,bcolor |
mov eax,8 |
int 0x40 |
mcall |
mov eax,asd-lab ;calc size |
mov ebx,6 |
116,7 → 116,7 |
mov edx,lab |
mov esi,asd-lab ;calc size |
mov eax,4 |
int 0x40 |
mcall |
} |
145,7 → 145,7 |
mov eax,9 |
mov ebx,procinfo |
mov ecx,-1 |
int 0x40 |
mcall |
; convert eax bin to param dec |
mov eax,dword [procinfo+30] ;offset of myPID |
179,12 → 179,12 |
mov ebx,1 ; define IPC |
mov ecx,path ; offset of area |
mov edx,150 ; size 150 bytes |
int 0x40 |
mcall |
; change wanted events list 7-bit IPC event |
mov eax,40 |
mov ebx,01000111b |
int 0x40 |
mcall |
; |
; STEP 3 run SYSTEM XTREE with parameters |
192,7 → 192,7 |
mov eax,58 |
mov ebx,run_fileinfo |
int 0x40 |
mcall |
call redproc |
200,7 → 200,7 |
getmesloop: |
mov eax,23 |
mov ebx,50 ;0.5 sec |
int 0x40 |
mcall |
cmp eax,1 |
je mred |
215,7 → 215,7 |
mov ebx,procinfo |
mov ecx,-1 |
mov eax,9 |
int 0x40 |
mcall |
mov ebp,eax |
loox: |
222,7 → 222,7 |
mov eax,9 |
mov ebx,procinfo |
mov ecx,ebp |
int 0x40 |
mcall |
mov eax,[DLGPID] |
cmp [procinfo+30],eax ;IF Dialog find |
je dlg_is_work ;jmp to dlg_is_work |
247,15 → 247,15 |
jmp getmesloop |
mkey: |
mov eax,2 |
int 0x40 ; read (eax=2) |
mcall ; read (eax=2) |
jmp getmesloop |
mbutton: |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
jne getmesloop |
mov eax,-1 ; close this program |
int 0x40 |
mcall |
mgetmes: |
; If dlg_pid_get then second message get jmp to still |
357,7 → 357,7 |
mov eax,9 |
mov ebx,procinfo |
mov ecx,-1 |
int 0x40 |
mcall |
; convert eax bin to param dec |
mov eax,dword [procinfo+30] ;offset of myPID |
391,12 → 391,12 |
mov ebx,1 ; define IPC |
mov ecx,path ; offset of area |
mov edx,120 ; size 150 bytes |
int 0x40 |
mcall |
; change wanted events list 7-bit IPC event |
mov eax,40 |
mov ebx,01000111b |
int 0x40 |
mcall |
; |
; STEP 3 run SYSTEM XTREE with parameters |
404,7 → 404,7 |
mov eax,58 |
mov ebx,run_fileinfo |
int 0x40 |
mcall |
call redproc |
412,7 → 412,7 |
getmesloop: |
mov eax,23 |
mov ebx,50 ;0.5 sec |
int 0x40 |
mcall |
cmp eax,1 |
je mred |
427,7 → 427,7 |
mov ebx,procinfo |
mov ecx,-1 |
mov eax,9 |
int 0x40 |
mcall |
mov ebp,eax |
loox: |
434,7 → 434,7 |
mov eax,9 |
mov ebx,procinfo |
mov ecx,ebp |
int 0x40 |
mcall |
mov eax,[DLGPID] |
cmp [procinfo+30],eax ;IF Dialog find |
je dlg_is_work ;jmp to dlg_is_work |
458,15 → 458,15 |
call redproc |
jmp getmesloop |
mkey: |
int 0x40 ; read (eax=2) |
mcall ; read (eax=2) |
jmp getmesloop |
mbutton: |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
jne getmesloop |
mov eax,-1 ; close this program |
int 0x40 |
mcall |
mgetmes: |
; If dlg_pid_get then second message get jmp to still |
618,7 → 618,7 |
macro scank |
{ |
mov eax,10 |
int 0x40 |
mcall |
} |
macro putpix x,y,color |
627,7 → 627,7 |
mov ecx,y |
mov edx,color |
mov eax,1 |
int 0x40 |
mcall |
} |
macro puttxt x,y,offs,size,color |
640,7 → 640,7 |
mov edx,offs |
mov esi,size |
mov eax,4 |
int 0x40 |
mcall |
} |
macro outcount data, x, y, color, numtype |
652,7 → 652,7 |
wordstoreg edx,x,y |
mov esi,color |
mov eax,47 |
int 0x40 |
mcall |
} |
; SCEVENT - Scan event |
660,7 → 660,7 |
macro scevent red,key,but |
{ |
mov eax,11 |
int 0x40 |
mcall |
dec eax |
jz red |
dec eax |
674,7 → 674,7 |
macro wtevent red,key,but |
{ |
mov eax,10 |
int 0x40 |
mcall |
dec eax |
jz red |
dec eax |
689,7 → 689,7 |
{ |
mov eax,23 |
mov ebx,xfps |
int 0x40 |
mcall |
cmp eax,0 |
je noevent |
dec eax |
706,7 → 706,7 |
macro close |
{ |
mov eax,-1 |
int 0x40 |
mcall |
} |
; DELAY - Create delay 1/100 sec |
717,7 → 717,7 |
{ |
mov eax,5 |
mov ebx,arg1 |
int 0x40 |
mcall |
} |
; WINDOW - Draw window |
732,7 → 732,7 |
wordstoreg ecx,arg2,arg4 |
mov edx,arg5 |
mov eax,0 |
int 0x40 |
mcall |
} |
macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 |
743,7 → 743,7 |
mov esi,arg6 |
mov edi,arg7 |
mov eax,0 |
int 0x40 |
mcall |
} |
753,7 → 753,7 |
{ |
mov eax,12 |
mov ebx,1 |
int 0x40 |
mcall |
} |
; ENDWD - End window draw |
762,7 → 762,7 |
{ |
mov eax,12 |
mov ebx,2 |
int 0x40 |
mcall |
} |
; LABEL - Put text to frame |
785,7 → 785,7 |
mov edx,lab |
mov esi,asd-lab ;calc size |
mov eax,4 |
int 0x40 |
mcall |
} |
;Key's |
/programs/demos/trantest/trunk/trantest.asm |
---|
19,6 → 19,7 |
SCREEN_X equ 320 ;800 |
SCREEN_Y equ 200 ;600 |
include '..\..\..\macros.inc' |
include 'lang.inc' |
include 'ascl.inc' |
include 'ascgl.inc' |
66,16 → 67,16 |
key: |
mov eax,2 |
int 0x40 |
mcall |
jmp still |
button: |
mov eax,17 |
int 0x40 |
mcall |
cmp ah,1 |
jne still |
exit: |
mov eax,-1 |
int 0x40 |
mcall |
;Draw window |
draw_window: |
82,21 → 83,21 |
mov eax,12 ;Start |
mov ebx,1 |
int 0x40 |
mcall |
xor eax,eax ;Draw window |
mov ebx,100*65536+(SCREEN_X+9) ;x start*65536+x size |
mov ecx,100*65536+(SCREEN_Y+26) ;y start*65536+y size |
mov edx,0x13000000 ;0x13 use skinned window |
mov edi,header |
int 0x40 |
mov edi,title |
mcall |
mov eax,12 ;End |
mov ebx,2 |
int 0x40 |
mcall |
ret |
header db '3D TEST SAMPLE',0 |
title db '3D TEST SAMPLE',0 |
outscr: |
105,7 → 106,7 |
mov ecx,SCREEN_X*65536+SCREEN_Y |
mov edx,5*65536+22 |
mov ax,7 |
int 0x40 |
mcall |
ret |
/programs/demos/tube/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/demos/tube/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm tube.asm tube |
@erase lang.inc |
@pause |
/programs/demos/tube/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm tube.asm tube |
@erase lang.inc |
@pause |
/programs/demos/tube/trunk/tube.asm |
---|
18,7 → 18,7 |
dd 0x40000 |
dd 0,0 |
include 'macros.inc' |
include '..\..\..\macros.inc' |
START: |
38,7 → 38,7 |
mov eax,23 |
mov ebx,1 |
int 0x40 |
mcall |
cmp eax,1 |
jne no_red |
50,9 → 50,8 |
je still |
or eax,-1 |
int 0x40 |
mcall |
SCREEN equ 160 |
PIXBUF equ 200h |
EYE equ EYE_P-2 |
179,7 → 178,7 |
mov ecx,320*65536+160 |
xor edx,edx |
mov ebx,0x10000 |
int 0x40 |
mcall |
popa |
ret |
192,23 → 191,20 |
mov eax,12 |
mov ebx,1 |
int 0x40 |
mcall |
xor eax,eax |
mov ebx,100*65536+329 |
mov ecx,100*65536+186 |
mov edx,0x33000000 |
mov edi,header |
int 0x40 |
mov edi,title |
mcall |
mov eax,12 |
mov ebx,2 |
int 0x40 |
mcall |
popa |
ret |
header db appname,0 |
title db appname,0 |
db 41,0,0xC3,0x3C |
/programs/develop/cmd/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/develop/cmd/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm cmd.asm cmd |
@erase lang.inc |
@pause |
/programs/develop/cmd/trunk/build_ge.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix de >lang.inc |
@fasm cmd.asm cmd |
@erase lang.inc |
@pause |
/programs/develop/cmd/trunk/cmd.asm |
---|
18,7 → 18,7 |
dd 0x0 |
dd 0x0 |
include "macros.inc" |
include "..\..\..\macros.inc" |
include "lang.inc" |
START: |
33,7 → 33,7 |
still: |
mov eax,10 |
int 0x40 |
mcall |
cmp eax,1 |
je re |
46,7 → 46,7 |
button: |
mov eax,17 |
int 0x40 |
mcall |
cmp ah,1 |
jne noclose |
84,7 → 84,7 |
mov edx,tic_table |
add edx,dword [linev] |
mov esi,81 |
int 0x40 |
mcall |
add dword [xpos],10 |
add dword [linev],81 |
pop ecx |
101,7 → 101,7 |
key: |
mov eax,2 |
int 0x40 |
mcall |
cmp ah,27 |
jne no_escape |
287,7 → 287,7 |
shl ecx,16 |
add ecx,9 |
mov edx,0 |
int 0x40 |
mcall |
add dword [ypos],6 |
ret |
295,7 → 295,7 |
mov eax,12 |
mov ebx,1 |
int 0x40 |
mcall |
mov eax,0 |
mov ebx,100*65536+492 |
302,11 → 302,11 |
mov ecx,100*65536+280 |
mov edx,0x13000000 |
mov edi,title |
int 0x40 |
mcall |
mov eax,12 |
mov ebx,2 |
int 0x40 |
mcall |
ret |
318,7 → 318,7 |
mov ecx,0x00ddeeff |
mov edx,smb |
mov esi,1 |
int 0x40 |
mcall |
mov edi,tic_table |
add edi,dword [linen] |
337,7 → 337,7 |
mov ecx,0x00ddeeff |
mov edx,smb_cursor |
mov esi,1 |
int 0x40 |
mcall |
mov edi,tic_table |
mov esi,smb_cursor |
356,7 → 356,7 |
mov ecx,0x00ddeeff |
mov edx,prompt |
mov esi,5 |
int 0x40 |
mcall |
mov dword [ypos],42 |
cld |
471,7 → 471,7 |
mov eax, 70 |
mov ebx, dirinfo |
int 0x40 |
mcall |
inc dword [dirinfo+4] |
cmp ebx, 1 |
jnz ls_end |
542,7 → 542,7 |
mov edx,filename |
mov ecx,0x00ddeeff |
mov esi,12 |
int 0x40 |
mcall |
cld |
mov ecx,12 |
618,7 → 618,7 |
mov ecx,0 |
mov edx,-1 |
mov esi,tic_table+25000 |
int 0x40 |
mcall |
cmp eax,4294967295 |
je nosuchfile |
647,7 → 647,7 |
mov ecx,0 |
mov edx,-1 |
mov esi,tic_table+25000 |
int 0x40 |
mcall |
cmp eax,4294967295 |
je nosuchfile |
667,7 → 667,7 |
mov edx,tic_table+400 |
mov esi,12 |
mov ecx,0x00ddeeff |
int 0x40 |
mcall |
cld |
mov ecx,12 |
701,7 → 701,7 |
mov eax,9 |
mov ebx,tic_table |
mov ecx,1 |
int 0x40 |
mcall |
mov dword [count2],eax |
710,7 → 710,7 |
mov eax,9 |
mov ebx,tic_table |
mov ecx,[pn] |
int 0x40 |
mcall |
mov ebx,[tic_table+30] |
mov dword [fnumb],4 |
741,7 → 741,7 |
add ebx,[xpos] |
mov ecx,0x00ddeeff |
mov esi,12 |
int 0x40 |
mcall |
cld |
mov ecx,11 |
838,7 → 838,7 |
shl edx,16 |
add edx,[xpos] |
mov esi,0x00ddeeff |
int 0x40 |
mcall |
ret |
pause2: |
847,7 → 847,7 |
call printf |
mov eax,10 |
int 0x40 |
mcall |
red3: |
cmp eax,2 |
859,12 → 859,12 |
call red |
mov eax,10 |
int 0x40 |
mcall |
jmp red3 |
back: |
mov eax,2 |
int 0x40 |
mcall |
cmp ah,27 |
je checmd |
ret |
871,7 → 871,7 |
exit: |
mov eax,-1 |
int 0x40 |
mcall |
checmd: |
cmp byte [callp],1 |
894,7 → 894,7 |
add ebx,[xpos] |
mov ecx,0x00ddeeff |
mov esi,33 |
int 0x40 |
mcall |
cld |
mov ecx,27 |
1046,7 → 1046,7 |
mov ecx,0 |
mov edx,-1 |
mov esi,tic_table+25000 |
int 0x40 |
mcall |
cmp eax,4294967295 |
je nosuchfile |
1125,7 → 1125,7 |
mov ecx,0 |
mov edx,-1 |
mov esi,tic_table+25000 |
int 0x40 |
mcall |
cmp eax,4294967295 |
jne alreadyexist |
1135,7 → 1135,7 |
mov ecx,tic_table+25000 |
mov edx,dword [filesize] |
mov esi,0 |
int 0x40 |
mcall |
cmp eax,0 |
jne no_ok |
1145,7 → 1145,7 |
mov ecx,0 |
mov edx,-1 |
mov esi,tic_table+25000 |
int 0x40 |
mcall |
cmp eax,4294967295 |
je no_ok |
1289,7 → 1289,7 |
mov ecx,0 |
mov edx,-1 |
mov esi,tic_table+25000 |
int 0x40 |
mcall |
cmp eax,4294967295 |
je nosuchfile |
1366,7 → 1366,7 |
mov ecx,0 |
mov edx,-1 |
mov esi,tic_table+25000 |
int 0x40 |
mcall |
cmp eax,4294967295 |
jne alreadyexist |
1376,7 → 1376,7 |
mov ecx,0 |
mov edx,-1 |
mov esi,tic_table+25000 |
int 0x40 |
mcall |
mov dword [filesize],eax |
1385,7 → 1385,7 |
mov ecx,tic_table+25000 |
mov edx,dword [filesize] |
mov esi,0 |
int 0x40 |
mcall |
cmp eax,0 |
jne no_ok1 |
1395,7 → 1395,7 |
mov ecx,0 |
mov edx,-1 |
mov esi,tic_table+25000 |
int 0x40 |
mcall |
cmp eax,4294967295 |
je no_ok1 |
1402,7 → 1402,7 |
mov eax,32 |
mov ebx,tic_table+9000 |
int 0x40 |
mcall |
call newline |
mov edx,mess14 |
1504,7 → 1504,7 |
mov ecx,0 |
mov edx,-1 |
mov esi,tic_table+25000 |
int 0x40 |
mcall |
cmp eax,4294967295 |
je nosuchfile2 |
1511,7 → 1511,7 |
mov eax,32 |
mov ebx,tic_table+400 |
int 0x40 |
mcall |
call newline |
mov edx,mess6 |
1562,7 → 1562,7 |
mov ecx,0 |
mov edx,-1 |
mov esi,tic_table+15000 |
int 0x40 |
mcall |
cmp eax,4294967295 |
je noaxfile |
1620,7 → 1620,7 |
mov ecx,0 |
mov edx,-1 |
mov esi,tic_table+15000 |
int 0x40 |
mcall |
cmp eax,4294967295 |
je nosuchfile3 |
1755,7 → 1755,7 |
mov ecx,0x00ddeeff |
mov edx,tic_table+200 |
mov esi,dword [fnumb] |
int 0x40 |
mcall |
ret |
1795,7 → 1795,7 |
mov eax,9 |
mov ebx,tic_table |
int 0x40 |
mcall |
cmp eax,ecx |
jb nosuchprocess |
1803,7 → 1803,7 |
mov eax,18 |
mov ebx,2 |
mov edx,0 |
int 0x40 |
mcall |
call clearsum |
call newline |
1868,7 → 1868,7 |
mov edx,tic_table+300 |
mov ecx,0x00ddeeff |
mov esi,dword [count] |
int 0x40 |
mcall |
cld |
mov ecx,dword [count] |
1895,7 → 1895,7 |
add ebx,[xpos] |
mov ecx,0x00ddeeff |
mov esi,45 |
int 0x40 |
mcall |
cld |
mov ecx,45 |
1918,7 → 1918,7 |
add ebx,[xpos] |
mov ecx,0x00ddeeff |
mov esi,79 |
int 0x40 |
mcall |
cld |
mov ecx,79 |
2078,7 → 2078,7 |
mov ebx,6*65536+483 |
mov ecx,24*65536+250 |
mov edx,0 |
int 0x40 |
mcall |
ret |
cls2: |
2290,11 → 2290,11 |
mov eax,18 |
mov ebx,1 |
int 0x40 |
mcall |
mov eax,5 |
mov ebx,200 |
int 0x40 |
mcall |
no_shutdown: |
cmp word [tic_table+600],'ps' |
2454,17 → 2454,17 |
mov ebx,1 |
mov ecx,ipcb |
mov edx,118 |
int 0x40 |
mcall |
call clearipc |
mov eax,40 |
mov ebx,01000111b |
int 0x40 |
mcall |
mov eax,23 |
mov ebx,10 |
int 0x40 |
mcall |
cmp eax,7 |
jne noipc |
2478,7 → 2478,7 |
mov eax,9 |
mov ebx,tic_table+100000 |
mov ecx,-1 |
int 0x40 |
mcall |
mov ecx,eax |
loopfindipc: |
2486,7 → 2486,7 |
mov eax,9 |
mov ebx,tic_table+100000 |
int 0x40 |
mcall |
mov bl,[tic_table+600] |
cmp byte [tic_table+100000+10],bl |
2548,7 → 2548,7 |
mov ecx,dword [ipcpid] |
mov edx,ddot |
mov esi,1 |
int 0x40 |
mcall |
call newline |
call clearipc |
2576,7 → 2576,7 |
mov edx,tic_table+600 |
mov ecx,0x00ddeeff |
mov esi,dword [count] |
int 0x40 |
mcall |
cld |
mov ecx,dword [count] |
2605,10 → 2605,10 |
waitipc: |
mov eax,40 |
mov ebx,01000111b |
int 0x40 |
mcall |
mov eax,10 |
int 0x40 |
mcall |
cmp eax,7 |
je ipcok |
2623,7 → 2623,7 |
keyipc: |
mov eax,2 |
int 0x40 |
mcall |
jmp waitipc |
2662,7 → 2662,7 |
ipckey: |
mov eax,10 |
int 0x40 |
mcall |
cmp eax,1 |
je reipc2 |
2675,7 → 2675,7 |
ipckeypressed: |
mov eax,2 |
int 0x40 |
mcall |
mov byte [ipckeyvalue],ah |
2684,7 → 2684,7 |
mov ecx,dword [ipcpid] |
mov edx,ipckeyvalue |
mov esi,1 |
int 0x40 |
mcall |
call clearipc |
jmp waitipc |
2717,7 → 2717,7 |
mov eax,9 |
mov ebx,tic_table |
mov ecx,-1 |
int 0x40 |
mcall |
mov ecx,eax |
loopex: |
2725,7 → 2725,7 |
mov eax,9 |
mov ebx,I_END |
int 0x40 |
mcall |
cmp word [I_END+10],'CM' |
jne no_cmd |
2764,7 → 2764,7 |
mov eax, 70 |
mov ebx, fileinfo_start |
mov [ebx+8], ecx |
int 0x40 |
mcall |
ret |
fileinfo_start: |
dd 7 |
2775,8 → 2775,7 |
db 0 |
dd fileinfo_buffer |
title: |
db 'CMD - Command line interpreter',0 |
title db 'CMD - Command line interpreter',0 |
smb_cursor db '|' |
/programs/develop/cmd/trunk/cmdipc.inc |
---|
1,10 → 1,10 |
include "macros.inc" |
include "..\..\..\macros.inc" |
initipc: |
mov eax,9 |
mov ebx,prc |
mov ecx,-1 |
int 0x40 |
mcall |
mov ecx,eax |
loop1: |
12,7 → 12,7 |
mov eax,9 |
mov ebx,prc |
int 0x40 |
mcall |
cmp word [prc+10],'CM' |
jne no_cmd |
39,7 → 39,7 |
mov ecx,dword [cmdpid] |
mov edx,printf |
mov esi,4 |
int 0x40 |
mcall |
call initcmd |
46,11 → 46,11 |
waitcmdinit: |
mov eax,40 |
mov ebx,01000000b |
int 0x40 |
mcall |
mov eax,23 |
mov ebx,100 |
int 0x40 |
mcall |
cmp eax,7 |
je cmd_ok |
64,7 → 64,7 |
mov eax,18 |
mov ebx,3 |
mov ecx,dword [cmdnumb] |
int 0x40 |
mcall |
ret |
71,12 → 71,12 |
pause1: |
mov eax,5 |
mov ebx,1 |
int 0x40 |
mcall |
ret |
exit: |
mov eax,-1 |
int 0x40 |
or eax,-1 |
mcall |
cls: |
mov eax,60 |
84,7 → 84,7 |
mov ecx,dword [cmdpid] |
mov edx,ipccls |
mov esi,4 |
int 0x40 |
mcall |
call pause1 |
120,7 → 120,7 |
mov ecx,dword [cmdpid] |
mov edx,stripc |
mov esi,84 |
int 0x40 |
mcall |
call pause1 |
132,7 → 132,7 |
mov ecx,dword [cmdpid] |
mov edx,ipceol |
mov esi,4 |
int 0x40 |
mcall |
call pause1 |
144,13 → 144,13 |
mov ecx,dword [cmdpid] |
mov edx,ipckey |
mov esi,4 |
int 0x40 |
mcall |
mov eax,60 |
mov ebx,1 |
mov ecx,ipcb |
mov edx,28 |
int 0x40 |
mcall |
cld |
mov ecx,28 |
166,10 → 166,10 |
waitagain: |
mov eax,40 |
mov ebx,01000000b |
int 0x40 |
mcall |
mov eax,10 |
int 0x40 |
mcall |
cmp eax,7 |
jne waitagain |
186,7 → 186,7 |
mov ecx,dword [cmdpid] |
mov edx,ipcend |
mov esi,4 |
int 0x40 |
mcall |
jmp exit |
/programs/develop/examples/checkbox/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
/programs/develop/examples/checkbox/trunk/check.inc |
---|
48,12 → 48,12 |
shl ecx,16 |
add ecx,ch_size |
mov edx,ch_border_color |
int 0x40 ;à¨á㥬 à ¬ªã |
mcall ;à¨á㥬 à ¬ªã |
mov edx,ch_color |
add ebx,1 shl 16 - 2 |
add ecx,1 shl 16 - 2 |
int 0x40 ;§ ªà 訢 ¥¬ ¢ãâ८á⨠祪¡®ªá |
mcall ;§ ªà 訢 ¥¬ ¢ãâ८á⨠祪¡®ªá |
test word ch_flags,2 ;¤®áâ âì § 票¥ ¡¨â ¨§ ¯¥à¥¬¥®© ¨ ¯®¬¥áâ¨âì ¢ ä« £ CF |
jz @f ;¢ ¥á«¨ CF=1, â® ¢ë¯®«¨¬ á«¥¤ãîéãî ¯à®æ¥¤ãàã ¨ ç¥ ¯¥à¥©â¨ ¨¦îî @@ |
73,7 → 73,7 |
movzx esi,word ch_text_length ; £à㧨¬ ¤«¨ã ¤¯¨á¨ ¢ esi |
;¢¥á¥¬ ¢ eax § 票¥ ¢ë¢®¤ ¤¯¨á¨ ª ¢ã |
mov eax,4 |
int 0x40 ;뢮¤ |
mcall ;뢮¤ |
popa ;¢®ááâ ®¢¨âì § 票ï ॣ¨áâ஢ ¨§ á⥪ |
ret ;¢ë©¤¥¬ ¨§ ¯à®æ¥¤ãàë |
96,13 → 96,13 |
shl ecx,16 ;ᤢ¨¥¬ 16 à §à冷¢ ¢ «¥¢® (㬮¦¨¬ 65536) |
mov cx,bp ;§ £à㧨¬ § 票ï ॣ¨áâà 㪠§ â¥«ï ¡ §ë ¢ cx |
;pop cx |
int 0x40 ;¢ë¢®¤ |
mcall ;¢ë¢®¤ |
ret ;¢ë©â¨ ¨§ ¯à®æ¥¤ãàë |
.mouse: ;®¡à ¡®âª ¬ëè¨ |
pusha |
mov eax,37 ;¡ã¤¥¬ çâ® â® ¤¥« âì ¥á«¨ ã á çâ® - ¨âì ¦ â® |
mov ebx,2 ;¢¥á⨠¢ ॣ¨áâà § 票¥ 2 |
int 0x40 ;¯à®¢¥àª ¥ ¦ « «¨ ¯®«ì§®¢ â¥«ì ª®¯ªã ¬ë誨 |
mcall ;¯à®¢¥àª ¥ ¦ « «¨ ¯®«ì§®¢ â¥«ì ª®¯ªã ¬ë誨 |
test eax,eax ;¯à®¢¥àª ¥á«¨ ã á ¢ eax=0, â® ãáâ ®¢¨¬ ä« £ ¨ ¢ë©¤¥¬ |
jnz @f ;¯¥à¥©â¨ ¨¦îî ¬¥âªã @@ |
btr word ch_flags,2 ;¨§¢«¥ç¥¨¥ § ç¥¨ï § ¤ ®£® ¡¨â ¢ ä« £ cf ¨ ¨§¬¥¥¨¥ ¥£® § 票ï ã«¥¢®¥. |
120,7 → 120,7 |
mov eax,37 ;¯®«ã稬 ª®®à¤¨ âë ¬ë誨 |
mov ebx,1 ;¤®¡ ¢¨âì 1 |
int 0x40 ;¯®«ãç¨âì ª®®à¤¨ âë ªãàá®à ®â®á¨â¥«ì® ®ª |
mcall ;¯®«ãç¨âì ª®®à¤¨ âë ªãàá®à ®â®á¨â¥«ì® ®ª |
movzx ebx,word ch_top ;§ £à㧨âì ¢ bx § 票¥ ª®®à¤¨ âë ã |
cmp ax,bx ;áà ¢¨âì á á ª®®à¤¨ ⮩ ªãàá®à |
/programs/develop/examples/checkbox/trunk/checkbox.asm |
---|
23,7 → 23,7 |
; 㪠§ ⥫ì áâபã, ¢ ª®â®àãî § ¯¨á ¯ãâì, |
; ®âªã¤ § ¯ã饮 ¯à¨«®¦¥¨¥ |
;------------------ |
include 'macros.inc' |
include '..\..\..\..\macros.inc' |
include 'check.inc' ;¢ª«îç¨âì ä ©« check.inc |
; version_ch ;¥®¡å®¤¨¬ë© ¬ ªà®á ¤«ï ¢ª«î票ï "áâ ன" ¢¥àᨨ check_box |
version_ch1 ;¥®¡å®¤¨¬ë© ¬ ªà®á ¤«ï ¢ª«î票ï new ¢¥àᨨ check_box1 |
36,16 → 36,16 |
mov ebx,3 |
mov ecx,sc |
mov edx,sizeof.system_colors |
int 0x40 |
mcall |
mov eax,40 ;ãáâ ®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩ |
mov ebx,0x25 ;á¨á⥬ ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥, ¦ â ª®¯ª , ®¯à¥¤¥«ñ ï à ¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ¦ ⨥ ª®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥¨¥; á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨) |
int 0x40 |
mcall |
red_win: |
call draw_window ;¯¥à¢® ç «ì® ¥®¡å®¤¨¬® à¨á®¢ âì ®ª® |
still: ;®á®¢®© ®¡à ¡®â稪 |
mov eax,10 ;¦¨¤ âì ᮡëâ¨ï |
int 0x40 ;®¦¨¤ âì ᮡë⨥ ¢ â¥ç¥¨¥ 2 ¬¨««¨á¥ªã¤ |
mcall ;®¦¨¤ âì ᮡë⨥ ¢ â¥ç¥¨¥ 2 ¬¨««¨á¥ªã¤ |
cmp al,0x1 ;¥á«¨ ¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª |
jz red_win |
55,7 → 55,7 |
jmp still ;¥á«¨ ¨ç¥£® ¨§ ¯¥à¥ç¨á«¥®£® ⮠ᮢ ¢ 横« |
button: |
or eax,-1 ;¢ eax,-1 - 5 ,¡ ©â®¢ ã á ¦¥ ⮫쪮 3 ¢ë©â¨ |
int 0x40 ;¤ «¥¥ ¢ë¯®«ï¥âáï ¢ë室 ¨§ ¯à®£à ¬¬ë |
mcall ;¤ «¥¥ ¢ë¯®«ï¥âáï ¢ë室 ¨§ ¯à®£à ¬¬ë |
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
62,7 → 62,7 |
draw_window: ;à¨á®¢ ¨¥ ®ª ¯à¨«®¦¥¨ï |
mov eax,12 ;¢ ॣ¨áâà ¢¥á⨠§ 票¥ = 12 |
mov ebx,1 ;¯à¨á¢®¨âì 1 |
int 0x40 |
mcall |
xor eax,eax ;®¡ã«¨âì eax |
mov ebx,50*65536+180 ;[ª®®à¤¨ â ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x] |
70,13 → 70,13 |
mov edx,[sc.work] ; color of work area RRGGBB,8->color gl |
or edx,0xb3000000 |
mov edi,hed |
int 0x40 ; à¨á®¢ âì ®ª® ¯à¨«®¦¥¨ï |
mcall ; à¨á®¢ âì ®ª® ¯à¨«®¦¥¨ï |
draw_check_boxes check_boxes,check_boxes_end ;à¨á®¢ ¨¥ 祪¡®ªá®¢ |
mov eax,12 ;ãªæ¨ï 12 - ç âì/§ ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª . |
mov ebx,2 ;®¤äãªæ¨ï 2 - § ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª . |
int 0x40 |
mcall |
ret |
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
/programs/develop/examples/circle/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/develop/examples/circle/trunk/circle.asm |
---|
16,7 → 16,7 |
dd 0x1000 ; esp |
dd 0x00000000 ; reserved=no extended header |
include 'macros.inc' |
include '..\..\..\..\macros.inc' |
29,7 → 29,7 |
still: |
mov eax,10 ; wait here for event |
int 0x40 |
mcall |
dec eax ; redraw request ? |
jz red |
38,16 → 38,16 |
button: |
mov al,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
jne noclose |
or eax,-1 ; close this program |
int 0x40 |
mcall |
key: ; key |
mov al,2 ; just read it and ignore |
int 0x40 |
mcall |
jmp still |
noclose: |
61,12 → 61,12 |
mov eax,50 ; give the shape reference area |
mov ebx,0 |
mov ecx,shape_reference |
int 0x40 |
mcall |
mov eax,50 ; give the shape scale 32 x 32 -> 128 x 128 |
mov ebx,1 ; you dont have to give this, scale is 1:1 by default |
mov ecx,2 |
int 0x40 |
mcall |
popa |
118,7 → 118,7 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
; DRAW WINDOW |
xor eax,eax ; function 0 : define and draw window |
129,7 → 129,7 |
mov edx,0x00cccc00 ; color of work area RRGGBB,8->color glide |
mov esi,0x00cccc00 ; color of grab bar RRGGBB,8->color glide |
mov edi,0x00cccc00 ; color of frames RRGGBB |
int 0x40 |
mcall |
; CLOSE BUTTON |
138,12 → 138,12 |
mov ecx,20*65536+12 ; [y start] *65536 + [y size] |
mov edx,1 ; button id |
mov esi,0x5599cc ; button color RRGGBB |
int 0x40 |
mcall |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
/programs/develop/examples/cpuspeed/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
/programs/develop/examples/cpuspeed/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm cpuspeed.asm cpuspeed |
@erase lang.inc |
@pause |
/programs/develop/examples/cpuspeed/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm cpuspeed.asm cpuspeed |
@erase lang.inc |
@pause |
/programs/develop/examples/cpuspeed/trunk/cpuspeed.asm |
---|
16,13 → 16,13 |
dd 0x00000000 ; reserved=no extended header |
include 'lang.inc' |
include 'macros.inc' |
include '..\..\..\..\macros.inc' |
START: ; start of execution |
mov eax,18 |
mov ebx,5 |
int 0x40 |
mcall |
xor edx,edx |
mov ebx,1000000 |
38,6 → 38,13 |
mov [edi],dl |
sub edi,1 |
loop newnum |
mov eax,48 |
mov ebx,3 |
mov ecx,sc |
mov edx,sizeof.system_colors |
mcall |
red: |
call draw_window ; at first, draw the window |
44,7 → 51,7 |
still: |
mov eax,10 ; wait here for event |
int 0x40 |
mcall |
cmp eax,1 ; redraw request ? |
jz red |
57,17 → 64,17 |
key: ; key |
mov eax,2 ; just read it and ignore |
int 0x40 |
mcall |
jmp still |
button: ; button |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
jnz still |
or eax,-1 ; close this program |
int 0x40 |
mcall |
; ********************************************* |
79,14 → 86,8 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
mov eax,48 |
mov ebx,3 |
mov ecx,sc |
mov edx,sizeof.system_colors |
int 0x40 |
; DRAW WINDOW |
mov eax,0 ; function 0 : define and draw window |
mov ebx,100*65536+200 ; [x start] *65536 + [x size] |
93,8 → 94,8 |
mov ecx,100*65536+65 ; [y start] *65536 + [y size] |
mov edx,[sc.work] ; color of work area RRGGBB,8->color glide |
or edx,0x33000000 ; color of grab bar RRGGBB,8->color |
mov edi,header ; WINDOW LABEL |
int 0x40 |
mov edi,title ; WINDOW LABEL |
mcall |
mov ebx,20*65536+14 ; draw info text with function 4 |
102,11 → 103,11 |
mov edx,text |
mov esi,24 |
mov eax,4 |
int 0x40 |
mcall |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
117,7 → 118,7 |
text: |
db 'CPU RUNNING AT MHZ' |
header db 'CPU SPEED',0 |
title db 'CPU SPEED',0 |
I_END: |
/programs/develop/examples/editbox/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
/programs/develop/examples/editbox/trunk/editbox.asm |
---|
13,7 → 13,7 |
dd i_end ; ¡ê¥¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨, ¤«ï á⥪ ®â¢¥¤¥¬ 0å100 ¡ ©â ¨ ¢ë஢¨¬ £à¨æã 4 ¡ ©â |
dd i_end ; à ᯮ«®¦¨¬ ¯®§¨æ¨î á⥪ ¢ ®¡« á⨠¯ ¬ïâ¨, áà §ã § ⥫®¬ ¯à®£à ¬¬ë. ¥àè¨ á⥪ ¢ ¤¨ ¯ §®¥ ¯ ¬ïâ¨, 㪠§ ®¬ ¢ëè¥ |
dd 0x0,0x0 ; 㪠§ ⥫ì áâபã á ¯ à ¬¥âà ¬¨. |
include 'macros.inc' |
include '..\..\..\..\macros.inc' |
include 'editbox.inc' |
align 4 |
use_edit_box procinfo,22,5 |
/programs/develop/examples/example/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/develop/examples/example/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm example.asm example |
@erase lang.inc |
@pause |
/programs/develop/examples/example/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm example.asm example |
@erase lang.inc |
@pause |
/programs/develop/examples/example/trunk/example.asm |
---|
24,7 → 24,7 |
dd 0x0 ; § १¥à¢¨à®¢ ® |
include 'lang.inc' |
include 'macros.inc' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§ì áᥬ¡«¥à騪®¢! |
include '..\..\..\..\macros.inc' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§ì áᥬ¡«¥à騪®¢! |
;--------------------------------------------------------------------- |
;--- ---------------------------------------------- |
108,7 → 108,7 |
; mov edi,header ; |
; int 0x40 |
mcall 0, <200,200>, <200,50>, 0x33AABBCC,,header |
mcall 0, <200,200>, <200,50>, 0x33AABBCC,,title |
148,7 → 148,7 |
en,'Press any key...',\ |
fr,'Pressez une touche...' |
lsz header,\ |
lsz title,\ |
ru,' ',\ |
en,'EXAMPLE APPLICATION',\ |
fr,"L'exemplaire programme" |
/programs/develop/examples/example2/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/develop/examples/example2/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm example2.asm example2 |
@erase lang.inc |
@pause |
/programs/develop/examples/example2/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm example2.asm example2 |
@erase lang.inc |
@pause |
/programs/develop/examples/example2/trunk/dialogs1.inc |
---|
59,7 → 59,7 |
mov eax,37 |
mov ebx,2 |
int 0x40 |
mcall |
cmp [window_on],0 |
jne openw2 |
73,7 → 73,7 |
mov eax,23 |
mov ebx,2 |
int 0x40 |
mcall |
cmp eax,0 |
jne no_open |
80,7 → 80,7 |
mov eax,37 |
mov ebx,2 |
int 0x40 |
mcall |
cmp eax,0 |
jne waitformouse |
88,7 → 88,7 |
mov eax,37 |
mov ebx,1 |
int 0x40 |
mcall |
mov esi,eax |
120,7 → 120,7 |
waitm: |
mov eax,5 |
mov ebx,1 |
int 0x40 |
mcall |
dec ecx |
jz no_open |
cmp [window_on],0 |
150,7 → 150,7 |
mov eax,9 |
mov ebx,table |
mov ecx,-1 |
int 0x40 |
mcall |
mov eax,[table+34] |
mov [mo_x],eax |
161,7 → 161,7 |
mov ebx,1 |
mov ecx,alert_entry |
mov edx,[g_stack] |
int 0x40 |
mcall |
mov [esp+28],dword 0 ; clear button entry |
179,7 → 179,7 |
mov eax,9 |
mov ebx,table |
mov ecx,-1 |
int 0x40 |
mcall |
cmp [table+46],dword 30 |
jb drmr |
193,7 → 193,7 |
shl ecx,16 |
add ecx,[m_ys] |
mov edx,0xf0f8ff |
int 0x40 |
mcall |
mov eax,38 ; egde lines |
mov ebx,[m_x] |
204,7 → 204,7 |
shl ecx,16 |
add ecx,[m_y] |
mov edx,0x000000 |
int 0x40 |
mcall |
mov eax,38 |
mov ecx,[m_y] |
add ecx,[m_ys] |
211,7 → 211,7 |
shl ecx,16 |
add ecx,[m_y] |
add ecx,[m_ys] |
int 0x40 |
mcall |
mov esi,menu-1 |
mov edi,[m_x] |
231,7 → 231,7 |
mov edx,esi |
add edx,3 |
mov esi,12 |
int 0x40 ; draw text |
mcall ; draw text |
pop esi |
add esi,2 |
add edi,50 |
282,7 → 282,7 |
mov ebx,1 |
mov ecx,alert_entry |
mov edx,[g_stack] |
int 0x40 |
mcall |
mov [menu_action],'MA ' |
298,7 → 298,7 |
mov eax,23 ; wait here for event |
mov ebx,1 |
int 0x40 |
mcall |
cmp eax,1 ; redraw request ? |
je alert_red |
313,7 → 313,7 |
mov eax,9 |
mov ebx,table |
mov ecx,-1 |
int 0x40 |
mcall |
cmp ax,[table+4] |
je no_close |
323,7 → 323,7 |
mov [menu_action],'----' |
mov [window_on],0 |
mov eax,-1 |
int 0x40 |
mcall |
no_close: |
jmp alert_still |
334,12 → 334,12 |
alert_key: ; key |
mov eax,2 ; just read it and ignore |
int 0x40 |
mcall |
jmp alert_still |
alert_button: ; button |
mov eax,17 ; get id |
int 0x40 |
mcall |
shr eax,8 |
cmp eax,3 |
364,7 → 364,7 |
mov [g_n],-1 |
mov [window_on],0 |
mov eax,-1 ; close this program |
int 0x40 |
mcall |
rtext db 'NO YES OK ' |
381,7 → 381,7 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
cmp [window_on],2 |
jne no_win_type_2 |
418,7 → 418,7 |
mov edx,0x00ffffff ; color of work area RRGGBB,8->color gl |
mov esi,0x00ffffff ; color of grab bar RRGGBB,8->color gl |
mov edi,0x000000cc ; color of frames RRGGBB |
int 0x40 |
mcall |
pop edx |
445,10 → 445,10 |
mov edx,0x40000000 |
add edx,ebp |
mov esi,0 |
int 0x40 |
mcall |
popa |
mov eax,4 ; draw text |
int 0x40 |
mcall |
inc ebp |
add ebx,14 |
jmp no_d_found |
461,7 → 461,7 |
jne no_win_1 |
mov eax,14 ; to middle of screen |
int 0x40 |
mcall |
mov ecx,eax |
and ecx,0xffff |
shr ecx,1 |
480,7 → 480,7 |
mov edx,0x02ffffff ; color of work area RRGGBB,8->color gl |
mov esi,0x80d05050 ; color of grab bar RRGGBB,8->color gl |
mov edi,0x00d05050 ; color of frames RRGGBB |
int 0x40 |
mcall |
mov eax,4 ; label |
488,7 → 488,7 |
mov ecx,0x10ddeeff |
mov edx,alert_labelt1 |
mov esi,alert_label1len-alert_labelt1 |
int 0x40 |
mcall |
mov eax,4 |
mov ebx,10*65536+43 |
495,7 → 495,7 |
mov ecx,0x10000000 |
mov edx,[g_t] |
mov esi,[g_l] |
int 0x40 |
mcall |
cmp [g_1],1 |
jne gadgets_no_1 |
509,7 → 509,7 |
mov ecx,75*65536+16 |
mov edx,3 |
mov esi,0x446688 |
int 0x40 |
mcall |
mov eax,4 |
mov ebx,[g_x] |
520,7 → 520,7 |
mov ecx,0x10ffffff |
mov edx,alert_t2 |
mov esi,alert_t2len-alert_t2 |
int 0x40 |
mcall |
gadgets_no_1: |
536,7 → 536,7 |
mov ecx,75*65536+16 |
mov edx,1 |
mov esi,0x446688 |
int 0x40 |
mcall |
mov eax,8 |
mov ebx,[g_x] |
547,7 → 547,7 |
mov ecx,75*65536+16 |
mov edx,2 |
mov esi,0x446688 |
int 0x40 |
mcall |
mov eax,4 |
mov ebx,[g_x] |
558,7 → 558,7 |
mov ecx,0x10ffffff |
mov edx,alert_t1 |
mov esi,alert_t1len-alert_t1 |
int 0x40 |
mcall |
gadgets_no_2: |
566,7 → 566,7 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
/programs/develop/examples/example2/trunk/example2.asm |
---|
18,7 → 18,7 |
dd 0x0 , 0x0 ; I_Param , I_Icon |
include 'lang.inc' |
include 'macros.inc' |
include '..\..\..\..\macros.inc' |
include 'dialogs1.inc' |
menu_history dd 0x0 |
25,13 → 25,13 |
START: ; start of execution |
red: |
call draw_window_main |
still: ; wait here for event |
mov eax,23 |
mov ebx,2 |
int 0x40 |
mov eax,10 |
mcall |
cmp eax,1 ; process events |
je red |
52,7 → 52,7 |
mov ebx,220*65536+6*4 |
mov ecx,70*65536+8 |
mov edx,0xffffff |
int 0x40 |
mcall |
mov eax,4 ; show menu selections |
mov ebx,220*65536+70 |
59,7 → 59,7 |
mov ecx,0x000000 |
mov edx,menu_action |
mov esi,4 |
int 0x40 |
mcall |
nodisplay: |
66,28 → 66,24 |
cmp word [menu_action],word 'AD' ; user requests close |
jne no_menu_close |
mov eax,-1 |
int 0x40 |
mcall |
no_menu_close: |
jmp still |
red: ; redraw |
call draw_window_main |
jmp still |
key: |
mov eax,2 ; key in buffer |
int 0x40 |
mcall |
jmp still |
button: ; button in buffer |
mov eax,17 |
int 0x40 |
mcall |
cmp ah,1 ; close application |
jne noclose |
mov eax,-1 |
int 0x40 |
or eax,-1 |
mcall |
noclose: |
cmp ah,2 |
122,7 → 118,7 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
mov eax,0 ; open window |
mov ebx,100*65536+300 |
130,7 → 126,7 |
mov edx,0x02ffffff |
mov esi,0x805080d0 |
mov edi,0x005080d0 |
int 0x40 |
mcall |
call draw_menu ; DRAW MENU |
139,7 → 135,7 |
mov ecx,0x10ddeeff |
mov edx,labelt |
mov esi,labellen-labelt |
int 0x40 |
mcall |
mov eax,8 ; close button |
mov ebx,(300-17)*65536+10 |
146,7 → 142,7 |
mov ecx,5*65536+10 |
mov edx,1 |
mov esi,0x4466bb |
int 0x40 |
mcall |
mov eax,8 ; button : OPEN ALERT BOX |
mov ebx,25*65536+150 |
153,7 → 149,7 |
mov ecx,61*65536+14 |
mov edx,2 |
mov esi,0x4466aa |
int 0x40 |
mcall |
mov eax,8 ; button : OPEN CHOOSE BOX |
mov ebx,25*65536+150 |
160,7 → 156,7 |
mov ecx,81*65536+14 |
mov edx,3 |
mov esi,0x4466aa |
int 0x40 |
mcall |
mov ebx,20*65536+55 ; draw info text with function 4 |
mov ecx,0xffffff |
168,7 → 164,7 |
mov esi,40 |
newline: |
mov eax,4 |
int 0x40 |
mcall |
add ebx,10 |
add edx,40 |
cmp [edx],byte 'x' |
176,7 → 172,7 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
/programs/develop/examples/example3/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/develop/examples/example3/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm example3.asm example3 |
@erase lang.inc |
@pause |
/programs/develop/examples/example3/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm example3.asm example3 |
@erase lang.inc |
@pause |
/programs/develop/examples/example3/trunk/example3.asm |
---|
16,10 → 16,11 |
dd 0x0 , 0x0 ; I_Param , I_Icon |
include 'lang.inc' |
include 'macros.inc' |
include '..\..\..\..\macros.inc' |
START: ; start of execution |
red: |
call draw_window ; draw window |
call clear_data ; clear status bar |
26,34 → 27,26 |
still: |
mov eax,10 ; wait here for event |
int 0x40 ; do it |
mcall ; do it |
cmp eax,1 ; redraw request ? |
je red ; yes jump to it |
jz red ; yes jump to it |
cmp eax,2 ; key in buffer ? |
je key ; yes jump to it |
cmp eax,3 ; button in buffer ? |
je button ; yes jump to it |
jmp still ; start again |
jnz button |
red: ; redraw |
call draw_window ; redraw window |
call clear_data ; clear status info |
jmp still ; start again |
key: ; key |
mov eax,2 ; just read it and ignore |
int 0x40 ; do it |
mcall ; do it |
jmp still ; start again |
button: ; button |
mov eax,17 ; get id |
int 0x40 ; do it |
mcall ; do it |
cmp ah,1 ; is it the close button |
jne noclose ; no then jump code |
mov eax,-1 ; close this program |
int 0x40 ; do it |
or eax,-1 ; close this program |
mcall ; do it |
noclose: |
cmp ah,100 ; is it main menu |
92,7 → 85,7 |
mov eax,12 ; function 12: tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 ; do it |
mcall ; do it |
mov eax,0 ; function 0: define and draw window |
mov ebx,50*65536 ; [x start] *65536 |
101,7 → 94,7 |
add ecx,[y_size] ; add [y size] |
mov edx,0x80ffffff ; colour of work area RRGGBB |
mov esi,0x806688dd ; grab bar colour. negative glide |
int 0x40 ; do it |
mcall ; do it |
mov eax,4 ; function 4: write text to window |
mov ebx,6*65536+7 ; [x start] *65536 + [y start] |
108,7 → 101,7 |
mov ecx,0x00ffffff ; text colour |
mov edx,window_text ; pointer to text beginning |
mov esi,12 ; text length |
int 0x40 ; do it |
mcall ; do it |
mov eax,8 ; function 8: define and draw button |
mov ebx,(381-18)*65536+13 ; [x start] *65536 + [x size] |
115,7 → 108,7 |
mov ecx,4*65536+13 ; [y start] *65536 + [y size] |
mov edx,1 ; button id |
mov esi,0x6688dd ; button color RRGGBB |
int 0x40 ; do it |
mcall ; do it |
mov eax,13 ; function 13: draw bar |
mov ebx,1*65536 ; [x start] *65536 |
126,7 → 119,7 |
shl ecx,16 ; *65536 |
add ecx,17 ; add height |
mov edx,0x006688dd ; bar colour |
int 0x40 ; do it |
mcall ; do it |
mov eax,4 ; function 4 : write text to window |
mov ebx,5*65536 ; [x start] *65536 |
135,17 → 128,17 |
xor ecx,ecx ; text colour |
mov edx,button_no ; pointer to text beginning |
mov esi,14 ; text length |
int 0x40 ; do it |
mcall ; do it |
add ebx,95*65536 ; move xy position |
mov edx,menu_text ; pointer to text beginning |
int 0x40 ; do it |
mcall ; do it |
call write_main ; draw menu |
mov eax,12 ; function 12: tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 ; do it |
mcall ; do it |
pop eax ; restore register |
ret ; return |
160,7 → 153,7 |
dec ebx ; x size - 1 |
mov ecx,21*65536+17 ; [y start] *65536 +[y size] |
mov edx,[menu_colour] ; menu colour |
int 0x40 ; do it |
mcall ; do it |
mov [main_pos],1 ; start position first button |
xor edi,edi ; data offset = 0 |
184,7 → 177,7 |
xor edx,edx ; clear register |
mov dl,[MENU_DATA+edi+2] ; get byte button id number |
mov esi,[menu_colour] ; button colour |
int 0x40 ; do it |
mcall ; do it |
mov eax,4 ; function 4: write text to window |
add ebx,6*65536-49 ; move xy position |
xor ecx,ecx ; text colour |
191,7 → 184,7 |
mov edx,MENU_DATA+3 ; point at menu text |
add edx,edi ; add our offset |
mov esi,11 ; number of characters |
int 0x40 ; do it |
mcall ; do it |
is_main_bar: |
add [main_pos],76 ; update button position |
217,7 → 210,7 |
add edx,[y_size] ; +[y start] |
sub edx,12 ; move position |
xor esi,esi ; text colour |
int 0x40 ; do it |
mcall ; do it |
pop eax ; restore register |
cmp [button_press],1 ; has a sub button been pressed |
238,7 → 231,7 |
mov esi,1 ; 1 character |
mov eax,4 ; function 4: write text to window |
xor ecx,ecx ; text colour |
int 0x40 ; do it |
mcall ; do it |
pop eax ; restore register |
draw_get_out: |
256,9 → 249,9 |
shl ecx,16 ; *65536 |
add ecx,13 ; [y size] |
mov edx,0x00aaaaaa ; bar colour |
int 0x40 ; do it |
mcall ; do it |
mov ebx,185*65536+11 ; move position |
int 0x40 ; do it again |
mcall ; do it again |
pop eax ; restore register |
ret ; return |
309,7 → 302,7 |
mov ecx,[but_pos] ; [y start] |
shl ecx,16 ; *65536 |
add ecx,17 ; [y size] |
int 0x40 ; do it |
mcall ; do it |
jmp is_sub_bar ; jump button code |
is_sub_button: |
323,7 → 316,7 |
shl ecx,16 ; *65536 |
add ecx,16 ; [y size] |
mov esi,[menu_colour] ; button colour |
int 0x40 ; do it |
mcall ; do it |
mov ebx,[sub_pos] ; [x start] |
shl ebx,16 ; *65536 |
335,7 → 328,7 |
add edx,edi ; add offset |
mov esi,11 ; number of characters |
mov eax,4 ; function 4: write text to window |
int 0x40 ; do it |
mcall ; do it |
is_sub_bar: |
add [but_pos],17 ; move y position |
/programs/develop/examples/hello/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/develop/examples/hello/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm hello.asm hello |
@erase lang.inc |
@pause |
/programs/develop/examples/hello/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm hello.asm hello |
@erase lang.inc |
@pause |
/programs/develop/examples/hello/trunk/cmdipc.inc |
---|
1,10 → 1,10 |
include "macros.inc" |
include "..\..\..\..\macros.inc" |
initipc: |
mov eax,9 |
mov ebx,prc |
mov ecx,-1 |
int 0x40 |
mcall |
mov ecx,eax |
loop1: |
12,7 → 12,7 |
mov eax,9 |
mov ebx,prc |
int 0x40 |
mcall |
cmp word [prc+10],'CM' |
jne no_cmd |
39,7 → 39,7 |
mov ecx,dword [cmdpid] |
mov edx,printf |
mov esi,4 |
int 0x40 |
mcall |
call initcmd |
46,11 → 46,11 |
waitcmdinit: |
mov eax,40 |
mov ebx,01000000b |
int 0x40 |
mcall |
mov eax,23 |
mov ebx,100 |
int 0x40 |
mcall |
cmp eax,7 |
je cmd_ok |
64,7 → 64,7 |
mov eax,18 |
mov ebx,3 |
mov ecx,dword [cmdnumb] |
int 0x40 |
mcall |
ret |
71,12 → 71,12 |
pause1: |
mov eax,5 |
mov ebx,1 |
int 0x40 |
mcall |
ret |
exit: |
mov eax,-1 |
int 0x40 |
mcall |
cls: |
mov eax,60 |
84,7 → 84,7 |
mov ecx,dword [cmdpid] |
mov edx,ipccls |
mov esi,4 |
int 0x40 |
mcall |
call pause1 |
120,7 → 120,7 |
mov ecx,dword [cmdpid] |
mov edx,stripc |
mov esi,84 |
int 0x40 |
mcall |
call pause1 |
132,7 → 132,7 |
mov ecx,dword [cmdpid] |
mov edx,ipceol |
mov esi,4 |
int 0x40 |
mcall |
call pause1 |
144,13 → 144,13 |
mov ecx,dword [cmdpid] |
mov edx,ipckey |
mov esi,4 |
int 0x40 |
mcall |
mov eax,60 |
mov ebx,1 |
mov ecx,ipcb |
mov edx,28 |
int 0x40 |
mcall |
cld |
mov ecx,28 |
166,10 → 166,10 |
waitagain: |
mov eax,40 |
mov ebx,01000000b |
int 0x40 |
mcall |
mov eax,10 |
int 0x40 |
mcall |
cmp eax,7 |
jne waitagain |
186,7 → 186,7 |
mov ecx,dword [cmdpid] |
mov edx,ipcend |
mov esi,4 |
int 0x40 |
mcall |
jmp exit |
/programs/develop/examples/ir/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
/programs/develop/examples/ir/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm ir.asm ir |
@erase lang.inc |
@pause |
/programs/develop/examples/ir/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm ir.asm ir |
@erase lang.inc |
@pause |
/programs/develop/examples/ir/trunk/ir.asm |
---|
17,7 → 17,7 |
dd 0, 0 |
include 'macros.inc' |
include '..\..\..\..\macros.inc' |
START: ; start of execution |
27,17 → 27,17 |
mov ebx,0 |
mov ecx,0x3f0 |
mov edx,0x3ff |
int 0x40 |
mcall |
mov eax,45 ; reserve irq 4 |
mov ebx,0 |
mov ecx,4 |
int 0x40 |
mcall |
mov eax,44 ; set read ports for irq 4 |
mov ebx,irqtable |
; mov ecx,4 |
int 0x40 |
mcall |
mov dh, 3 ; all ports have number 3xx hex |
67,7 → 67,7 |
mov eax,5 |
mov ebx,100 |
int 0x40 |
mcall |
mov dl, 0xf8 |
mov al, 'I' |
75,7 → 75,7 |
mov eax,5 |
mov ebx,10 |
int 0x40 |
mcall |
mov al, 'R' |
out dx, al |
82,7 → 82,7 |
mov eax,40 ; get com 1 data with irq 4 |
mov ebx,0000000000010000b shl 16 + 101b |
int 0x40 |
mcall |
red: |
call draw_window |
90,7 → 90,7 |
still: |
mov eax,10 ; wait here for event |
int 0x40 |
mcall |
dec eax |
jz red |
dec eax |
99,7 → 99,7 |
button: ; button |
mov al,17 ; get id |
int 0x40 |
mcall |
; we have only one button, close |
106,16 → 106,16 |
mov eax,45 ; free irq |
mov ebx,1 |
mov ecx,4 |
int 0x40 |
mcall |
mov eax,46 ; free ports 0x3f0-0x3ff |
mov ebx,1 |
mov ecx,0x3f0 |
mov edx,0x3ff |
int 0x40 |
mcall |
or eax,-1 ; close this program |
int 0x40 |
mcall |
pos dd 0x0 |
130,7 → 130,7 |
readir: |
mov eax,42 |
mov ebx,4 |
int 0x40 |
mcall |
cmp ebx,80 |
jne nocd |
137,7 → 137,7 |
mov eax,70 |
mov ebx,cdplayer |
int 0x40 |
mcall |
nocd: |
156,7 → 156,7 |
mov ebx,20*65536+260 |
mov ecx,22*65536+220 |
mov edx,[wcolor] |
int 0x40 |
mcall |
mov eax,10*19+1 |
noeaxz: |
mov [pos],eax |
209,7 → 209,7 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
; DRAW WINDOW |
mov eax,0 ; function 0 : define and draw window |
217,7 → 217,7 |
mov ecx,100*65536+250 ; [y start] *65536 + [y size] |
mov edx,[wcolor] ; color of work area RRGGBB,8->color |
mov edi,labelt ; caption string |
int 0x40 |
mcall |
; ; WINDOW LABEL |
; mov eax,4 ; function 4 : write text to window |
225,7 → 225,7 |
; mov ecx,0x00ffffff ; color of text RRGGBB |
; mov edx,labelt ; pointer to text beginning |
; mov esi,labellen-labelt ; text length |
; int 0x40 |
; mcall |
; CLOSE BUTTON |
; mov eax,8 ; function 8 : define and draw button |
233,7 → 233,7 |
; mov ecx,5*65536+12 ; [y start] *65536 + [y size] |
; mov edx,1 ; button id |
; mov esi,0x5599cc ; button color RRGGBB |
; int 0x40 |
; mcall |
draw_text: |
244,7 → 244,7 |
mov edi,20 |
newline: |
mov eax,4 |
int 0x40 |
mcall |
add ebx,10 |
add edx,esi |
dec edi |
252,7 → 252,7 |
mov eax,12 |
mov ebx,2 |
int 0x40 |
mcall |
ret |
/programs/develop/examples/md5/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm md5.asm md5 |
@erase lang.inc |
@pause |
/programs/develop/examples/md5/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm md5.asm md5 |
@erase lang.inc |
@pause |
/programs/develop/examples/md5/trunk/md5.asm |
---|
12,20 → 12,7 |
; |
; ®¬¯¨«¨àã¥âìáï Fasm'®¬ ¤«ï ¥ãíâ |
include 'lang.inc' |
macro diff16 title,l2 |
{ |
local s,d,l1 |
s = l2 |
display title,': 0x' |
repeat 8 |
d = 48 + s shr ((8-%) shl 2) and $0F |
if d > 57 |
d = d + 65-57-1 |
end if |
display d |
end repeat |
display 13,10 |
} |
include '..\..\..\..\macros.inc' |
use32 |
35,47 → 22,39 |
dd 0x01 ; ¢¥àá¨ï § £®«®¢ª (¢á¥£¤ 1) |
dd START ; ¤à¥á ¯¥à¢®© ª®¬ ¤ë |
dd I_END ; à §¬¥à ¯à®£à ¬¬ë |
dd 0x100000 ; ª®«¨ç¥á⢮ ¯ ¬ï⨠|
dd 0x100000 ; ¤à¥á ¢¥àè¨ë áâíª |
dd 0x4000 ; ª®«¨ç¥á⢮ ¯ ¬ï⨠|
dd 0x4000 ; ¤à¥á ¢¥àè¨ë áâíª |
dd 0x0 ; ¤à¥á ¡ãä¥à ¤«ï ¯ à ¬¥â஢ (¥ ¨á¯®«ì§ã¥âáï) |
dd 0x0 ; § १¥à¢¨à®¢ ® |
START: ; ç «® ¢ë¯®«¥¨ï ¯à®£à ¬¬ë |
red: |
call draw_window ; ¯¥à¢ ¯¥à¥à¨á㥬 ®ª® |
still: |
mov eax,23 ; ¦¨¤ ¥¬ ᮡë⨩ |
mov ebx,1 |
int 0x40 |
mov eax,10 ; ¦¨¤ ¥¬ ᮡë⨩ |
mcall |
cmp eax,1 ; ¯à®á ¯¥à¥à¨á®¢ªã ? |
jz red |
cmp eax,2 ; ¦ â ª« ¢¨è¨ ? |
jz key |
cmp eax,3 ; ¦ â ª®¯ª ? |
jz button |
jnz button |
jmp still |
red: |
call draw_window |
jmp still |
key: |
mov eax,2 |
int 0x40 |
mcall |
jmp still |
button: |
mov eax,17 |
int 0x40 |
mcall |
cmp ah,1 ; id ª®¯ª¨ = 1 ? |
jnz noclose |
mov eax,-1 |
int 0x40 |
or eax,-1 |
mcall |
noclose: |
356,23 → 335,16 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
; DRAW WINDOW |
mov eax,0 ; function 0 : define and draw window |
mov ebx,100*65536+230 ; [x start] *65536 + [x size] |
mov ecx,60*65536+100 ; [y start] *65536 + [y size] |
mov edx,0x03ffffff ; color of work area RRGGBB |
mov esi,0x80aabbcc ; color of grab bar RRGGBB,8->color gl |
mov edi,0x00aabbcc ; color of frames RRGGBB |
int 0x40 |
mov edx,0x13ffffff ; color of work area RRGGBB |
mov edi,title ; WINDOW LABEL |
mcall |
; WINDOW LABEL |
mov eax,4 ; function 4 : write text to window |
mov ebx,8*65536+8 ; [x start] *65536 + [y start] |
mov ecx,0x00ffffff ; color of text RRGGBB |
mov edx,labeltext ; pointer to text beginning |
mov esi,lte-labeltext ; text length |
int 0x40 |
; ¨á㥬 ª®¯ªã ¤«ï £¥¥à 樨 |
mov eax,8 ; function 8 : define and draw button |
mov ebx,20*65536+80 ; [x start] *65536 + [x size] |
379,7 → 351,7 |
mov ecx,34*65536+14 ; [y start] *65536 + [y size] |
mov edx,2 ; button id |
mov esi,0x5588dd ; button color RRGGBB |
int 0x40 |
mcall |
; §¢ ¨¥ ª®¯ªã |
mov eax,4 ; function 4 : write text to window |
387,9 → 359,8 |
mov ecx,0x000000 ; color of text RRGGBB |
mov edx,gen_txt ; pointer to text beginning |
mov esi,gen_len-gen_txt ; text length |
int 0x40 |
mcall |
mov eax,4 ; draw info text with function 4 |
mov ebx,20*65536+70 |
mov ecx,0x000000 |
mov edx,[text] |
397,18 → 368,17 |
mov al, [textlen] |
mov esi,eax |
mov eax,4 |
int 0x40 |
mcall |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
;¡« áâì ¤ ëå |
labeltext: db 'MD5 Generator' |
lte: |
title db 'MD5 Generator',0 |
text: dd 0 |
textlen: dd 0 |
/programs/develop/examples/numcalc/trunk/@numcalc.asm |
---|
1,3 → 1,4 |
include '..\..\..\..\macros.inc' |
use32 |
db 'MENUET01' |
dd 1 |
15,17 → 16,17 |
pop ebx |
mov cl, 45h ; NumLock scancode |
xor edx, edx |
int 40h |
mcall |
mov al, 40 ; ñòàðøèå áèòû óæå îáíóëåíû |
mov bl, 2 ; ñòàðøèå áèòû óæå îáíóëåíû |
int 40h |
mcall |
event: |
push 10 |
pop eax |
int 40h |
mcall |
; ó íàñ ìîæåò áûòü òîëüêî îäíî ñîáûòèå - íàæàòà êëàâèøà |
mov al, 2 |
int 40h |
mcall |
cmp al, 2 |
jnz event |
; ó íàñ åñòü òîëüêî îäíà ãîðÿ÷àÿ êëàâèøà |
32,7 → 33,7 |
push 70 |
pop eax |
mov ebx, fileinfo |
int 40h |
mcall |
jmp event |
fileinfo: |
/programs/develop/examples/radiobutton/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
/programs/develop/examples/radiobutton/trunk/optionbox.asm |
---|
23,7 → 23,7 |
; 㪠§ ⥫ì áâபã, ¢ ª®â®àãî § ¯¨á ¯ãâì, |
; ®âªã¤ § ¯ã饮 ¯à¨«®¦¥¨¥ |
;------------------ |
include 'macros.inc' |
include '..\..\..\..\macros.inc' |
include 'optionbox.inc' ;¢ª«îç¨âì ä ©« opeck.inc |
version_op ;¢ ਠâ, ¯à¨ ª®â®à®¬ ¨á¯®«ì§ãîâáï 梥â , ª®â®àë¥ § ¤ ¥â ¯®«ì§®¢ ⥫ì |
36,16 → 36,16 |
mov ebx,3 |
mov ecx,sc |
mov edx,sizeof.system_colors |
int 0x40 |
mcall |
mov eax,40 ;ãáâ ®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩ |
mov ebx,0x25 ;á¨á⥬ ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥, ¦ â ª®¯ª , ®¯à¥¤¥«ñ ï à ¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ¦ ⨥ ª®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥¨¥; á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨) |
int 0x40 |
mcall |
red_win: |
call draw_window ;¯¥à¢® ç «ì® ¥®¡å®¤¨¬® à¨á®¢ âì ®ª® |
still: ;®á®¢®© ®¡à ¡®â稪 |
mov eax,10 ;¦¨¤ âì ᮡëâ¨ï |
int 0x40 ;®¦¨¤ âì ᮡë⨥ ¢ â¥ç¥¨¥ 2 ¬¨««¨á¥ªã¤ |
mcall ;®¦¨¤ âì ᮡë⨥ ¢ â¥ç¥¨¥ 2 ¬¨««¨á¥ªã¤ |
cmp al,0x1 ;¥á«¨ ¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª |
jz red_win |
55,17 → 55,17 |
jmp still ;¥á«¨ ¨ç¥£® ¨§ ¯¥à¥ç¨á«¥®£® ⮠ᮢ ¢ 横« |
button: |
; mov eax,17 ;¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª« ¢¨è¨ |
; int 0x40 |
; mcall |
; test ah,ah ;¥á«¨ ¢ ah 0, â® ¯¥à¥©â¨ ®¡à ¡®â稪 ᮡë⨩ still |
; jz still |
or eax,-1 ;¢ eax,-1 - 5 ,¡ ©â®¢ ã á ¦¥ ⮫쪮 3 ¢ë©â¨ |
int 0x40 ;¤ «¥¥ ¢ë¯®«ï¥âáï ¢ë室 ¨§ ¯à®£à ¬¬ë |
mcall ;¤ «¥¥ ¢ë¯®«ï¥âáï ¢ë室 ¨§ ¯à®£à ¬¬ë |
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
draw_window: ;à¨á®¢ ¨¥ ®ª ¯à¨«®¦¥¨ï |
mov eax,12 ;¢ ॣ¨áâà ¢¥á⨠§ 票¥ = 12 |
mov ebx,1 ;¯à¨á¢®¨âì 1 |
int 0x40 |
mcall |
xor eax,eax ;®¡ã«¨âì eax |
mov ebx,50*65536+180 ;[ª®®à¤¨ â ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x] |
73,13 → 73,13 |
mov edx,[sc.work] ; color of work area RRGGBB,8->color gl |
or edx,0xb3000000 |
mov edi,hed |
int 0x40 ; à¨á®¢ âì ®ª® ¯à¨«®¦¥¨ï |
mcall ; à¨á®¢ âì ®ª® ¯à¨«®¦¥¨ï |
draw_option_boxes option_boxes,option_boxes_end ;à¨á®¢ ¨¥ 祪¡®ªá®¢ |
mov eax,12 ;ãªæ¨ï 12 - ç âì/§ ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª . |
mov ebx,2 ;®¤äãªæ¨ï 2 - § ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª . |
int 0x40 |
mcall |
ret |
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
/programs/develop/examples/radiobutton/trunk/optionbox.bat |
---|
1,4 → 1,2 |
@fasm.exe optionbox.asm optionbox |
@kpack.exe optionbox |
REM @klbrinwin.exe optionbox |
@pause |
/programs/develop/examples/radiobutton/trunk/optionbox.inc |
---|
48,12 → 48,12 |
shl ecx,16 |
add ecx,op_size |
mov edx,op_border_color |
int 0x40 ;à¨á㥬 à ¬ªã |
mcall ;à¨á㥬 à ¬ªã |
mov edx,op_color |
add ebx,1 shl 16 - 2 |
add ecx,1 shl 16 - 2 |
int 0x40 ;§ ªà 訢 ¥¬ ¢ãâ८á⨠祪¡®ªá |
mcall ;§ ªà 訢 ¥¬ ¢ãâ८á⨠祪¡®ªá |
mov eax,option_group |
mov dword eax,[eax] |
74,7 → 74,7 |
movzx esi,word op_text_length ; £à㧨¬ ¤«¨ã ¤¯¨á¨ ¢ esi |
;¢¥á¥¬ ¢ eax § 票¥ ¢ë¢®¤ ¤¯¨á¨ ª ¢ã |
mov eax,4 |
int 0x40 ;뢮¤ |
mcall ;뢮¤ |
popa ;¢®ááâ ®¢¨âì § 票ï ॣ¨áâ஢ ¨§ á⥪ |
ret ;¢ë©¤¥¬ ¨§ ¯à®æ¥¤ãàë |
97,7 → 97,7 |
add ecx,(op_size/3) ;¤®¡ ¢¨âì (áâ®à® ¯àאַ㣮«ì¨ª /3) |
shl ecx,16 ;ᤢ¨¥¬ 16 à §à冷¢ ¢ «¥¢® (㬮¦¨¬ 65536) |
mov cx,bp ;§ £à㧨¬ § 票ï ॣ¨áâà 㪠§ â¥«ï ¡ §ë ¢ cx |
int 0x40 ;¢ë¢®¤ |
mcall ;¢ë¢®¤ |
ret ;¢ë©â¨ ¨§ ¯à®æ¥¤ãàë |
.mouse: ;®¡à ¡®âª ¬ëè¨ |
104,7 → 104,7 |
pusha |
mov eax,37 ;¡ã¤¥¬ çâ® â® ¤¥« âì ¥á«¨ ã á çâ® - ¨âì ¦ â® |
mov ebx,2 ;¢¥á⨠¢ ॣ¨áâà § 票¥ 2 |
int 0x40 ;¯à®¢¥àª ¥ ¦ « «¨ ¯®«ì§®¢ â¥«ì ª®¯ªã ¬ë誨 |
mcall ;¯à®¢¥àª ¥ ¦ « «¨ ¯®«ì§®¢ â¥«ì ª®¯ªã ¬ë誨 |
test eax,eax ;¯à®¢¥àª ¥á«¨ ã á ¢ eax=0, â® ãáâ ®¢¨¬ ä« £ ¨ ¢ë©¤¥¬ |
jnz @f ;¯¥à¥©â¨ ¨¦îî ¬¥âªã @@ |
popa ;¥á«¨ ¨ç¥£® ¥ ¯à®¨§®è«®, â® ¢®ááâ ®¢¨¬ § 票ï ॣ¨áâ஢ ¨§ á⥪ |
120,7 → 120,7 |
mov eax,37 ;¯®«ã稬 ª®®à¤¨ âë ¬ë誨 |
inc ebx ;¤®¡ ¢¨âì 1 |
int 0x40 ;¯®«ãç¨âì ª®®à¤¨ âë ªãàá®à ®â®á¨â¥«ì® ®ª |
mcall ;¯®«ãç¨âì ª®®à¤¨ âë ªãàá®à ®â®á¨â¥«ì® ®ª |
movzx ebx,word op_top ;§ £à㧨âì ¢ bx § 票¥ ª®®à¤¨ âë ã |
cmp ax,bx ;áà ¢¨âì á á ª®®à¤¨ ⮩ ªãàá®à |
/programs/develop/examples/rtdata/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
/programs/develop/examples/rtdata/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm rtdata.asm rtdata |
@erase lang.inc |
@pause |
/programs/develop/examples/rtdata/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm rtdata.asm rtdata |
@erase lang.inc |
@pause |
/programs/develop/examples/rtdata/trunk/rtdata.asm |
---|
5,7 → 5,7 |
; |
include "lang.inc" |
include "macros.inc" |
include "..\..\..\..\macros.inc" |
use32 |
org 0x0 |
25,31 → 25,38 |
mov eax,45 ; reserve irq 4 |
mov ebx,0 |
mov ecx,4 |
int 0x40 |
mcall |
mov eax,46 ; reserve ports 0x3f8-0x3ff |
mov ebx,0 |
mov ecx,0x3f8 |
mov edx,0x3ff |
int 0x40 |
mcall |
mov eax,44 ; read these ports at interrupt/irq 4 |
mov ebx,irqtable |
mov ecx,4 |
int 0x40 |
mcall |
mov eax,40 ; enable event for interrupt/irq 4 |
mov ebx,10000b shl 16 + 111b |
int 0x40 |
mcall |
call program_com1 |
mov eax, 48 |
mov ebx, 3 |
mov ecx, sc |
mov edx, sizeof.system_colors |
mcall |
red: |
call draw_window |
still: |
mov eax,10 ; wait here for event |
int 0x40 |
mcall |
cmp eax,1 ; redraw request ? |
je red |
62,13 → 69,9 |
jmp still |
red: ; redraw |
call draw_window |
jmp still |
key: ; key |
mov eax,2 ; just read it and ignore |
int 0x40 |
mcall |
mov al,ah |
mov dx,0x3f8 |
78,7 → 81,7 |
button: ; button |
or eax,-1 ; close this program |
int 0x40 |
mcall |
irq4: |
85,7 → 88,7 |
mov eax,42 |
mov ebx,4 |
int 0x40 |
mcall |
; eax = number of bytes left |
; ecx = 0 success, =1 fail |
141,15 → 144,9 |
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 |
int 0x40 |
mcall |
; DRAW WINDOW |
mov eax, 0 ; function 0 : define and draw window |
157,7 → 154,7 |
mov ecx, 100*65536+85 ; [y start] *65536 + [y size] |
mov edx, [sc.work] |
or edx, 0x03000000 ; color of work area RRGGBB,8->color gl |
int 0x40 |
mcall |
; WINDOW LABEL |
mov eax, 4 ; function 4 : write text to window |
164,9 → 161,9 |
mov ebx, 8*65536+8 ; [x start] *65536 + [y start] |
mov ecx, [sc.grab_text] |
or ecx, 0x10000000 ; font 1 & color ( 0xF0RRGGBB ) |
mov edx, header ; pointer to text beginning |
mov esi, header.len ; text length |
int 0x40 |
mov edx, title ; pointer to text beginning |
mov esi, title.len ; text length |
mcall |
mov eax, 4 ; draw text |
mov ebx, 20*65536+33 |
176,7 → 173,7 |
mov esi, [edx-4] |
test esi, 0xFF000000 |
jnz .finstr |
int 0x40 |
mcall |
add edx, esi |
add edx, 4 |
add ebx, 10 |
187,7 → 184,7 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
198,7 → 195,7 |
mov ecx, [sc.work_text] |
mov edx, string |
mov esi, 32 |
int 0x40 |
mcall |
ret |
209,16 → 206,16 |
text mstr " .",\ |
" ",\ |
" IRQ4 ." |
header: |
title: |
db ' COM1' |
.len = $ - header |
.len = $ - title |
else |
text mstr "TYPED CHARACTERS ARE SENT TO MODEM.",\ |
"DATA FROM MODEM IS READ BY IRQ4",\ |
"INTERRUPT AND DISPLAYED BELOW." |
header: |
title: |
db 'MODEM AT COM1' |
.len = $ - header |
.len = $ - title |
end if |
pos dd 0x0 |
/programs/develop/examples/template/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/develop/examples/template/trunk/template.asm |
---|
9,7 → 9,7 |
; <--- include all MeOS stuff ---> |
include "lang.inc" |
include "macros.inc" |
include "..\..\..\..\macros.inc" |
; <--- start of MenuetOS application ---> |
23,7 → 23,7 |
mov ebx,3 |
mov ecx,sc |
mov edx,sizeof.system_colors |
int 0x40 |
mcall |
redraw: ; redraw event handler |
call draw_window ; at first create and draw the window |
30,7 → 30,7 |
wait_event: ; main cycle |
mov eax, 10 |
int 0x40 |
mcall |
dec eax ; if event = 1 |
jz redraw ; jump to redraw handler |
40,17 → 40,17 |
button: ; button event handler |
mov al, 17 ; get button identifier |
int 0x40 |
mcall |
cmp ah, 1 |
jne wait_event ; return if button id != 1 |
or eax, -1 ; exit application |
int 0x40 |
mcall |
key: ; key event handler |
mov al, 2 ; get key code |
int 0x40 |
mcall |
jmp wait_event |
57,7 → 57,7 |
draw_window: |
mov eax, 12 ; start drawing |
mov ebx, 1 |
int 0x40 |
mcall |
xor eax, eax ; create and draw the window |
mov ebx, 100*65536+200 ; (window_cx)*65536+(window_sx) |
64,12 → 64,12 |
mov ecx, 100*65536+100 ; (window_cy)*65536+(window_sy) |
mov edx, [sc.work] ; work area color |
or edx, 0x33000000 ; & window type 3 |
mov edi, header ; window header |
mov edi, title ; window title |
int 0x40 |
mov eax, 12 ; finish drawing |
mov ebx, 2 |
int 0x40 |
mcall |
ret |
77,11 → 77,11 |
DATA |
if lang eq ru |
header db ' ¡«® ¯à®£à ¬¬ë',0 |
title db ' ¡«® ¯à®£à ¬¬ë',0 |
else if lang eq fr |
header db 'La programme poncive',0 |
title db 'La programme poncive',0 |
else |
header db 'Template program',0 |
title db 'Template program',0 |
end if |
; <--- uninitialised data ---> |
/programs/develop/examples/thread/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/develop/examples/thread/trunk/thread.asm |
---|
12,48 → 12,41 |
dd START ; start of code |
dd I_END ; size of image |
dd 0x2000 ; memory for app |
dd 0x1000 ; esp |
dd 0x2000 ; esp |
dd 0x0 , 0x0 ; I_Param , I_Icon |
include 'lang.inc' |
include 'macros.inc' |
include '..\..\..\..\macros.inc' |
START: ; start of execution |
red: ; redraw |
call draw_window ; at first, draw the window |
still: |
mov eax,10 ; wait here for event |
int 0x40 |
mcall |
cmp eax,1 ; redraw request ? |
dec eax ; redraw request ? |
je red |
cmp eax,2 ; key in buffer ? |
je key |
cmp eax,3 ; button in buffer ? |
je button |
dec eax ; key in buffer ? |
jne button |
jmp still |
red: ; redraw |
call draw_window |
jmp still |
key: ; key |
mov eax,2 ; just read it and ignore |
int 0x40 |
mcall |
jmp still |
button: ; button |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
jne noclose |
mov eax,-1 ; close this program (thread) |
int 0x40 |
or eax,-1 ; close this program (thread) |
mcall |
noclose: |
cmp ah,2 |
67,7 → 60,7 |
mov ebx,1 |
mov ecx,START |
mov edx,[thread_stack] |
int 0x40 |
mcall |
jmp still |
75,6 → 68,7 |
jmp still |
thread_stack dd 0x1000 |
87,10 → 81,10 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
; DRAW WINDOW |
mov eax,0 ; function 0 : define and draw window |
xor eax,eax ; function 0 : define and draw window |
mov ebx,10*65536+290 ; [x start] *65536 + [x size] |
mov ecx,10*65536+130 ; [y start] *65536 + [y size] |
mov esi,[thread_stack] |
99,33 → 93,25 |
shl esi,16 |
add ebx,esi |
add ecx,esi |
mov edx,0x03ffffff ; color of work area RRGGBB,8->color gl |
mov esi,0x808899ff ; color of grab bar RRGGBB,8->color gl |
mov edi,0x008899ff ; color of frames RRGGBB |
int 0x40 |
mov edx,0x33ffffff ; color of work area RRGGBB,8->color gl |
mov edi,title ; WINDOW LABEL |
mcall |
; WINDOW LABEL |
mov eax,4 ; function 4 : write text to window |
mov ebx,8*65536+8 ; [x start] *65536 + [y start] |
mov ecx,0x10ddeeff ; color of text RRGGBB |
mov edx,labelt ; pointer to text beginning |
mov esi,labellen-labelt ; text length |
int 0x40 |
mov eax,8 ; NEW THREAD BUTTON |
mov ebx,25*65536+128 |
mov ecx,88*65536+20 |
mov ebx,20*65536+128 |
mov ecx,63*65536+20 |
mov edx,2 |
mov esi,0x90b0d0 ;0x5577cc |
int 0x40 |
mcall |
mov ebx,25*65536+35 ; draw info text with function 4 |
mov eax,4 |
mov ebx,20*65536+10 ; draw info text with function 4 |
mov ecx,0x224466 |
mov edx,text |
mov esi,40 |
newline: |
mov eax,4 |
int 0x40 |
mcall |
add ebx,10 |
add edx,40 |
cmp [edx],byte 'x' |
134,7 → 120,7 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
143,19 → 129,17 |
if lang eq ru |
text: |
db ' , ' |
db ' . ' |
db ' ' |
db ' . ' |
db ' . ' |
db 'â ¯à®£à ¬¬ ᮧ¤ ¥â ¯®â®ª¨, § ¯ã᪠ï ' |
db '®¤¨ ¨ â®â ¦¥ ª®¤ ¬®£® à §. ¬ 㦮 ' |
db '⮫쪮 ¯®§ ¡®â¨âìáï ®¡ ®â¤¥«ì®¬ áâíª¥ ' |
db '¤«ï ª ¦¤®£® ¯®â®ª . ' |
db ' ¬ïâì ¤«ï ¢á¥å ¯®â®ª®¢ ®¡é ï. ' |
db ' ' |
db ' ' |
db 'x' ; <- END MARKER, DONT DELETE |
labelt: |
db ' 51®© ' |
labellen: |
title db 'ਬ¥à ¨á¯®«ì§®¢ ¨ï ¯®â®ª®¢',0 |
else |
text: |
db 'THIS EXAMPLE CREATES THREADS BY RUNNING ' |
165,11 → 149,9 |
db ' ' |
db ' ' |
db ' CREATE NEW THREAD ' |
db 'x' ; <- END MARKER, DONT DELETE |
labelt: |
db 'THREAD EXAMPLE' |
labellen: |
title db 'THREAD EXAMPLE',0 |
end if |
I_END: |
/programs/develop/fasm/trunk/fasm.asm |
---|
32,6 → 32,7 |
dd params,0x0 ; parameters,icon |
include 'lang.inc' |
include '..\..\..\macros.inc' |
include 'fasm.inc' |
center fix true |
90,7 → 91,7 |
still: |
push 10 ; Wait here for event |
pop eax |
int 40h |
mcall |
dec eax |
je red ; Redraw request |
dec eax |
98,18 → 99,18 |
key: ; Key |
mov al,2 ; Read it and ignore |
int 0x40 |
mcall |
jmp still |
button: ; Button in Window |
mov al,17 |
int 0x40 |
mcall |
cmp ah,1 |
jne noclose |
or eax,-1 |
int 0x40 |
mcall |
noclose: |
cmp ah,2 ; Start compiling |
150,13 → 151,13 |
mov ecx,50*65536+250 |
mov edx,[sc.work] |
or edx,0x33000000 |
mov edi,header ; Draw Window Label Text |
int 0x40 |
mov edi,title ; Draw Window Label Text |
mcall |
mcall 9,PROCESSINFO,-1 |
mpack ecx,1,1 |
mov ebx,[pinfo.x_size] |
mov ebx,[pinfo.box.left] |
sub ebx,10 |
push ecx |
189,7 → 190,7 |
madd ecx, 14,0 |
mcall ,,,0x4000000D ; Button: Enter Path |
mpack ebx,[pinfo.x_size],MAGIC1 |
mpack ebx,[pinfo.box.left],MAGIC1 |
msub ebx,MAGIC1+10+1,0 |
mpack ecx,0, 14*3/2-1 |
madd ecx,1,0 |
204,13 → 205,13 |
mov esi,text.line_size |
mov eax,4 |
newline: |
int 0x40 |
mcall |
add ebx, 14 |
add edx,text.line_size |
cmp byte[edx],'x' |
jne newline |
mov ebx,[pinfo.x_size] |
mov ebx,[pinfo.box.left] |
sub ebx,MAGIC1+10+1-9 |
shl ebx,16 |
add ebx,1+( 14*3/2-1)/2-3 |
220,7 → 221,7 |
mpack ebx,MAGIC1+6,0 |
add ebx,1+ 14/2-3+ 14*0 |
mov esi,[pinfo.x_size] |
mov esi,[pinfo.box.left] |
sub esi,MAGIC1*2+5*2+6+3 |
mov eax,esi |
mov cl,6 |
246,9 → 247,9 |
draw_messages: |
mov eax,13 ; clear work area |
mpack ebx,7-2,[pinfo.x_size] |
mpack ebx,7-2,[pinfo.box.left] |
sub ebx,5*2+7*2-1-2*2 |
mpack ecx,0,[pinfo.y_size] |
mpack ecx,0,[pinfo.box.top] |
madd ecx, 14*3+1+7+1,-( 14*3+1+7*2+25) |
mov word[bottom_right+2],bx |
mov word[bottom_right],cx |
255,7 → 256,7 |
msub [bottom_right],7,11 |
add [bottom_right],7 shl 16 + 53 |
mov edx,[sc.work] |
int 0x40 |
mcall |
_cy = 0 |
_sy = 2 |
_cx = 4 |
360,7 → 361,7 |
print_text: |
mpack ebx,MAGIC1+6,[pinfo.x_size] |
mpack ebx,MAGIC1+6,[pinfo.box.left] |
sub ebx,MAGIC1*2+19 |
movzx esi,bx |
mov ecx,[ya-2] |
487,7 → 488,7 |
mov eax,70 |
mov ebx,file_info_start |
xor ecx,ecx |
int 0x40 |
mcall |
@@: |
jmp exit_program |
503,7 → 504,7 |
include 'x86_64.inc' |
include 'tables.inc' |
header db appname,VERSION_STRING,0 |
title db appname,VERSION_STRING,0 |
_logo db 'flat assembler version ',VERSION_STRING,13,10,0 |
/programs/develop/fasm/trunk/fasm.inc |
---|
18,64 → 18,6 |
call __draw_caption |
} |
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 { |
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 { |
__mov eax,a |
__mov ebx,b |
__mov ecx,c |
__mov edx,d |
__mov esi,e |
__mov edi,f |
int 0x40 |
} |
macro sz name,[data] { |
if used name |
common |
label name |
forward |
db data |
common |
.size = $-name |
end if |
} |
macro lsz name,[lng,data] { |
if used name |
common |
label name |
forward |
if lang eq lng |
db data |
end if |
common |
.size = $-name |
end if |
} |
macro mmov reg,a1,a2 { |
mov reg,(a1) shl 16 + (a2) |
} |
109,39 → 51,3 |
@^ fix macro comment { |
^@ fix } |
; structure definition helper |
;include '%fasminc%struct.inc' |
include 'struct.inc' |
; structures used in MeOS |
struct process_information |
cpu_usage dd ? ; +0 |
window_stack_position dw ? ; +4 |
window_stack_value dw ? ; +6 |
not_used1 dw ? ; +8 |
process_name db 12 dup(?) ; +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 |
not_used2 db 1024-52 dup(?) |
ends |
struct 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 ? |
ends |
/programs/develop/fasm/trunk/system.inc |
---|
63,7 → 63,7 |
cmp [_mode],NORMAL_MODE |
je still |
or eax,-1 |
int 0x40 |
mcall |
make_timestamp: |
push ebx |
144,7 → 144,7 |
mov dword [ebx+16], fileinfo |
mov eax, 70 |
push ebx |
int 0x40 |
mcall |
pop ebx |
test eax, eax |
jnz .fail |
172,7 → 172,7 |
mov [ebx+16], edx |
push ebx |
mov eax, 70 |
int 0x40 |
mcall |
xchg eax, [esp] |
add [eax+4], ebx |
adc [eax+8], dword 0 |
201,7 → 201,7 |
; mov [filesize],edx |
; mov eax,58 |
; mov ebx,file_info_write |
; int 0x40 |
; mcall |
; popa |
; ret |
209,7 → 209,7 |
mov [ebx+16], edx |
push ebx |
mov eax, 70 |
int 0x40 |
mcall |
xchg eax, [esp] |
add [eax+4], ebx |
adc [eax+8], dword 0 |
344,7 → 344,7 |
mov eax,63 |
mov ebx,1 |
mov cl,dl |
int 0x40 |
mcall |
popa |
ret |
/programs/develop/h2d2b/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/develop/h2d2b/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm h2d2b.asm h2d2b |
@erase lang.inc |
@pause |
/programs/develop/h2d2b/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm h2d2b.asm h2d2b |
@erase lang.inc |
@pause |
/programs/develop/h2d2b/trunk/h2d2b.asm |
---|
13,7 → 13,7 |
dd 0x0 ; àäðåñ áóôåðà äëÿ ïàðàìåòðîâ (íå èñïîëüçóåòñÿ) |
dd 0x0 ; çàðåçåðâèðîâàíî |
include 'MACROS.INC' ; ìàêðîñû îáëåã÷àþò æèçíü àññåìáëåðùèêîâ! |
include '..\..\..\MACROS.INC' ; ìàêðîñû îáëåã÷àþò æèçíü àññåìáëåðùèêîâ! |
START: |
37,7 → 37,7 |
key: ; íàæàòà êëàâèøà íà êëàâèàòóðå |
mov eax, 2 |
int 0x40 |
mcall |
mov edi, [index] |
cmp edi, string1 |
jz no_back |
147,7 → 147,7 |
draw_window: |
;------------------------------------------------ |
mcall 12, 1 |
mcall 0, 200*65536+300, 200*65536+175, 0x13AABBCC,,header |
mcall 0, 200*65536+300, 200*65536+175, 0x13AABBCC,,title |
mcall 8, 15 *65536+ 38, 90*65536+ 15, 2, 0x6688DD ; êíîïêà shl |
mcall , ,110*65536+ 15, , ; êíîïêà sal |
239,7 → 239,7 |
num dd 0 |
header db 'hex2dec2bin 0.2',0 |
title db 'hex2dec2bin 0.2',0 |
minus db '-' |
numstr db 'Number:',0 |
hexstr db 'hex:',0 |
/programs/develop/heed/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/develop/heed/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm heed.asm heed |
@erase lang.inc |
@pause |
/programs/develop/heed/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm heed.asm heed |
@erase lang.inc |
@pause |
/programs/develop/heed/trunk/heed.asm |
---|
23,7 → 23,7 |
dd 0x0 , 0x0 ; I_Param , I_Icon |
include 'lang.inc' |
include 'macros.inc' |
include '..\..\..\macros.inc' |
START: ; start of execution |
30,14 → 30,16 |
mov eax,40 |
mov ebx,100111b ;event mouse |
int 0x40 |
mcall |
mov dword [process_info+42],540 |
mov dword [process_info+46],414 |
red: |
call draw_window |
still: |
mov eax,10 ; wait here for event |
int 0x40 |
mcall |
dec al ; redraw request ? |
je red |
dec al ; key in buffer ? |
48,7 → 50,7 |
mouse: |
mov eax,37 |
mov ebx,2 |
int 0x40 |
mcall |
or eax,eax |
jz still |
cmp [menu_opened],1 |
55,13 → 57,10 |
jne still |
mov [menu_opened],0 |
red: ; redraw |
call redraw_window |
jmp still |
key: ; key |
mov eax,2 |
int 0x40 |
mcall |
; test al,al |
; jnz still |
cmp ah,KEY_ESC |
230,18 → 229,18 |
or edx,edi |
mov eax,47 |
add edx,8 |
int 0x40 |
mcall |
call redraw_window |
jmp still |
button: ; button |
mov eax,17 ; get id |
int 0x40 |
mcall |
dec ah ;close programm button |
jne @f |
close: |
mov eax,-1 ; close this program |
int 0x40 |
mcall |
@@: |
dec ah |
jne @f |
383,7 → 382,7 |
xor ecx,ecx |
or edx,-1 |
mov esi,0x10000 |
int 0x40 |
mcall |
inc [o_s_flag] |
mov [sizefile],eax |
jmp end_Go |
395,7 → 394,7 |
xor esi,esi |
dec edx |
mov eax,33 |
int 0x40 |
mcall |
end_Go: |
call CtrlHome |
jmp still |
646,7 → 645,7 |
sub edx,0x10 |
mov esi,0x10 |
mov eax,4 |
int 0x40 |
mcall |
pop eax |
pop ecx |
loop @b |
668,7 → 667,7 |
add edx,[esp+0x24] ; ç «® ¯® |
mov esi,0x00ffffff ;梥â |
mov eax,47 ;¢ë¢¥á⨠ç¨á«® |
int 0x40 |
mcall |
add edx,0x600000 ;0x40 - 8chars + 0x20 - space |
mov ebx,0x20100 ;2 æ¨äàë, 16-à¨çë¥, ç¨á«® ¢ ecx |
@@: |
677,7 → 676,7 |
and ecx,0xff |
cmp edi,0x11 |
jz endstr |
int 0x40 |
mcall |
add edx,0x100000 |
jmp @b |
endstr: |
695,12 → 694,12 |
mov ecx,[esp+0x24] |
mov edx,[color] |
mov eax,13 |
int 0x40 |
mcall |
movzx edi,[o_s_flag] |
and edi,8 |
jnz @f |
add ebx,[text_cursor] |
int 0x40 |
mcall |
@@: |
popad |
ret 4 |
731,13 → 730,13 |
mov ecx,[sc.work_button_text] |
or ecx,0x10000000 |
sub eax,4 |
int 0x40 |
mcall |
add ebx,0x0c ;next full base text |
add edx,4 ;next string |
int 0x40 |
mcall |
add ebx,0x0c |
add edx,4 |
int 0x40 |
mcall |
ret |
menucoding: |
759,7 → 758,7 |
or ecx,0x10000000 |
sub eax,4 |
@@: |
int 0x40 |
mcall |
add ebx,0x0c |
add edx,8 ;next string |
dec edi |
782,11 → 781,11 |
mov ecx,[sc.work_button_text] |
or ecx,0x10000000 |
sub eax,4 |
int 0x40 |
mcall |
add ebx,0x0c |
inc esi ;add lebgth output text |
add edx,4 |
int 0x40 |
mcall |
ret |
f1:;uses for drawing low-level menu buttons |
798,7 → 797,7 |
push ecx ;for output text |
@@: |
add ecx,0xc0000 |
int 0x40 |
mcall |
inc edx ;id |
dec edi ;counter |
jnz @b |
819,7 → 818,7 |
mov edx,0x10000a0 |
mov eax,47 |
mov esi,0x00ffffff |
int 0x40 |
mcall |
popad |
ret 4 |
833,11 → 832,11 |
mov ebx,3 |
mov ecx,sc |
mov edx,sizeof.system_colors |
int 0x40 |
mcall |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
; DRAW WINDOW |
mov eax,0 ; function 0 : define and draw window |
; [x start] *65536 + [x size] |
845,7 → 844,7 |
; [y start] *65536 + [y size] |
mov ecx,[process_info+46] |
mov edx,0x03000000 ; color of work area RRGGBB,8->color gl |
int 0x40 |
mcall |
; WINDOW LABEL |
mov eax,4 ; function 4 : write text to window |
mov ebx,8*65536+8 ; [x start] *65536 + [y start] |
853,7 → 852,7 |
or ecx,0x10000000 ; font 1 & color ( 0xF0RRGGBB ) |
mov edx,labelt ; pointer to text beginning |
mov esi,labellen-labelt ; text length |
int 0x40 |
mcall |
;check for only header window output |
cmp dword [process_info+46],25 |
jle minimaze_view |
873,7 → 872,7 |
shl ecx,0x10 |
mov eax,13 |
add ecx,0x10 |
int 0x40 |
mcall |
;MENU BUTTONS |
;now in hi-half ecx register begin Y-coord. menu area |
;in hi-half ebx begin X-coord. |
888,18 → 887,18 |
mov [xf_menu],ebx;for low-level menus func. |
mov eax,8 |
push ebx ;for output buttons texts |
int 0x40 |
mcall |
;registers is't change |
;menu 'Coding' |
add ebx,0x290018 ;80x12 |
inc edx ;menu 'coding' id = 3 |
mov [xe_menu],ebx;for low-level menus func. |
int 0x40 |
mcall |
;menu 'Help' |
add ebx,0x40ffe8 ;+0x280000 - 0x28, 40x12 |
inc edx ;menu 'Help' id = 4 |
mov [xh_menu],ebx;for low-level menus func. |
int 0x40 |
mcall |
;MENU BUTTONS TEXTS |
;'File' |
pop ebx |
914,7 → 913,7 |
mov ecx,[sc.work_button_text] |
or ecx,0x10000000 ; font 1 & color ( 0xF0RRGGBB ) |
push esi ;for 'Help' menu text |
int 0x40 |
mcall |
;'coding' |
;registers is't change |
add ebx,0x2d0000 |
922,7 → 921,7 |
add esi,2 |
; mov edx,e_menu |
add edx,4 |
int 0x40 |
mcall |
;'Help' |
add ebx,0x3b0000 |
; mov esi,4 |
929,7 → 928,7 |
pop esi |
; mov edx,h_menu |
add edx,6 |
int 0x40 |
mcall |
;LOW_LEVEL MENU |
;for every hi-level menu exists one procedure |
;in begin programm they are not calls, |
951,7 → 950,7 |
shl ecx,16 ;y start |
mov eax,13 |
add ecx,20 |
int 0x40 |
mcall |
;filename input area |
; mov ecx,[process_info+46] |
966,7 → 965,7 |
add ecx,16 |
mov eax,13 |
push ecx ;for button 'Go' |
int 0x40 |
mcall |
;button 'Go', press in case open/save if filename input complete |
;button size = 24x16 |
976,7 → 975,7 |
dec ecx |
mov edx,0xff ;id |
mov esi,[sc.work_button] |
int 0x40 |
mcall |
shr ecx,0x10 |
and ebx,0xffff0000 |
add ecx,0x50004 |
986,7 → 985,7 |
mov ecx,[sc.work_button_text] |
or ecx,0x10000000 |
sub eax,4 |
int 0x40 |
mcall |
;where output cursor? |
mov al,[o_s_flag] |
1011,7 → 1010,7 |
add ebx,eax |
movzx esi,[name_l] |
mov eax,4 |
int 0x40 |
mcall |
;info strings |
; sizefile text |
1024,13 → 1023,13 |
mov edx,sizestr ; pointer to text beginning |
mov eax,4 |
mov esi,5 |
int 0x40 |
mcall |
add ebx,0x00530000 |
inc esi |
; mov edx,offst |
add edx,5 |
inc esi |
int 0x40 |
mcall |
;sizefile |
mov ecx,[sizefile] |
mov edx,ebx |
1038,10 → 1037,10 |
sub edx,0x00350000 |
mov eax,47 |
mov ebx,0x80100 |
int 0x40 |
mcall |
mov ecx,[current] |
add edx,0x005f0000 |
int 0x40 |
mcall |
push [text_cursor] ;íâ® ¯®§¨æ¨ï ªãàá®à ¢ ⥪á⮢®© áâப¥ |
call draw_cursor |
1052,7 → 1051,7 |
minimaze_view: |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
popad |
ret |
1066,7 → 1065,7 |
mov ebx,process_info |
xor ecx,ecx |
dec ecx |
int 0x40 |
mcall |
popad |
ret |
1104,7 → 1103,7 |
mov ecx,[esp+0x24] |
inc ebx |
mov edx,0x7E000 ;0x1000 |
int 0x40 |
mcall |
popad |
ret 4 |
1112,7 → 1111,7 |
call help_window |
help_still: |
mov eax,10 |
int 0x40 |
mcall |
dec eax |
jz help_red |
dec eax |
1126,28 → 1125,28 |
help_key: |
inc eax |
inc eax |
int 0x40 |
mcall |
jmp help_still |
help_button: |
mov eax,17 |
int 0x40 |
mcall |
dec ah |
jne help_still |
shr eax,8 |
dec eax |
int 0x40 |
mcall |
help_window: |
pushad |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
; DRAW WINDOW |
mov eax,0 ; function 0 : define and draw window |
mov ebx,0x500140 ; [x start] *65536 + [x size] |
mov ecx,0x700110 ; [y start] *65536 + [y size] |
mov edx,0x03000000 ; color of work area RRGGBB,8->color gl |
int 0x40 |
mcall |
; WINDOW LABEL |
mov eax,4 ; function 4 : write text to window |
mov ebx,8*65536+8 ; [x start] *65536 + [y start] |
1154,7 → 1153,7 |
mov ecx,0x10ffffff ; font 1 & color ( 0xF0RRGGBB ) |
mov edx,help_label ; pointer to text beginning |
mov esi,14 ; text length |
int 0x40 |
mcall |
; HELP TEXT |
add edx,14 ;help_text addr. |
add esi,37 ; = 51 - length 1 line |
1162,7 → 1161,7 |
mov edi,(help_end-help_text)/51 |
@@: |
add ebx,0x10 |
int 0x40 |
mcall |
add edx,51 |
dec edi |
jnz @b |
1170,7 → 1169,7 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
popad |
ret |
1178,7 → 1177,7 |
call about_window |
about_still: |
mov eax,10 |
int 0x40 |
mcall |
dec eax |
jz about_red |
dec eax |
1192,28 → 1191,28 |
about_key: |
inc eax |
inc eax |
int 0x40 |
mcall |
jmp about_still |
about_button: |
mov eax,17 |
int 0x40 |
mcall |
dec ah |
jne about_still |
shr eax,8 |
dec eax |
int 0x40 |
mcall |
about_window: |
pushad |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
; DRAW WINDOW |
mov eax,0 ; function 0 : define and draw window |
mov ebx,0x500140 ; [x start] *65536 + [x size] |
mov ecx,0x700110 ; [y start] *65536 + [y size] |
mov edx,0x03000000 ; color of work area RRGGBB,8->color gl |
int 0x40 |
mcall |
; WINDOW LABEL |
mov eax,4 ; function 4 : write text to window |
mov ebx,8*65536+8 ; [x start] *65536 + [y start] |
1221,7 → 1220,7 |
or ecx,0x10000000 ; font 1 & color ( 0xF0RRGGBB ) |
mov edx,about_label ; pointer to text beginning |
mov esi,17 ; text length |
int 0x40 |
mcall |
; ABOUT TEXT |
add edx,17 ;about_text addr. |
add esi,34 ; = 51 - length 1 line |
1229,7 → 1228,7 |
mov edi,15 |
@@: |
add ebx,0x10 |
int 0x40 |
mcall |
add edx,51 |
dec edi |
jnz @b |
1236,7 → 1235,7 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
popad |
ret |
/programs/develop/hexview/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/develop/hexview/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm hexview.asm hexview |
@erase lang.inc |
@pause |
/programs/develop/hexview/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm hexview.asm hexview |
@erase lang.inc |
@pause |
/programs/develop/hexview/trunk/hexview.asm |
---|
17,7 → 17,7 |
dd 0x00000000 ; reserved=no extended header |
include 'lang.inc' |
include 'macros.inc' |
include '..\..\..\macros.inc' |
begin dd 0 |
31,7 → 31,7 |
still: |
mov eax,10 ; wait here for event |
int 0x40 |
mcall |
dec eax ; redraw request ? |
je red |
48,12 → 48,12 |
key: ; key |
mov eax,2 ; just read it and ignore |
int 0x40 |
mcall |
jmp still |
button: ; button |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,3 |
jne no_up |
72,9 → 72,8 |
dec ah ; button id=1 ? |
jne still |
xor eax,eax ; close this program |
dec eax |
int 0x40 |
or eax,-1 ; close this program |
mcall |
; ********************************************* |
86,24 → 85,16 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
; DRAW WINDOW |
xor eax,eax ; function 0 : define and draw window |
mov ebx,100*65536+400 ; [x start] *65536 + [x size] |
mov ecx,100*65536+270 ; [y start] *65536 + [y size] |
mov edx,0x03224466 ; color of work area RRGGBB,8->c |
mov esi,0x006688aa ; color of grab bar RRGGBB,8->color gl |
mov edi,0x00ffffff ; color of frames RRGGBB |
int 0x40 |
mov edx,0x13224466 ; color of work area RRGGBB,8->c |
mov edi,title ; WINDOW LABEL |
mcall |
; WINDOW LABEL |
mov eax,4 ; function 4 : write text to window |
mov ebx,8*65536+8 ; [x start] *65536 + [y start] |
mov ecx,0x00ffffff ; color of text RRGGBB |
mov edx,labelt ; pointer to text beginning |
mov esi,labellen-labelt ; text length |
int 0x40 |
mov eax,8 |
mov ebx,280*65536+16*6 |
110,16 → 101,16 |
mov ecx,240*65536+14 |
mov edx,2 |
mov esi,0x5599cc |
int 0x40 |
mcall |
mov ebx,15*65536+125 |
inc edx |
int 0x40 |
mcall |
add ebx,127*65536 |
inc edx |
int 0x40 |
mcall |
mov eax,4 |
127,7 → 118,7 |
mov ecx,0xffffff |
mov edx,buttons |
mov esi,blen-buttons |
int 0x40 |
mcall |
mov ebx,280*65536+35 ; draw info text with function 4 |
156,7 → 147,7 |
; mov ebx,0x00020101 |
; mov esi,0xffff00 |
int 0x40 |
mcall |
add edx,16*65536 |
inc ecx |
171,7 → 162,7 |
mov eax,4 ; text |
mov esi,16 |
mov ecx,0xffffff |
int 0x40 |
mcall |
add ebx,12 |
add edx,16 |
dec edi |
179,7 → 170,7 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
197,7 → 188,7 |
xor ecx,ecx |
mov edx,-1 |
mov esi,text |
int 0x40 |
mcall |
popa |
207,8 → 198,7 |
; DATA AREA |
labelt: db 'HEXVIEW' |
labellen: |
title db 'HEXVIEW',0 |
buttons db ' UP DOWN' |
db ' EXAMPLE ' |
/programs/develop/keyascii/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/develop/keyascii/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm keyascii.asm keyascii |
@erase lang.inc |
@pause |
/programs/develop/keyascii/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm keyascii.asm keyascii |
@erase lang.inc |
@pause |
/programs/develop/keyascii/trunk/keyascii.asm |
---|
15,7 → 15,7 |
dd 0x0 , 0x0 ; I_Param , I_Icon |
include 'lang.inc' |
include 'macros.inc' |
include '..\..\..\macros.inc' |
START: ; start of execution |
red: |
24,7 → 24,7 |
still: |
mov eax,10 ; wait here for event |
int 0x40 |
mcall |
cmp eax,1 ; redraw request ? |
je red |
37,7 → 37,7 |
key: ; key |
mov eax,2 ; just read it and ignore |
int 0x40 |
mcall |
mov [keyid],ah |
call draw_window |
jmp still |
44,13 → 44,13 |
button: ; button |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
jne noclose |
or eax,-1 ; close this program |
int 0x40 |
mcall |
noclose: |
jmp still |
68,7 → 68,7 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
; DRAW WINDOW |
mov eax,0 ; function 0 : define and draw window |
75,8 → 75,8 |
mov ebx,100*65536+270 ; [x start] *65536 + [x size] |
mov ecx,100*65536+80 ; [y start] *65536 + [y size] |
mov edx,0x33ffffff ; color of work area RRGGBB,8->color gl |
mov edi,header |
int 0x40 |
mov edi,title |
mcall |
mov eax,4 ; function 4 : write text to window |
xor ecx,ecx |
83,10 → 83,10 |
mov esi,4 |
mov ebx,8*65536+8 |
mov edx,tdec |
int 0x40 |
mcall |
add ebx,23 |
mov edx,thex |
int 0x40 |
mcall |
mov ecx,[keyid] |
mov eax,47 |
93,14 → 93,14 |
mov ebx,3*65536 |
mov edx,40*65536+8 |
mov esi,0x224466 |
int 0x40 |
mcall |
add edx,23 |
mov bh,1 |
int 0x40 |
mcall |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
109,7 → 109,7 |
tdec: db 'DEC:' |
thex: db 'HEX:' |
header db 'KEYBOARD ASCIICODES-PRESS ANY KEY',0 |
title db 'KEYBOARD ASCIICODES-PRESS ANY KEY',0 |
keyid: db 0 |
I_END: |
/programs/develop/mtdbg/mtdbg.asm |
---|
1,4 → 1,5 |
format binary |
include '..\..\macros.inc' |
use32 |
db 'MENUET01' |
dd 1 |
67,7 → 68,7 |
push 40 |
pop eax |
mov ebx, 0x107 |
int 40h |
mcall |
; set debug messages buffer |
mov ecx, dbgbufsize |
mov dword [ecx], 256 |
74,7 → 75,7 |
xor ebx, ebx |
mov [ecx+4], ebx |
mov al, 69 |
int 40h |
mcall |
mov esi, i_param |
call skip_spaces |
test al, al |
89,7 → 90,7 |
waitevent: |
push 10 |
pop eax |
int 40h |
mcall |
cmp al, 9 |
jz debugmsg |
dec eax |
101,10 → 102,10 |
; button pressed - we have only one button (close) |
push -1 |
pop eax |
int 40h |
mcall |
keypressed: |
mov al, 2 |
int 40h |
mcall |
shr eax, 8 |
cmp al, 8 |
jz .backspace |
334,7 → 335,7 |
or ebx, ecx |
mov ecx, cmdline_y_pos*10000h + cmdline_y_size |
mov edx, 0xFFFFFF |
int 40h |
mcall |
ret |
draw_cmdline: |
353,7 → 354,7 |
add ebx, cmdline_x_pos |
shl ebx, 16 |
or ebx, cmdline_y_pos+1 |
int 40h |
mcall |
ret |
put_message_nodraw: |
449,7 → 450,7 |
mov edx, 0xFFFFFF |
mov ebx, messages_x_pos*10000h+messages_x_size |
mov ecx, messages_y_pos*10000h+messages_y_size |
int 40h |
mcall |
mov edx, messages |
push messages_width |
pop esi |
457,7 → 458,7 |
mov al, 4 |
mov ebx, messages_x_pos*10000h+messages_y_pos |
@@: |
int 40h |
mcall |
add edx, esi |
add ebx, 10 |
cmp edx, messages+messages_width*messages_height |
475,7 → 476,7 |
shl ebx, 16 |
or ebx, edx |
xor edx, edx |
int 40h |
mcall |
ret |
hide_cursor: |
mov ebx, [cmdline_pos] |
487,7 → 488,7 |
inc ebx |
mov ecx, cmdline_y_pos*10000h + cmdline_y_size |
mov edx, 0xFFFFFF |
int 40h |
mcall |
mov ebx, [cmdline_pos] |
cmp ebx, [cmdline_len] |
jae .ret |
500,7 → 501,7 |
or ebx, cmdline_y_pos+1 |
push 1 |
pop esi |
int 40h |
mcall |
.ret: |
ret |
510,13 → 511,13 |
mov edx, 0xFFFFFF |
mov ebx, title_x_pos*10000h + data_x_pos+data_x_size-title_x_pos |
mov ecx, title_y_pos*10000h + title_y_size |
int 40h |
mcall |
draw_title: |
mov al, 38 |
mov ebx, (data_x_pos-2)*10000h + title_x_pos-5 |
mov ecx, (title_y_pos+5)*10001h |
xor edx, edx |
int 40h |
mcall |
push NoPrgLoaded_len |
pop esi |
cmp [debuggee_pid], 0 |
530,9 → 531,9 |
jz @f |
add ebx, 6 |
@@: |
int 40h |
mcall |
mov ebx, (data_x_pos+data_x_size-10+4)*0x10000 + data_x_pos+data_x_size+2 |
int 40h |
mcall |
mov al, 4 |
mov ebx, title_x_pos*10000h+title_y_pos |
xor ecx, ecx |
541,7 → 542,7 |
jz @f |
mov edx, [prgname_ptr] |
@@: |
int 40h |
mcall |
cmp [debuggee_pid], 0 |
jz .nodebuggee |
mov ebx, (data_x_pos+data_x_size-10-6*7)*10000h + title_y_pos |
554,7 → 555,7 |
mov edx, aPaused |
dec esi |
@@: |
int 40h |
mcall |
ret |
.nodebuggee: |
mov al, 38 |
584,7 → 585,7 |
.cd: |
push 4 |
pop eax |
int 40h |
mcall |
imul esi, 60000h |
lea edx, [ebx+esi] |
mov al, 47 |
591,7 → 592,7 |
mov ebx, 80101h |
mov esi, ecx |
pop ecx |
int 40h |
mcall |
lea ebx, [edx+60000h*18] |
mov esi, ecx |
pop ecx |
622,7 → 623,7 |
mov ecx, 0x00AA00 |
.doit: |
mov ah, 0 |
int 40h |
mcall |
ret |
redraw_registers: |
631,7 → 632,7 |
mov edx, 0xFFFFFF |
mov ebx, data_x_pos*10000h + data_x_size |
mov ecx, registers_y_pos*10000h + registers_y_size |
int 40h |
mcall |
draw_registers: |
mov esi, _eax |
push 4 |
672,7 → 673,7 |
xor esi, esi |
inc esi |
mov ebx, (registers_x_pos+37*6)*10000h + registers_y_pos+20 |
int 40h |
mcall |
mov edx, flags |
@@: |
add ebx, 2*6*10000h |
688,7 → 689,7 |
mov edx, 0xFFFFFF |
mov ebx, data_x_pos*10000h + data_x_size |
mov ecx, dump_y_pos*10000h + dump_y_size |
int 40h |
mcall |
draw_dump: |
; addresses |
mov al, 47 |
702,7 → 703,7 |
jz @f |
xor esi, esi |
@@: |
int 40h |
mcall |
add ecx, 10h |
add edx, 10 |
cmp dl, dump_y_pos + dump_y_size |
716,7 → 717,7 |
cmp [dumpread], edi |
jz .hexdumpdone1 |
.hexdumploop1: |
int 40h |
mcall |
add edx, 3*6*10000h |
inc ecx |
inc edi |
740,7 → 741,7 |
.hexdumploop2: |
cmp edi, dump_height*10h |
jae .hexdumpdone2 |
int 40h |
mcall |
add ebx, 3*6*10000h |
inc edi |
test edi, 15 |
757,7 → 758,7 |
mov ebx, (data_x_pos+8*6)*10000h + dump_y_pos |
mov edx, aColon |
@@: |
int 40h |
mcall |
add ebx, 10 |
cmp bl, dump_y_pos+dump_height*10 |
jb @b |
764,7 → 765,7 |
mov ebx, (data_x_pos+(12+3*8)*6)*10000h + dump_y_pos |
mov edx, aMinus |
@@: |
int 40h |
mcall |
add ebx, 10 |
cmp bl, dump_y_pos+dump_height*10 |
jb @b |
778,7 → 779,7 |
jae @f |
mov edx, aPoint |
@@: |
int 40h |
mcall |
pop edx |
inc edx |
add ebx, 6*10000h |
797,7 → 798,7 |
mov edx, 0xFFFFFF |
mov ebx, data_x_pos*10000h + data_x_size |
mov ecx, (disasm_y_pos-1)*10000h + (disasm_y_size+1) |
int 40h |
mcall |
draw_disasm: |
mov eax, [disasm_start_pos] |
mov [disasm_cur_pos], eax |
820,7 → 821,7 |
push 13 |
pop eax |
mov edx, 0xFF0000 |
int 40h |
mcall |
.nored: |
mov eax, [_eip] |
cmp eax, ebp |
828,7 → 829,7 |
push 13 |
pop eax |
mov edx, 0x0000FF |
int 40h |
mcall |
mov esi, 0xFFFFFF ; on blue bgr, use white color |
.noblue: |
push 47 |
838,7 → 839,7 |
imul edx, 10 |
add edx, data_x_pos*10000h + disasm_y_pos |
mov ecx, ebp |
int 40h |
mcall |
mov al, 4 |
lea ebx, [edx+8*6*10000h] |
mov ecx, esi |
845,7 → 846,7 |
push 1 |
pop esi |
mov edx, aColon |
int 40h |
mcall |
push 9 |
pop edi |
lea edx, [ebx+2*6*10000h] |
856,7 → 857,7 |
sub ecx, [disasm_start_pos] |
add ecx, disasm_buffer |
.drawhex: |
int 40h |
mcall |
add edx, 6*3*10000h |
inc ecx |
inc ebp |
876,7 → 877,7 |
push 3 |
pop esi |
mov edx, aDots |
int 40h |
mcall |
mov esi, ecx |
.hexdone: |
xor eax, eax |
891,7 → 892,7 |
imul ebx, 10 |
add ebx, (data_x_pos+6*40)*10000h+disasm_y_pos |
mov al, 4 |
int 40h |
mcall |
inc [disasm_cur_str] |
cmp [disasm_cur_str], disasm_height |
jb .loop |
927,7 → 928,7 |
mov edi, disasm_buffer |
mov edx, 256 |
mov esi, [disasm_start_pos] |
int 40h |
mcall |
cmp eax, -1 |
jnz @f |
mov esi, read_mem_err |
945,13 → 946,13 |
pop eax |
push 1 |
pop ebx |
int 40h |
mcall |
; define window |
xor eax, eax |
mov ebx, wnd_x_size |
mov ecx, wnd_y_size |
mov edx, 3FFFFFFh |
int 40h |
mcall |
; caption |
mov al, 4 |
mov ecx, 0xFFFFFF |
959,7 → 960,7 |
mov edx, caption_str |
push caption_len |
pop esi |
int 40h |
mcall |
; messages frame |
mov al, 38 |
mov ebx, (messages_x_pos-2)*10000h + (messages_x_pos+messages_x_size+2) |
966,27 → 967,27 |
push ebx |
mov ecx, (messages_y_pos-2)*10001h |
xor edx, edx |
int 40h |
mcall |
mov ecx, (messages_y_pos+messages_y_size+2)*10001h |
int 40h |
mcall |
mov ebx, (messages_x_pos-2)*10001h |
push ebx |
mov ecx, (messages_y_pos-2)*10000h + (messages_y_pos+messages_y_size+2) |
int 40h |
mcall |
mov ebx, (messages_x_pos+messages_x_size+2)*10001h |
push ebx |
int 40h |
mcall |
; command line frame |
mov ecx, (cmdline_y_pos-2)*10000h + (cmdline_y_pos+cmdline_y_size+2) |
pop ebx |
int 40h |
mcall |
pop ebx |
int 40h |
mcall |
pop ebx |
mov ecx, (cmdline_y_pos+cmdline_y_size+2)*10001h |
int 40h |
mcall |
mov ecx, (cmdline_y_pos-2)*10001h |
int 40h |
mcall |
; messages |
call draw_messages |
; command line & cursor |
996,14 → 997,14 |
mov al, 38 |
mov ebx, (data_x_pos-2)*10001h |
mov ecx, (title_y_pos+5)*10000h + (messages_y_pos-2) |
int 40h |
mcall |
mov ebx, (data_x_pos+data_x_size+2)*10001h |
int 40h |
mcall |
mov ebx, (data_x_pos-2)*10000h + (data_x_pos+data_x_size+2) |
mov ecx, (dump_y_pos-3)*10001h |
int 40h |
mcall |
mov ecx, (disasm_y_pos-4)*10001h |
int 40h |
mcall |
call draw_title |
call draw_registers |
call draw_dump |
1012,7 → 1013,7 |
mov al, 12 |
push 2 |
pop ebx |
int 40h |
mcall |
ret |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1037,7 → 1038,7 |
OnQuit: |
xor eax, eax |
dec eax |
int 40h |
mcall |
get_new_context: |
mov esi, context |
1053,7 → 1054,7 |
mov esi, context |
push 28h |
pop edx |
int 40h |
mcall |
ret |
set_context: |
push 2 |
1064,7 → 1065,7 |
mov esi, context |
push 28h |
pop edx |
int 40h |
mcall |
ret |
get_dump: |
1080,7 → 1081,7 |
mov al, 69 |
push 6 |
pop ebx |
int 40h |
mcall |
cmp eax, -1 |
jnz @f |
mov esi, read_mem_err |
1141,13 → 1142,13 |
pop eax |
push 7 |
pop ebx |
int 40h |
mcall |
mov [dbgwnd], eax |
xchg ecx, eax |
push 70 |
pop eax |
mov ebx, fn70_load_block |
int 40h |
mcall |
test eax, eax |
jns .load_ok |
.load_err: |
1180,7 → 1181,7 |
mov bl, 3 |
push 18 |
pop eax |
int 40h |
mcall |
call redraw_title |
call redraw_registers |
call get_dump |
1273,17 → 1274,17 |
pop eax |
push 7 |
pop ebx |
int 40h |
mcall |
.wait: |
push 10 |
pop eax |
int 40h |
mcall |
dec eax |
jz .redraw |
dec eax |
jz .key |
or eax, -1 |
int 40h |
mcall |
.redraw: |
call draw_window |
call hide_cursor |
1290,7 → 1291,7 |
jmp .wait |
.key: |
mov al, 2 |
int 40h |
mcall |
cmp ah, 'y' |
jz .yes |
cmp ah, 'Y' |
1305,7 → 1306,7 |
push 40 |
pop eax |
mov ebx, 0x107 |
int 40h |
mcall |
call draw_cursor |
mov esi, aN_str |
jmp put_message |
1313,7 → 1314,7 |
push 40 |
pop eax |
mov ebx, 0x107 |
int 40h |
mcall |
call draw_cursor |
mov esi, aY_str |
call put_message |
1402,7 → 1403,7 |
pop ebx |
push 69 |
pop eax |
int 40h |
mcall |
ret |
AfterSuspend: |
1421,7 → 1422,7 |
pop ebx |
push 69 |
pop eax |
int 40h |
mcall |
call AfterSuspend |
mov esi, aSuspended |
jmp put_message |
1431,7 → 1432,7 |
pop ebx |
push 69 |
pop eax |
int 40h |
mcall |
mov [bSuspended], 0 |
ret |
OnResume: |
1481,7 → 1482,7 |
pop ebx |
push 69 |
pop eax |
int 40h |
mcall |
and [debuggee_pid], 0 |
call redraw_title |
call redraw_registers |
1620,7 → 1621,7 |
mov esi, [_eip] |
push 1 |
pop edx |
int 40h |
mcall |
pop eax |
cmp al, 0xCC |
jnz .notdbg |
1657,7 → 1658,7 |
push 3 |
pop ebx |
mov ecx, [dbgwnd] |
int 40h ; activate dbg window |
mcall ; activate dbg window |
call redraw_title |
call redraw_registers |
call redraw_dump |
1713,7 → 1714,7 |
pop edx |
mov edi, esp |
mov esi, [_eip] |
int 40h |
mcall |
cmp eax, edx |
pop eax |
jnz .doit |
1850,7 → 1851,7 |
push edx |
inc edx |
mov edi, esp |
int 40h |
mcall |
dec eax |
clc |
jz @f |
2338,7 → 2339,7 |
mov esi, ebp |
push 9 |
pop ebx |
int 40h |
mcall |
test eax, eax |
jz .ok |
pop ecx |
2570,7 → 2571,7 |
xor edx, edx |
inc edx |
mov esi, [edi-5] |
int 40h |
mcall |
pop esi |
.ret: |
ret |
2583,7 → 2584,7 |
push 9 |
pop ebx |
mov ecx, [debuggee_pid] |
int 40h |
mcall |
ret |
enable_breakpoint: |
2607,7 → 2608,7 |
mov ecx, [debuggee_pid] |
xor edx, edx |
inc edx |
int 40h |
mcall |
dec eax |
jnz .err |
mov al, 69 |
2614,7 → 2615,7 |
push 0xCC |
mov edi, esp |
inc ebx |
int 40h |
mcall |
pop eax |
.ret: |
pop esi |
2636,7 → 2637,7 |
shr dl, 6 |
mov dh, [edi] |
and dh, 0xF |
int 40h |
mcall |
test eax, eax |
jnz .err |
pop esi |
2712,7 → 2713,7 |
@@: |
push 69 |
pop eax |
int 40h |
mcall |
test eax, eax |
jz .breakok |
inc edx |
2724,7 → 2725,7 |
.wait: |
push 10 |
pop eax |
int 40h |
mcall |
dec eax |
jz .redraw |
dec eax |
2733,13 → 2734,13 |
jnz .debug |
; button; we have only one button, close |
or eax, -1 |
int 40h |
mcall |
.redraw: |
call draw_window |
jmp .wait |
.key: |
mov al, 2 |
int 40h |
mcall |
cmp ah, 3 ; Ctrl+C |
jnz .wait |
.userbreak: |
2754,7 → 2755,7 |
push 9 |
pop ebx |
mov ecx, [debuggee_pid] |
int 40h |
mcall |
cmp esi, aUnpacked |
jnz OnSuspend |
jmp AfterSuspend |
2776,7 → 2777,7 |
push 9 |
pop ebx |
mov ecx, [debuggee_pid] |
int 40h |
mcall |
jmp debugmsg |
.our: |
and [dbgbuflen], 0 |
2791,7 → 2792,7 |
pop edx |
push 0xC |
pop esi |
int 40h |
mcall |
pop eax |
pop edx |
cmp eax, [_eip] |
/programs/develop/param/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/develop/param/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm param.asm param |
@erase lang.inc |
@pause |
/programs/develop/param/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm param.asm param |
@erase lang.inc |
@pause |
/programs/develop/param/trunk/cmdipc.inc |
---|
1,10 → 1,10 |
include "macros.inc" |
include "..\..\..\macros.inc" |
initipc: |
mov eax,9 |
mov ebx,prc |
mov ecx,-1 |
int 0x40 |
or ecx,-1 |
mcall |
mov ecx,eax |
loop1: |
12,7 → 12,7 |
mov eax,9 |
mov ebx,prc |
int 0x40 |
mcall |
cmp word [prc+10],'CM' |
jne no_cmd |
39,7 → 39,7 |
mov ecx,dword [cmdpid] |
mov edx,printf |
mov esi,4 |
int 0x40 |
mcall |
call initcmd |
46,11 → 46,11 |
waitcmdinit: |
mov eax,40 |
mov ebx,01000000b |
int 0x40 |
mcall |
mov eax,23 |
mov ebx,100 |
int 0x40 |
mcall |
cmp eax,7 |
je cmd_ok |
64,7 → 64,7 |
mov eax,18 |
mov ebx,3 |
mov ecx,dword [cmdnumb] |
int 0x40 |
mcall |
ret |
71,12 → 71,12 |
pause1: |
mov eax,5 |
mov ebx,1 |
int 0x40 |
mcall |
ret |
exit: |
mov eax,-1 |
int 0x40 |
or eax,-1 |
mcall |
cls: |
mov eax,60 |
84,7 → 84,7 |
mov ecx,dword [cmdpid] |
mov edx,ipccls |
mov esi,4 |
int 0x40 |
mcall |
call pause1 |
120,7 → 120,7 |
mov ecx,dword [cmdpid] |
mov edx,stripc |
mov esi,84 |
int 0x40 |
mcall |
call pause1 |
132,7 → 132,7 |
mov ecx,dword [cmdpid] |
mov edx,ipceol |
mov esi,4 |
int 0x40 |
mcall |
call pause1 |
144,13 → 144,13 |
mov ecx,dword [cmdpid] |
mov edx,ipckey |
mov esi,4 |
int 0x40 |
mcall |
mov eax,60 |
mov ebx,1 |
mov ecx,ipcb |
mov edx,28 |
int 0x40 |
mcall |
cld |
mov ecx,28 |
166,10 → 166,10 |
waitagain: |
mov eax,40 |
mov ebx,01000000b |
int 0x40 |
mcall |
mov eax,10 |
int 0x40 |
mcall |
cmp eax,7 |
jne waitagain |
186,7 → 186,7 |
mov ecx,dword [cmdpid] |
mov edx,ipcend |
mov esi,4 |
int 0x40 |
mcall |
jmp exit |
/programs/develop/scancode/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/develop/scancode/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm scancode.asm scancode |
@erase lang.inc |
@pause |
/programs/develop/scancode/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm scancode.asm scancode |
@erase lang.inc |
@pause |
/programs/develop/scancode/trunk/scancode.asm |
---|
5,7 → 5,7 |
; |
include "lang.inc" |
include "macros.inc" |
include "..\..\..\macros.inc" |
use32 |
org 0x0 |
23,13 → 23,20 |
mov eax,66 ; keyboard mode definitions |
mov ebx,1 ; set |
mov ecx,1 ; return scancodes |
int 0x40 |
mcall |
mov eax,26 ; get setup for keyboard |
mov ebx,2 |
mov ecx,1 ; base keymap |
mov edx,keymap |
int 0x40 |
mcall |
mov eax, 48 ; GET SYSTEM COLORS |
mov ebx, 3 |
mov ecx, sc |
mov edx, sizeof.system_colors |
mcall |
red: |
call draw_window |
36,7 → 43,7 |
still: |
mov eax,10 ; wait here for event |
int 0x40 |
mcall |
cmp eax,1 ; redraw request ? |
je red |
50,7 → 57,7 |
key: ; key |
mov eax,2 ; just read it and ignore |
int 0x40 |
mcall |
mov esi,scan_codes+1 |
mov edi,scan_codes+0 |
135,7 → 142,7 |
button: ; button |
or eax, -1 ; close this program |
int 0x40 |
mcall |
147,15 → 154,10 |
draw_window: |
mov eax, 48 ; GET SYSTEM COLORS |
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 |
int 0x40 |
mcall |
; DRAW WINDOW |
mov eax, 0 ; function 0 : define and draw window |
163,8 → 165,8 |
mov ecx, 100*65536+275 ; [y start] *65536 + [y size] |
mov edx, [sc.work] ; color of work area RRGGBB,8->color gl |
or edx, 0x33000000 |
mov edi, header ; WINDOW LABEL |
int 0x40 |
mov edi, title ; WINDOW LABEL |
mcall |
mov eax, 4 |
mov ebx, 15*65536+10 |
171,13 → 173,13 |
xor ecx, ecx |
mov edx, text |
mov esi, text.len |
int 0x40 |
mcall |
call draw_codes |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
197,7 → 199,7 |
mov eax,13 ; filled rectangle |
mov ebx,15*65536+160 |
mov edx,[sc.work] |
int 0x40 |
mcall |
popa |
pusha |
mov ebx,edx |
208,10 → 210,10 |
imul edi,12 |
add edx,edi |
mov esi,12 |
int 0x40 |
mcall |
popa |
movzx ecx,byte [scan_codes+edi] |
int 0x40 ; number |
mcall ; number |
inc ecx |
add edx,12 |
inc edi |
291,13 → 293,13 |
db ' ' |
.len = $ - text |
header db ' ',0 |
title db ' ',0 |
else |
text: |
db 'READING RAW SCANCODE DATA' |
.len = $ - text |
header db 'KEYBOARD SCANCODES',0 |
title db 'KEYBOARD SCANCODES',0 |
end if |
ext db 0x0 |
/programs/develop/tinypad/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/develop/tinypad/trunk/struct.inc |
---|
File deleted |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/develop/tinypad/trunk/tinypad.asm |
---|
151,7 → 151,7 |
;----------------------------------------------------------------------------- |
include 'lang.inc' |
include 'macros.inc' ; useful stuff |
include '..\..\..\macros.inc' ; useful stuff |
;include 'proc32.inc' |
include 'tinypad.inc' |
;purge mov,add,sub ; SPEED |
/programs/fs/copy2/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/fs/copy2/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm copy2.asm copy2 |
@erase lang.inc |
@pause |
/programs/fs/copy2/trunk/build_ge.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix de >lang.inc |
@fasm copy2.asm copy2 |
@erase lang.inc |
@pause |
/programs/fs/copy2/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm copy2.asm copy2 |
@erase lang.inc |
@pause |
/programs/fs/copy2/trunk/copy2.asm |
---|
27,7 → 27,7 |
dd 0x0 , 0x0 ; I_Param , I_Icon |
include 'lang.inc' |
include 'macros.inc' ; very useful stuff for MeOS |
include '..\..\..\macros.inc' ; very useful stuff for MeOS |
STRLEN = 48 ; maximal length of filename |
39,7 → 39,7 |
still: ; main cycle of application begins here |
mov eax,10 ; wait here for event |
int 0x40 |
mcall |
dec eax ; redraw request ? |
jz red |
52,12 → 52,12 |
key: ; key event handler |
mov eax,2 ; just read it and ignore |
int 0x40 |
mcall |
jmp still ; return to main loop |
button: ; button |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? (close_btn) |
jz close |
98,11 → 98,11 |
.waitev: |
mov eax,10 |
int 0x40 |
mcall |
cmp eax,2 |
jnz still |
; mov eax,2 |
int 0x40 |
mcall |
shr eax,8 |
cmp eax,8 |
jnz .nobs ; BACKSPACE |
141,7 → 141,7 |
close: |
or eax,-1 ; close program |
int 0x40 |
mcall |
;==================================================== |
165,7 → 165,7 |
add ecx,0x10000 ; size of memory needed = 0x10000+filesize |
mov eax,64 ; func 64 |
mov ebx,1 ; resize application memory |
int 0x40 |
mcall |
; check if alloc function failed |
test eax,eax ; non-zero value means error |
197,7 → 197,7 |
mov eax,64 |
mov ebx,1 |
mov ecx,0x10000 |
int 0x40 |
mcall |
xor eax,eax ; eax = message number (0-OK) |
210,7 → 210,7 |
mov ecx,0x10ff0000 |
mov edx,[errors+edi*8] |
mov esi,[errors+edi*8+4] |
int 0x40 |
mcall |
jmp still |
222,7 → 222,7 |
shl ecx,16 |
add ecx,9 |
mov edx,0xf2f2f2 |
int 0x40 |
mcall |
mov eax,4 |
mov ebx,109*65536 |
230,7 → 230,7 |
xor ecx,ecx |
mov edx,[addr] |
mov esi,STRLEN |
int 0x40 |
mcall |
ret |
244,41 → 244,34 |
mov eax, 12 ; function 12:tell os about windowdraw |
mov ebx, 1 ; 1, start of draw |
int 0x40 |
mcall |
; DRAW WINDOW |
xor eax, eax ; function 0 : define and draw window |
mov ebx, 160*65536+415 ; [x start] *65536 + [x size] |
mov ecx, 160*65536+100 ; [y start] *65536 + [y size] |
mov edx, 0x03DDDDDD ; color of work area RRGGBB |
int 0x40 |
mov edx, 0x13DDDDDD ; color of work area RRGGBB |
mov edi, title ; WINDOW LABEL |
mcall |
; WINDOW LABEL |
mov eax, 4 ; function 4 : write text to window |
mov ebx, 8*65536+8 ; [x start] *65536 + [y start] |
mov ecx, 0x10ffffff ; color of text RRGGBB |
mov edx, header ; pointer to text beginning |
mov esi, header.size ; text length |
int 0x40 |
mov eax, 8 ; COPY BUTTON |
mov ebx, 20*65536+375 |
mov ecx, 63*65536+16 |
mov edx, 2 |
mov esi, 0xCCCCCC |
int 0x40 |
mcall |
mov ebx, 105*65536+290 |
mov ecx, 33*65536+12 |
mov edx, 4 |
mov esi, 0xEBEBEB |
int 0x40 |
mcall |
mov ebx, 105*65536+290 |
mov ecx, 49*65536+12 |
mov edx, 5 |
mov esi, 0xEBEBEB |
int 0x40 |
mcall |
mov esi, source_info.name ;source |
mov edi, text+14 |
296,7 → 289,7 |
mov esi, STRLEN+59-45 |
newline: |
mov eax, 4 |
int 0x40 |
mcall |
add ebx, 16 |
add edx, STRLEN+59-45 |
cmp [edx], byte 'x' |
304,7 → 297,7 |
mov eax, 12 ; function 12:tell os about windowdraw |
mov ebx, 2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
391,7 → 384,7 |
fr, 'x' |
lsz header,\ |
lsz title,\ |
ru, ' ',\ |
en, 'SYSTREE FILE COPIER',\ |
de, 'SYSTREE DATEIKOPIERER',\ |
/programs/fs/copyr/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/fs/copyr/trunk/ascl.inc |
---|
46,7 → 46,7 |
mov dword [fileinfo+8],1 ; how many blocks to read (1) |
mov eax,58 |
mov ebx,fileinfo |
int 0x40 |
mcall |
mov eax,[file_load_area+2] |
shr eax,9 ; ¯®¤¥«¨¬ 512 ¨ ¯à¨¡ ¢¨¬ 1 - ¯®«ã稬 ç¨á«® ¡«®ª®¢ |
inc eax |
53,7 → 53,7 |
mov dword [fileinfo+8],eax |
mov eax,58 |
mov ebx,fileinfo |
int 0x40 |
mcall |
} |
88,7 → 88,7 |
mov edx,id |
mov esi,bcolor |
mov eax,8 |
int 0x40 |
mcall |
mov eax,asd-lab ;calc size |
mov ebx,6 |
113,7 → 113,7 |
mov edx,lab |
mov esi,asd-lab ;calc size |
mov eax,4 |
int 0x40 |
mcall |
} |
142,7 → 142,7 |
mov eax,9 |
mov ebx,procinfo |
mov ecx,-1 |
int 0x40 |
mcall |
; convert eax bin to param dec |
mov eax,dword [procinfo+30] ;offset of myPID |
176,12 → 176,12 |
mov ebx,1 ; define IPC |
mov ecx,path ; offset of area |
mov edx,150 ; size 150 bytes |
int 0x40 |
mcall |
; change wanted events list 7-bit IPC event |
mov eax,40 |
mov ebx,01000111b |
int 0x40 |
mcall |
; |
; STEP 3 run SYSTEM XTREE with parameters |
189,7 → 189,7 |
mov eax,58 |
mov ebx,run_fileinfo |
int 0x40 |
mcall |
call redproc |
197,7 → 197,7 |
getmesloop: |
mov eax,23 |
mov ebx,50 ;0.5 sec |
int 0x40 |
mcall |
cmp eax,1 |
je mred |
212,7 → 212,7 |
mov ebx,procinfo |
mov ecx,-1 |
mov eax,9 |
int 0x40 |
mcall |
mov ebp,eax |
loox: |
219,7 → 219,7 |
mov eax,9 |
mov ebx,procinfo |
mov ecx,ebp |
int 0x40 |
mcall |
mov eax,[DLGPID] |
cmp [procinfo+30],eax ;IF Dialog find |
je dlg_is_work ;jmp to dlg_is_work |
244,15 → 244,15 |
jmp getmesloop |
mkey: |
mov eax,2 |
int 0x40 ; read (eax=2) |
mcall ; read (eax=2) |
jmp getmesloop |
mbutton: |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
jne getmesloop |
mov eax,-1 ; close this program |
int 0x40 |
mcall |
mgetmes: |
; If dlg_pid_get then second message get jmp to still |
354,7 → 354,7 |
mov eax,9 |
mov ebx,procinfo |
mov ecx,-1 |
int 0x40 |
mcall |
; convert eax bin to param dec |
mov eax,dword [procinfo+30] ;offset of myPID |
388,12 → 388,12 |
mov ebx,1 ; define IPC |
mov ecx,path ; offset of area |
mov edx,120 ; size 150 bytes |
int 0x40 |
mcall |
; change wanted events list 7-bit IPC event |
mov eax,40 |
mov ebx,01000111b |
int 0x40 |
mcall |
; |
; STEP 3 run SYSTEM XTREE with parameters |
401,7 → 401,7 |
mov eax,58 |
mov ebx,run_fileinfo |
int 0x40 |
mcall |
call redproc |
409,7 → 409,7 |
getmesloop: |
mov eax,23 |
mov ebx,50 ;0.5 sec |
int 0x40 |
mcall |
cmp eax,1 |
je mred |
424,7 → 424,7 |
mov ebx,procinfo |
mov ecx,-1 |
mov eax,9 |
int 0x40 |
mcall |
mov ebp,eax |
loox: |
431,7 → 431,7 |
mov eax,9 |
mov ebx,procinfo |
mov ecx,ebp |
int 0x40 |
mcall |
mov eax,[DLGPID] |
cmp [procinfo+30],eax ;IF Dialog find |
je dlg_is_work ;jmp to dlg_is_work |
455,15 → 455,15 |
call redproc |
jmp getmesloop |
mkey: |
int 0x40 ; read (eax=2) |
mcall ; read (eax=2) |
jmp getmesloop |
mbutton: |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
jne getmesloop |
mov eax,-1 ; close this program |
int 0x40 |
mcall |
mgetmes: |
; If dlg_pid_get then second message get jmp to still |
615,7 → 615,7 |
macro scank |
{ |
mov eax,10 |
int 0x40 |
mcall |
} |
macro putpix x,y,color |
624,7 → 624,7 |
mov ecx,y |
mov edx,color |
mov eax,1 |
int 0x40 |
mcall |
} |
macro puttxt x,y,offs,size,color |
637,7 → 637,7 |
mov edx,offs |
mov esi,size |
mov eax,4 |
int 0x40 |
mcall |
} |
macro outcount data, x, y, color, numtype |
649,7 → 649,7 |
wordstoreg edx,x,y |
mov esi,color |
mov eax,47 |
int 0x40 |
mcall |
} |
; SCEVENT - Scan event |
657,7 → 657,7 |
macro scevent red,key,but |
{ |
mov eax,11 |
int 0x40 |
mcall |
dec eax |
jz red |
dec eax |
671,7 → 671,7 |
macro wtevent red,key,but |
{ |
mov eax,10 |
int 0x40 |
mcall |
dec eax |
jz red |
dec eax |
686,7 → 686,7 |
{ |
mov eax,23 |
mov ebx,xfps |
int 0x40 |
mcall |
cmp eax,0 |
je noevent |
dec eax |
703,7 → 703,7 |
macro close |
{ |
mov eax,-1 |
int 0x40 |
mcall |
} |
; DELAY - Create delay 1/100 sec |
714,7 → 714,7 |
{ |
mov eax,5 |
mov ebx,arg1 |
int 0x40 |
mcall |
} |
; WINDOW - Draw window |
729,7 → 729,7 |
wordstoreg ecx,arg2,arg4 |
mov edx,arg5 |
mov eax,0 |
int 0x40 |
mcall |
} |
macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 |
740,7 → 740,7 |
mov esi,arg6 |
mov edi,arg7 |
mov eax,0 |
int 0x40 |
mcall |
} |
750,7 → 750,7 |
{ |
mov eax,12 |
mov ebx,1 |
int 0x40 |
mcall |
} |
; ENDWD - End window draw |
759,7 → 759,7 |
{ |
mov eax,12 |
mov ebx,2 |
int 0x40 |
mcall |
} |
; LABEL - Put text to frame |
780,7 → 780,7 |
mov edx,lab |
mov esi,asd-lab ;calc size |
mov eax,4 |
int 0x40 |
mcall |
} |
;Key's |
/programs/fs/copyr/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm copyr.asm copyr |
@erase lang.inc |
@pause |
/programs/fs/copyr/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm copyr.asm copyr |
@erase lang.inc |
@pause |
/programs/fs/copyr/trunk/copyr.asm |
---|
24,7 → 24,7 |
dd param_area , 0x0 ; I_Param , I_Icon |
include 'lang.inc' |
include 'macros.inc' ; very useful stuff for MeOS |
include '..\..\..\macros.inc' ; very useful stuff for MeOS |
include 'ascl.inc' |
START: ; start of execution |
82,12 → 82,12 |
mov ecx,0x10ff0000 |
lea edx,[errors+ebp] |
mov esi,43 ;[errors+edi*8+4] |
int 0x40 |
mcall |
jmp dexit |
;closep: |
; or eax,-1 ; close program |
; int 0x40 |
; mcall |
;==================================================== |
124,7 → 124,7 |
lea ecx,[ebx+0x10000] ; size of memory needed = 0x10000+filesize |
mov eax,64 ; func 64 |
mov ebx,1 ; resize application memory |
int 0x40 |
mcall |
pop ebx ; restore filesize |
; check if alloc function failed |
139,7 → 139,7 |
; read the source file |
mov eax,70 |
mov ebx,source_info |
int 0x40 |
mcall |
; ebx = number of read bytes = file size |
; save loaded file |
146,7 → 146,7 |
mov [dest_info.bytes],ebx ; file size in bytes |
mov eax,70 |
mov ebx,dest_info |
int 0x40 |
mcall |
; check if 58 function failed |
test eax,eax |
162,7 → 162,7 |
mov eax,64 |
mov ebx,1 |
mov ecx,0x10000 |
int 0x40 |
mcall |
xor eax,eax ; eax = message number (0-OK) |
jmp copy_error |
177,7 → 177,7 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,1 ; 1, start of draw |
int 0x40 |
mcall |
; DRAW WINDOW |
xor eax,eax ; function 0 : define and draw window |
184,7 → 184,7 |
mov ebx,160*65536+415 ; [x start] *65536 + [x size] |
mov ecx,160*65536+90 ; [y start] *65536 + [y size] |
mov edx,0x03DDDDDD ; color of work area RRGGBB |
int 0x40 |
mcall |
; WINDOW LABEL |
mov eax,4 ; function 4 : write text to window |
192,7 → 192,7 |
mov ecx,0x10ffffff ; color of text RRGGBB |
mov edx,labelt ; pointer to text beginning |
mov esi,labellen-labelt ; text length |
int 0x40 |
mcall |
mov eax,8 |
mov ebx,105*65536+290 |
199,12 → 199,12 |
mov ecx,33*65536+12 |
mov edx,4 |
mov esi,0xEBEBEB |
int 0x40 |
mcall |
mov ebx,105*65536+290 |
mov ecx,49*65536+12 |
mov edx,5 |
mov esi,0xEBEBEB |
int 0x40 |
mcall |
mov esi,source |
mov edi,text+14 |
222,7 → 222,7 |
mov esi,62 |
newline: |
mov eax,4 |
int 0x40 |
mcall |
add ebx,16 |
add edx,62 |
cmp [edx],byte 'x' |
230,7 → 230,7 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
/programs/fs/kfar/trunk/dialogs.inc |
---|
315,13 → 315,13 |
.event: |
push 10 |
pop eax |
int 40h |
mcall |
dec eax |
jz .redraw |
dec eax |
jz .key |
or eax, -1 |
int 40h |
mcall |
.redraw: |
push ebx ebp |
call draw_window |
329,7 → 329,7 |
jmp .event |
.key: |
mov al, 2 |
int 40h |
mcall |
shr eax, 8 |
cmp al, 0xE0 |
jnz @f |
1239,7 → 1239,7 |
cmp [ctrlstate], 1 |
sbb ecx, -2 |
mov edx, layout |
int 0x40 |
mcall |
popad |
; translate scancode to ASCII |
movzx eax, al |
/programs/fs/kfar/trunk/filetool.inc |
---|
6,7 → 6,7 |
push 70 |
pop eax |
mov ebx, delinfo |
int 0x40 |
mcall |
pop ebx |
test eax, eax |
jz .ret |
102,7 → 102,7 |
mov [ebx+dirinfo.name-dirinfo], execdata |
push 70 |
pop eax |
int 0x40 |
mcall |
; if we get read error, the best available action is try to delete directory itself |
test eax, eax |
jz @f |
/programs/fs/kfar/trunk/kfar.asm |
---|
8,6 → 8,7 |
dd 0, app_path |
include 'lang.inc' |
include '..\..\..\macros.inc' |
include 'font.inc' |
include 'sort.inc' |
include 'kglobals.inc' |
60,7 → 61,7 |
pop eax |
push 11 |
pop ebx |
int 0x40 |
mcall |
call init_console |
call draw_window |
push 66 |
68,7 → 69,7 |
push 1 |
pop ebx |
mov ecx, ebx |
int 40h ; set keyboard mode to scancodes |
mcall ; set keyboard mode to scancodes |
mov eax, 200 |
mov [panel1_nfa], eax |
mov [panel2_nfa], eax |
249,7 → 250,7 |
event: |
push 10 |
pop eax |
int 40h |
mcall |
dec eax |
jz redraw |
dec eax |
257,13 → 258,13 |
; button - we have only one button, close |
exit: |
or eax, -1 |
int 40h |
mcall |
redraw: |
; query kbd state from OS |
mov al, 66 |
push 3 |
pop ebx |
int 0x40 |
mcall |
and eax, 0x3F |
cmp al, [ctrlstate] |
mov [ctrlstate], al |
273,7 → 274,7 |
mov al, 9 |
mov ebx, procinfo |
or ecx, -1 |
int 40h |
mcall |
; test if rolled up |
; height of rolled up window is [skinh]+3 |
mov eax, [ebx+46] |
283,14 → 284,14 |
mov al, 12 |
push 1 |
pop ebx |
int 0x40 |
mcall |
xor eax, eax |
; ebx, ecx, edi are ignored by function 0 after first redraw |
mov edx, 0x53000000 |
int 0x40 |
mcall |
mov al, 12 |
inc ebx |
int 0x40 |
mcall |
jmp event |
@@: |
xor ecx, ecx |
364,7 → 365,7 |
imul esi, font_height |
add esi, [skinh] |
add esi, 5-1 |
int 40h |
mcall |
.resize_draw: |
mov ecx, [MemForImage] |
call pgfree |
394,7 → 395,7 |
pop eax |
push 5 |
pop ebx |
int 0x40 |
mcall |
push eax |
sub eax, [esp+2] |
inc eax |
427,11 → 428,11 |
add esi, 4 |
push 67 |
pop eax |
int 0x40 |
mcall |
jmp redraw.resize_draw |
key: |
mov al, 2 |
int 40h |
mcall |
test al, al |
jnz event |
xchg al, ah |
1025,7 → 1026,7 |
.cmdlinelenok: |
push 70 |
pop eax |
int 40h |
mcall |
xor esi, esi |
xchg esi, [restore_semicolon] |
test esi, esi |
1057,7 → 1058,7 |
pop eax |
push 20 |
pop ebx |
int 0x40 |
mcall |
jmp .ctrl_r |
@@: |
ret |
1235,7 → 1236,7 |
mov byte [tmpname+1], 0 |
push 70 |
pop eax |
int 40h |
mcall |
mov ebx, dirinfo |
test eax, eax |
jnz .drive_loop_e_done |
1251,7 → 1252,7 |
.drive_loop_i: |
push 70 |
pop eax |
int 40h |
mcall |
mov ebx, dirinfo |
test eax, eax |
jnz .drive_loop_i_done |
1541,7 → 1542,7 |
mov [ebx + attrinfo.name - attrinfo], esi |
push 70 |
pop eax |
int 0x40 |
mcall |
mov cl, byte [attrinfo.attr] |
@@: |
test cl, 0x10 |
1610,7 → 1611,7 |
mov ebx, readinfo |
push 70 |
pop eax |
int 0x40 |
mcall |
test eax, eax |
jz .copyreadok |
cmp eax, 6 |
1642,7 → 1643,7 |
mov ebx, writeinfo |
push 70 |
pop eax |
int 0x40 |
mcall |
test eax, eax |
jz .copywriteok |
push edi |
1699,7 → 1700,7 |
mov dword [ebx+21], edi |
push 70 |
pop eax |
int 0x40 |
mcall |
; ignore errors |
pop dword [delinfo+21] |
jmp .copydone |
2140,7 → 2141,7 |
push 70 |
pop eax |
mov ebx, mkdirinfo |
int 0x40 |
mcall |
test eax, eax |
jz @f |
push dword CopyDestEditBuf+12 |
2435,10 → 2436,10 |
pop eax |
push 1 |
pop ebx |
int 40h |
mcall |
mov al, 48 |
mov bl, 4 |
int 40h |
mcall |
mov [skinh], eax |
mov ebx, [cur_width] |
imul ebx, font_width |
2448,8 → 2449,8 |
lea ecx, [eax+ecx+5-1+100*65536] |
xor eax, eax |
mov edx, 0x53000000 |
mov edi, header |
int 40h |
mov edi, title |
mcall |
mov al, 13 |
xor edx, edx |
cmp [fill_width], 0 |
2463,7 → 2464,7 |
mov cx, word [wnd_height] |
sub cx, word [skinh] |
sub cx, 5-1 |
int 0x40 |
mcall |
@@: |
cmp [fill_height], 0 |
jz @f |
2476,7 → 2477,7 |
sub ecx, 5-1 |
shl ecx, 16 |
mov cx, word [fill_height] |
int 0x40 |
mcall |
@@: |
; xor ecx, ecx |
; call draw_image |
2493,12 → 2494,12 |
mov esi, 8 |
mov edi, console_colors |
xor ebp, ebp |
int 0x40 |
mcall |
@@: |
mov al, 12 |
push 2 |
pop ebx |
int 40h |
mcall |
ret |
draw_image.nomem: |
2510,7 → 2511,7 |
mov ecx, [skinh-2] |
mov cx, word [cur_height] |
imul cx, font_height |
int 40h |
mcall |
mov al, 4 |
mov ebx, 32*65536+32 |
mov ecx, 0xFFFFFF |
2517,7 → 2518,7 |
mov edx, nomem_draw |
push nomem_draw.size |
pop esi |
int 40h |
mcall |
ret |
draw_image: |
2714,7 → 2715,7 |
mov edi, console_colors |
push 8 |
pop esi |
int 40h |
mcall |
.nodraw: |
ret |
3936,7 → 3937,7 |
push 70 |
pop eax |
mov ebx, dirinfo |
int 40h |
mcall |
test eax, eax |
jz .ok |
cmp eax, 6 |
5165,7 → 5166,7 |
pop esi |
ret |
header db 'Kolibri Far 0.32',0 |
title db 'Kolibri Far 0.32',0 |
nomem_draw db 'No memory for redraw.',0 |
.size = $ - nomem_draw |
/programs/fs/kfar/trunk/tools.inc |
---|
6,7 → 6,7 |
pop eax |
push 12 |
pop ebx |
int 0x40 |
mcall |
pop ebx |
ret |
18,7 → 18,7 |
pop eax |
push 13 |
pop ebx |
int 0x40 |
mcall |
pop ebx |
ret |
30,7 → 30,7 |
pop eax |
push 20 |
pop ebx |
int 0x40 |
mcall |
pop ebx |
ret |
188,7 → 188,7 |
pop eax |
push 19 |
pop ebx |
int 0x40 |
mcall |
mov edi, aInvalidDLL |
test eax, eax |
jz .sayerr |
/programs/fs/kfar/trunk/viewer.inc |
---|
62,7 → 62,7 |
.attr_retry: |
push 70 |
pop eax |
int 40h |
mcall |
test eax, eax |
jz @f |
lea ebx, [ebp+viewer_data.filename] |
105,7 → 105,7 |
.retry: |
push 70 |
pop eax |
int 40h |
mcall |
mov [ebp+viewer_data.buf_size], ebx |
test eax, eax |
jz .readok |
196,7 → 196,7 |
mov ebx, readinfo |
push 70 |
pop eax |
int 40h |
mcall |
test eax, eax |
jz .readok |
cmp eax, 6 |
978,7 → 978,7 |
mov [ebx+21], eax |
push 70 |
pop eax |
int 40h |
mcall |
test eax, eax |
jz .readok |
cmp eax, 6 |
1030,7 → 1030,7 |
@@: |
push 70 |
pop eax |
int 40h |
mcall |
test eax, eax |
jz @f |
cmp eax, 6 |
/programs/fs/mfar/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/fs/sysxtree/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/fs/sysxtree/trunk/ascgl.inc |
---|
373,7 → 373,7 |
words2reg ecx,y,ys ;y*65536+ys |
mov edx,color |
mov eax,13 |
int 0x40 |
mcall |
} |
; FPS - Set Frame Per Second Display |
390,7 → 390,7 |
spdat: |
get_time: |
mov eax,3 |
int 0x40 |
mcall |
cmp eax,[savetime] |
jne new_time |
inc [fps_cntr] |
409,7 → 409,7 |
mov ecx,y*65536+7 |
mov edx,delcolor |
mov eax,13 |
int 0x40 |
mcall |
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] |
int 0x40 |
mcall |
no_out_fps: |
} |
496,7 → 496,7 |
add cx,[arg3+4] |
; wordstoreg ecx,[arg3],[arg3+4] |
words2reg edx, x , y ;arg1*65536+arg2 |
int 0x40 |
mcall |
} |
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] |
int 0x40 |
mcall |
} |
/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 |
int 0x40 |
mcall |
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 |
int 0x40 |
mcall |
} |
143,7 → 143,7 |
mov edx,id |
mov esi,bcolor |
mov eax,8 |
int 0x40 |
mcall |
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 |
int 0x40 |
mcall |
} |
197,7 → 197,7 |
mov eax,9 |
mov ebx,procinfo |
mov ecx,-1 |
int 0x40 |
mcall |
; 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 |
int 0x40 |
mcall |
; change wanted events list 7-bit IPC event |
mov eax,40 |
mov ebx,01000111b |
int 0x40 |
mcall |
; |
; STEP 3 run SYSTEM XTREE with parameters |
244,7 → 244,7 |
mov eax,70 |
mov ebx,run_fileinfo |
int 0x40 |
mcall |
call redproc |
252,7 → 252,7 |
getmesloop: |
mov eax,23 |
mov ebx,50 ;0.5 sec |
int 0x40 |
mcall |
dec eax |
jz mred |
dec eax |
266,7 → 266,7 |
mov ebx,procinfo |
mov ecx,-1 |
mov eax,9 |
int 0x40 |
mcall |
mov ebp,eax |
loox: |
273,7 → 273,7 |
mov eax,9 |
mov ebx,procinfo |
mov ecx,ebp |
int 0x40 |
mcall |
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 |
int 0x40 ; read (eax=2) |
mcall ; read (eax=2) |
jmp getmesloop |
mbutton: |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
jne getmesloop |
mov eax,-1 ; close this program |
int 0x40 |
mcall |
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 |
int 0x40 |
mcall |
; 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 |
int 0x40 |
mcall |
; change wanted events list 7-bit IPC event |
mov eax,40 |
mov ebx,01000111b |
int 0x40 |
mcall |
; |
; STEP 3 run SYSTEM XTREE with parameters |
455,7 → 455,7 |
mov eax,70 |
mov ebx,run_fileinfo |
int 0x40 |
mcall |
call redproc |
463,7 → 463,7 |
getmesloop: |
mov eax,23 |
mov ebx,50 ;0.5 sec |
int 0x40 |
mcall |
dec eax |
jz mred |
dec eax |
477,7 → 477,7 |
mov ebx,procinfo |
mov ecx,-1 |
mov eax,9 |
int 0x40 |
mcall |
mov ebp,eax |
loox: |
484,7 → 484,7 |
mov eax,9 |
mov ebx,procinfo |
mov ecx,ebp |
int 0x40 |
mcall |
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 |
int 0x40 ; read (eax=2) |
mcall ; read (eax=2) |
jmp getmesloop |
mbutton: |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
jne getmesloop |
mov eax,-1 ; close this program |
int 0x40 |
mcall |
mgetmes: |
; If dlg_pid_get then second message get jmp to still |
669,7 → 669,7 |
macro scank |
{ |
mov eax,10 |
int 0x40 |
mcall |
} |
macro putpix x,y,color |
678,7 → 678,7 |
mov ecx,y |
mov edx,color |
mov eax,1 |
int 0x40 |
mcall |
} |
macro puttxt x,y,offs,size,color |
696,7 → 696,7 |
; mov edx,offs |
; mov esi,size |
mov eax,4 |
int 0x40 |
mcall |
} |
macro outcount data, x, y, color, numtype |
708,7 → 708,7 |
words2reg edx,x,y |
mov esi,color |
mov eax,47 |
int 0x40 |
mcall |
} |
; SCEVENT - Scan event |
716,7 → 716,7 |
macro scevent red,key,but |
{ |
mov eax,11 |
int 0x40 |
mcall |
dec eax |
jz red |
dec eax |
730,7 → 730,7 |
macro wtevent red,key,but |
{ |
mov eax,10 |
int 0x40 |
mcall |
dec eax |
jz red |
dec eax |
745,7 → 745,7 |
{ |
mov eax,23 |
mov ebx,xfps |
int 0x40 |
mcall |
cmp eax,0 |
je noevent |
dec eax |
762,7 → 762,7 |
macro close |
{ |
mov eax,-1 |
int 0x40 |
mcall |
} |
; DELAY - Create delay 1/100 sec |
773,7 → 773,7 |
{ |
mov eax,5 |
mov ebx,arg1 |
int 0x40 |
mcall |
} |
; WINDOW - Draw window |
788,7 → 788,7 |
words2reg ecx,arg2,arg4 |
mov edx,arg5 |
mov eax,0 |
int 0x40 |
mcall |
} |
macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 |
799,7 → 799,7 |
mov esi,arg6 |
mov edi,arg7 |
mov eax,0 |
int 0x40 |
mcall |
} |
809,7 → 809,7 |
{ |
mov eax,12 |
mov ebx,1 |
int 0x40 |
mcall |
} |
; ENDWD - End window draw |
818,7 → 818,7 |
{ |
mov eax,12 |
mov ebx,2 |
int 0x40 |
mcall |
} |
; LABEL - Put text to frame |
842,7 → 842,7 |
mov edx,lab |
mov esi,asd-lab ;calc size |
mov eax,4 |
int 0x40 |
mcall |
} |
;Key's |
/programs/fs/sysxtree/trunk/build_en.bat |
---|
1,4 → 1,5 |
@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,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm sysxtree.asm sysxtree |
@erase lang.inc |
@pause |
/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 |
; int 0x40 |
; mcall |
; //// Willow |
mcall 18,11,1,table_area |
cmp [edx+2],byte 0 |
101,7 → 101,7 |
mov eax,40 |
mov ebx,0100111b |
int 0x40 |
mcall |
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 |
int 0x40 |
mcall |
mov eax,dword [procinfo+30] |
mov edi,MYPID+4-1 |
151,7 → 151,7 |
mov ebx,2 |
mov edx,MYPID |
mov esi,4 |
int 0x40 |
mcall |
no_dlg: |
giftoimg but_file,tempimg |
210,7 → 210,7 |
mov eax,9 |
mov ebx,procinfo |
mov ecx,-1 |
int 0x40 |
mcall |
wtevent red,key,button |
217,7 → 217,7 |
scrolltest: |
mov eax,37 |
mov ebx,2 |
int 0x40 |
mcall |
dec eax |
jne still |
224,11 → 224,11 |
scrl: |
mov eax,37 |
mov ebx,1 |
int 0x40 |
mcall |
movzx ebx, ax ; y |
shr eax, 16 ; x |
mov ebp,eax |
sub ebp,[listx] ;[procinfo.x_size] |
sub ebp,[listx] ;[procinfo.box.left] |
sub ebp,[listxsize] |
add ebp,[scrollsize] |
cmp ebp,dword [scrollsize] ;8 |
291,7 → 291,7 |
;=================== |
key: ; key |
mov eax,2 |
int 0x40 |
mcall |
cmp dword [focus],0 |
jne con_edit |
cmp ah,key_Up |
400,7 → 400,7 |
button: ; button |
mov eax,17 |
int 0x40 |
mcall |
cmp ah,2 ;Edit prompt line? |
je edit_prompt |
411,7 → 411,7 |
mousetest: |
mov eax,37 |
mov ebx,1 |
int 0x40 |
mcall |
mov ebx,eax |
shr eax,16 ;x |
and ebx,0xffff ;y |
565,7 → 565,7 |
mov ebx,2 |
mov edx,paramtest |
mov esi,1024 |
int 0x40 |
mcall |
jmp exit |
647,7 → 647,7 |
mov dword [ebx+21], paramtest ; program name |
.do: |
mov eax, 70 |
int 0x40 |
mcall |
jmp still |
run: |
818,7 → 818,7 |
mov byte [ebx], 2 |
mov [ebx+12], edi |
mov eax, 70 |
int 0x40 |
mcall |
jmp still |
no_copyclip: |
829,7 → 829,7 |
mov byte [ebx], 0 |
mov dword [ebx+12], 1023 |
mov eax, 70 |
int 0x40 |
mcall |
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] |
int 0x40 |
mcall |
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 |
int 0x40 |
mcall |
no_outpath: |
; run COPYR |
mov eax, 70 |
mov ebx, copyr_run |
int 0x40 |
mcall |
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] |
; int 0x40 |
; mcall |
; //// Willow |
mov eax,-1 |
int 0x40 |
mcall |
draw_wd: |
; call draw_window |
1028,10 → 1028,10 |
cmp [browser], 1 ;it's browser? |
jne dialogscr |
mov eax,[procinfo.y_size] |
mov eax,[procinfo.box.top] |
sub eax,90 |
drawfbox 40,76,300,eax,0x00000000 |
mov eax,[procinfo.y_size] |
mov eax,[procinfo.box.top] |
sub eax,92 |
drawfbox 41,77,298,eax,0x00ffffff |
mov edi,esi ;14 |
1041,10 → 1041,10 |
jmp outlab |
dialogscr: |
mov eax,[procinfo.y_size] |
mov eax,[procinfo.box.top] |
sub eax,84 |
drawfbox 16,54,270,eax,0x00000000 |
mov eax,[procinfo.y_size] |
mov eax,[procinfo.box.top] |
sub eax,86 |
drawfbox 17,55,268,eax,0x00ffffff |
mov edi,esi ;14 |
1056,7 → 1056,7 |
mov eax,4 |
mov esi,40 |
helploo: |
int 0x40 |
mcall |
add ebx,11 |
add edx,40 |
dec edi |
1144,8 → 1144,8 |
; mov eax,9 |
; mov ebx,procinfo |
; mov ecx,-1 |
; int 0x40 |
; mov eax,[procinfo.x_size] |
; mcall |
; mov eax,[procinfo.box.left] |
; cmp eax,66 |
; jg temp12345 |
; ret |
1154,7 → 1154,7 |
mov ebx,3 |
mov ecx,sc |
mov edx,sizeof.system_colors |
int 0x40 |
mcall |
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 |
int 0x40 |
mcall |
;Window |
1178,43 → 1178,43 |
isb1: |
; mov edx,[sc.work] ; color of work area RRGGBB |
or edx,0x03ffffff;000000 |
int 0x40 |
mcall |
;Get proc info |
mov eax,9 |
mov ebx,procinfo |
mov ecx,-1 |
int 0x40 |
mcall |
mov eax,[procinfo.x_size] |
mov eax,[procinfo.box.left] |
cmp eax,66 |
jg @f |
.ret: |
ret |
@@: |
cmp [procinfo.y_size], 0x70 |
cmp [procinfo.box.top], 0x70 |
jl .ret |
cmp [browser], 1 ;it's browser |
jne nob9 |
mov [listx],120 |
; mov eax,[procinfo.x_size] |
; mov eax,[procinfo.box.left] |
sub eax,127;[listx]+7 |
cmp eax,10 |
jl .ret |
mov [listxsize],eax |
mov [listy],73 |
mov eax,[procinfo.y_size] |
mov eax,[procinfo.box.top] |
sub eax,73+7;[listy]+7 |
mov [listysize],eax |
jmp isb9 |
nob9: |
mov [listx],10 |
; mov eax,[procinfo.x_size] |
; mov eax,[procinfo.box.left] |
sub eax,17 ;[listx]+7 |
mov [listxsize],eax |
mov [listy],54 |
mov eax,[procinfo.y_size] |
mov eax,[procinfo.box.top] |
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 |
int 0x40 |
mcall |
dec edi |
nexthbut: |
add ebx,(6*8)*65536 |
inc edx |
int 0x40 |
mcall |
dec edi |
jnz nexthbut |
1248,17 → 1248,17 |
glabel 8,25,' FILE VIEW INFO ', cl_White ;Black |
;BlackLine |
mov eax,[procinfo.x_size] |
mov eax,[procinfo.box.left] |
sub eax,10 |
drawfbox 5,35, eax, 1, cl_Black |
;BlackLine2 |
mov eax,[procinfo.x_size] |
mov eax,[procinfo.box.left] |
sub eax,10 |
drawfbox 5,68, eax, 1, cl_Black |
;BlackLine2 vertical |
; mov eax,[procinfo.y_size] |
; mov eax,[procinfo.box.top] |
; 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 |
int 0x40 |
mcall |
dec edi |
nextbut: |
add ebx,(16+6)*65536 |
inc edx |
int 0x40 |
mcall |
dec edi |
jnz nextbut |
1344,7 → 1344,7 |
;But img browser |
setimg 10,37,butimg |
;left logo |
add eax,[procinfo.x_size] |
add eax,[procinfo.box.left] |
sub eax,80 |
mov [temp],eax |
setimg [temp],37,logoimg |
1359,7 → 1359,7 |
mov [urlx],48 |
mov [urly],55 |
mov eax,[procinfo.x_size] |
mov eax,[procinfo.box.left] |
sub eax,48+10 |
mov [urlxsize],eax |
mov [urlysize],12 |
1374,7 → 1374,7 |
mov ecx,cl_Black |
add edx,modetext |
mov esi,16 |
int 0x40 |
mcall |
;List size |
outcount [listsize],294,25,cl_Black,4*65536 |
1388,10 → 1388,10 |
nob5: |
mov [urlx],10 |
mov eax,[procinfo.y_size] |
mov eax,[procinfo.box.top] |
sub eax,24 |
mov [urly],eax |
mov eax,[procinfo.x_size] |
mov eax,[procinfo.box.left] |
sub eax,80 |
mov [urlxsize],eax |
mov [urlysize],12 |
1410,7 → 1410,7 |
or ecx,0x10000000 |
mov esi,9 |
mov eax,4 |
int 0x40 |
mcall |
no_saveh: |
1417,11 → 1417,11 |
;Draw OPEN\SAVE button |
mov ebx,0*65536+50 |
mov ecx,0*65536+12 |
mov eax,[procinfo.x_size] |
mov eax,[procinfo.box.left] |
sub eax,63 |
shl eax,16 |
add ebx,eax |
mov eax,[procinfo.y_size] |
mov eax,[procinfo.box.top] |
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!!! |
int 0x40 |
mcall |
; label OPEN or SAVE |
mov ebx,[procinfo.x_size] |
mov ebx,[procinfo.box.left] |
sub ebx,48 |
mov eax,[procinfo.y_size] |
mov eax,[procinfo.box.top] |
sub eax,22 |
shl ebx,16 |
add ebx,eax |
1450,7 → 1450,7 |
mov ecx,cl_White |
mov esi,4 |
mov eax,4 |
int 0x40 |
mcall |
no_saveb: |
isb5: |
1479,16 → 1479,16 |
mov eax,8 |
mov edx,2 ;button ID |
mov esi,0x00aaaaaa ;gradient!!! |
int 0x40 |
mcall |
;Draw URL String |
mov eax,13 |
mov edx,cl_Black |
int 0x40 |
mcall |
add ebx,1*65536-2+1 |
add ecx,1*65536-2+1 |
mov edx,cl_White |
int 0x40 |
mcall |
;Draw URL Cursor |
mov eax,6 |
1503,7 → 1503,7 |
add ecx,2*65536-4 |
mov eax,13 |
mov edx,cl_Black |
int 0x40 |
mcall |
; 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 |
int 0x40 |
mcall |
cmp [flick],2 |
jne no_flick_url |
1546,7 → 1546,7 |
add ecx,[listysize] |
sub ecx,scrollbutsize*2 |
mov edx,[scrollcolor] ;0x00006600 |
int 0x40 |
mcall |
;Draw Scroll Box |
mov edx,0 |
1595,7 → 1595,7 |
shl ebx, 16 |
mov bx, word [scrollsize] |
mov edx, [scrollboxcol] |
int 0x40 |
mcall |
notusescroll: |
1611,12 → 1611,12 |
mov eax,8 |
mov edx,4+1000000000000000000000000000000b ;spoke butt |
int 0x40 |
mcall |
add ebx,15 |
mov eax,13 |
mov edx,[listcolor] ;ffffff |
int 0x40 |
mcall |
;Draw up/down buttons |
mov ebx,[listx] |
1629,12 → 1629,12 |
add ecx,scrollbutsize-1 |
mov eax,8 |
mov edx,6+1000000000000000000000000000000b ;spoke butt |
int 0x40 |
mcall |
inc ecx |
mov eax,13 |
mov edx,[scrollbutcol] ;ffffff |
int 0x40 |
mcall |
; Draw image on up button |
pushad |
1646,7 → 1646,7 |
mov ecx,8*65536+9 |
mov ebx,upsb+8 |
mov eax,7 |
int 0x40 |
mcall |
popad |
1658,12 → 1658,12 |
add ecx,eax |
mov eax,8 |
int 0x40 |
mcall |
inc ecx |
mov eax,13 |
mov edx,[scrollbutcol] ;ffffff |
int 0x40 |
mcall |
; Draw image on down button |
pushad |
1675,7 → 1675,7 |
mov ecx,8*65536+9 |
mov ebx,dnsb+8 |
mov eax,7 |
int 0x40 |
mcall |
popad |
1795,7 → 1795,7 |
@@: |
push eax |
mov eax,4 |
int 0x40 |
mcall |
cmp byte [edx+esi], 0 |
jz @f |
pushad |
1805,7 → 1805,7 |
add ebx, eax |
mov esi, 1 |
mov eax, 4 |
int 0x40 |
mcall |
popad |
@@: |
pop eax |
1817,7 → 1817,7 |
add edx,4 |
mov esi,23 |
mov eax,4 |
int 0x40 |
mcall |
pop edx ebx |
pushad |
1911,7 → 1911,7 |
; mov ebx,upsb+8 |
pop ebx |
mov eax,7 |
int 0x40 |
mcall |
no_out_ico: |
popad |
2008,7 → 2008,7 |
mov eax,12 ; function 12:tell os about windowdraw |
mov ebx,2 ; 2, end of draw |
int 0x40 |
mcall |
ret |
2040,7 → 2040,7 |
mov eax,4 |
mov esi,12 |
menuloo: |
int 0x40 |
mcall |
add ebx,11 |
add edx,12 |
dec edi |
2050,7 → 2050,7 |
menubutton: |
mov eax,8 |
nextmenubut: |
int 0x40 |
mcall |
add ecx,11*65536 |
inc edx |
dec edi |
2156,7 → 2156,7 |
loorhd: |
mov eax,70 |
mov ebx,fileinfoblock |
int 0x40 |
mcall |
cmp eax,6 |
je end_of_dir |
/programs/games/15/trunk/macros.inc |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:eol-style |
-native |
\ No newline at end of property |
/programs/games/15/trunk/15.ASM |
---|
4,9 → 4,8 |
; Compile with FASM |
; |
include 'lang.inc' |
include 'macros.inc' ; decreases program size (not required) |
include '..\..\..\macros.inc' ; decreases program size (not required) |
BgdColor equ 0x02aabbcc |
StatusColor equ 0x02ffffff |
StatusColor2 equ 0x02dc1e14 |
BgdColor equ 0x03aabbcc |
63,7 → 62,7 |
START: |
mov [cptr],CONF_COUNT ; number of task |
mov eax,3 |
int 0x40 |
mcall |
mov cl,16 |
ror eax,cl |
mov [generator],eax ; random generator from Tetris |
97,7 → 96,7 |
still: ; MAIN PROGRAM CYCLE |
mov eax,10 ; wait for event |
int 0x40 |
mcall |
cmp eax,1 ; redraw? - |
je red ; goto red |
110,7 → 109,7 |
key: ; Key pressed |
mov eax,2 |
int 0x40 |
mcall |
shr eax,8 |
cmp eax,32 ; <Space> = Shuffle |
je SHUF |
126,13 → 125,13 |
button: ; Button pressed |
mov eax,17 |
int 0x40 |
mcall |
shr eax,8 |
sub eax,2 |
cmp eax,-1 ; id == 1 (closeme)? |
jne noclose |
int 0x40 |
mcall |
noclose: |
jl SHUF ; Shuffle (id=0) pressed |
160,7 → 159,7 |
draw_window: |
mov eax,12 |
mov ebx,1 ; begin draw |
int 0x40 |
mcall |
; CREATING WINDOW |
mov eax,0 |
169,15 → 168,15 |
mov edx,BgdColor |
mov esi,0x805080d0 |
mov edi,0x005080d0 |
int 0x40 |
mcall |
; PROGRAM TITLE |
mov eax,4 |
mov ebx,8*65536+8 |
mov ecx,0x10ddeeff |
mov ecx,0x10000000 |
mov edx,txtTitle |
mov esi,lenTitle-txtTitle |
int 0x40 |
mcall |
mov eax,8 ; SHUFFLE BUTTON |
mov ebx,XXSh |
184,13 → 183,13 |
mov ecx,YYSh |
xor edx,edx |
mov esi,BtnColor |
int 0x40 |
mcall |
mov ebx,XXCnf ; CONF BUTTON |
mov ecx,YYCnf |
mov edx,20 |
mov esi,BtnColor |
int 0x40 |
mcall |
mov ebx, XYShText ; SHUFFLE TEXT |
mov ecx, StatusColor |
197,12 → 196,12 |
mov edx,txtSh |
mov esi,lenSh-txtSh |
mov eax,4 |
int 0x40 |
mcall |
mov ebx, XYCnfText ; CONF TEXT |
mov edx,lenVictory-1 |
mov esi,1 |
int 0x40 |
mcall |
mov ecx, 16 ; FIELD BUTTONS |
dbut: |
213,7 → 212,7 |
mov eax,12 |
mov ebx,2 ; end of drawing |
int 0x40 |
mcall |
ret |
250,7 → 249,7 |
inc ecx |
mov edx,BgdColor |
mov eax,13 ; clearing - 'hole' |
int 0x40 |
mcall |
popa |
or edx,0x80000000 ; and removing button under it |
265,7 → 264,7 |
mov esi,BtnColor2 |
s_rbutton: |
mov eax,8 ; set/remove button |
int 0x40 |
mcall |
movzx eax,byte [null] |
cmp eax,edi |
je no_text ; no digits - that's hole |
282,7 → 281,7 |
two_num: |
mov esi,NumColor |
mov eax,47 |
int 0x40 |
mcall |
no_text: |
popa |
ret |
297,7 → 296,7 |
mov ebx, XXbar |
mov ecx, YYbar |
mov edx, BgdColor |
int 0x40 |
mcall |
mov eax, 4 |
mov ebx, XYstatus |
312,7 → 311,7 |
mov edx,txtMoves ; how many moves done |
mov esi,lenMoves-txtMoves |
mov eax,4 |
int 0x40 |
mcall |
mov esi,ecx |
mov edx,ebx |
add edx, 40 shl 16 |
325,7 → 324,7 |
mov edx,txtVictory |
mov esi,lenVictory-txtVictory |
e_dm: |
int 0x40 |
mcall |
ret |
/programs/games/15/trunk/build_en.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix en >lang.inc |
@fasm 15.asm 15 |
@erase lang.inc |
@pause |
/programs/games/15/trunk/build_ru.bat |
---|
1,4 → 1,5 |
@erase lang.inc |
@echo lang fix ru >lang.inc |
@fasm 15.asm 15 |
@erase lang.inc |
@pause |
/programs/games/arcanii/trunk/arcanii.asm |
---|
8,6 → 8,7 |
;---------------------------------------- |
include 'lang.inc' |
include '..\..\..\macros.inc' |
include 'ascl.inc' |
include 'ascgl.inc' |
include 'asjc.inc' |
64,7 → 65,7 |
.no_game: |
mov eax,11 |
int 0x40 |
mcall |
cmp eax,1 ; redraw request ? |
je red |
81,11 → 82,11 |
key: ; key |
mov eax,2 ; just read it and ignore |
int 0x40 |
mcall |
cmp ah,key_Esc ; if Esc ? |
jne .no_q |
mov eax,-1 |
int 0x40 |
or eax,-1 |
mcall |
.no_q: |
if_e dword [mode],4,.end_if6 |
117,13 → 118,13 |
button: ; button |
mov eax,17 ; get id |
int 0x40 |
mcall |
cmp ah,1 ; button id=1 ? |
jne noclose |
mov eax,-1 ; close this program |
int 0x40 |
mcall |
noclose: |
jmp still |
139,7 → 140,7 |
mov ebx,screen |
mov ecx,X_SIZE*65536+Y_SIZE |
mov edx,4*65536+20 |
int 0x40 |
mcall |
pop_abc |
ret |
458,7 → 459,7 |
mov eax,37 ; get mouse position |
mov ebx,1 |
int 0x40 |
mcall |
shr eax,16 |
mov [x],eax |
add eax,[s_x] |
/programs/games/arcanii/trunk/ascgl.inc |
---|
373,7 → 373,7 |
words2reg ecx,y,ys ;y*65536+ys |
mov edx,color |
mov eax,13 |
int 0x40 |
mcall |
} |
; FPS - Set Frame Per Second Display |
390,7 → 390,7 |
spdat: |
get_time: |
mov eax,3 |
int 0x40 |
mcall |
cmp eax,[savetime] |
jne new_time |
inc [fps_cntr] |
409,7 → 409,7 |
mov ecx,y*65536+7 |
mov edx,delcolor |
mov eax,13 |
int 0x40 |
mcall |
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] |
int 0x40 |
mcall |
no_out_fps: |
} |
497,7 → 497,7 |
; wordstoreg ecx,[arg3],[arg3+4] |
; wordstoreg edx,x,y |
words2reg edx, x , y ;arg1*65536+arg2 |
int 0x40 |
mcall |
} |
macro setframe x , y ,arg3 |
508,7 → 508,7 |
words2reg edx, x , y ;arg1*65536+arg2 |
add edx,dword [arg3] |
mov ecx,dword [arg3+4] |
int 0x40 |
mcall |
} |
1384,4 → 1384,3 |
gifmacend: |
} |