Subversion Repositories Kolibri OS

Rev

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