Subversion Repositories Kolibri OS

Rev

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

  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;;                               ;;
  3. ;;          DEVICE SETUP         ;;
  4. ;;                               ;;
  5. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  6. ; version:      1.15
  7. ; last update:  20/04/2012
  8. ; changed by:   Marat Zakiyanov aka Mario79, aka Mario
  9. ; changes:      Add the flag of speaker mute.
  10. ;               Correcting setup.dat
  11. ;---------------------------------------------------------------------
  12. ; version:      1.14
  13. ; last update:  20/03/2012
  14. ; changed by:   Marat Zakiyanov aka Mario79, aka Mario
  15. ; changes:      optimisations and code refactoring
  16. ;---------------------------------------------------------------------
  17. ; Authors: Ville       - original version
  18. ;          A. Ivushkin - autostart (w launcher)
  19. ;          M. Lisovin  - added many feauters (apply all, save all, set time...)
  20. ;          I. Poddubny - fixed russian keymap
  21. ;14/08/06  Mario79 - added regulation of mouse features
  22. ;-------------------------------------------------------------------------------
  23.         use32
  24.         org 0x0
  25.  
  26.         db 'MENUET01'   ; 8 byte identifier
  27.         dd 0x01         ; header version
  28.         dd START        ; pointer to program start
  29.         dd IM_END       ; size of image
  30.         dd I_END        ; reguired amount of memory
  31.         dd stack_area   ; stack pointer (esp)
  32.         dd boot_param   ; boot parameters
  33.         dd 0x0          ; path
  34. ;-------------------------------------------------------------------------------
  35. include '..\..\..\macros.inc'
  36. ;-------------------------------------------------------------------------------
  37. LLL equ (56+3)
  38. BBB equ 25
  39. ;-------------------------------------------------------------------------------
  40. apply_all:
  41.         call    _pci_acc    ;12
  42.         call    _syslang    ;5
  43.         call    _keyboard    ;2
  44.         call    _mouse_speed
  45.         call    _mouse_delay
  46.         call    _speaker_mute
  47.         ret
  48. ;-------------------------------------------------------------------------------
  49. apply_all_and_exit:
  50.         mcall   70,read_fileinfo
  51.         call    apply_all
  52.         jmp     close
  53. ;-------------------------------------------------------------------------------
  54. set_language_and_exit:
  55.         mcall   26,2,9
  56.         cmp     eax,1
  57.         je      russian
  58.  
  59.         xor     eax,eax
  60. ;--------------------------------------
  61. set_lang_now:
  62.         mov     [keyboard],eax
  63.         call    _keyboard
  64.         jmp     close
  65. ;--------------------------------------
  66. russian:
  67.         mov     eax,3
  68.         jmp     set_lang_now
  69. ;-------------------------------------------------------------------------------
  70. set_syslanguage_and_exit:
  71.         mcall   26,5
  72.         cmp     eax,6
  73.         jne     temp
  74.         xor     eax,eax
  75. ;--------------------------------------
  76. temp:
  77.         inc     eax
  78.         mov     [syslang],eax
  79.         call    _syslang
  80.         jmp     close
  81. ;-------------------------------------------------------------------------------
  82. get_setup_values:
  83.         mcall   26,2,9
  84.         dec     eax
  85.         mov     [keyboard],eax
  86.  
  87.         mcall   26,5
  88.         mov     [syslang],eax
  89.  
  90.         mcall   26,11
  91.         mov     [lba_read],eax
  92.  
  93.         mcall   26,12
  94.         mov     [pci_acc],eax
  95.  
  96.         mcall   18,19,0
  97.         mov     [mouse_speed],eax
  98.  
  99.         mcall   18,19,2
  100.         mov     [mouse_delay],eax
  101.        
  102.         mcall   18,8,1
  103.         mov     [speaker_mute],eax
  104.         ret
  105. ;-------------------------------------------------------------------------------
  106. START:
  107.         mov     eax,boot_param
  108.         cmp     [eax],dword 'SLAN'
  109.         je      set_syslanguage_and_exit
  110.  
  111.         cmp     [eax],dword 'LANG'
  112.         je      set_language_and_exit
  113.  
  114.         cmp     [eax],dword 'BOOT'
  115.         je      apply_all_and_exit
  116.  
  117.         call    get_setup_values
  118.         call    loadtxt
  119.         call    draw_infotext
  120. ;-------------------------------------------------------------------------------
  121. red:
  122.         call    draw_window
  123. ;-------------------------------------------------------------------------------
  124. still:
  125. sysevent:
  126.         mcall   23,8          ; wait here for event with timeout
  127.         cmp     eax,1
  128.         jz      red
  129.  
  130.         cmp     eax,2
  131.         jz      key
  132.  
  133.         cmp     eax,3
  134.         jz      button
  135.  
  136.         jmp     still
  137. ;-------------------------------------------------------------------------------
  138. key:
  139.         mcall   2
  140.         jmp     still
  141. ;-------------------------------------------------------------------------------
  142. button:
  143.         mcall   17
  144.         cmp     ah,99
  145.         jne     nosaveall
  146.         mcall   70,save_fileinfo
  147.         jmp     still
  148. ;--------------------------------------    
  149. nosaveall:
  150.         cmp     ah,100
  151.         jne     no_apply_all
  152.         call    apply_all
  153.         jmp     still
  154. ;--------------------------------------
  155. no_apply_all:
  156.         cmp     ah,1    ; CLOSE APPLICATION
  157.         jne     no_close
  158. ;--------------------------------------
  159. close:
  160.         or      eax,-1
  161.         mcall
  162. ;--------------------------------------
  163. no_close:
  164.         cmp     ah,4    ; SET KEYBOARD
  165.         jnz     nokm
  166.         mov     eax,[keyboard]
  167.         test    eax,eax
  168.         je      downuplbl
  169.         dec     eax
  170.         jmp     nodownup
  171. ;--------------------------------------
  172. downuplbl:
  173.         mov     eax,5
  174. ;--------------------------------------
  175. nodownup:
  176.         mov     [keyboard],eax
  177.         call    draw_infotext
  178. ;--------------------------------------
  179. nokm:
  180.         cmp     ah,5
  181.         jnz     nokp
  182.         mov     eax,[keyboard]
  183.         cmp     eax,5
  184.         je      updownlbl
  185.         inc     eax
  186.         jmp     noupdown
  187. ;--------------------------------------
  188. updownlbl:
  189.         xor     eax,eax
  190. ;--------------------------------------
  191. noupdown:
  192.         mov     [keyboard],eax
  193.         call    draw_infotext
  194. ;--------------------------------------
  195. nokp:
  196.         cmp     ah,92   ; SET LBA READ
  197.         jne     no_lba_d
  198. ;--------------------------------------
  199. slbal:
  200.         btc     [lba_read],0
  201.         call    draw_infotext
  202.         jmp     still
  203. ;--------------------------------------
  204. no_lba_d:
  205.         cmp     ah,93
  206.         jne     no_lba_i
  207.         jmp     slbal
  208. ;--------------------------------------
  209. no_lba_i:
  210.         cmp     ah,91
  211.         jne     no_set_lba_read
  212.         call    _lba_read
  213.         jmp     still
  214. ;--------------------------------------
  215. no_set_lba_read:
  216.         cmp     ah,102  ; SET PCI ACCESS
  217.         jne     no_pci_d
  218. ;--------------------------------------
  219. pcip:
  220.         btc     [pci_acc],0
  221.         call    draw_infotext
  222.         jmp     still
  223. ;--------------------------------------
  224. no_pci_d:
  225.         cmp     ah,103
  226.         jne     no_pci_i
  227.         jmp     pcip
  228. ;--------------------------------------
  229. no_pci_i:
  230.         cmp     ah,101
  231.         jne     no_set_pci_acc
  232.         call    _pci_acc
  233.         jmp     still
  234. ;--------------------------------------
  235. no_set_pci_acc:
  236.         cmp     ah,42   ; SET SYSTEM LANGUAGE BASE
  237.         jnz     nosysm
  238.         mov     eax,[syslang]
  239.         dec     eax
  240.         jz      still
  241.         mov     [syslang],eax
  242.         call    draw_infotext
  243. ;--------------------------------------
  244. nosysm:
  245.         cmp     ah,43
  246.         jnz     nosysp
  247.         mov     eax,[syslang]
  248.         cmp     eax,6
  249.         je      nosysp
  250.         inc     eax
  251.         mov     [syslang],eax
  252.         call    draw_infotext
  253. ;--------------------------------------
  254. nosysp:
  255.         cmp     ah,41
  256.         jnz     nosyss
  257.         call    _syslang
  258.         call    cleantxt
  259.         call    loadtxt
  260.         call    draw_window
  261. ;--------------------------------------
  262. nosyss:
  263.         cmp     ah,132  ; SET MOUSE SPEED
  264.         jnz     .nominus
  265.         mov     eax,[mouse_speed]
  266.         sub     eax,2
  267.         cmp     eax,9
  268.         jb      @f
  269.         mov     eax,8
  270. ;--------------------------------------
  271. @@:
  272.         inc     eax
  273.         mov     [mouse_speed],eax
  274.         call    draw_infotext
  275. ;--------------------------------------
  276. .nominus:
  277.         cmp     ah,133
  278.         jnz     .noplus
  279.         mov     eax,[mouse_speed]
  280.         cmp     eax,9
  281.         jb      @f
  282.         mov     eax,0
  283. ;--------------------------------------
  284. @@:
  285.         inc     eax
  286.         mov     [mouse_speed],eax
  287.         call    draw_infotext
  288. ;--------------------------------------
  289. .noplus:
  290.         cmp     ah,131
  291.         jnz     .noapply
  292.         call    _mouse_speed
  293. ;--------------------------------------    
  294. .noapply:
  295. mousedelay:
  296.         cmp     ah,142        ; SET MOUSE DELAY
  297.         jnz     .nominus
  298.         mov     eax,[mouse_delay]
  299.         sub     eax,2
  300.         cmp     eax,0xfff
  301.         jb      @f
  302.         mov     eax,0xffe
  303. ;--------------------------------------
  304. @@:
  305.         inc     eax
  306.         mov     [mouse_delay],eax
  307.         call    draw_infotext
  308. ;--------------------------------------
  309. .nominus:
  310.         cmp     ah,143
  311.         jnz     .noplus
  312.         mov     eax,[mouse_delay]
  313.         cmp     eax,0xfff
  314.         jb      @f
  315.         mov     eax,0
  316. ;--------------------------------------
  317. @@:
  318.         inc     eax
  319.         mov     [mouse_delay],eax
  320.         call    draw_infotext
  321. ;--------------------------------------
  322. .noplus:
  323.         cmp     ah,141
  324.         jnz     speakermute
  325.         call    _mouse_delay
  326. ;--------------------------------------
  327. speakermute:
  328.         cmp     ah,152  ; SET SPEAKER
  329.         jne     no_speaker_d
  330. ;--------------------------------------
  331. speaker_p:
  332.         btc     [speaker_mute],0
  333.         call    draw_infotext
  334.         jmp     still
  335. ;--------------------------------------
  336. no_speaker_d:
  337.         cmp     ah,153
  338.         jne     no_speaker_i
  339.         jmp     speaker_p
  340. ;--------------------------------------
  341. no_speaker_i:
  342.         cmp     ah,151
  343.         jne     .noapply
  344.         call    _speaker_mute
  345.         jmp     still
  346. ;--------------------------------------
  347. .noapply:
  348.         cmp     ah,3          ; SET KEYMAP
  349.         jne     still
  350.         call    _keyboard
  351.         jmp     still
  352. ;-------------------------------------------------------------------------------
  353. _keyboard:
  354.         cmp     [keyboard],0    ; english
  355.         jnz     nosetkeyle
  356.        
  357.         mcall   21,2,1,en_keymap
  358.        
  359.         inc     ecx
  360.         mcall   21,,,en_keymap_shift
  361.  
  362.         mcall   21,,9,1
  363.         call    alt_gen
  364. ;--------------------------------------
  365. nosetkeyle:
  366.         cmp     [keyboard],1    ; finnish
  367.         jnz     nosetkeylfi
  368.  
  369.         mcall   21,2,1,fi_keymap
  370.        
  371.         inc     ecx
  372.         mcall   21,,,fi_keymap_shift
  373.  
  374.         mcall   21,,9,2
  375.         call    alt_gen
  376. ;--------------------------------------
  377. nosetkeylfi:
  378.         cmp  [keyboard],2       ; german
  379.         jnz  nosetkeylge
  380.  
  381.         mcall   21,2,1,ge_keymap
  382.        
  383.         inc     ecx
  384.         mcall   21,,,ge_keymap_shift
  385.  
  386.         mcall   21,,9,3
  387.         call    alt_gen
  388. ;--------------------------------------
  389. nosetkeylge:
  390.         cmp     [keyboard],3    ; russian
  391.         jnz     nosetkeylru
  392.    
  393.         mcall   21,2,1,ru_keymap
  394.        
  395.         inc     ecx
  396.         mcall   21,,,ru_keymap_shift
  397.  
  398.         mcall   21,,9,4
  399.         call    alt_gen
  400. ;--------------------------------------
  401. nosetkeylru:
  402.         cmp     [keyboard],4    ;french
  403.         jnz     nosetkeylfr
  404.  
  405.         mcall   21,2,1,fr_keymap
  406.        
  407.         inc     ecx
  408.         mcall   21,,,fr_keymap_shift
  409.  
  410.         inc  ecx
  411.         mcall   21,,,fr_keymap_alt_gr
  412.  
  413.         mcall   21,,9,5
  414. ;--------------------------------------
  415. nosetkeylfr:
  416.         cmp     [keyboard],5    ; estonian
  417.         jnz     nosetkeylet
  418.  
  419.         mcall   21,2,1,et_keymap
  420.        
  421.         inc     ecx
  422.         mcall   21,,,et_keymap_shift
  423.  
  424.         mcall   21,,9,6
  425.         call    alt_gen
  426. ;--------------------------------------
  427. nosetkeylet:
  428.         ret
  429. ;-------------------------------------------------------------------------------
  430. alt_gen:
  431.         mcall   21,,3,alt_general
  432.         ret
  433. ;-------------------------------------------------------------------------------
  434. draw_buttons:
  435.         pusha
  436.         shl  ecx,16
  437.         add  ecx,12
  438.         mcall   8,<(350-57),(46+BBB)>
  439.  
  440.         inc     edx
  441.         mcall   ,<(350-85),9>
  442.  
  443.         inc     edx
  444.         mcall   ,<(350-73),9>
  445.  
  446.         popa
  447.         ret
  448. ;-------------------------------------------------------------------------------
  449. ; ********************************************
  450. ; ******* WINDOW DEFINITIONS AND DRAW  *******
  451. ; ********************************************
  452. draw_window:
  453.         pusha
  454.         mcall   12,1
  455.  
  456.         xor     eax,eax       ; DRAW WINDOW
  457.         xor     esi,esi
  458.         mcall   ,<40,(355+BBB)>,<40,(12*16)>,0xB4111199,,title
  459.        
  460.         mcall   9,procinfo,-1
  461.        
  462.         mov     eax,[ebx+70] ;status of window
  463.         test    eax,100b
  464.         jne     .end
  465.  
  466.         mcall   8,<(350-85),100>,<(5+16*8),12>,100,0x005588dd   ; APPLY ALL
  467.  
  468.         add     ecx,16*65536          ; SAVE ALL
  469.         dec     edx
  470.         mcall
  471.  
  472.         mov     esi,0x5580c0
  473.  
  474.         mov     edx,41
  475.         mov     ecx,5+0*8
  476.         call    draw_buttons
  477.  
  478.         mov     edx,3
  479.         mov     ecx,5+2*8
  480.         call    draw_buttons
  481.  
  482.         mov     edx,91
  483.         mov     ecx,5+4*8
  484.         call    draw_buttons
  485.  
  486.         mov     edx,101
  487.         mov     ecx,5+6*8
  488.         call    draw_buttons
  489.  
  490.         mov     edx,131
  491.         mov     ecx,5+8*8
  492.         call    draw_buttons
  493.  
  494.         mov     edx,141
  495.         mov     ecx,5+10*8
  496.         call    draw_buttons
  497.        
  498.         mov     edx,151
  499.         mov     ecx,5+12*8
  500.         call    draw_buttons
  501.  
  502.         call    draw_infotext
  503. .end:
  504.         mcall   12,2
  505.         popa
  506.         ret
  507. ;-------------------------------------------------------------------------------
  508. draw_infotext:
  509.         pusha
  510.         mov     eax,[keyboard]       ; KEYBOARD
  511.         test    eax,eax
  512.         jnz     noen
  513.         mov     [text00+LLL*1+28],dword 'ENGL'
  514.         mov     [text00+LLL*1+32],dword 'ISH '
  515. ;--------------------------------------
  516. noen:
  517.         cmp     eax,1
  518.         jnz     nofi
  519.         mov     [text00+LLL*1+28],dword 'FINN'
  520.         mov     [text00+LLL*1+32],dword 'ISH '
  521. ;--------------------------------------
  522. nofi:
  523.         cmp     eax,2
  524.         jnz     noge
  525.         mov     [text00+LLL*1+28],dword 'GERM'
  526.         mov     [text00+LLL*1+32],dword 'AN  '
  527. ;--------------------------------------
  528. noge:
  529.         cmp     eax,3
  530.         jnz     nogr
  531.         mov     [text00+LLL*1+28],dword 'RUSS'
  532.         mov     [text00+LLL*1+32],dword 'IAN '
  533. ;--------------------------------------
  534. nogr:
  535.         cmp     eax,4
  536.         jnz     nofr
  537.         mov     [text00+LLL*1+28],dword 'FREN'
  538.         mov     [text00+LLL*1+32],dword 'CH  '
  539. ;--------------------------------------
  540. nofr:
  541.         cmp     eax,5
  542.         jnz     noet
  543.         mov     [text00+LLL*1+28],dword 'ESTO'
  544.         mov     [text00+LLL*1+32],dword 'NIAN'
  545. ;--------------------------------------
  546. noet:
  547.         mov     eax,[syslang]             ; SYSTEM LANGUAGE
  548.         dec     eax
  549.         test    eax,eax
  550.         jnz     noen5
  551.         mov     [text00+LLL*0+28],dword 'ENGL'
  552.         mov     [text00+LLL*0+32],dword 'ISH '
  553. ;--------------------------------------
  554. noen5:
  555.         cmp     eax,1
  556.         jnz     nofi5
  557.         mov     [text00+LLL*0+28],dword 'FINN'
  558.         mov     [text00+LLL*0+32],dword 'ISH '
  559. ;--------------------------------------
  560. nofi5:
  561.         cmp     eax,2
  562.         jnz     noge5
  563.         mov     [text00+LLL*0+28],dword 'GERM'
  564.         mov     [text00+LLL*0+32],dword 'AN  '
  565. ;--------------------------------------
  566. noge5:
  567.         cmp     eax,3
  568.         jnz     nogr5
  569.         mov     [text00+LLL*0+28],dword 'RUSS'
  570.         mov     [text00+LLL*0+32],dword 'IAN '
  571. ;--------------------------------------
  572. nogr5:
  573.         cmp     eax,4
  574.         jne     nofr5
  575.         mov     [text00+LLL*0+28],dword 'FREN'
  576.         mov     [text00+LLL*0+32],dword 'CH  '
  577. ;--------------------------------------
  578. nofr5:
  579.         cmp     eax,5
  580.         jne     noet5
  581.         mov     [text00+LLL*0+28],dword 'ESTO'
  582.         mov     [text00+LLL*0+32],dword 'NIAN'
  583. ;--------------------------------------
  584. noet5:
  585.         mov     eax,[lba_read]
  586.         call    onoff                           ; LBA READ
  587.         mov     [text00+LLL*2+28],ebx
  588.  
  589.         mov     eax,[pci_acc]
  590.         call    onoff                           ; PCI ACCESS
  591.         mov     [text00+LLL*3+28],ebx
  592.        
  593.         mov     eax,[speaker_mute]
  594.         call    onoff                           ; SPEAKER
  595.         mov     [text00+LLL*6+28],ebx
  596.  
  597.         mov     eax,[mouse_speed]               ; MOUSE SPEED
  598.         add     al,48
  599.         mov     [text00+LLL*4+28],al
  600.  
  601.         mov     eax,[mouse_delay]
  602.         mov     esi,text00+LLL*5+32
  603.         call    hexconvert                      ; MOUSE DELAY
  604.         call    text_out
  605.        
  606.         popa
  607.         ret
  608. ;-------------------------------------------------------------------------------
  609. text_out:
  610.         mcall   13,<165,85>,<0,(14*8)>,0x80111199       ;0x80111199-19
  611.  
  612.         mov     edx,text00
  613.         mov     ebx,3*65536+7
  614.         mov     eax,4
  615.         mov     ecx,0xffffff
  616.         mov     esi,LLL
  617.         mov     ebp,text1_strings
  618. ;--------------------------------------
  619. newline:
  620.         mcall
  621.         add     ebx,8+8
  622.         add     edx,esi
  623.         dec     ebp
  624.         jnz     newline
  625.  
  626.         mov     ebp,text2_strings
  627.         add     ebx,8+8
  628. ;--------------------------------------
  629. @@:
  630.         mcall
  631.         add     ebx,8+8
  632.         add     edx,esi
  633.         dec     ebp
  634.         jnz     @b
  635.         ret
  636. ;-------------------------------------------------------------------------------
  637. hexconvert:          ;converting dec to hex in ascii
  638.         xor     ebx,ebx
  639.         mov     bl,al
  640.         and     bl,15
  641.         add     ebx,hex
  642.         mov     cl,[ebx]
  643.         mov     [esi],cl
  644.         shr     eax,4
  645.         xor     ebx,ebx
  646.         mov     bl,al
  647.         and     bl,15
  648.         add     ebx,hex
  649.         mov     cl,[ebx]
  650.         dec     esi
  651.         mov     [esi],cl
  652.         shr     eax,4
  653.         xor     ebx,ebx
  654.         mov     bl,al
  655.         and     bl,15
  656.         add     ebx,hex
  657.         mov     cl,[ebx]
  658.         dec     esi
  659.         mov     [esi],cl
  660.         ret
  661. ;-------------------------------------------------------------------------------
  662. onoff:
  663.         cmp     [syslang],4
  664.         jne     norus1
  665.         mov     ebx,'„€  '
  666.         cmp     eax,1
  667.         je      exitsub
  668.         mov     ebx,'…’ '
  669.         ret
  670. ;--------------------------------------
  671. norus1:
  672.         mov     ebx,'ON  '
  673.         cmp     eax,1
  674.         je      exitsub
  675.         mov     ebx,'OFF '
  676. ;--------------------------------------
  677. exitsub:
  678.         ret
  679. ;-------------------------------------------------------------------------------
  680. _lba_read:
  681.         mcall   21,11,[lba_read]
  682.         ret
  683. ;-------------------------------------------------------------------------------
  684. _pci_acc:
  685.         mcall   21,12,[pci_acc]
  686.         ret
  687. ;-------------------------------------------------------------------------------
  688. _syslang:
  689.         mcall   21,5,[syslang]
  690.         ret
  691. ;-------------------------------------------------------------------------------
  692. _mouse_speed:
  693.         mcall   18,19,1,[mouse_speed]
  694.         ret
  695. ;-------------------------------------------------------------------------------
  696. _mouse_delay:
  697.         mcall   18,19,3,[mouse_delay]
  698.         ret
  699. ;-------------------------------------------------------------------------------
  700. _speaker_mute:
  701.         mcall   18,8,1
  702.         cmp     [speaker_mute],eax
  703.         je      @f
  704.         inc     ecx
  705.         mcall   18
  706. ;--------------------------------------
  707. @@:
  708.         ret
  709. ;-------------------------------------------------------------------------------
  710. loadtxt:
  711.         mov     edi,text00
  712.         mov     ecx,LLL*(text1_strings + text2_strings)/4+1
  713.         cmp     [syslang],4
  714.         jne     norus
  715.  
  716.         mov     esi,textrus
  717.         jmp     sload
  718. ;--------------------------------------
  719. norus:
  720.         mov     esi,texteng
  721. ;--------------------------------------
  722. sload:
  723.         rep     movsd
  724.         ret
  725. ;-------------------------------------------------------------------------------
  726. cleantxt:
  727.         xor     eax,eax
  728.         mov     ecx,LLL*(text1_strings + text2_strings)/4
  729.         cld
  730.         mov     edi,text00
  731.         rep     stosd
  732.         mov     [text00+1711],byte 'x'
  733.         ret
  734. ;-------------------------------------------------------------------------------
  735. ; DATA AREA
  736. count:          db 0x0
  737. blinkpar:       dd 0x0
  738. time:           dw 0x0
  739. date:           dd 0x0
  740. ;-------------------------------------------------------------------------------
  741. textrus:
  742.         db 'Ÿ§ëª á¨áâ¥¬ë              : ENGLISH         - +   à¨¬¥­¨âì'
  743.         db ' áª« ¤ª  ª« ¢¨ âãàë      : ENGLISH         - +   à¨¬¥­¨âì'
  744.         db '‚ª«îç¨âì LBA              : OFF             - +   à¨¬¥­¨âì'
  745.         db '„®áâ㯠ª 設¥ PCI         : OFF             - +   à¨¬¥­¨âì'
  746.         db '‘ª®à®áâì ªãàá®à  ¬ëè¨     : 1               - +   à¨¬¥­¨âì'
  747.         db '‡ ¤¥à¦ª  ã᪮७¨ï ¬ëè¨   : 0x00a           - +   à¨¬¥­¨âì'
  748.         db '‚몫îç¨âì SPEAKER         : OFF             - +   à¨¬¥­¨âì'
  749.        
  750.         db '‚ˆŒ€ˆ…:                                    à¨¬¥­¨âì ¢á¥ '
  751.         db '… ‡€“„œ’… ‘Ž•€ˆ’œ €‘’Ž‰Šˆ              ‘®åà ­¨âì ¢á¥ '
  752. ;-------------------------------------------------------------------------------
  753. texteng:
  754.         db 'System language           : ENGLISH         - +     Apply  '
  755.         db 'Keyboard layout           : ENGLISH         - +     Apply  '
  756.         db 'LBA read enabled          : OFF             - +     Apply  '
  757.         db 'PCI access for appl.      : OFF             - +     Apply  '
  758.         db 'Mouse pointer speed       : 1               - +     Apply  '
  759.         db 'Mouse pointer delay       : 0x00a           - +     Apply  '
  760.         db 'SPEAKER disabled          : OFF             - +     Apply  '
  761. text1_strings = 7
  762.  
  763.         db 'NOTE:                                           Apply all  '
  764.         db 'SAVE YOUR SETTINGS BEFORE QUITING KOLIBRI       Save all   '
  765. text2_strings = 2
  766. ;-------------------------------------------------------------------------------
  767. title   db 'System setup',0
  768.  
  769. hex     db '0123456789ABCDEF'
  770. ;-------------------------------------------------------------------------------
  771. include 'keymaps.inc'
  772. ;-------------------------------------------------------------------------------
  773. read_fileinfo:
  774.         dd 0
  775.         dd 0
  776.         dd 0
  777.         dd 28
  778.         dd keyboard
  779.         db 0
  780.         dd file_name
  781. ;-------------------------------------------------------------------------------
  782. save_fileinfo:
  783.         dd 2
  784.         dd 0
  785.         dd 0
  786.         dd 28
  787.         dd keyboard
  788. file_name:      db '/sys/setup.dat',0
  789. ;-------------------------------------------------------------------------------
  790. keyboard        dd 0x0
  791. syslang         dd 0x4  ; 4 - rus
  792. lba_read        dd 0x1
  793. pci_acc         dd 0x1
  794. mouse_speed     dd 0x2
  795. mouse_delay     dd 0xa
  796. speaker_mute    dd 0    ; 0 - enable, 1 - disable
  797. ;-----------------------------------------------------------------------------
  798. IM_END:
  799. ;-----------------------------------------------------------------------------
  800. align 4
  801. text00:
  802.         rb LLL*(text1_strings + text2_strings)+4
  803. ;-----------------------------------------------------------------------------
  804. align 4
  805. boot_param:
  806. procinfo:
  807.         rb 1024
  808. ;-----------------------------------------------------------------------------
  809. align 4
  810.         rb 0x1000
  811. stack_area:
  812. ;-----------------------------------------------------------------------------
  813. I_END:
  814. ;-------------------------------------------------------------------------------