Subversion Repositories Kolibri OS

Rev

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