From 26580c8bd1279f868933ff98b54ae508d6411c8a Mon Sep 17 00:00:00 2001 From: "Evgeny Grechnikov (Diamond)" Date: Sun, 10 Feb 2008 11:48:23 +0000 Subject: [PATCH] Boot screen: correct default values; added some remarks git-svn-id: svn://kolibrios.org@726 a494cfbc-eb01-0410-851d-a64ba20cac60 --- kernel/trunk/boot/bootcode.inc | 69 ++++++++++++++++++++++++++++++---- kernel/trunk/boot/booteng.inc | 12 ++++-- kernel/trunk/boot/bootet.inc | 6 +++ kernel/trunk/boot/bootge.inc | 6 +++ kernel/trunk/boot/bootru.inc | 6 +++ 5 files changed, 89 insertions(+), 10 deletions(-) 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