diff --git a/kernel/trunk/boot/bootcode.inc b/kernel/trunk/boot/bootcode.inc index f0ccdc7336..db7d82bfb5 100644 --- a/kernel/trunk/boot/bootcode.inc +++ b/kernel/trunk/boot/bootcode.inc @@ -367,13 +367,29 @@ cfgmanager: mov [.bSettingsChanged], 0 ;.preboot_gr_end: + mov di, preboot_device +; if image in memory is present and [preboot_device] is uninitialized, +; set it to use this preloaded image + cmp byte [di], 0 + jnz .preboot_device_inited + cmp [.loader_block], -1 + jz @f + les bx, [.loader_block] + test byte [es:bx+1], 1 + jz @f + mov byte [di], 3 + jmp .preboot_device_inited +@@: +; otherwise, set [preboot_device] to 1 (default value - boot from floppy) + mov byte [di], 1 +.preboot_device_inited: ; following 6 lines set variables to 1 if its current value is 0 - cmp byte[preboot_dma], 1 - adc byte[preboot_dma], 0 - cmp byte[preboot_vrrm], 1 - adc byte[preboot_vrrm], 0 - cmp byte[preboot_device], 1 - adc byte[preboot_device], 0 + cmp byte [di+preboot_dma-preboot_device], 1 + adc byte [di+preboot_dma-preboot_device], 0 + cmp byte [di+preboot_biosdisk-preboot_device], 1 + adc byte [di+preboot_biosdisk-preboot_device], 0 + cmp byte [di+preboot_vrrm-preboot_device], 1 + adc byte [di+preboot_vrrm-preboot_device], 0 ; notify user _setcursor 5,2 @@ -409,6 +425,30 @@ cfgmanager: and eax, 7 mov si, [preboot_device_msgs+eax*2] call printplain +.show_remarks: +; show remarks in gray color + mov di, ((21-num_remarks)*80 + 2)*2 + push 0xB800 + pop es + mov cx, num_remarks + mov si, remarks +.write_remarks: + lodsw + push si + xchg ax, si + mov ah, 1*16+7 ; background: blue (1), foreground: gray (7) + push di +.write_remark: + lodsb + test al, al + jz @f + stosw + jmp .write_remark +@@: + pop di + pop si + add di, 80*2 + loop .write_remarks .wait: _setcursor 25,0 ; out of screen ; set timer interrupt handler @@ -437,6 +477,21 @@ cfgmanager: _setcursor 7,0 mov si, space_msg call printplain +; clear remarks and restore normal attributes + push es + mov di, ((21-num_remarks)*80 + 2)*2 + push 0xB800 + pop es + mov cx, num_remarks + mov ax, ' ' + (1*16 + 15)*100h +@@: + push cx + mov cx, 76 + rep stosw + pop cx + add di, 4*2 + loop @b + pop es pop ax ; switch on key cmp al, 13 @@ -449,7 +504,7 @@ cfgmanager: cmp al, 'c' jz .change_c cmp al, 'd' - jnz .wait + jnz .show_remarks _setcursor 15,0 mov si, bdev call print diff --git a/kernel/trunk/boot/booteng.inc b/kernel/trunk/boot/booteng.inc index 89f289126e..29c81332eb 100644 --- a/kernel/trunk/boot/booteng.inc +++ b/kernel/trunk/boot/booteng.inc @@ -9,9 +9,9 @@ $Revision$ d80x25_bottom: db 186,' KolibriOS is based on MenuetOS and comes with ABSOLUTELY ' - db 'NO WARRANTY ',186 - db 186,' See file COPYING for details ' - db ' ',186 + db 'NO WARRANTY ',186 + db 186,' See file COPYING for details ' + db ' ',186 line_full_bottom d80x25_bottom_num = 3 @@ -95,3 +95,9 @@ _r1 db 186,' _r2 db 186,' │ 640x480 VGA 16 colors │█│',13,10,0 _rs db 186,' │ ????x????@?? SVGA VESA │█│',13,10,0 _bt db 186,' └───────────────────────────────┴─┘',13,10,0 + +remark1 db "Default values were selected to match most of configurations, but not all.",0 +remark2 db "If you have LCD-monitor, disable VRR in the item [c] - you do not need it.",0 +remark3 db "If the system does not boot, try to disable the item [b].",0 +remarks dw remark1, remark2, remark3 +num_remarks = 3 diff --git a/kernel/trunk/boot/bootet.inc b/kernel/trunk/boot/bootet.inc index b99cac7d2a..dfff7afe08 100644 --- a/kernel/trunk/boot/bootet.inc +++ b/kernel/trunk/boot/bootet.inc @@ -100,3 +100,9 @@ pdm4 db "loo t loading_msg db "Laadin KolibriOS...",0 save_quest db "Jфta meelde praegused seaded? [y/n]: ",0 loader_block_error db "Alglaaduri andmed vigased, ei saa jфtkata. Peatatud.",0 + +remark1 db "Default values were selected to match most of configurations, but not all.",0 +remark2 db "If you have LCD-monitor, disable VRR in the item [c] - you do not need it.",0 +remark3 db "If the system does not boot, try to disable the item [b].",0 +remarks dw remark1, remark2, remark3 +num_remarks = 3 diff --git a/kernel/trunk/boot/bootge.inc b/kernel/trunk/boot/bootge.inc index 783d46d78a..c37ab7fb2d 100644 --- a/kernel/trunk/boot/bootge.inc +++ b/kernel/trunk/boot/bootge.inc @@ -105,3 +105,9 @@ pdm4 db "create blank image",13,10,0 loading_msg db "Lade KolibriOS...",0 save_quest db "Aktuelle Einstellungen speichern? [y/n]: ",0 loader_block_error db "Bootloader Daten ungueltig, Kann nicht fortfahren. Angehalten.",0 + +remark1 db "Default values were selected to match most of configurations, but not all.",0 +remark2 db "If you have LCD-monitor, disable VRR in the item [c] - you do not need it.",0 +remark3 db "If the system does not boot, try to disable the item [b].",0 +remarks dw remark1, remark2, remark3 +num_remarks = 3 diff --git a/kernel/trunk/boot/bootru.inc b/kernel/trunk/boot/bootru.inc index 2987866cda..ad52a18b2e 100644 --- a/kernel/trunk/boot/bootru.inc +++ b/kernel/trunk/boot/bootru.inc @@ -111,3 +111,9 @@ _bt db 186,' ;_sel1 db 0x1A,0 ;_sel2 db 0x1B,0 ;_selc db ' ',0 + +remark1 db "Значения по умолчанию выбраны для удобства большинства, но не всех.",0 +remark2 db "Если у Вас LCD-монитор, отключите VRR в пункте [c] - он Вам не нужен.",0 +remark3 db "Если у Вас не грузится система, попробуйте отключить пункт [b].",0 +remarks dw remark1, remark2, remark3 +num_remarks = 3