1) Add the flag of speaker mute.
2) Correcting setup.dat

git-svn-id: svn://kolibrios.org@2639 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Marat Zakiyanov (Mario79) 2012-04-20 19:29:09 +00:00
parent cfdb41bed2
commit fb4a67c38c
7 changed files with 78 additions and 33 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,3 +1,3 @@
@fasm setup.asm setup @fasm -m 16384 setup.asm setup
@kpack setup @kpack setup
@pause @pause

View File

@ -3,6 +3,12 @@
;; DEVICE SETUP ;; ;; DEVICE SETUP ;;
;; ;; ;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; version: 1.15
; last update: 20/04/2012
; changed by: Marat Zakiyanov aka Mario79, aka Mario
; changes: Add the flag of speaker mute.
; Correcting setup.dat
;---------------------------------------------------------------------
; version: 1.14 ; version: 1.14
; last update: 20/03/2012 ; last update: 20/03/2012
; changed by: Marat Zakiyanov aka Mario79, aka Mario ; changed by: Marat Zakiyanov aka Mario79, aka Mario
@ -21,9 +27,9 @@
dd 0x01 ; header version dd 0x01 ; header version
dd START ; pointer to program start dd START ; pointer to program start
dd IM_END ; size of image dd IM_END ; size of image
dd I_END ;0x4000 ; reguired amount of memory dd I_END ; reguired amount of memory
dd stack_area ; stack pointer (esp) dd stack_area ; stack pointer (esp)
dd I_PARAM ; boot parameters dd boot_param ; boot parameters
dd 0x0 ; path dd 0x0 ; path
;------------------------------------------------------------------------------- ;-------------------------------------------------------------------------------
include '..\..\..\macros.inc' include '..\..\..\macros.inc'
@ -37,6 +43,7 @@ apply_all:
call _keyboard ;2 call _keyboard ;2
call _mouse_speed call _mouse_speed
call _mouse_delay call _mouse_delay
call _speaker_mute
ret ret
;------------------------------------------------------------------------------- ;-------------------------------------------------------------------------------
apply_all_and_exit: apply_all_and_exit:
@ -91,10 +98,13 @@ get_setup_values:
mcall 18,19,2 mcall 18,19,2
mov [mouse_delay],eax mov [mouse_delay],eax
mcall 18,8,1
mov [speaker_mute],eax
ret ret
;------------------------------------------------------------------------------- ;-------------------------------------------------------------------------------
START: START:
mov eax,I_PARAM mov eax,boot_param
cmp [eax],dword 'SLAN' cmp [eax],dword 'SLAN'
je set_syslanguage_and_exit je set_syslanguage_and_exit
@ -106,6 +116,7 @@ START:
call get_setup_values call get_setup_values
call loadtxt call loadtxt
call draw_infotext
;------------------------------------------------------------------------------- ;-------------------------------------------------------------------------------
red: red:
call draw_window call draw_window
@ -310,9 +321,29 @@ mousedelay:
;-------------------------------------- ;--------------------------------------
.noplus: .noplus:
cmp ah,141 cmp ah,141
jnz .noapply jnz speakermute
call _mouse_delay call _mouse_delay
;-------------------------------------- ;--------------------------------------
speakermute:
cmp ah,152 ; SET SPEAKER
jne no_speaker_d
;--------------------------------------
speaker_p:
btc [speaker_mute],0
call draw_infotext
jmp still
;--------------------------------------
no_speaker_d:
cmp ah,153
jne no_speaker_i
jmp speaker_p
;--------------------------------------
no_speaker_i:
cmp ah,151
jne .noapply
call _speaker_mute
jmp still
;--------------------------------------
.noapply: .noapply:
cmp ah,3 ; SET KEYMAP cmp ah,3 ; SET KEYMAP
jne still jne still
@ -424,7 +455,7 @@ draw_window:
xor eax,eax ; DRAW WINDOW xor eax,eax ; DRAW WINDOW
xor esi,esi xor esi,esi
mcall ,<40,(355+BBB)>,<40,(12*15)>,0xB4111199,,title mcall ,<40,(355+BBB)>,<40,(12*16)>,0xB4111199,,title
mcall 9,procinfo,-1 mcall 9,procinfo,-1
@ -432,7 +463,7 @@ draw_window:
test eax,100b test eax,100b
jne .end jne .end
mcall 8,<(350-85),100>,<(5+14*8),12>,100,0x005588dd ; APPLY ALL mcall 8,<(350-85),100>,<(5+16*8),12>,100,0x005588dd ; APPLY ALL
add ecx,16*65536 ; SAVE ALL add ecx,16*65536 ; SAVE ALL
dec edx dec edx
@ -463,6 +494,10 @@ draw_window:
mov edx,141 mov edx,141
mov ecx,5+10*8 mov ecx,5+10*8
call draw_buttons call draw_buttons
mov edx,151
mov ecx,5+12*8
call draw_buttons
call draw_infotext call draw_infotext
.end: .end:
@ -554,6 +589,10 @@ noet5:
mov eax,[pci_acc] mov eax,[pci_acc]
call onoff ; PCI ACCESS call onoff ; PCI ACCESS
mov [text00+LLL*3+28],ebx mov [text00+LLL*3+28],ebx
mov eax,[speaker_mute]
call onoff ; SPEAKER
mov [text00+LLL*6+28],ebx
mov eax,[mouse_speed] ; MOUSE SPEED mov eax,[mouse_speed] ; MOUSE SPEED
add al,48 add al,48
@ -563,11 +602,12 @@ noet5:
mov esi,text00+LLL*5+32 mov esi,text00+LLL*5+32
call hexconvert ; MOUSE DELAY call hexconvert ; MOUSE DELAY
call text_out call text_out
popa popa
ret ret
;------------------------------------------------------------------------------- ;-------------------------------------------------------------------------------
text_out: text_out:
mcall 13,<165,85>,<0,(12*8)>,0x80111199 ;0x80111199-19 mcall 13,<165,85>,<0,(14*8)>,0x80111199 ;0x80111199-19
mov edx,text00 mov edx,text00
mov ebx,3*65536+7 mov ebx,3*65536+7
@ -657,9 +697,19 @@ _mouse_delay:
mcall 18,19,3,[mouse_delay] mcall 18,19,3,[mouse_delay]
ret ret
;------------------------------------------------------------------------------- ;-------------------------------------------------------------------------------
_speaker_mute:
mcall 18,8,1
cmp [speaker_mute],eax
je @f
inc ecx
mcall 18
;--------------------------------------
@@:
ret
;-------------------------------------------------------------------------------
loadtxt: loadtxt:
mov edi,text00 mov edi,text00
mov ecx,LLL*(text1_strings + text2_strings)/4 mov ecx,LLL*(text1_strings + text2_strings)/4+1
cmp [syslang],4 cmp [syslang],4
jne norus jne norus
@ -695,21 +745,23 @@ textrus:
db '„®áâ㯠ª 設¥ PCI : OFF - + <20>ਬ¥­¨âì' db '„®áâ㯠ª 設¥ PCI : OFF - + <20>ਬ¥­¨âì'
db '‘ª®à®áâì ªãàá®à  ¬ëè¨ : 1 - + <20>ਬ¥­¨âì' db '‘ª®à®áâì ªãàá®à  ¬ëè¨ : 1 - + <20>ਬ¥­¨âì'
db '‡ ¤¥à¦ª  ã᪮७¨ï ¬ëè¨ : 0x00a - + <20>ਬ¥­¨âì' db '‡ ¤¥à¦ª  ã᪮७¨ï ¬ëè¨ : 0x00a - + <20>ਬ¥­¨âì'
db '‚몫îç¨âì SPEAKER : OFF - + <20>ਬ¥­¨âì'
db '<>ˆŒ€<C592>ˆ…: <20>ਬ¥­¨âì ¢á¥ ' db '<>ˆŒ€<C592>ˆ…: <20>ਬ¥­¨âì ¢á¥ '
db '<27>… ‡€<E280A1>“„œŽ•<C5BD><EFBFBD>ˆœ <20><E28098>Ž‰Šˆ ‘®åà ­¨âì ¢á¥ ' db '<27>… ‡€<E280A1>“„œŽ•<C5BD><EFBFBD>ˆœ <20><E28098>Ž‰Šˆ ‘®åà ­¨âì ¢á¥ '
;------------------------------------------------------------------------------- ;-------------------------------------------------------------------------------
texteng: texteng:
db 'SYSTEM LANGUAGE : ENGLISH - + APPLY ' db 'System language : ENGLISH - + Apply '
db 'KEYBOARD LAYOUT : ENGLISH - + APPLY ' db 'Keyboard layout : ENGLISH - + Apply '
db 'LBA READ ENABLED : OFF - + APPLY ' db 'LBA read enabled : OFF - + Apply '
db 'PCI ACCESS FOR APPL. : OFF - + APPLY ' db 'PCI access for appl. : OFF - + Apply '
db 'Mouse pointer speed : 1 - + APPLY ' db 'Mouse pointer speed : 1 - + Apply '
db 'Mouse pointer delay : 0x00a - + APPLY ' db 'Mouse pointer delay : 0x00a - + Apply '
text1_strings = 6 db 'SPEAKER disabled : OFF - + Apply '
text1_strings = 7
db 'NOTE: APPLY ALL ' db 'NOTE: Apply all '
db 'SAVE YOUR SETTINGS BEFORE QUITING KOLIBRI SAVE ALL ' db 'SAVE YOUR SETTINGS BEFORE QUITING KOLIBRI Save all '
text2_strings = 2 text2_strings = 2
;------------------------------------------------------------------------------- ;-------------------------------------------------------------------------------
title db 'System setup',0 title db 'System setup',0
@ -722,7 +774,7 @@ read_fileinfo:
dd 0 dd 0
dd 0 dd 0
dd 0 dd 0
dd 48 dd 28
dd keyboard dd keyboard
db 0 db 0
dd file_name dd file_name
@ -731,33 +783,26 @@ save_fileinfo:
dd 2 dd 2
dd 0 dd 0
dd 0 dd 0
dd 48 dd 28
dd keyboard dd keyboard
file_name: db '/sys/setup.dat',0 file_name: db '/sys/setup.dat',0
;------------------------------------------------------------------------------- ;-------------------------------------------------------------------------------
; Note to SVN revision 2299 - some parameters has not used,
; but keep the order of the parameter has always needed!
keyboard dd 0x0 keyboard dd 0x0
dd 0 ;midibase - not use, but retained for backward compat. syslang dd 0x4 ; 4 - rus
dd 0 ;cdbase - not use, but retained for backward compat.
dd 0 ;sb16 - not use, but retained for backward compat.
syslang dd 0x1
dd 0 ;hdbase - not use, but retained for backward compat.
dd 0 ;f32p - not use, but retained for backward compat.
dd 0 ;sound_dma - not use, but retained for backward compat.
lba_read dd 0x1 lba_read dd 0x1
pci_acc dd 0x1 pci_acc dd 0x1
mouse_speed dd 0x3 mouse_speed dd 0x2
mouse_delay dd 0x10 mouse_delay dd 0xa
speaker_mute dd 0 ; 0 - enable, 1 - disable
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
IM_END: IM_END:
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
align 4 align 4
text00: text00:
rb LLL*(text1_strings + text2_strings) rb LLL*(text1_strings + text2_strings)+4
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
align 4 align 4
I_PARAM: boot_param:
procinfo: procinfo:
rb 1024 rb 1024
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------