Subversion Repositories Kolibri OS

Rev

Rev 2262 | Rev 2357 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;---------------------------------------------------------------------
  2. aQuestion       db '?'
  3. caption_str     db 'KPack',0
  4. buttons1names   db ' InFile:'
  5.                 db 'OutFile:'
  6.                 db '   Path:'
  7. aCompress       db 'COMPRESS',0
  8. aDecompress     db 'DECOMPRESS',0
  9. definoutname    db 0
  10. defpath         db '/RD/1/'
  11. ;curedit                dd 0
  12.  
  13. info_str        db 'KPack - Kolibri Packer, version 0.20',10
  14.                 db 'Uses LZMA v4.32 compression library',10,10
  15. info_len        = $ - info_str
  16. usage_str       db 'Written by diamond in 2006, 2007, 2009 specially for KolibriOS',10
  17.                 db 'Disassembled code, using Box_Lib, Proc_Lib and OpenDialog',10
  18.                 db '    by Mario79, 2010',10
  19.                 db 'LZMA  is copyright (c) 1999-2005 by Igor Pavlov',10
  20.                 db 10
  21.                 db 'Command-line usage:',10
  22.                 db ' path_to_infile with zero',10
  23.                 db 10
  24.                 db 'Window usage:',10
  25.                 db 'Select file with PATH-button and press needed button',10
  26.                 db ' or enter input and output file name,',10
  27.                 db ' enter path and press needed button',10
  28. usage_len       = $ - usage_str
  29. already_str     db 'Already packed kernel.mnt file',10
  30. already_len     = $ - already_str
  31. notkernel_str   db 'This is not kernel.mnt file',10
  32. notkernel_len   = $ - notkernel_str
  33. errload_str     db 'Cannot load input file',10
  34. errload_len     = $ - errload_str
  35. outfileerr_str  db 'Cannot save output file',10
  36. outfileerr_len  = $ - outfileerr_str
  37. nomem_str       db 'No memory',10
  38. nomem_len       = $ - nomem_str
  39. too_big_str     db 'failed, output is greater than input.',10
  40. too_big_len     = $ - too_big_str
  41. compressing_str db 'Compressing ... '
  42. compressing_len = $ - compressing_str
  43. lzma_memsmall_str db    'Warning: not enough memory for default LZMA settings,',10
  44.                 db '         will use less dictionary size',10
  45. lzma_memsmall_len = $ - lzma_memsmall_str
  46. notpacked_str   db 'Input file is not packed with KPack!',10
  47. notpacked_len   = $ - notpacked_str
  48. unpacked_ok     db 'Unpacked successful',10
  49. unpacked_len    = $ - unpacked_ok
  50.  
  51. done_str        db 'OK! Compression ratio: '
  52. ratio           dw      '00'
  53.                 db '%',10
  54. done_len        = $ - done_str
  55. ;---------------------------------------------------------------------
  56. align 4
  57. LiteralNextStates:
  58. db 0,0,0,0,1,2,3,4,5,6,4,5
  59. MatchNextStates:
  60. db 7,7,7,7,7,7,7,10,10,10,10,10
  61. RepNextStates:
  62. db 8,8,8,8,8,8,8,11,11,11,11,11
  63. ShortRepNextStates:
  64. db 9,9,9,9,9,9,9,11,11,11,11,11
  65. ;---------------------------------------------------------------------
  66. align 4
  67. ProcLib_import:
  68. OpenDialog_Init         dd aOpenDialog_Init
  69. OpenDialog_Start        dd aOpenDialog_Start
  70. ;OpenDialog__Version    dd aOpenDialog_Version
  71.         dd      0
  72.         dd      0
  73. aOpenDialog_Init        db 'OpenDialog_init',0
  74. aOpenDialog_Start       db 'OpenDialog_start',0
  75. ;aOpenDialog_Version    db 'Version_OpenDialog',0
  76. ;---------------------------------------------------------------------
  77. align   4
  78. Box_lib_import:
  79. edit_box_draw           dd aEdit_box_draw
  80. edit_box_key            dd aEdit_box_key
  81. edit_box_mouse          dd aEdit_box_mouse
  82. ;version_ed             dd aVersion_ed
  83.  
  84. check_box_draw          dd aCheck_box_draw
  85. check_box_mouse         dd aCheck_box_mouse
  86. ;version_ch             dd aVersion_ch
  87.  
  88. ;option_box_draw        dd aOption_box_draw
  89. ;option_box_mouse       dd aOption_box_mouse
  90. ;version_op             dd aVersion_op
  91.  
  92. ;scrollbar_ver_draw     dd aScrollbar_ver_draw
  93. ;scrollbar_ver_mouse    dd aScrollbar_ver_mouse
  94. ;scrollbar_hor_draw     dd aScrollbar_hor_draw
  95. ;scrollbar_hor_mouse    dd aScrollbar_hor_mouse
  96. ;version_scrollbar      dd aVersion_scrollbar
  97.  
  98. ;menu_bar_draw          dd aMenu_bar_draw
  99. ;menu_bar_mouse         dd aMenu_bar_mouse
  100. ;version_menu_bar       dd aVersion_menu_bar
  101.  
  102.         dd 0
  103.         dd 0
  104.  
  105. aEdit_box_draw          db 'edit_box',0
  106. aEdit_box_key           db 'edit_box_key',0
  107. aEdit_box_mouse         db 'edit_box_mouse',0
  108. ;aVersion_ed            db 'version_ed',0
  109.  
  110. aCheck_box_draw         db 'check_box_draw',0
  111. aCheck_box_mouse        db 'check_box_mouse',0
  112. ;aVersion_ch            db 'version_ch',0
  113.  
  114. ;aOption_box_draw       db 'option_box_draw',0
  115. ;aOption_box_mouse      db 'option_box_mouse',0
  116. ;aVersion_op            db 'version_op',0
  117.  
  118. ;aScrollbar_ver_draw    db 'scrollbar_v_draw',0
  119. ;aScrollbar_ver_mouse   db 'scrollbar_v_mouse',0
  120. ;aScrollbar_hor_draw    db 'scrollbar_h_draw',0
  121. ;aScrollbar_hor_mouse   db 'scrollbar_h_mouse',0
  122. ;aVersion_scrollbar     db 'version_scrollbar',0
  123.  
  124. ;aMenu_bar_draw         db 'menu_bar_draw',0
  125. ;aMenu_bar_mouse                db 'menu_bar_mouse',0
  126. ;aVersion_menu_bar      db 'version_menu_bar',0
  127. ;---------------------------------------------------------------------
  128. head_f_i:
  129. head_f_l        db 'System error',0
  130.  
  131. err_message_found_lib1  db 'box_lib.obj - Not found!',0
  132. err_message_found_lib2  db 'proc_lib.obj - Not found!',0
  133.  
  134. err_message_import1     db 'box_lib.obj - Wrong import!',0
  135. err_message_import2     db 'proc_lib.obj - Wrong import!',0
  136.  
  137. system_dir_Boxlib       db '/sys/lib/box_lib.obj',0
  138. system_dir_ProcLib      db '/sys/lib/proc_lib.obj',0
  139. ;---------------------------------------------------------------------
  140. align 4
  141. l_libs_start:
  142.  
  143. library01  l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \
  144. err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
  145.  
  146. library02  l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
  147. err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
  148.  
  149. load_lib_end:
  150. ;---------------------------------------------------------------------
  151. align 4
  152. OpenDialog_data:
  153. .type                   dd 0
  154. .procinfo               dd procinfo     ;+4
  155. .com_area_name          dd communication_area_name      ;+8
  156. .com_area               dd 0    ;+12
  157. .opendir_pach           dd temp_dir_pach        ;+16
  158. .dir_default_pach       dd communication_area_default_pach      ;+20
  159. .start_path             dd open_dialog_path     ;+24
  160. .draw_window            dd draw_window  ;+28
  161. .status                 dd 0    ;+32
  162. .openfile_pach          dd fname_buf    ;+36
  163. .filename_area          dd filename_area        ;+40
  164. .filter_area            dd Filter
  165. .x:
  166. .x_size                 dw 420 ;+48 ; Window X size
  167. .x_start                dw 10 ;+50 ; Window X position
  168. .y:
  169. .y_size                 dw 320 ;+52 ; Window y size
  170. .y_start                dw 10 ;+54 ; Window Y position
  171.  
  172. communication_area_name:
  173.         db 'FFFFFFFF_open_dialog',0
  174. open_dialog_path:
  175. if __nightbuild eq yes
  176.     db '/sys/MANAGERS/opendial',0
  177. else
  178.     db '/sys/File Managers/opendial',0
  179. end if
  180. communication_area_default_pach:
  181.         db '/rd/1',0
  182.  
  183. path4   db '/rd/1/temp',0
  184.  
  185. Filter:
  186. dd      Filter.end - Filter.1
  187. .1:
  188. ;db     'BIN',0
  189. ;db     'DAT',0
  190. .end:
  191. db      0
  192.  
  193. start_temp_file_name:   db 'temp.bin',0
  194.  
  195. ;---------------------------------------------------------------------
  196. align 4
  197. edit1 edit_box 160, 60, 1, 0xffffff, 0xff, 0x80ff, 0, 0x8000, 256, inname, mouse_dd, 0, 11,11
  198. edit2 edit_box 160, 60, 17, 0xffffff, 0xff, 0x80ff, 0, 0x8000,256, outname, mouse_dd, 0, 7,7
  199. edit3 edit_box 160, 60, 33, 0xffffff, 0xff, 0x80ff, 0, 0x8000,256, path, mouse_dd, 0, 6,6
  200. editboxes_end:
  201.  
  202. mouse_dd dd 0
  203. ;---------------------------------------------------------------------
  204.  
  205. check1 check_box 353,40,4,10,0x80FFFFFF,0,0,check_text,6
  206. check1_end:
  207.  
  208. check_text db 'Kernel',0
  209. ;*********************************************************************
  210. ; Kerpack data
  211. ;*********************************************************************
  212. align 4
  213. fn70_read:
  214.                 dd      0
  215.                 dd      0
  216.                 dd      0
  217. insize3         dd      200*1024
  218. infile3         dd      infile
  219.                 db      0
  220.                 dd      fullname
  221.  
  222. align 4
  223. fn70_write:
  224.                 dd      2
  225.                 dd      0
  226.                 dd      0
  227. outsize3        dd      ?
  228. outfile3        dd      outfile
  229.                 db      0
  230.                 dd      fullname
  231. ;*********************************************************************