Subversion Repositories Kolibri OS

Rev

Rev 3352 | Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. ;=============================================================================
  2. ; Kolibri Graphics Benchmark 0.6
  3. ;--------------------------------------
  4. ; MGB - Menuet Graphics Benchmark 0.3
  5. ; Compile with FASM
  6. ;
  7. ;=============================================================================
  8. ; version:      0.6
  9. ; last update:  14/03/2013
  10. ; written by:   Marat Zakiyanov aka Mario79, aka Mario
  11. ; changes:      benchmark f36 - read screen area
  12. ;---------------------------------------------------------------------
  13. ; version:      0.5
  14. ; last update:  05/03/2013
  15. ; written by:   Marat Zakiyanov aka Mario79, aka Mario
  16. ; changes:      benchmark f73-blitter
  17. ;---------------------------------------------------------------------
  18. ; version:      0.4
  19. ; last update:  18/09//2010
  20. ; written by:   Marat Zakiyanov aka Mario79, aka Mario
  21. ; changes:      select path with OpenDialog,
  22. ;               use of Box_Lib and Proc_Lib,
  23. ;               support start with path for *.mgb file
  24. ;               optimization code and size of use memory
  25. ;---------------------------------------------------------------------
  26. ; Original author and copyrights holder:
  27. ;     Mikhail Lisovin a.k.a. Mihasik
  28. ;     lisovin@26.ru
  29. ;
  30. ; Disassembled with IDA 5.0.0.879:
  31. ;     http://www.datarescue.com/
  32. ; With use of 'ida.int' and 'kloader.ldw':
  33. ;     Eugene Grechnikov a.k.a. diamond
  34. ;     diamondz@land.ru
  35. ;     http://diamondz.land.ru/
  36. ;
  37. ; Modified for version 0.3:
  38. ;     Mike Semenako a.k.a mike.dld
  39. ;     mike.dld@gmail.com
  40. ;     http://www.mikedld.com/
  41. ;
  42. ;=============================================================================
  43.  
  44. org 0x0
  45. use32
  46.  
  47.         db 'MENUET01'
  48.         dd 1
  49.         dd start
  50.         dd IM_END
  51.         dd I_END        ;0x200000
  52.         dd stacktop     ;0x07FFF0
  53.         dd fname_buf
  54.         dd cur_dir_path
  55.  
  56. include '../../../config.inc'           ;for nightbuild
  57. include '..\..\..\macros.inc'
  58. include '..\..\..\proc32.inc'
  59. include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
  60. include '../../../develop/libraries/box_lib/load_lib.mac'
  61.         @use_library
  62. ;---------------------------------------------------------------------
  63. start:
  64.         mcall   68,11
  65.  
  66. load_libraries l_libs_start,end_l_libs
  67.  
  68.         cmp     eax,-1
  69.         jz      close
  70. ;---------------------------------------------------------------------
  71.         mov     edi,filename_area
  72.         mov     esi,start_temp_file_name
  73.         call    copy_str_1
  74.  
  75.         mov     edi,comment_string_1
  76.         mov     esi,aComment1
  77.         call    copy_str_1
  78.  
  79.         mov     edi,comment_string_2
  80.         mov     esi,aComment2
  81.         call    copy_str_1
  82.  
  83.         mov     edi,fname_buf
  84.         cmp     [edi],byte 0
  85.         jne     @f
  86.         mov     esi,path4
  87.         call    copy_str_1
  88.         jmp     .OpenDialog
  89. @@:
  90.         call    locLoadFile
  91.         xor     dword [wFlags],1
  92. .OpenDialog:
  93. ;OpenDialog     initialisation
  94.         push    dword OpenDialog_data
  95.         call    [OpenDialog_Init]
  96. ;---------------------------------------------------------------------
  97.         mcall   40,0x27
  98. red:
  99.         call    draw_window
  100. still:
  101.         mcall   10
  102.         cmp     eax,1
  103.         jz      red
  104.         cmp     eax,2
  105.         jz      key
  106.         cmp     eax,3
  107.         jz      button
  108.         jmp     still
  109. ;---------------------------------------------------------------------
  110. copy_str_1:
  111.         xor     eax,eax
  112.         cld
  113. @@:
  114.         lodsb
  115.         stosb
  116.         test    eax,eax
  117.         jnz     @b
  118.         ret
  119. ;---------------------------------------------------------------------
  120. key:
  121.         mcall   2
  122.         cmp     ah,'t'
  123.         jz      ActionTest
  124.         cmp     ah,'c'
  125.         jz      ActionComment
  126.         cmp     ah,'p'
  127.         jz      ActionPattern
  128.         cmp     ah,'o'
  129.         jz      ActionOpen
  130.         cmp     ah,'s'
  131.         jz      ActionSave
  132.         jmp     still
  133. ;---------------------------------------------------------------------
  134. button:
  135.         mcall   17
  136.         cmp     ah,1
  137.         jnz     NotClose
  138. close:
  139.         mcall   -1
  140. NotClose:
  141.         cmp     ah,2
  142.         jnz     locNotTest
  143. ActionTest:
  144.         test    dword [wFlags],1
  145.         jnz     still
  146.         mcall   51,1,TestWndProc,thread_stack1
  147.         jmp     still
  148. ;---------------------------------------------------------------------
  149. locNotTest:
  150.         cmp     ah,3
  151.         jnz     NotComment
  152. ActionComment:
  153.         test    dword [wFlags],1
  154.         jnz     still
  155.         mcall   51,1,thread_comment,thread_stack2
  156.         jmp     still
  157. ;---------------------------------------------------------------------
  158. NotComment:
  159.         cmp     ah,4
  160.         jnz     NotPattern
  161. ActionPattern:
  162.         test    dword [wFlags],1
  163.         jnz     still
  164.         mov     esi,results_table
  165.         cld
  166. @@:
  167.         lodsd
  168.         mov     [esi],eax
  169.         add     esi,TEST_REC_SIZE-4
  170.         cmp     dword [esi+TEST_REC_SIZE-4],0
  171.         jne     @b
  172.         mov     esi,comment_string_1
  173.         mov     edi,comment_string_2
  174.         call    copy_str_1
  175.         call    DrawBars
  176.         jmp     still
  177. ;---------------------------------------------------------------------
  178. NotPattern:
  179.         cmp     ah,5
  180.         jnz     NotOpen
  181. ActionOpen:
  182.         test    dword [wFlags],1
  183.         jnz     still
  184.         mov     [OpenDialog_data.type],0 ; open
  185.         call    OpenDialog_Start_1
  186.         jne     still
  187.         call    locLoadFile
  188.         call    DrawBars
  189. .1:
  190.         xor     dword [wFlags],1
  191.         jmp     still
  192. ;---------------------------------------------------------------------
  193. OpenDialog_Start_1:
  194.         push    dword OpenDialog_data
  195.         call    [OpenDialog_Start]
  196.         cmp     [OpenDialog_data.status],1
  197.         ret
  198. ;---------------------------------------------------------------------
  199. NotOpen:
  200.         cmp     ah,6
  201.         jnz     still
  202. ActionSave:
  203.         test    dword [wFlags],1
  204.         jnz     still
  205.         mov     [OpenDialog_data.type],1 ; save
  206.         call    OpenDialog_Start_1
  207.         jne     still
  208.         call    locSaveFile
  209.         jmp     ActionOpen.1
  210. ;---------------------------------------------------------------------
  211. TestWndProc:
  212.         mcall   68,12,90*123*3
  213.         mov     [area_for_f36],eax
  214.         or      dword [wFlags],1
  215.         mov     esi,results_table+8
  216. align 4
  217. .next_test:
  218.         xor     edi,edi
  219.         mcall    26,9
  220.         inc     eax
  221.         mov     ecx,eax
  222.         add     eax,100
  223.         mov     [dwTestEndTime],eax
  224. align 4
  225. @@:
  226.         mcall    26
  227.         cmp     eax,ecx
  228.         jb      @r
  229. align 4
  230. @@:
  231.         push    esi
  232.         call    dword [esi]
  233.         pop     esi
  234.         inc     edi
  235.         mcall   26,9
  236.         cmp     eax,[dwTestEndTime]
  237.         jb      @b
  238.         mov     [esi-8],edi
  239.  
  240.         add     esi,TEST_REC_SIZE
  241.         cmp     dword [esi],0
  242.         jnz     .next_test
  243.         xor     dword [wFlags],1
  244.         mcall   68,13,[area_for_f36]
  245.         mcall   -1
  246. ;---------------------------------------------------------------------
  247. draw_window:
  248.         mcall   12,1
  249.         mcall   48,4
  250.         mov     ebx,100*65536+72*5+14
  251.         mov     ecx,80*65536+TESTS_NUM*LINE_HEIGHT+15+20+35
  252.         add     cx,ax
  253.         xor     eax,eax
  254.         xor     esi,esi
  255.         mcall   ,,,34000000h,,aCaption
  256.  
  257.         mov     eax,8
  258.         mov     ebx,050036h+12
  259.         mov     ecx,5*65536+20
  260.         mov     edx,2
  261.         mov     esi,0x00007F7F
  262. @@:
  263.         mcall
  264.         add     ebx,72*65536
  265.         inc     edx
  266.         cmp     edx,7
  267.         jb      @r
  268.  
  269.         mov     ecx,31
  270.         mov     edx,0x00007F7F
  271.         mov     esi,(72*5)/2
  272.         call    drawSeparator
  273.  
  274.         mcall   4,<27,12>,0x80DDEEFF,aButtonsText
  275.         call    DrawBars
  276.  
  277.         mov     ecx,TESTS_NUM*LINE_HEIGHT+15+21
  278.         mov     edx,0x00007F7F
  279.         mov     esi,(72*5)/2
  280.         call    drawSeparator
  281.         mcall   12,2
  282.         ret
  283. ;---------------------------------------------------------------------
  284. drawSeparator:
  285.         mov     eax,1
  286.         mov     ebx,3
  287. @@:
  288.         mcall
  289.         add     ebx,2
  290.         dec     esi
  291.         jnz     @b
  292.         ret
  293. ;---------------------------------------------------------------------
  294. align 4
  295. testDrawWindow:
  296.         xor     eax,eax
  297.         mcall   ,640145h,4F0190h,3000000h
  298.         ret
  299. ;---------------------------------------------------------------------
  300. align 4
  301. testDrawBar:
  302.         mcall   13,0A0064h,1E00FAh,6A73D0h
  303.         ret
  304. ;---------------------------------------------------------------------
  305. align 4
  306. testDrawPicture:
  307. ;       xor     ebx,ebx
  308.         mcall   7,[area_for_f36],<90,123>,<15,33>
  309.         ret
  310. ;---------------------------------------------------------------------
  311. align 4
  312. testDrawPicture_f73:
  313.         xor     ebx,ebx
  314.         mcall   73,,params_f73
  315.         ret
  316. ;---------------------------------------------------------------------
  317. align 4
  318. testGetScreen_f36:
  319.         xor     ebx,ebx
  320.         mcall   36,[area_for_f36],<90,123>,<15,33>
  321.         ret
  322. ;---------------------------------------------------------------------
  323. align 4
  324. testDrawVertLine:
  325.         mcall   38,<300,300>,<30,380>,1090207Fh
  326.         ret
  327. ;---------------------------------------------------------------------
  328. align 4
  329. testDrawHorzLine:
  330.         mcall   38,<30,300>,<380,380>,1090207Fh
  331.         ret
  332. ;---------------------------------------------------------------------
  333. align 4
  334. testDrawFreeLine:
  335.         mcall   38,<30,300>,<380,30>,1090207Fh
  336.         ret
  337. ;---------------------------------------------------------------------
  338. align 4
  339. testDrawText1:
  340.         mcall   4,0C012Ch,0AA66h,aTestText,34
  341.         ret
  342. ;---------------------------------------------------------------------
  343. align 4
  344. testDrawText2:
  345.         mcall   4,1B013Bh,10E7B850h,aTestText,34
  346.         ret
  347. ;---------------------------------------------------------------------
  348. align 4
  349. testDrawNumber:
  350.         mcall   47,80000h,12345678,2A014Ah,0E0B27Bh
  351.         ret
  352. ;---------------------------------------------------------------------
  353. align 4
  354. testDrawPixel:
  355.         mcall   1,100,100,0FFFFFFh
  356.         ret
  357. ;---------------------------------------------------------------------
  358. DrawBars:
  359.         mov     edi,results_table
  360.         mov     ebx,30+7
  361. .next_result:
  362.         cmp     dword[edi+TEST_REC_SIZE-4],0
  363.         je      .exit
  364.  
  365.         push    ebx
  366.         movzx   ecx,bx
  367.         add     ecx,-2
  368.         shl     ecx,16
  369.         mov     cx,LINE_HEIGHT
  370.         mov     ebx,0*65536+72*5+5
  371.         xor     edx,edx
  372.         mcall   13
  373.         pop     ebx
  374.  
  375.         and     ebx,0x0000FFFF
  376.         or      ebx,5*65536
  377.         mov     edx,[edi+TEST_REC_SIZE-4]
  378.         mcall   4,,0x8000CCCC
  379.  
  380.         push    '=' 0x00FFFF00 0x00FFFF7F 0x00FFFF7F
  381.         mov     eax,[edi+0]
  382.         cmp     eax,[edi+4]
  383.         je      @f
  384.         jb      .lp1
  385.         mov     dword[esp+0],0x007FFF7F
  386.         mov     dword[esp+4],0x00FF7F7F
  387.         mov     dword[esp+8],0x0000FF00
  388.         mov     byte[esp+12],'>'
  389. .lp1:
  390.         ja      @f
  391.         mov     dword[esp+0],0x00FF7F7F
  392.         mov     dword[esp+4],0x007FFF7F
  393.         mov     dword[esp+8],0x00FF0000
  394.         mov     byte[esp+12],'<'
  395. @@:
  396.         pop     ecx
  397.         call    int2str
  398.         add     ebx,(72*5-6*8*2-6-10-5)*65536 ; 196
  399.         mcall   4,,,textarea,8
  400.  
  401.         pop     ecx
  402.         mov     eax,[edi+4]
  403.         call    int2str
  404.         add     ebx,(6*8+6+10)*65536
  405.         mcall   4
  406.  
  407.         pop     ecx
  408.         add     ebx,(-6-5)*65536
  409.         mov     edx,esp
  410.         mov     esi,1
  411.         mcall
  412.         add     esp,4
  413.  
  414.         add     edi,TEST_REC_SIZE
  415.         add     bx,LINE_HEIGHT
  416.         jmp     .next_result
  417. .exit:
  418.         mov     ebx, 0*65536+72*5+5
  419.         mov     ecx, (TESTS_NUM*LINE_HEIGHT+15+25)*65536+26
  420.         xor     edx, edx
  421.         mcall   13
  422.  
  423.         mov     ebx, 5*65536+(TESTS_NUM*LINE_HEIGHT+15+27)
  424.         mcall   4,,0x8000CCCC,aLeft
  425.  
  426.         add     ebx, (6*10)*65536
  427.         mcall   ,,0x80FFFF00,comment_string_1
  428.  
  429.         mov     ebx, 5*65536+(TESTS_NUM*LINE_HEIGHT+15+27+12)
  430.         mcall   ,,0x8000CCCC,aRight
  431.  
  432.         add     ebx, (6*10)*65536
  433.         mcall   ,,0x80FFFF00,comment_string_2
  434.         ret
  435. ;---------------------------------------------------------------------
  436. int2str:
  437.         push    eax ecx edx edi
  438.         mov     edi,textarea+7
  439.         mov     dword[textarea+0],'    '
  440.         mov     dword[textarea+4],'    '
  441.         mov     ecx,10
  442. @@:
  443.         xor     edx,edx
  444.         div     ecx
  445.         add     dl,'0'
  446.         mov     [edi],dl
  447.         dec     edi
  448.         or      eax,eax
  449.         jnz     @b
  450.         pop     edi edx ecx eax
  451.         ret
  452. ;---------------------------------------------------------------------
  453. thread_comment:
  454.         or      dword [wFlags],1
  455.         mcall   40,0x27
  456.         mov     esi,comment_string_1
  457.         cld
  458. @@:
  459.         lodsb
  460.         test    al,al
  461.         jne     @r
  462.         sub     esi,comment_string_1
  463.         mov     eax,esi
  464.         dec     eax
  465.         mov     edi, edit1
  466.         mov     [edi+48], eax   ;ed_size
  467.         mov     [edi+52], eax   ;ed_pos
  468. ;---------------------------------------------------------------------
  469. .red:
  470.         call .draw_window
  471. .still:
  472.         mcall   10      ; wait here for event
  473.         cmp     eax,1   ; redraw request ?
  474.         je      .red
  475.         cmp     eax,2   ; key in buffer ?
  476.         je      .key
  477.         cmp     eax,3   ; button in buffer ?
  478.         je      .button
  479.  
  480.         push    dword name_editboxes
  481.         call    [edit_box_mouse]
  482.         jmp     .still
  483. ;---------------------------------------------------------------------
  484. .key:           ; key
  485.         mcall   2
  486.         cmp     ah,13
  487.         je      .close  ;.close_with_open_file
  488.         cmp     ah,27
  489.         je      .close
  490.        
  491.         push    dword name_editboxes
  492.         call    [edit_box_key]
  493.         jmp     .still
  494. ;---------------------------------------------------------------------
  495. .button:                ; button
  496.         mcall   17
  497.         cmp     ah,1    ; button id=1 ?
  498.         jne     .still
  499. .close:
  500.         xor     dword [wFlags],1
  501.         mcall   -1
  502. ;---------------------------------------------------------------------
  503. .draw_window:
  504.         mcall   12,1
  505.         xor     eax,eax
  506.         xor     esi,esi
  507.         mcall   ,<100,300>,<100,80>,0x34780078,,aComment
  508.         push    dword name_editboxes
  509.         call    [edit_box_draw]
  510.         mcall   12,2
  511.         ret
  512. ;---------------------------------------------------------------------
  513. locLoadFile:
  514.         mov     [stFileInfoBlock], 0
  515.         or      dword [wFlags],1
  516.         mcall   70,stFileInfoBlock
  517.         mov     esi,mgb_data
  518.         mov     edi,results_table+4
  519.         cld
  520. @@:
  521.         cmp     dword[edi+TEST_REC_SIZE-8],0
  522.         je      @f
  523.         movsd
  524.         add     edi,TEST_REC_SIZE-4
  525.         jmp     @b
  526. @@:
  527.         mov     edi,comment_string_2
  528.         mov     ecx,44
  529.         rep     movsb
  530.         ret
  531. ;---------------------------------------------------------------------
  532. locSaveFile:
  533.         mov     [stFileInfoBlock], 2
  534.         or      dword [wFlags],1
  535.         mov     esi,results_table+4
  536.         mov     edi,mgb_data
  537.         cld
  538. @@:
  539.         cmp     dword[esi+TEST_REC_SIZE-8],0
  540.         je      @f
  541.         movsd
  542.         add     esi,TEST_REC_SIZE-4
  543.         jmp     @b
  544. @@:
  545.         mov     esi,comment_string_2
  546.         mov     ecx,44
  547.         rep     movsb
  548.         mcall   70,stFileInfoBlock
  549.         ret
  550. ;---------------------------------------------------------------------
  551. align 4
  552. stFileInfoBlock dd 0,0,0
  553. dwDataSize      dd TESTS_NUM*4+44       ;1
  554.                 dd mgb_data
  555.                 db 0
  556.                 dd fname_buf
  557. ;---------------------------------------------------------------------
  558. wFlags          dd 0
  559. ;---------------------------------------------------------------------
  560. align 4
  561. results_table dd \
  562.         ?,?,testDrawWindow,aDrawingWindow,\
  563.         ?,?,testDrawBar,aDrawingBar,\
  564.         ?,?,testGetScreen_f36,aGetScreenF36,\
  565.         ?,?,testDrawPicture,aDrawingPicture,\
  566.         ?,?,testDrawPicture_f73,aDrawingPictF73,\
  567.         ?,?,testDrawVertLine,aDrawingVLine,\
  568.         ?,?,testDrawHorzLine,aDrawingHLine,\
  569.         ?,?,testDrawFreeLine,aDrawingFLine,\
  570.         ?,?,testDrawText1,aDrawingText1,\
  571.         ?,?,testDrawText2,aDrawingText2,\
  572.         ?,?,testDrawNumber,aDrawingNumber,\
  573.         ?,?,testDrawPixel,aDrawingPixel,\
  574.         0,0,0,0
  575. ;---------------------------------------------------------------------
  576. LINE_HEIGHT   = 13
  577. TEST_REC_SIZE = 16
  578. TESTS_NUM     = ($ - results_table) / TEST_REC_SIZE - 1
  579. ;---------------------------------------------------------------------
  580. aDrawingWindow  db 'Window Of Type #3, 325x400 px',0
  581. aDrawingBar     db 'Filled Rectangle, 100x250 px',0
  582. aDrawingPicture db 'Picture, 90x123, px',0
  583. aDrawingPictF73 db 'Picture for Blitter, 90x123, px',0
  584. aGetScreenF36   db 'Get a piece of screen, 90x123, px',0
  585. aDrawingVLine   db 'Vertical Line, 350 px',0
  586. aDrawingHLine   db 'Horizontal Line, 270 px',0
  587. aDrawingFLine   db 'Free-angled Line, 350 px',0
  588. aDrawingText1   db 'Fixed-width Text, 34 chars',0
  589. aDrawingText2   db 'Proportional Text, 34 chars',0
  590. aDrawingNumber  db 'Decimal Number, 8 digits',0
  591. aDrawingPixel   db 'Single Pixel',0
  592.  
  593. aTestText       db 'This is a 34-charachters test text'
  594. aButtonsText    db 'Test      Comment+    Pattern+      Open        Save',0
  595. aCaption        db 'Kolibri Graphical Benchmark 0.6',0
  596.  
  597. aLeft   db 'Left    :',0
  598. aRight  db 'Right   :',0
  599.  
  600. aComment1       db 'current',0
  601. aComment2       db 'no pattern',0
  602. aComment        db 'Comment',0
  603. ;---------------------------------------------------------------------
  604. system_dir_Boxlib       db '/sys/lib/box_lib.obj',0
  605. system_dir_ProcLib      db '/sys/lib/proc_lib.obj',0
  606. ;---------------------------------------------------------------------
  607. head_f_i:
  608. head_f_l        db 'System error',0
  609.  
  610. err_message_found_lib1  db 'box_lib.obj - Not found!',0
  611. err_message_found_lib2  db 'proc_lib.obj - Not found!',0
  612.  
  613. err_message_import1     db 'box_lib.obj - Wrong import!',0
  614. err_message_import2     db 'proc_lib.obj - Wrong import!',0
  615. ;---------------------------------------------------------------------
  616. align 4
  617. l_libs_start:
  618.  
  619. library01  l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \
  620. err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
  621.  
  622. library02  l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
  623. err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
  624.  
  625. end_l_libs:
  626. ;---------------------------------------------------------------------
  627. align 4
  628. OpenDialog_data:
  629. .type                   dd 1    ; Save
  630. .procinfo               dd procinfo     ;+4
  631. .com_area_name          dd communication_area_name      ;+8
  632. .com_area               dd 0    ;+12
  633. .opendir_pach           dd temp_dir_pach        ;+16
  634. .dir_default_pach       dd communication_area_default_pach      ;+20
  635. .start_path             dd open_dialog_path     ;+24
  636. .draw_window            dd draw_window  ;+28
  637. .status                 dd 0    ;+32
  638. .openfile_pach          dd fname_buf    ;+36
  639. .filename_area          dd filename_area        ;+40
  640. .filter_area            dd Filter
  641. .x:
  642. .x_size                 dw 420 ;+48 ; Window X size
  643. .x_start                dw 10 ;+50 ; Window X position
  644. .y:
  645. .y_size                 dw 320 ;+52 ; Window y size
  646. .y_start                dw 10 ;+54 ; Window Y position
  647.  
  648. communication_area_name:
  649.         db 'FFFFFFFF_open_dialog',0
  650. open_dialog_path:
  651. if __nightbuild eq yes
  652.         db '/sys/MANAGERS/opendial',0
  653. else
  654.         db '/sys/File Managers/opendial',0
  655. end if
  656. communication_area_default_pach:
  657.         db '/rd0/1/',0
  658.  
  659. Filter:
  660. dd      Filter.end - Filter
  661. .1:
  662. db      'MGB',0
  663. .end:
  664. db      0
  665.  
  666. start_temp_file_name:   db 'pattern.mgb',0
  667.  
  668. path4   db '/rd/1/pattern.mgb',0
  669. ;---------------------------------------------------------------------
  670. align 4
  671. params_f73:
  672. ; destination
  673. .offset_X_dest  dd 0    ; +0
  674. .offset_Y_dest  dd 0    ; +4
  675. .width_dest     dd 90   ; +8
  676. .height_dest    dd 123  ; +12
  677. ; source
  678. .offset_X_src   dd 0    ; +16
  679. .offset_Y_src   dd 0    ; +20
  680. .width_src      dd 90   ; +24
  681. .height_src     dd 123  ; +28
  682. ; other
  683. .pointer        dd 0    ; 90*4  ; +32
  684. .row_size       dd 90*4 ; +36
  685. ;---------------------------------------------------------------------
  686. align 4
  687. ProcLib_import:
  688. OpenDialog_Init         dd aOpenDialog_Init
  689. OpenDialog_Start        dd aOpenDialog_Start
  690. ;OpenDialog__Version    dd aOpenDialog_Version
  691.         dd 0
  692.         dd 0
  693. aOpenDialog_Init        db 'OpenDialog_init',0
  694. aOpenDialog_Start       db 'OpenDialog_start',0
  695. ;aOpenDialog_Version    db 'Version_OpenDialog',0
  696. ;---------------------------------------------------------------------
  697. align 4
  698. Box_lib_import:
  699. ;init_lib               dd a_init
  700. ;version_lib            dd a_version
  701.  
  702.  
  703. edit_box_draw           dd aEdit_box_draw
  704. edit_box_key            dd aEdit_box_key
  705. edit_box_mouse          dd aEdit_box_mouse
  706. ;version_ed             dd aVersion_ed
  707.  
  708. ;check_box_draw         dd aCheck_box_draw
  709. ;check_box_mouse        dd aCheck_box_mouse
  710. ;version_ch             dd aVersion_ch
  711.  
  712. ;option_box_draw        dd aOption_box_draw
  713. ;option_box_mouse       dd aOption_box_mouse
  714. ;version_op             dd aVersion_op
  715.  
  716. ;scrollbar_ver_draw     dd aScrollbar_ver_draw
  717. ;scrollbar_ver_mouse    dd aScrollbar_ver_mouse
  718. ;scrollbar_hor_draw     dd aScrollbar_hor_draw
  719. ;scrollbar_hor_mouse    dd aScrollbar_hor_mouse
  720. ;version_scrollbar      dd aVersion_scrollbar
  721.  
  722. ;dinamic_button_draw    dd aDbutton_draw
  723. ;dinamic_button_mouse   dd aDbutton_mouse
  724. ;version_dbutton        dd aVersion_dbutton
  725.  
  726. ;menu_bar_draw          dd aMenu_bar_draw
  727. ;menu_bar_mouse         dd aMenu_bar_mouse
  728. ;menu_bar_activate      dd aMenu_bar_activate
  729. ;version_menu_bar       dd aVersion_menu_bar
  730.  
  731. ;FileBrowser_draw       dd aFileBrowser_draw
  732. ;FileBrowser_mouse      dd aFileBrowser_mouse
  733. ;FileBrowser_key        dd aFileBrowser_key
  734. ;Version_FileBrowser    dd aVersion_FileBrowser
  735.  
  736. ;PathShow_prepare       dd sz_PathShow_prepare
  737. ;PathShow_draw          dd sz_PathShow_draw
  738. ;Version_path_show      dd szVersion_path_show
  739.                         dd 0
  740.                         dd 0
  741.  
  742. ;a_init                 db 'lib_init',0
  743. ;a_version              db 'version',0
  744.  
  745. aEdit_box_draw          db 'edit_box',0
  746. aEdit_box_key           db 'edit_box_key',0
  747. aEdit_box_mouse         db 'edit_box_mouse',0
  748. ;aVersion_ed            db 'version_ed',0
  749.  
  750. ;aCheck_box_draw        db 'check_box_draw',0
  751. ;aCheck_box_mouse       db 'check_box_mouse',0
  752. ;aVersion_ch            db 'version_ch',0
  753.  
  754. ;aOption_box_draw       db 'option_box_draw',0
  755. ;aOption_box_mouse      db 'option_box_mouse',0
  756. ;aVersion_op            db 'version_op',0
  757.  
  758. ;aScrollbar_ver_draw    db 'scrollbar_v_draw',0
  759. ;aScrollbar_ver_mouse   db 'scrollbar_v_mouse',0
  760. ;aScrollbar_hor_draw    db 'scrollbar_h_draw',0
  761. ;aScrollbar_hor_mouse   db 'scrollbar_h_mouse',0
  762. ;aVersion_scrollbar     db 'version_scrollbar',0
  763.  
  764. ;aDbutton_draw          db 'dbutton_draw',0
  765. ;aDbutton_mouse         db 'dbutton_mouse',0
  766. ;aVersion_dbutton       db 'version_dbutton',0
  767.  
  768. ;aMenu_bar_draw         db 'menu_bar_draw',0
  769. ;aMenu_bar_mouse                db 'menu_bar_mouse',0
  770. ;aMenu_bar_activate     db 'menu_bar_activate',0
  771. ;aVersion_menu_bar      db 'version_menu_bar',0
  772.  
  773. ;aFileBrowser_draw      db 'FileBrowser_draw',0
  774. ;aFileBrowser_mouse     db 'FileBrowser_mouse',0
  775. ;aFileBrowser_key       db 'FileBrowser_key',0
  776. ;aVersion_FileBrowser   db 'version_FileBrowser',0
  777.  
  778. ;sz_PathShow_prepare    db 'PathShow_prepare',0
  779. ;sz_PathShow_draw       db 'PathShow_draw',0
  780. ;szVersion_path_show    db 'version_PathShow',0
  781. ;---------------------------------------------------------------------
  782. ; for EDITBOX
  783. align 4
  784. name_editboxes:
  785. edit1 edit_box 200,10,30,0xffffff,0xbbddff,0,0,0,255,comment_string_1,mouse_dd,ed_focus+ed_always_focus,0
  786. name_editboxes_end:
  787. ;---------------------------------------------------------------------
  788.  
  789. IM_END:
  790. align 4
  791. mouse_dd        rd 1
  792. area_for_f36    rd 1
  793. dwTestEndTime   rd 1
  794. dwMainPID       rd 1
  795. ;---------------------------------------------------------------------
  796. textarea:
  797.         rb 8
  798. ;---------------------------------------------------------------------
  799. comment_string_1:
  800.         rb 44
  801. ;---------------------------------------------------------------------
  802. comment_string_2:
  803.         rb 44
  804. ;---------------------------------------------------------------------
  805. mgb_data:
  806.         rb 100
  807. ;---------------------------------------------------------------------
  808. procinfo:
  809.         rb 1024
  810. ;---------------------------------------------------------------------
  811. cur_dir_path:
  812.         rb 4096
  813. ;---------------------------------------------------------------------
  814. library_path:
  815.         rb 4096
  816. ;---------------------------------------------------------------------
  817. temp_dir_pach:
  818.         rb 4096
  819. ;---------------------------------------------------------------------
  820. fname_buf:
  821.         rb 4096
  822. ;---------------------------------------------------------------------
  823. filename_area:
  824.         rb 256
  825. ;---------------------------------------------------------------------
  826.         rb 4096
  827. thread_stack2:
  828. ;---------------------------------------------------------------------
  829.         rb 4096
  830. thread_stack1:
  831. ;---------------------------------------------------------------------
  832.         rb 4096
  833.         rb 0x2884       ; for F73 image size 123*90*4
  834. stacktop:
  835. I_END: