/kernel/trunk/boot/bootcode.inc |
---|
51,18 → 51,20 |
; get number in range [bl,bh] (bl,bh in ['0'..'9']) |
; in: bx=range |
; out: ax=digit (1..9, 10 for 0) |
mov ah, 0 ; If 'int 16h' is called with 'ah' equal to zero, the BIOS will not return control |
int 16h ; to the caller until a key is available in the system type ahead buffer. On return, |
cmp al, bl ; 'al' contains the ASCII code for the key read from the buffer and 'ah' contains |
jb getkey ; the keyboard scan code. Here we compare 'al' with the range of accepted characters. |
cmp al, bh ; If the key pressed is not in the range, continue waiting for another key. |
ja getkey |
mov ah, 0 ; If 'int 16h' is called with 'ah' equal to zero, the BIOS will not return control to the caller |
int 16h ; until a key is available in the system type ahead buffer. On return, 'al' contains the ASCII |
cmp al, 27 ; code for the key read from the buffer and 'ah' contains the keyboard scan code. (27=>ESC) |
jz @f ; If ESC is pressed, return (user doesn't want to change any value). |
cmp al, bl ; Compare 'al' (ASCII code of key pressed) with 'bl' (lowest accepted char from the range). |
jb getkey ; ASCII code is below lowest accepted value => continue waiting for another key. |
cmp al, bh ; Compare 'al' (ASCII code of key pressed) with 'bh' (highest accepted char from the range). |
ja getkey ; ASCII code is above highest accepted value => continue waiting for another key. |
push ax ; If the pressed key is in the accepted range, save it on the stack and echo to screen. |
call putchar |
pop ax |
and ax, 0Fh ; ASCII code for '0' is 48 (110000b). 0F4=1111b. (110000b AND 1111b) = 0 |
jnz @f ; So if key '0' was entered, return 10 in 'ax' |
mov al, 10 |
and ax, 0Fh ; Convert ASCII code to number: '1'->1, '2'->2, etc. 0Fh=1111b. |
jnz @f ; ASCII code for '0' is 48 (110000b). (110000b AND 1111b) = 0 |
mov al, 10 ; So if key '0' was entered, return 10 in 'ax' |
@@: |
ret |
79,6 → 81,18 |
call setcursor |
} |
macro _ask_question question,range,variable_to_set |
{ |
_setcursor 16,0 |
mov si, question ; Print the question |
call print |
mov bx, range ; range accepted for answer |
call getkey |
cmp al, 27 ; If ESC was pressed, do not change the value |
jz .esc_pressed |
mov [variable_to_set], al |
} |
boot_read_floppy: |
push si |
xor si, si |
775,23 → 789,21 |
cmp al, 'e' ; select boot origin |
jnz .show_remarks |
; e) preboot_device = from where to boot? |
_setcursor 16,0 |
mov si, bdev |
call print |
if defined extended_primary_loader |
mov bx, '12' ; range accepted for answer: 1-2 |
_ask_question bdev,'12',preboot_device ; range accepted for answer: 1-2 |
else |
mov bx, '14' ; range accepted for answer: 1-4 |
_ask_question bdev,'14',preboot_device ; range accepted for answer: 1-4 |
end if |
call getkey |
mov [preboot_device], al |
_setcursor 14,0 |
.d: |
if ~ defined extended_primary_loader |
mov [.bSettingsChanged], 1 |
end if |
.esc_pressed: |
call clear_vmodes_table ;clear vmodes_table |
jmp .printcfg |
.change_a: |
call clear_vmodes_table ;clear vmodes_table |
.loops: |
803,6 → 815,9 |
mov si, word [cursor_pos] |
cmp al, 27 ; If ESC was pressed, do not change the value |
jz .esc_pressed ; Just exit the resolution selection box |
cmp ah, 0x48;x,0x48E0 ; up |
jne .down |
cmp si, modes_table |
873,17 → 888,13 |
jmp .d |
.change_b: ; b) preboot_biosdisk = use BIOS disks through V86 emulation? |
_setcursor 16,0 |
; _setcursor 16,0 |
; mov si, ask_dma // (earlier was: preboot_dma = use DMA access?) |
; call print |
; mov bx, '13' ; range accepted for answer: 1-3 |
; call getkey |
; mov [preboot_dma], al |
mov si, ask_bd |
call print |
mov bx, '12' ; range accepted for answer: 1-2 |
call getkey |
mov [preboot_biosdisk], al |
_ask_question ask_bd,'12',preboot_biosdisk ; range accepted for answer: 1-2 |
_setcursor 11,0 |
jmp .d |
;.change_c: ; // VRR is an obsolete functionality, used only with CRT monitors |
896,21 → 907,11 |
; _setcursor 12,0 |
; jmp .d |
.change_c: ; c) preboot_debug = duplicates kernel debug output to the screen |
_setcursor 16,0 |
mov si, ask_debug |
call print |
mov bx, '12' ; range accepted for answer: 1-2 |
call getkey |
mov [preboot_debug], al |
_ask_question ask_debug,'12',preboot_debug ; range accepted for answer: 1-2 |
_setcursor 12,0 |
jmp .d |
.change_d: ; d) preboot_launcher = start the first app (right now it's LAUNCHER) after kernel is loaded? |
_setcursor 16,0 |
mov si, ask_launcher |
call print |
mov bx, '12' ; range accepted for answer: 1-2 |
call getkey |
mov [preboot_launcher], al |
_ask_question ask_launcher,'12',preboot_launcher ; range accepted for answer: 1-2 |
_setcursor 13,0 |
jmp .d |
;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/boot/booten.inc |
---|
15,10 → 15,10 |
d80x25_bottom: |
db 186,' KolibriOS comes with ABSOLUTELY NO WARRANTY. See file COP' |
db 'YING for details ',186 |
db 186,' KolibriOS comes with ABSOLUTELY NO WARRANTY. See file COPYING for details ',186 |
db 186,' If you find any bugs, please report them at: http://board.kolibrios.org ',186 |
line_full_bottom |
d80x25_bottom_num = 2 |
d80x25_bottom_num = 3 |
msg_apm db " APM x.x ", 0 |
novesa db "Display: EGA/CGA",13,10,0 |
79,7 → 79,7 |
pdm1 db "real floppy",13,10,0 |
pdm2 db "C:\kolibri.img (FAT32)",13,10,0 |
else |
preboot_device_msgs dw 0,pdm1,pdm2,pdm3 |
preboot_device_msgs dw 0,pdm1,pdm2,pdm3,pdm4,0 |
pdm1 db "real floppy",13,10,0 |
pdm2 db "C:\kolibri.img (FAT32)",13,10,0 |
pdm3 db "use already loaded image",13,10,0 |
100,6 → 100,7 |
_bt:latin1 '║ └───────────────────────────────┴─┘',13,10,0 |
remark1 db "Default values were selected to match most of configurations, but not all.",0 |
remark2 db "If the system does not boot, try to disable the item [b].",0 |
remarks dw remark1, remark2 |
num_remarks = 2 |
remark2 db "If the system does not boot, try to disable option [b]. If the system gets",0 |
remark3 db "stuck after booting, enable option [c], disable option [d] and make photo.",0 |
remarks dw remark1, remark2, remark3 |
num_remarks = 3 |
/kernel/trunk/boot/bootet.inc |
---|
15,10 → 15,10 |
d80x25_bottom: |
latin1 '║ KolibriOS on IGASUGUSE GARANTIITA. Vaata faili COPYING' |
latin1 ' info saamiseks ║' |
latin1 '║ KolibriOS on IGASUGUSE GARANTIITA. Vaata faili COPYING info saamiseks. Kui ║' |
latin1 '║ leiate vigu, anna neist palun teada aadressil: http://board.kolibrios.org ║' |
line_full_bottom |
d80x25_bottom_num = 2 |
d80x25_bottom_num = 3 |
msg_apm: latin1 " APM x.x ", 0 |
novesa: latin1 "Ekraan: EGA/CGA",13,10,0 |
79,7 → 79,7 |
pdm1: latin1 "reaalne diskett",13,10,0 |
pdm2: latin1 "kolibri.img",13,10,0 |
else |
preboot_device_msgs dw 0,pdm1,pdm2,pdm3 |
preboot_device_msgs dw 0,pdm1,pdm2,pdm3,pdm4,0 |
pdm1: latin1 "reaalne diskett",13,10,0 |
pdm2: latin1 "C:\kolibri.img (FAT32)",13,10,0 |
pdm3: latin1 "kasuta juba laaditud kujutist",13,10,0 |
100,6 → 100,7 |
_bt:latin1 '║ └───────────────────────────────┴─┘',13,10,0 |
remark1:latin1 "Vaikimisi väärtused on kasutatavad enamikes arvutites, kuid mitte kõigis.",0 |
remark2:latin1 "Kui süsteem ei käivitu, proovige lülitada kirje [b] välja.",0 |
remarks dw remark1, remark2 |
num_remarks = 2 |
remark2:latin1 "Kui süsteem ei käivitu, proovige lülitada kirje [b] välja. Kui see läheb",0 |
remark3:latin1 "kinni pärast käivitamist, võimaldama valik [c], keelake [d] ja teha foto.",0 |
remarks dw remark1, remark2, remark3 |
num_remarks = 3 |
/kernel/trunk/boot/bootge.inc |
---|
15,10 → 15,8 |
d80x25_bottom: |
db 186,' KolibriOS wird ohne jegliche Garantie vertrieben. ' |
db ' ',186 |
db 186,' Details stehen in der Datei COPYING ' |
db ' ',186 |
db 186,' KolibriOS wird ohne jegliche Garantie vertrieben. Details stehen in der ',186 |
db 186,' Datei COPYING. Bitte melden Sie Fehler bei: http://board.kolibrios.org ',186 |
line_full_bottom |
d80x25_bottom_num = 3 |
81,7 → 79,7 |
pdm1 db "Echte Diskette",13,10,0 |
pdm2 db "kolibri.img",13,10,0 |
else |
preboot_device_msgs dw 0,pdm1,pdm2,pdm3 |
preboot_device_msgs dw 0,pdm1,pdm2,pdm3,pdm4,0 |
pdm1 db "Echte Diskette",13,10,0 |
pdm2 db "C:\kolibri.img (FAT32)",13,10,0 |
pdm3 db "Nutze bereits geladenes Image",13,10,0 |
102,6 → 100,8 |
_bt:latin1 '║ └───────────────────────────────┴─┘',13,10,0 |
remark1 db "Die Standardwerte sind fur die meisten gewahlt, aber nicht fur jedermann.",0 |
remark2 db "Wenn das System nicht bootet, versuchen, das Element [b] deaktivieren.",0 |
remarks dw remark1, remark2 |
num_remarks = 2 |
remark2 db "Wenn das System nicht bootet, das Option [b] deaktivieren versuchen. Wenn es",0 |
remark3 db "nach dem Booten hangen bleibt, aktivieren Sie Option [c], deaktivieren [d]",0 |
remark4 db "und machen Fotos.",0 |
remarks dw remark1, remark2, remark3, remark4 |
num_remarks = 4 |
/kernel/trunk/boot/bootru.inc |
---|
15,8 → 15,8 |
d80x25_bottom: |
cp866 '║ KolibriOS НЕ ПРЕДОСТАВЛЯЕТ НИКАКИХ ГАРAНТИЙ. ║' |
cp866 '║ Подробнее смотрите в файле COPYING.TXT ║' |
cp866 '║ KolibriOS НЕ ПРЕДОСТАВЛЯЕТ НИКАКИХ ГАРAНТИЙ. Подробнее смотрите в файле ║' |
cp866 '║ COPYING.TXT. О найденных ошибках сообщайте на http://board.kolibrios.org ║' |
line_full_bottom |
d80x25_bottom_num = 3 |
77,7 → 77,7 |
pdm1: cp866 "настоящая дискета",13,10,0 |
pdm2: cp866 "kolibri.img из папки загрузки",13,10,0 |
else |
preboot_device_msgs dw 0,pdm1,pdm2,pdm3,pdm4 |
preboot_device_msgs dw 0,pdm1,pdm2,pdm3,pdm4,0 |
pdm1: cp866 "настоящая дискета",13,10,0 |
pdm2: cp866 "C:\kolibri.img (FAT32)",13,10,0 |
pdm3: cp866 "использовать уже загруженный образ",13,10,0 |
97,7 → 97,8 |
_rs:cp866 '║ │ ????x????@?? SVGA VESA │ │ ',13,10,0 |
_bt:cp866 '║ └───────────────────────────────┴─┘ ',13,10,0 |
remark1:cp866 "Значения по умолчанию выбраны для удобства большинства, но не всех.",0 |
remark2:cp866 "Если у Вас не грузится система, попробуйте отключить пункт [b].",0 |
remarks dw remark1, remark2 |
num_remarks = 2 |
remark1:cp866 "Значения по умолчанию выбраны для удобства большинства, но не всех. Если у",0 |
remark2:cp866 "Вас не грузится система, попробуйте отключить пункт [b]. Если она зависла",0 |
remark3:cp866 "после запуска, включите пункт [c], отключите пункт [d] и сделайте фото лога.",0 |
remarks dw remark1, remark2, remark3 |
num_remarks = 3 |
/kernel/trunk/boot/bootsp.inc |
---|
17,10 → 17,8 |
d80x25_bottom: |
cp850 '║ KolibriOS y viene ABSOLUTAMENTE SIN GARANTíA. ' |
cp850 ' ║' |
cp850 '║ Lee el archivo COPYING por más detalles ' |
cp850 ' ║' |
cp850 '║ KolibriOS viene ABSOLUTAMENTE SIN GARANTíA. Lee el archivo COPYING por más ║' |
cp850 '║ detalles. Por favor, informar de los errores en: http://board.kolibrios.org ║' |
line_full_bottom |
d80x25_bottom_num = 3 |
83,7 → 81,7 |
pdm1: cp850 "disquete real",13,10,0 |
pdm2: cp850 "C:\kolibri.img (FAT32)",13,10,0 |
else |
preboot_device_msgs dw 0,pdm1,pdm2,pdm3 |
preboot_device_msgs dw 0,pdm1,pdm2,pdm3,pdm4,0 |
pdm1: cp850 "disquete real",13,10,0 |
pdm2: cp850 "C:\kolibri.img (FAT32)",13,10,0 |
pdm3: cp850 "usar imagen ya cargada",13,10,0 |
104,6 → 102,7 |
_bt:cp850 '║ └───────────────────────────────┴─┘',13,10,0 |
remark1:cp850 "Los valores por defecto puede que no funcionen en algunas configuraciones.",0 |
remark2:cp850 "Si el sistema no inicia, prueba deshabilitar la opción [b].",0 |
remarks dw remark1, remark2 |
num_remarks = 2 |
remark2:cp850 "Si el sistema no inicia, prueba deshabilitar la opción [b]. Si se bloquea",0 |
remark3:cp850 "después de arrancar, habilite la opción [c], desactivar [d] y hacer fotos.",0 |
remarks dw remark1, remark2, remark3 |
num_remarks = 3 |