/programs/develop/libraries/buf2d/trunk/about.htm |
---|
62,7 → 62,7 |
Ñ åå ïîìîùüþ ìîæíî ñîçäàâàòü áóôåðà ñ èçîáðàæåíèÿìè â ïàìÿòè, è ïðè íåîáõîäèìîñòè âûâîäèòü èõ íà ýêðàí. |
Èçîáðàæåíèÿ ìîæíî íàêëàäûâàòü îäíî íà äðóãîå, ïîääåðæèâàåòñÿ ðàáîòà ñ ïðîçðà÷íûìè èçîáðàæåíèÿìè, åñòü ôóíêöèÿ ðèñîâàíèÿ ëèíè ïîêà íà ýòîì âñå.</p> |
<p>Ïîñëåäíåå îáíîâëåíèå áèáëèîòåêè 13.09.11.</p> |
<p>Ïîñëåäíåå îáíîâëåíèå áèáëèîòåêè 22.09.11.</p> |
<h1><a name="f_buf">Ôîðìàòû áóôåðîâ</a></h1> |
<p>Ïîääåðæèâàåòñÿ 3 ôîðìàòà áóôåðîâ. |
100,7 → 100,11 |
<p>Ñîçäàåò áóôåð íà îñíîâå èçîáðàæåíèÿ â ôîðìàòå <b>rgb</b>.</p> |
<h4>buf2d_clear</h4> |
<p>×èñòèò áóôåð ôîíîâûì öâåòîì.</p> |
<p>×èñòèò áóôåð óêàçàíûì öâåòîì. Ïðèìåð:</p> |
<pre>buf2d_color equ dword[edi+16] ;öâåò ôîíà áóôåðà |
mov edi,buf_0 |
stdcall [buf2d_clear], edi, buf2d_color ;î÷èùàåì ýêðàí ôîíîâûì öâåòîì</pre> |
<p>ãäå buf_0 - ñòðóêòóðà áóôåðà.</p> |
<h4>buf2d_draw</h4> |
<p>Ðèñóåò áóôåð íà ýêðàíå (ðàáîòàåò ÷åðåç ñèñòåìíóþ ô. 7). Ðèñóþòñÿ òîëüêî áóôåðà ñ ãëóáèíîé öâåòà 24 áèòà.</p> |
117,7 → 121,11 |
<p>Ðèñóåò â áóôåðå ëèíèþ ñ çàäàííûì öâåòîì è êîîðäèíàòàìè. Ïðèìåð:</p> |
<pre>stdcall [buf2d_line], buf_0, 30,10, 110,70, 0xffff00 ;ðèñóåì ëèíèþ</pre> |
<p>ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ ëèíèÿ; 30, 10, 110, 70 - êîîðäèíàòû ëèíèè; 0xffff00 - öâåò ëèíèè.</p> |
<p>Äëÿ ðèñîâàíèÿ ñãëàæåííîé ëèíèè èñïîëüçóéòå <b>buf2d_line_sm</b>.</p> |
<h4>buf2d_line_sm</h4> |
<p>Ðèñóåò â áóôåðå ëèíèþ ïðèíèìàåò òàêèæå ïàðàìåòðû êàê è ôóíêöèÿ <b>buf2d_line</b>. Äàííàÿ ôóíêöèÿ ðèñóåò ñãëàæåííóþ ëèíèþ áîëåå êðàñèâóþ ÷åì <b>buf2d_line</b>, íî ðàáîòàåò ìåäëåííåå íå¸ çà ñ÷åò âû÷èñëåíèÿ ñìåøàííûõ öâåòîâ ôîíà è ñàìîé ëèíèè.</p> |
<h4>buf2d_rect_by_size</h4> |
<p>Ðèñóåò ïðÿìîóãîëüíóþ ðàìêó, ïî äâóì êîîðäèíàòàì, 2-ÿ êîîðäèíàòà çàäàíà ïî ðàçìåðó.</p> |
<pre>stdcall [buf2d_rect_by_size], buf_0, 10,10,150,100, 0x8080</pre> |
232,6 → 240,7 |
buf2d_delete dd sz_buf2d_delete |
buf2d_resize dd sz_buf2d_resize |
buf2d_line dd sz_buf2d_line |
buf2d_line_sm dd sz_buf2d_line_sm |
buf2d_rect_by_size dd sz_buf2d_rect_by_size |
buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size |
buf2d_circle dd sz_buf2d_circle |
259,6 → 268,7 |
sz_buf2d_delete db 'buf2d_delete',0 |
sz_buf2d_resize db 'buf2d_resize',0 |
sz_buf2d_line db 'buf2d_line',0 |
sz_buf2d_line_sm db 'buf2d_line_sm',0 |
sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 |
sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 |
sz_buf2d_circle db 'buf2d_circle',0 |
291,8 → 301,9 |
<p>11.10.10 - èñïðàâëåíî çàäàíèå öâåòîâ â íåêîòîðûõ ôóíêöèÿõ, êðàñíûé è ñèíèé öâåòà ïîìåíÿë ìåñòàìè. Òåïåðü öâåòà ñîâïàäàþò ñ ñèñåìíûìè ôóíêöèÿìè.</p> |
<p>02.11.10 - äîáàâëåíà ôóíêöèÿ buf2d_flood_fill.</p> |
<p>22.12.10 - èçìåíåíî èìÿ ôóíêöèè buf2d_cruve_bezier íà buf2d_curve_bezier.</p> |
<p>25.03.11 - äîáàâëåíà ôóíêöèÿ ðèñîâàíèÿ äëÿ òî÷êè buf2d_set_pixel.</p> |
<p>25.03.11 - äîáàâëåíà ôóíêöèÿ äëÿ ðèñîâàíèÿ òî÷êè buf2d_set_pixel.</p> |
<p>30.08.11 - äîáàâëåíà ôóíêöèÿ èçìåíåíèÿ ðàçìåðîâ áóôåðà buf2d_resize.</p> |
<p>13.09.11 - îïòèìèçèðîâàíà ðàáîòà ôóíêöèé buf_filled_rect_by_size buf_rect_by_size, äîáàâëåíû ïðèìåðû èñïîëüçîâàíèÿ áèáëèîòåêè.</p> |
<p>22.09.11 - äîáàâëåíà ôóíêöèÿ buf2d_line_sm äëÿ ðèñîâàíèÿ ñãëàæåííîé ëèíèè.</ç> |
</body> |
</html> |
/programs/develop/libraries/buf2d/trunk/buf2d.asm |
---|
128,7 → 128,56 |
@@: |
ret |
;input: |
; ebx = coord x |
; ecx = coord y |
; edx = pixel color + transparent |
; edi = pointer to buffer struct |
; t_prop, m_prop - ª®íä¨æ¨¥âë ¥®¡å®¤¨¬ë¥ ¤«ï ¢ëç¨á«¥¨ï á⥯¥¨ ¯à®§à ç®á⨠|
align 4 |
transp_32 dd 0 ;梥â à¨á㥬®© â®çª¨ + ¯à®§à ç®áâì |
align 4 |
proc draw_pixel_transp, t_prop:dword, m_prop:dword |
;cmp buf2d_bits,24 |
;jne @f |
bt ebx,31 |
jc @f |
bt ecx,31 |
jc @f |
cmp ebx,buf2d_w |
jge @f |
cmp ecx,buf2d_h |
jge @f |
push eax ebx edx edi esi |
mov esi,buf2d_w ;size x |
imul esi,ecx ;size_x*y |
add esi,ebx ;size_x*y+x |
lea esi,[esi+esi*2] ;(size_x*y+x)*3 |
add esi,buf2d_data ;ptr+(size_x*y+x)*3 |
mov edi,esi ;㪠§ ⥫ì 梥â ä® |
mov dword[transp_32],edx ;梥â à¨á㥬®© â®çª¨ |
xor edx,edx |
mov eax,[t_prop] |
shl eax,8 ;*=256 |
mov ebx,[m_prop] |
div ebx ;¢ëç¨á«ï¥¬ ª®íä. ¯à®§à ç®á⨠(¤®«¦¥ ¡ëâì ®â 0 ¤® 255) |
bt ax,8 |
jnc .over_255 |
;¥á«¨ ª®¥ä. ¯à®§à ç®á⨠>=256 ⮠㬥ìè ¥¬ ¥£® ¤® 255 |
mov al,0xff |
.over_255: |
mov byte[transp_32+3],al ;¯à®§à ç®áâì à¨á㥬®© â®çª¨ |
mov esi,dword transp_32 ;㪠§ ⥫ì 梥â à¨á㥬®© â®çª¨ |
call combine_colors |
pop esi edi edx ebx eax |
@@: |
ret |
endp |
;ᮧ¤ ¨¥ ¡ãä¥à |
align 4 |
proc buf_create, buf_struc:dword |
953,8 → 1002,6 |
napravl db ? |
endl |
pushad |
mov edx,dword[color] |
mov eax,dword[coord_x1] |
sub eax,dword[coord_x0] |
bt eax,31 |
964,11 → 1011,17 |
@@: |
mov ebx,dword[coord_y1] |
sub ebx,dword[coord_y0] |
jnz @f |
;¥á«¨ § ¤ £®à¨§®â «ì ï «¨¨ï y0=y1 |
stdcall buf_line_h, [buf_struc], [coord_x0], [coord_y0], [coord_x1], [color] |
jmp .coord_end |
@@: |
bt ebx,31 |
jae @f |
neg ebx |
inc ebx |
@@: |
mov edx,dword[color] |
mov [napravl],byte 0 ;bool steep=false |
cmp eax,ebx |
1060,6 → 1113,140 |
ret |
endp |
;à¨á®¢ ¨¥ ᣫ ¦¥®© «¨¨¨ |
align 4 |
proc buf_line_brs_sm, buf_struc:dword, coord_x0:dword, coord_y0:dword, coord_x1:dword, coord_y1:dword, color:dword |
locals |
loc_1 dd ? |
loc_2 dd ? |
napravl db ? |
endl |
pushad |
mov eax,dword[coord_x1] |
sub eax,dword[coord_x0] |
bt eax,31 |
jae @f |
neg eax |
inc eax |
@@: |
mov ebx,dword[coord_y1] |
sub ebx,dword[coord_y0] |
jnz @f |
;¥á«¨ § ¤ £®à¨§®â «ì ï «¨¨ï y0=y1 |
stdcall buf_line_h, [buf_struc], [coord_x0], [coord_y0], [coord_x1], [color] |
jmp .coord_end |
@@: |
bt ebx,31 |
jae @f |
neg ebx |
inc ebx |
@@: |
mov edx,dword[color] |
mov [napravl],byte 0 ;bool steep=false |
cmp eax,ebx |
jle @f |
mov [napravl],byte 1 ;bool steep=true |
swap dword[coord_x0],dword[coord_y0] ;swap(x0, y0); |
swap dword[coord_x1],dword[coord_y1] ;swap(x1, y1); |
@@: |
mov eax,dword[coord_y0] ;x0 |
cmp eax,dword[coord_y1] ;if(x0>x1) |
jle @f |
swap dword[coord_y0],dword[coord_y1] ;swap(x0, x1); |
swap dword[coord_x0],dword[coord_x1] ;swap(y0, y1); |
@@: |
; int deltax esi |
; int deltay edi |
; int error ebp-6 |
; int ystep ebp-8 |
mov eax,dword[coord_y0] |
mov esi,dword[coord_y1] |
sub esi,eax ;deltax = y1-y0 |
mov ebx,esi |
shr ebx,1 |
mov [loc_1],ebx ;error = deltax/2 |
mov eax,dword[coord_x0] |
mov edi,dword[coord_x1] |
mov [loc_2],dword -1 ;ystep = -1 |
cmp eax,edi ;if (x0<x1) ystep = 1; |
jge @f |
mov [loc_2],dword 1 ;ystep = 1 |
@@: |
sub edi,eax ;x1-x0 |
bts edi,31 |
jae @f |
neg edi |
inc edi |
@@: |
and edi,0x7fffffff ;deltay = abs(x1-x0) |
mov eax,edi |
mov edi,[buf_struc] |
cmp buf2d_bits,24 |
jne .coord_end |
cmp [napravl],0 |
jne .coord_yx |
mov ebx,dword[coord_x0] |
mov ecx,dword[coord_y0] |
@@: ;for (x=x0 ; x<x1; x++) ;------------------------------------ |
cmp ecx,dword[coord_y1] |
jg @f ;jge ??? |
push eax |
mov eax,esi |
sub eax,[loc_1] |
stdcall draw_pixel_transp, eax,esi |
pop eax |
add ebx,[loc_2] |
stdcall draw_pixel_transp, [loc_1],esi |
sub ebx,[loc_2] |
sub dword[loc_1],eax ;error -= deltay |
cmp dword[loc_1],0 ;if(error<0) |
jge .if0 |
add ebx,[loc_2] ;y += ystep |
add [loc_1],esi ;error += deltax |
.if0: |
inc ecx |
jmp @b |
@@: |
jmp .coord_end |
.coord_yx: |
mov ebx,dword[coord_y0] |
mov ecx,dword[coord_x0] |
@@: ;for (x=x0 ; x<x1; x++) ;------------------------------------ |
cmp ebx,dword[coord_y1] |
jg @f ;jge ??? |
push eax |
mov eax,esi |
sub eax,[loc_1] |
stdcall draw_pixel_transp, eax,esi |
pop eax |
add ecx,[loc_2] |
stdcall draw_pixel_transp, [loc_1],esi |
sub ecx,[loc_2] |
sub dword[loc_1],eax ;error -= deltay |
cmp dword[loc_1],0 ;if(error<0) |
jge .if1 |
add ecx,[loc_2] ;y += ystep |
add [loc_1],esi ;error += deltax |
.if1: |
inc ebx |
jmp @b |
@@: |
.coord_end: |
popad |
ret |
endp |
;à¨á®¢ ¨¥ £®à¨§®â «ì®© «¨¨¨, ¯®â®¬ã ¥â ¯ à ¬¥âà coord_y1 |
align 4 |
proc buf_line_h, buf_struc:dword, coord_x0:dword, coord_y0:dword, coord_x1:dword, color:dword |
2368,6 → 2555,7 |
dd sz_buf2d_delete, buf_delete |
dd sz_buf2d_resize, buf_resize |
dd sz_buf2d_line, buf_line_brs |
dd sz_buf2d_line_sm, buf_line_brs_sm |
dd sz_buf2d_rect_by_size, buf_rect_by_size |
dd sz_buf2d_filled_rect_by_size, buf_filled_rect_by_size |
dd sz_buf2d_circle, buf_circle |
2394,6 → 2582,7 |
sz_buf2d_delete db 'buf2d_delete',0 |
sz_buf2d_resize db 'buf2d_resize',0 |
sz_buf2d_line db 'buf2d_line',0 ;à¨á®¢ ¨¥ «¨¨¨ |
sz_buf2d_line_sm db 'buf2d_line_sm',0 ;à¨á®¢ ¨¥ ᣫ ¦¥®© «¨¨¨ |
sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 ;à¨á®¢ ¨¥ à ¬ª¨ ¯àאַ㣮«ì¨ª , 2-ï ª®®à¤¨ â § ¤ ¯® à §¬¥àã |
sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 ;à¨á®¢ ¨¥ § «¨â®£® ¯àאַ㣮«ì¨ª , 2-ï ª®®à¤¨ â § ¤ ¯® à §¬¥àã |
sz_buf2d_circle db 'buf2d_circle',0 ;à¨á®¢ ¨¥ ®ªà㦮á⨠|
/programs/develop/libraries/buf2d/trunk/examples/build.bat |
---|
12,6 → 12,7 |
@fasm.exe -m 16384 e2_images.asm bin\e2_images.kex |
@fasm.exe -m 16384 e3_text.asm bin\e3_text.kex |
@fasm.exe -m 16384 e4_graf_ed.asm bin\e4_graf_ed.kex |
@fasm.exe -m 16384 e5_lines_sm.asm bin\e5_lines_sm.kex |
@kpack bin\e0_dr_lines.kex |
@kpack bin\e1_scaling.kex |
18,4 → 19,5 |
@kpack bin\e2_images.kex |
@kpack bin\e3_text.kex |
@kpack bin\e4_graf_ed.kex |
@kpack bin\e5_lines_sm.kex |
pause |
/programs/develop/libraries/buf2d/trunk/examples/e5_lines_sm.asm |
---|
0,0 → 1,183 |
use32 |
org 0x0 |
db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
dd 0x1 |
dd start |
dd i_end ;à §¬¥à ¯à¨«®¦¥¨ï |
dd mem,stacktop |
dd 0,cur_dir_path |
include '../../../../../macros.inc' |
include '../../../../../proc32.inc' |
include '../../../../../develop/libraries/box_lib/load_lib.mac' |
include 'mem.inc' |
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, 0 ;dll.Load |
buf2d_l equ word[edi+4] ;®âáâ㯠᫥¢ |
buf2d_t equ word[edi+6] ;®âáâ㯠ᢥàåã |
buf2d_color equ dword[edi+16] ;梥â ä® ¡ãä¥à |
align 4 |
start: |
load_library vectors_name, cur_dir_path, library_path, system_path, \ |
err_message_found_lib, head_f_l, import_buf2d_lib, err_message_import, head_f_i |
cmp eax,-1 |
jz button.exit |
mcall 40,0x27 |
stdcall [buf2d_create], buf_0 ;ᮧ¤ ¥¬ ¡ãä¥à |
;à¨á㥬 ¯¥à¢® ç «ìë© ª ¤à |
stdcall [buf2d_filled_rect_by_size], buf_0, 100-50,70-25, 100,50, 0xffffff ;à¨á㥬 ¯àאַ㣮«ì¨ª |
stdcall [buf2d_line], buf_0, 10,10, 100,75, 0xff0000 ;à¨á㥬 ¯à®áâãî «¨¨î |
stdcall [buf2d_line_sm], buf_0, 100,75, 190,140, 0xff0000 ;à¨á㥬 ᣫ ¦¥ãî «¨¨î |
align 4 |
red_win: |
call draw_window |
align 4 |
still: |
mcall 10 |
cmp al,1 ;¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª |
jz red_win |
cmp al,2 |
jz key |
cmp al,3 |
jz button |
cmp al,6 |
jz mouse |
jmp still |
align 4 |
draw_window: |
pushad |
mcall 12,1 |
;mov edx,0x32000000 |
mov edx,0x33000000 |
mcall 0,(50 shl 16)+330,(30 shl 16)+275,,,caption |
stdcall [buf2d_draw], buf_0 |
mcall 12,2 |
popad |
ret |
align 4 |
key: |
mcall 2 |
cmp ah,27 ;Esc |
je button.exit |
jmp still |
align 4 |
button: |
mcall 17 ;¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨ |
cmp ah,1 |
jne still |
.exit: |
stdcall [buf2d_delete],buf_0 ;㤠«ï¥¬ ¡ãä¥à |
mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë |
align 4 |
mouse: |
;®¡à ¡ âë¢ ¥¬ ®ª® । ªâ®à |
mcall 37,2 ;get mouse buttons |
cmp al,1 |
jne @f |
mcall 37,1 ;get mouse coords |
mov ebx,eax |
shr ebx,16 ;¢ eax ª®®à¤¨ â ¬¨è¨ ¯® ®á¨ 'x' |
and eax,0xffff ;¢ eax ª®®à¤¨ â ¬¨è¨ ¯® ®á¨ 'y' |
mov edi,buf_0 |
sub ax,buf2d_t ;ᤢ¨£ ¥¬ ª®®à¤¨ âë ãç¨âë¢ ï ᬥ饨¥ ¡ãä¥à |
sub bx,buf2d_l |
;à¨á®¢ ¨¥ ¯à¨ ¦ ⨨ |
stdcall [buf2d_clear], edi, buf2d_color ;®ç¨é ¥¬ íªà ®â ¯à¥¤ë¤ãé¨å à¨á®¢ ¨© |
stdcall [buf2d_filled_rect_by_size], edi, 100-50,70-25, 100,50, 0xffffff ;à¨á㥬 ¯àאַ㣮«ì¨ª |
stdcall [buf2d_line], edi, 10,10, ebx,eax, 0xff0000 ;à¨á㥬 ¯à®áâãî «¨¨î |
stdcall [buf2d_line_sm], edi, 190,140, ebx,eax, 0xff0000 ;à¨á㥬 ᣫ ¦¥ãî «¨¨î |
stdcall [buf2d_draw], edi ;®¡®¢«ï¥¬ íªà |
@@: |
jmp still |
caption db 'Press left mouse button, [Esc] - exit',0 |
;-------------------------------------------------- |
align 4 |
import_buf2d_lib: |
dd sz_lib_init |
buf2d_create dd sz_buf2d_create |
buf2d_create_f_img dd sz_buf2d_create_f_img |
buf2d_clear dd sz_buf2d_clear |
buf2d_draw dd sz_buf2d_draw |
buf2d_delete dd sz_buf2d_delete |
buf2d_line dd sz_buf2d_line |
buf2d_line_sm dd sz_buf2d_line_sm |
buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size |
buf2d_circle dd sz_buf2d_circle |
buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 |
buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 |
buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 |
buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 |
buf2d_bit_blt dd sz_buf2d_bit_blt |
buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp |
buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha |
buf2d_curve_bezier dd sz_buf2d_curve_bezier |
buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix |
buf2d_draw_text dd sz_buf2d_draw_text |
dd 0,0 |
sz_lib_init db 'lib_init',0 |
sz_buf2d_create db 'buf2d_create',0 |
sz_buf2d_create_f_img db 'buf2d_create_f_img',0 |
sz_buf2d_clear db 'buf2d_clear',0 |
sz_buf2d_draw db 'buf2d_draw',0 |
sz_buf2d_delete db 'buf2d_delete',0 |
sz_buf2d_line db 'buf2d_line',0 |
sz_buf2d_line_sm db 'buf2d_line_sm',0 |
sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 |
sz_buf2d_circle db 'buf2d_circle',0 ;à¨á®¢ ¨¥ ®ªà㦮á⨠|
sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 |
sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 |
sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 |
sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 |
sz_buf2d_bit_blt db 'buf2d_bit_blt',0 |
sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 |
sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 |
sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0 |
sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 |
sz_buf2d_draw_text db 'buf2d_draw_text',0 |
align 4 |
buf_0: |
dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
dw 20 ;+4 left |
dw 10 ;+6 top |
dd 200 ;+8 w |
dd 150 ;+12 h |
dd 0x80 ;+16 color |
db 24 ;+20 bit in pixel |
;-------------------------------------------------- |
system_path db '/sys/lib/' |
vectors_name db 'buf2d.obj',0 |
err_message_found_lib db 'Sorry I cannot load library buf2d.obj',0 |
head_f_i: |
head_f_l db 'System error',0 |
err_message_import db 'Error on load import library buf2d.obj',0 |
;-------------------------------------------------- |
i_end: ;ª®¥æ ª®¤ |
rb 1024 |
stacktop: |
cur_dir_path: |
rb 4096 |
library_path: |
rb 4096 |
mem: |