diff --git a/programs/system/setup/trunk/keymaps.inc b/programs/system/setup/trunk/keymaps.inc new file mode 100644 index 0000000000..ac5e5d6eae --- /dev/null +++ b/programs/system/setup/trunk/keymaps.inc @@ -0,0 +1,202 @@ +alt_general: + +; db ' ',27 +; db ' @ $ {[]}\ ',8,9 +; db ' ',13 +; db ' ',0,' ',0,'4',0,' ' +; db ' ',180,178,184,'6',176,'7' +; db 179,'8',181,177,183,185,182 +; db 'ABCD',255,'FGHIJKLMNOPQRSTUVWXYZ' +; db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' +; db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' +; db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + +en_keymap: + + db '6',27 + db '1234567890-=',8,9 + db 'qwertyuiop[]',13 + db '~asdfghjkl;',39,96,0,'\zxcvbnm,./',0,'45 ' + db '@234567890123',180,178,184,'6',176,'7' + db 179,'8',181,177,183,185,182 + db 'AB?',0,'45 ' + db '@234567890123',180,178,184,'6',176,'7' + db 179,'8',181,177,183,185,182 + db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ' + db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + + + + + +fr_keymap: + + db '6',27 + db '&О"',39,'(-Н_УР)=',8,9 + db 'azertyuiop^$',13 + db '~qsdfghjklmТ',0,0,'*wxcvbn,;:!',0,'45 ' + db '@234567890123',180,178,184,'6',176,'7' + db 179,'8',181,177,183,185,182 + db 'ABD',255,'FGHIJKLMNOPQRSTUVWXYZ' + db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + +fr_keymap_alt_gr: + + db '6',27 + db 28,'~#{[|Ш\^@]}',8,9 + db 'azertyuiop^$',13 + db '~qsdfghjklmТ',0,0,'*wxcvbn,;:!',0,'45 ' + db '@234567890123',180,178,184,'6',176,'7' + db 179,'8',181,177,183,185,182 + db 'ABD',255,'FGHIJKLMNOPQRSTUVWXYZ' + db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + + + + + +ge_keymap: + + db '6',27 + db '1234567890?[',8,9 + db 'qwertzuiop',203,'~',13 + db '~asdfghjkl',194,193,'1',0,39,'yxcvbnm,.-',0,'45 ' + db '@234567890123',180,178,184,'6',176,'7' + db 179,'8',181,177,183,185,182 + db 'ABD',255,'FGHIJKLMNOPQRSTUVWXYZ' + db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + + + + +ru_keymap: + + db '6',27 + db '1234567890-=',8,9 + db 'йцукенгшщзхъ',13 + db 0,"фывапролджэ" + db 0xf1, '-/' + db "ячсмитьбю",'.-','45 ' + db '@234567890123',180,178,184,'6',176,'7' + db 179,'8',181,177,183,185,182 + db 'ABD',255,'FGHIJKLMNOPQRSTUVWXYZ' + db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + + + + +et_keymap: + + db '6',27 + db '1234567890+┤',8,9 + db 'qwertyuiop№ї',13 + db '~asdfghjklЎф','1',0,'ZXCVBNM;:_',0,'45 ' + db '@234567890123',180,178,184,'6',176,'7' + db 179,'8',181,177,183,185,182 + db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ' + db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' \ No newline at end of file diff --git a/programs/system/setup/trunk/setup.asm b/programs/system/setup/trunk/setup.asm index 24fbe5452b..4454cde676 100644 --- a/programs/system/setup/trunk/setup.asm +++ b/programs/system/setup/trunk/setup.asm @@ -12,14 +12,14 @@ ;****************************************************************************** use32 - org 0x0 - db 'MENUET01' ; 8 byte identifier - dd 0x01 ; header version - dd START ; pointer to program start - dd I_END ; size of image - dd 0x4000 ; reguired amount of memory - dd 0x4000 ; stack pointer (esp) - dd I_PARAM,0 ; parameters, reserved + org 0x0 + db 'MENUET01' ; 8 byte identifier + dd 0x01 ; header version + dd START ; pointer to program start + dd I_END ; size of image + dd 0x4000 ; reguired amount of memory + dd 0x4000 ; stack pointer (esp) + dd I_PARAM,0 ; parameters, reserved include '..\..\..\macros.inc' ;****************************************************************************** @@ -29,393 +29,130 @@ BBB equ 25 ;****************************************************************************** apply_all: - call _midibase ;1 - call _sound_dma ;10 call _pci_acc ;12 - call _sb16 ;4 call _syslang ;5 call _keyboard ;2 call _mouse_speed call _mouse_delay - call get_disk_info - cmp [cd],0 - jne no_cd - call _cdbase ;3 - no_cd: - cmp [hd],0 - jne no_hd - call _lba_read ;11 - call _hdbase ;7 - call _f32p ;8 - no_hd: + ret ;------------------------------------------------------------------------------- -get_disk_info: - mov [hd],1 - mov [cd],1 - mov [hdbase],0 - mov [cdbase],0 - mcall 18,11,1,table_area - - ide_0: - mov al,[table_area+1] - shr al,6 - cmp al,0 - je ide_1 - cmp al,01b - jnz ide_0_cd - mov [hdbase],1 - mov [hd],0 - jmp ide_1 - - ide_0_cd: - cmp al,10b - jnz ide_1 - mov [cdbase],1 - mov [cd],0 - cmp [hd],0 - je all_device - - ide_1: - mov al,[table_area+1] - shl al,2 - shr al,6 - cmp al,0 - je ide_2 - cmp al,01b - jnz ide_1_cd - cmp [hd],0 - je ide_11 - mov [hdbase],2 - mov [hd],0 - ide_11: - cmp [cd],0 - je all_device - jmp ide_2 - - ide_1_cd: - cmp al,10b - jnz ide_2 - cmp [cd],0 - je ide_11_cd - mov [cdbase],2 - mov [cd],0 - ide_11_cd: - cmp [hd],0 - je all_device - - ide_2: - mov al,[table_area+1] - shl al,4 - shr al,6 - cmp al,0 - je ide_3 - cmp al,01b - jnz ide_2_cd - cmp [hd],0 - je ide_21 - mov [hdbase],3 - mov [hd],0 - ide_21: - cmp [cd],0 - je all_device - jmp ide_3 - - ide_2_cd: - cmp al,10b - jnz ide_3 - cmp [cd],0 - je ide_21_cd - mov [cdbase],3 - mov [cd],0 - ide_21_cd: - cmp [hd],0 - je all_device - - ide_3: - mov al,[table_area+1] - shl al,6 - shr al,6 - cmp al,0 - je not_device - cmp al,01b - jnz ide_3_cd - cmp [hd],0 - je ide_31 - mov [hdbase],4 - mov [hd],0 - ide_31: - cmp [cd],0 - jmp all_device - - ide_3_cd: - cmp al,10b - jnz not_device - cmp [cd],0 - je all_device - mov [cdbase],4 - mov [cd],0 - - all_device: - not_device: - ret - -hd db 0 -cd db 0 ;****************************************************************************** apply_all_and_exit: - mcall 70,read_fileinfo - call apply_all - jmp close + + mcall 70, read_fileinfo + call apply_all + jmp close ;****************************************************************************** set_language_and_exit: - mov eax,26 - mov ebx,2 - mov ecx,9 - mcall -; cmp eax,5 -; jne @f -; xor eax,eax -;@@: mov [keyboard],eax - cmp eax,1 - je russian - xor eax,eax + + mcall 26, 2, 9 + + cmp eax, 1 + je russian + + xor eax,eax + set_lang_now: - mov [keyboard],eax - call _keyboard - jmp close + mov [keyboard], eax + call _keyboard + jmp close + russian: - mov eax,3 - jmp set_lang_now + mov eax, 3 + jmp set_lang_now set_syslanguage_and_exit: - mov eax,26 - mov ebx,5 -; mov ecx,9 - mcall - cmp eax,6 - jne temp ;@f - xor eax,eax -;@@: inc eax -temp: inc eax - mov [syslang],eax - call _syslang - jmp close + + mcall 26, 5 + cmp eax,6 + jne temp + xor eax,eax + +temp: + inc eax + mov [syslang], eax + call _syslang + jmp close + + get_setup_values: - mcall 26,1 - mov [midibase],eax - mcall 26,2,9 - dec eax - mov [keyboard],eax - mcall 26,3 - mov [cdbase],eax - mcall 26,4 - mov [sb16],eax - mcall 26,5 - mov [syslang],eax - mcall 26,7 - mov [hdbase],eax - mcall 26,8 - mov [f32p],eax - mcall 26,10 - mov [sound_dma],eax - mcall 26,11 - mov [lba_read],eax - mcall 26,12 - mov [pci_acc],eax - mcall 18,19,0 - mov [mouse_speed],eax - mcall 18,19,2 - mov [mouse_delay],eax - ret + + mcall 26, 2, 9 + dec eax + mov [keyboard], eax + + mcall 26, 5 + mov [syslang], eax + + mcall 26, 11 + mov [lba_read], eax + + mcall 26, 12 + mov [pci_acc], eax + + mcall 18, 19, 0 + mov [mouse_speed], eax + + mcall 18, 19, 2 + mov [mouse_delay], eax + + ret ;****************************************************************************** START: - cmp [I_PARAM], 'SLAN' - je set_syslanguage_and_exit + cmp [I_PARAM], 'SLAN' + je set_syslanguage_and_exit - cmp [I_PARAM], 'LANG' - je set_language_and_exit + cmp [I_PARAM], 'LANG' + je set_language_and_exit - cmp [I_PARAM], 'BOOT' - je apply_all_and_exit + cmp [I_PARAM], 'BOOT' + je apply_all_and_exit + + call get_setup_values + call loadtxt - call get_setup_values - call loadtxt red: - call draw_window + call draw_window still: - cmp word [blinkpar],0 - jne blinker - mov eax,29 ;get system date - mcall - cmp eax,[date] - je gettime - mov [date],eax - gettime: - mov eax,3 ;get system time - mcall - cmp ax,[time] - je sysevent - mov [time],ax - call drawtime - sysevent: - mov eax,23 - mov ebx,8 ; wait here for event with timeout - mcall + mov eax, 23 + mov ebx, 8 ; wait here for event with timeout + mcall - cmp eax,1 - jz red - cmp eax,2 - jz key - cmp eax,3 - jz button + cmp eax, 1 + jz red - jmp still + cmp eax, 2 + jz key - blinker: - cmp byte [count],6 - jb noblink - btc dword [blinkpar],16 - mov byte [count],0 - call drawtime - noblink: - inc byte [count] - jmp sysevent + cmp eax, 3 + jz button -incdectime: - cmp byte [blinkpar],0 - je still - mov esi,time - mov bl,0x23 ;border - cmp byte [blinkpar],1 - je hours - mov bl,0x59 ;minutes - inc esi - hours: - mov al,byte [esi] - cmp ah,112 - je dectime - cmp al,bl - je noinctime - inc al - daa - jmp incdectime1 - noinctime: - xor al,al - incdectime1: - mov byte [esi],al - jmp still - dectime: - cmp al,0 - je nodectime - dec al - das - jmp incdectime1 - nodectime: - mov al,bl - jmp incdectime1 - -incdecdate: - cmp byte [blinkpar+1],0 - je still - mov esi,date - mov bl,0 ;border of years - cmp byte [blinkpar+1],1 - jne days - mov bl,0x12 ;months - inc esi - days: - cmp byte [blinkpar+1],2 - jne nodays - mov bl,0x31 - add esi,2 - nodays: - mov al,byte [esi] - cmp ah,122 - je decdate - cmp al,bl - je noincdate - inc al ;add al,1 - daa - jmp incdecdate1 - noincdate: - mov al,1 - incdecdate1: - mov byte [esi],al - jmp still - decdate: - cmp al,1 - je nodecdate - dec al - das - jmp incdecdate1 - nodecdate: - mov al,bl - jmp incdecdate1 + jmp still key: - ;mov eax,2 - mcall - cmp ah,27 - jne still - mov dword [blinkpar],0 - call drawtime - jmp still + ;mov eax,2 + mcall + + jmp still button: mov eax,17 mcall - cmp ah,112 - je incdectime - cmp ah,113 - je incdectime - cmp ah,122 - je incdecdate - cmp ah,123 - je incdecdate - cmp ah,111 - jne noseltime - mov al, [blinkpar] - cmp al,2 - jae seltime - inc al - jmp seltime1 - seltime: - xor al,al - seltime1: - mov [blinkpar],al - call drawtime - jmp still -noseltime: - cmp ah,121 - jne noseldate - mov al,byte [blinkpar+1] - cmp al,3 - jae seldate - inc al - jmp seldate1 - seldate: - xor al,al - seldate1: - mov [blinkpar+1],al - call drawtime - jmp still -noseldate: cmp ah,99 jne nosaveall mcall 70,save_fileinfo - mov dword [blinkpar],0 - call drawtime + jmp still nosaveall: cmp ah,100 @@ -424,34 +161,19 @@ nosaveall: jmp still no_apply_all: - cmp ah,1 ; CLOSE APPLICATION + cmp ah,1 ; CLOSE APPLICATION jne no_close close: - or eax,-1 + or eax,-1 mcall no_close: - cmp ah,11 ; SET MIDI BASE - jnz nosetbase1 - call _midibase - nosetbase1: - cmp ah,12 - jnz nomm - sub [midibase],2 - call draw_infotext - nomm: - cmp ah,13 - jnz nomp - add [midibase],2 - call draw_infotext - nomp: - - cmp ah,4 ; SET KEYBOARD + cmp ah,4 ; SET KEYBOARD jnz nokm mov eax,[keyboard] test eax,eax - je downuplbl + je downuplbl dec eax jmp nodownup downuplbl: @@ -464,7 +186,7 @@ close: jnz nokp mov eax,[keyboard] cmp eax,5 - je updownlbl + je updownlbl inc eax jmp noupdown updownlbl: @@ -475,73 +197,7 @@ close: nokp: - cmp ah,22 ; SET CD BASE - jnz nocm - mov eax,[cdbase] - sub eax,2 - and eax,3 - inc eax - mov [cdbase],eax - call draw_infotext - nocm: - cmp ah,23 - jnz nocp - mov eax,[cdbase] - and eax,3 - inc eax - mov [cdbase],eax - call draw_infotext - nocp: - cmp ah,21 - jnz nocs - call _cdbase - nocs: - - cmp ah,62 ; SET HD BASE - jnz hnocm - mov eax,[hdbase] - sub eax,2 - and eax,3 - inc eax - mov [hdbase],eax - call draw_infotext - hnocm: - cmp ah,63 - jnz hnocp - mov eax,[hdbase] - and eax,3 - inc eax - mov [hdbase],eax - call draw_infotext - hnocp: - cmp ah,61 - jnz hnocs - call _hdbase - hnocs: - - cmp ah,82 ; SET SOUND DMA - jne no_sdma_d - mov eax,[sound_dma] - dec eax - sdmal: - and eax,3 - mov [sound_dma],eax - call draw_infotext - jmp still - no_sdma_d: - cmp ah,83 - jne no_sdma_i - mov eax,[sound_dma] - inc eax - jmp sdmal - no_sdma_i: - cmp ah,81 - jne no_set_sound_dma - call _sound_dma - jmp still - no_set_sound_dma: - - cmp ah,92 ; SET LBA READ + cmp ah,92 ; SET LBA READ jne no_lba_d slbal: btc [lba_read],0 @@ -577,57 +233,11 @@ close: no_set_pci_acc: - set_partition: - cmp ah,72 ; SET FAT32 PARTITION - jnz .nominus - mov eax,[f32p] - sub eax,2 -; and eax,15 ; 3 - four partitions, 7 - eight p., 15 - sixteen, etc. - cmp eax,15 - jb @f - mov eax,14 -@@: - inc eax - mov [f32p],eax - call draw_infotext - .nominus: - cmp ah,73 - jnz .noplus - mov eax,[f32p] -; and eax,15 ; 3 - four partitions, 7 - eight p., 15 - sixteen, etc. - cmp eax,15 - jb @f - mov eax,0 -@@: - inc eax - mov [f32p],eax - call draw_infotext - .noplus: - cmp ah,71 - jnz .noapply - call _f32p - .noapply: - - cmp ah,32 ; SET SOUND BLASTER 16 BASE - jnz nosbm - sub [sb16],2 - call draw_infotext - nosbm: - cmp ah,33 - jnz nosbp - add [sb16],2 - call draw_infotext - nosbp: - cmp ah,31 - jnz nosbs - call _sb16 - nosbs: - - cmp ah,42 ; SET SYSTEM LANGUAGE BASE + cmp ah,42 ; SET SYSTEM LANGUAGE BASE jnz nosysm mov eax,[syslang] dec eax - jz still + jz still mov [syslang],eax call draw_infotext nosysm: @@ -635,7 +245,7 @@ close: jnz nosysp mov eax,[syslang] cmp eax,6 - je nosysp + je nosysp inc eax mov [syslang],eax call draw_infotext @@ -646,14 +256,13 @@ close: call cleantxt call loadtxt call draw_window - call drawtime nosyss: cmp ah,132 ; SET MOUSE SPEED jnz .nominus mov eax,[mouse_speed] sub eax,2 cmp eax,9 - jb @f + jb @f mov eax,8 @@: inc eax @@ -664,7 +273,7 @@ close: jnz .noplus mov eax,[mouse_speed] cmp eax,9 - jb @f + jb @f mov eax,0 @@: inc eax @@ -681,7 +290,7 @@ close: mov eax,[mouse_delay] sub eax,2 cmp eax,0xfff - jb @f + jb @f mov eax,0xffe @@: inc eax @@ -692,7 +301,7 @@ close: jnz .noplus mov eax,[mouse_delay] cmp eax,0xfff - jb @f + jb @f mov eax,0 @@: inc eax @@ -704,7 +313,7 @@ close: call _mouse_delay .noapply: - cmp ah,3 ; SET KEYMAP + cmp ah,3 ; SET KEYMAP jne still call _keyboard jmp still @@ -778,7 +387,7 @@ close: mov edx,4 mcall nosetkeylru: - cmp [keyboard],4 ;french + cmp [keyboard],4 ;french jnz nosetkeylfr mov eax,21 mov ebx,2 @@ -870,66 +479,34 @@ draw_window: mov edi,title mcall - mov eax,8 ; APPLY ALL + mov eax,8 ; APPLY ALL mov ebx,(350-79)*65536+100 mov ecx,282*65536+12 mov edx,100 mov esi,0x005588dd mcall - add ecx,16*65536 ; SAVE ALL + add ecx,16*65536 ; SAVE ALL dec edx mcall mov esi,0x5580c0 - mov edx,11 - mov ecx,43 - call draw_buttons - mov edx,41 mov ecx,43+8*8 call draw_buttons - mov edx,21 - mov ecx,43+4*8 - call draw_buttons - - mov edx,31 - mov ecx,43+2*8 - call draw_buttons - mov edx,3 mov ecx,43+10*8 call draw_buttons - mov edx,61 - mov ecx,43+6*8 - call draw_buttons - mov edx,91 mov ecx,43+16*8 call draw_buttons - mov edx,71 - mov ecx,43+12*8 - call draw_buttons - - mov edx,81 - mov ecx,43+14*8 - call draw_buttons - mov edx,101 mov ecx,43+18*8 call draw_buttons - mov edx,111 - mov ecx,43+20*8 ; 22 - call draw_buttons - - mov edx,121 - mov ecx,43+22*8 ; 24 - call draw_buttons - mov edx,131 mov ecx,43+24*8 ; 26 call draw_buttons @@ -985,7 +562,7 @@ draw_infotext: mov [text00+LLL*5+32],dword 'NIAN' noet: - mov eax,[syslang] ; SYSTEM LANGUAGE + mov eax,[syslang] ; SYSTEM LANGUAGE dec eax test eax,eax jnz noen5 @@ -1018,122 +595,27 @@ draw_infotext: mov [text00+LLL*4+32],dword 'NIAN' noet5: - mov eax,[midibase] - mov esi,text00+LLL*0+32 - call hexconvert ; MIDI BASE - - - mov eax,[sb16] ; SB16 BASE - mov esi,text00+LLL*1+32 - call hexconvert - - - mov eax,[cdbase] ; CD BASE - cmp eax,1 - jnz noe1 - mov [text00+LLL*2+28],dword 'PRI.' - mov [text00+LLL*2+32],dword 'MAST' - mov [text00+LLL*2+36],dword 'ER ' - noe1: - cmp eax,2 - jnz nof1 - mov [text00+LLL*2+28],dword 'PRI.' - mov [text00+LLL*2+32],dword 'SLAV' - mov [text00+LLL*2+36],dword 'E ' - nof1: - cmp eax,3 - jnz nog1 - mov [text00+LLL*2+28],dword 'SEC.' - mov [text00+LLL*2+32],dword 'MAST' - mov [text00+LLL*2+36],dword 'ER ' - nog1: - cmp eax,4 - jnz nog2 - mov [text00+LLL*2+28],dword 'SEC.' - mov [text00+LLL*2+32],dword 'SLAV' - mov [text00+LLL*2+36],dword 'E ' - nog2: - - - mov eax,[hdbase] ; HD BASE - cmp eax,1 - jnz hnoe1 - mov [text00+LLL*3+28],dword 'PRI.' - mov [text00+LLL*3+32],dword 'MAST' - mov [text00+LLL*3+36],dword 'ER ' - hnoe1: - cmp eax,2 - jnz hnof1 - mov [text00+LLL*3+28],dword 'PRI.' - mov [text00+LLL*3+32],dword 'SLAV' - mov [text00+LLL*3+36],dword 'E ' - hnof1: - cmp eax,3 - jnz hnog1 - mov [text00+LLL*3+28],dword 'SEC.' - mov [text00+LLL*3+32],dword 'MAST' - mov [text00+LLL*3+36],dword 'ER ' - hnog1: - cmp eax,4 - jnz hnog2 - mov [text00+LLL*3+28],dword 'SEC.' - mov [text00+LLL*3+32],dword 'SLAV' - mov [text00+LLL*3+36],dword 'E ' - hnog2: - - - mov eax,[f32p] ; FAT32 PARTITION - add al,48 - mov [text00+LLL*6+28],al - - mov eax,[sound_dma] ; SOUND DMA - add eax,48 - mov [text00+LLL*7+28],al - mov eax,[lba_read] - call onoff ; LBA READ + call onoff ; LBA READ mov [text00+LLL*8+28],ebx mov eax,[pci_acc] - call onoff ; PCI ACCESS + call onoff ; PCI ACCESS mov [text00+LLL*9+28],ebx - mov eax,[mouse_speed] ; MOUSE SPEED + mov eax,[mouse_speed] ; MOUSE SPEED add al,48 mov [text00+LLL*12+28],al mov eax,[mouse_delay] mov esi,text00+LLL*13+32 - call hexconvert ; MOUSE DELAY + call hexconvert ; MOUSE DELAY call text_out popa ret - drawtime: - mov ax,[time] ;hours 22 - mov cl,1 - call unpacktime - mov [text00+LLL*10+28],word bx - mov al,ah ;minutes - inc cl - call unpacktime - mov [text00+LLL*10+31],word bx - mov eax,[date] - mov ch,3 - call unpackdate - mov [text00+LLL*11+34],word bx ;year 24 - mov al,ah - mov ch,1 - call unpackdate - mov [text00+LLL*11+28],word bx ;month - bswap eax - mov al,ah - inc ch - call unpackdate - mov [text00+LLL*11+31],word bx ;day - text_out: mov eax,13 mov ebx,175*65536+85 @@ -1163,27 +645,9 @@ text_out: jnz @b ret - unpacktime: - cmp byte [blinkpar],cl ;translate packed number to ascii - jne unpack1 - chkblink: - bt dword [blinkpar],16 - jnc unpack1 - xor bx,bx - ret - unpackdate: - cmp byte [blinkpar+1],ch - je chkblink - unpack1: - xor bx,bx - mov bh,al - mov bl,al - and bh,0x0f - shr bl,4 - add bx,0x3030 - ret - hexconvert: ;converting dec to hex in ascii + + hexconvert: ;converting dec to hex in ascii xor ebx,ebx mov bl,al and bl,15 @@ -1213,44 +677,17 @@ onoff: jne norus1 mov ebx,'ДА ' cmp eax,1 - je exitsub + je exitsub mov ebx,'НЕТ ' ret norus1: mov ebx,'ON ' cmp eax,1 - je exitsub + je exitsub mov ebx,'OFF ' exitsub: ret -_midibase: - mov eax,21 - mov ebx,1 - mov ecx,[midibase] - mcall - ret - -_cdbase: - mov eax,21 - mov ebx,3 - mov ecx,[cdbase] - mcall - ret - -_hdbase: - mov eax,21 - mov ebx,7 - mov ecx,[hdbase] - mcall - ret - -_sound_dma: - mov eax,21 - mov ebx,10 - mov ecx,[sound_dma] - mcall - ret _lba_read: mov eax,21 @@ -1266,20 +703,6 @@ _pci_acc: mcall ret -_f32p: - mov eax,21 - mov ebx,8 - mov ecx,[f32p] - mcall - ret - -_sb16: - mov eax,21 - mov ebx,4 - mov ecx,[sb16] - mcall - ret - _syslang: mov eax,21 mov ebx,5 @@ -1304,7 +727,6 @@ _mouse_delay: ret loadtxt: - cld mov edi,text00 mov ecx,488 ;28 cmp [syslang],4 @@ -1327,260 +749,64 @@ cleantxt: ret ; DATA AREA -count: db 0x0 +count: db 0x0 blinkpar: dd 0x0 -time: dw 0x0 -date: dd 0x0 +time: dw 0x0 +date: dd 0x0 textrus: - db 'База MIDI ROLAND MPU-401 : 0x320 - + Применить' - db 'База SoundBlaster 16 : 0x240 - + Применить' - db 'База CD-ROMа : PRI.SLAVE - + Применить' - db 'База ЖД-1 : PRI.MASTER - + Применить' - db 'Язык системы : ENGLISH - + Применить' - db 'Раскладка клавиатуры : ENGLISH - + Применить' - db 'Раздел FAT32 на ЖД-1 : 1 - + Применить' - db 'Звуковой канал DMA : 1 - + Применить' - db 'Включить LBA : OFF - + Применить' - db 'Доступ к шине PCI : OFF - + Применить' - db 'Системное время : 0:00 - + Выбор ' - db 'Системная дата (м,д,г) : 00/00/00 - + Выбор ' - db 'Скорость курсора мыши : 1 - + Применить' - db 'Задержка ускорения мыши : 0x00a - + Применить' + db ' ' + db ' ' + db ' ' + db ' ' + db '?зык системы : ENGLISH - + Применить' + db 'Р скл дк кл ви туры : ENGLISH - + Применить' + db ' ' + db ' ' + db '?ключить LBA : OFF - + Применить' + db '?оступ к шине PCI : OFF - + Применить' + db ' ' + db ' ' + db '?корость курсор мыши : 1 - + Применить' + db '? держк ускорения мыши : 0x00a - + Применить' db 'ВНИМАНИЕ: Применить все ' db 'НЕ ЗАБУДЬТЕ СОХРАНИТЬ НАСТРОЙКИ Сохранить все ' texteng: - db 'MIDI: ROLAND MPU-401 BASE : 0x320 - + APPLY ' - db 'SOUND: SB16 BASE : 0x240 - + APPLY ' - db 'CD-ROM BASE : PRI.SLAVE - + APPLY ' - db 'HARDDISK-1 BASE : PRI.MASTER - + APPLY ' + db ' ' + db ' ' + db ' ' + db ' ' db 'SYSTEM LANGUAGE : ENGLISH - + APPLY ' db 'KEYBOARD LAYOUT : ENGLISH - + APPLY ' - db 'FAT32-1 PARTITION IN HD-1 : 1 - + APPLY ' - db 'SOUND DMA CHANNEL : 1 - + APPLY ' + db ' ' + db ' ' db 'LBA READ ENABLED : OFF - + APPLY ' db 'PCI ACCESS FOR APPL. : OFF - + APPLY ' - db 'SYSTEM TIME : 0:00 - + SELECT ' - db 'SYSTEM DATE (M,D,Y) : 00/00/00 - + SELECT ' + db ' ' + db ' ' db 'Mouse pointer speed : 1 - + APPLY ' db 'Mouse pointer delay : 0x00a - + APPLY ' text1_strings = 14 db 'NOTE: APPLY ALL ' - db 'SAVE YOUR SETTINGS BEFORE QUIT KOLIBRI SAVE ALL ' + db 'SAVE YOUR SETTINGS BEFORE QUITING KOLIBRI SAVE ALL ' text2_strings = 2 title db 'SETUP',0 -hex db '0123456789ABCDEF' - -alt_general: - -; db ' ',27 -; db ' @ $ {[]}\ ',8,9 -; db ' ',13 -; db ' ',0,' ',0,'4',0,' ' -; db ' ',180,178,184,'6',176,'7' -; db 179,'8',181,177,183,185,182 -; db 'ABCD',255,'FGHIJKLMNOPQRSTUVWXYZ' -; db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' -; db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' -; db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - - -en_keymap: - - db '6',27 - db '1234567890-=',8,9 - db 'qwertyuiop[]',13 - db '~asdfghjkl;',39,96,0,'\zxcvbnm,./',0,'45 ' - db '@234567890123',180,178,184,'6',176,'7' - db 179,'8',181,177,183,185,182 - db 'AB?',0,'45 ' - db '@234567890123',180,178,184,'6',176,'7' - db 179,'8',181,177,183,185,182 - db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ' - db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - - -fr_keymap: - - db '6',27 - db '&О"',39,'(-Н_УР)=',8,9 - db 'azertyuiop^$',13 - db '~qsdfghjklmТ',0,0,'*wxcvbn,;:!',0,'45 ' - db '@234567890123',180,178,184,'6',176,'7' - db 179,'8',181,177,183,185,182 - db 'ABD',255,'FGHIJKLMNOPQRSTUVWXYZ' - db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - - -fr_keymap_alt_gr: - - - db '6',27 - db 28,'~#{[|Ш\^@]}',8,9 - db 'azertyuiop^$',13 - db '~qsdfghjklmТ',0,0,'*wxcvbn,;:!',0,'45 ' - db '@234567890123',180,178,184,'6',176,'7' - db 179,'8',181,177,183,185,182 - db 'ABD',255,'FGHIJKLMNOPQRSTUVWXYZ' - db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' +include 'keymaps.inc' -ge_keymap: - - db '6',27 - db '1234567890?[',8,9 - db 'qwertzuiop',203,'~',13 - db '~asdfghjkl',194,193,'1',0,39,'yxcvbnm,.-',0,'45 ' - db '@234567890123',180,178,184,'6',176,'7' - db 179,'8',181,177,183,185,182 - db 'ABD',255,'FGHIJKLMNOPQRSTUVWXYZ' - db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - -ru_keymap: - - db '6',27 - db '1234567890-=',8,9 - db 'йцукенгшщзхъ',13 - db 0,"фывапролджэ" - db 0xf1, '-/' - db "ячсмитьбю",'.-','45 ' - db '@234567890123',180,178,184,'6',176,'7' - db 179,'8',181,177,183,185,182 - db 'ABD',255,'FGHIJKLMNOPQRSTUVWXYZ' - db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - -et_keymap: - - db '6',27 - db '1234567890+┤',8,9 - db 'qwertyuiop№ї',13 - db '~asdfghjklЎф','1',0,'ZXCVBNM;:_',0,'45 ' - db '@234567890123',180,178,184,'6',176,'7' - db 179,'8',181,177,183,185,182 - db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ' - db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' read_fileinfo: dd 0 @@ -1602,13 +828,7 @@ file_name: db '/sys/setup.dat',0 I_PARAM dd 0 keyboard dd 0x0 -midibase dd 0x320 -cdbase dd 0x2 -sb16 dd 0x220 syslang dd 0x1 -hdbase dd 0x1 -f32p dd 0x1 -sound_dma dd 0x1 lba_read dd 0x1 pci_acc dd 0x1 mouse_speed dd 0x3