/kernel/branches/Kolibri-A/trunk/boot/bootcode.inc |
---|
20,7 → 20,7 |
; |
;========================================================================== |
if 0 |
putchar: |
; in: al=character |
mov ah, 0Eh |
61,6 → 61,8 |
call setcursor |
} |
end if |
boot_read_floppy: |
push si |
xor si, si |
78,11 → 80,9 |
ret |
sayerr_plain: |
call printplain |
jmp $ |
sayerr: |
call print |
jmp $ |
173,38 → 173,6 |
xor di, di |
mov ah, 1*16+15 |
; draw top |
mov si, d80x25_top |
mov cx, d80x25_top_num * 80 |
@@: |
lodsb |
stosw |
loop @b |
; draw spaces |
mov si, space_msg |
mov dx, 25 - d80x25_top_num - d80x25_bottom_num |
dfl1: |
push si |
mov cx, 80 |
@@: |
lodsb |
stosw |
loop @b |
pop si |
dec dx |
jnz dfl1 |
; draw bottom |
mov si, d80x25_bottom |
mov cx, d80x25_bottom_num * 80 |
@@: |
lodsb |
stosw |
loop @b |
mov byte [space_msg+80], 0 ; now space_msg is null terminated |
_setcursor d80x25_top_num,0 |
cpugood: |
push 0 |
268,16 → 236,6 |
mov [es:0x9044], ax ; Save APM Version |
mov [es:0x9046], cx ; Save APM flags |
; Write APM ver ---- |
and ax, 0xf0f |
add ax, '00' |
mov si, msg_apm |
mov [si + 5], ah |
mov [si + 7], al |
_setcursor 0, 3 |
call printplain |
; ------------------ |
mov ax, 0x5304 ; Disconnect interface |
xor bx, bx |
int 0x15 |
291,7 → 249,6 |
mov [es:0x9054], dx |
apm_end: |
_setcursor d80x25_top_num, 0 |
;CHECK current of code |
cmp [cfgmanager.loader_block], -1 |
298,7 → 255,6 |
jz noloaderblock |
les bx, [cfgmanager.loader_block] |
cmp byte [es:bx], 1 |
mov si, loader_block_error |
jnz sayerr |
push 0 |
pop es |
344,22 → 300,11 |
cmp byte [di+preboot_biosdisk-preboot_device], 1 |
adc byte [di+preboot_biosdisk-preboot_device], 0 |
_setcursor 7,0 |
mov si, space_msg |
call printplain |
; pop ax ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ?? |
jmp .continue |
.loader_block dd -1 |
.continue: |
sti |
_setcursor 6,0 |
mov si, space_msg |
call printplain |
call printplain |
_setcursor 6,0 |
mov si, loading_msg |
call print |
_setcursor 15,0 |
jmp .load |
.loadc: |
367,11 → 312,6 |
.cont: |
push cs |
pop ds |
mov si, space_msg |
mov byte [si+80], 0 |
_setcursor 15,0 |
call printplain |
_setcursor 15,0 |
.load: |
; ASK GRAPHICS MODE |
406,8 → 346,6 |
cmp [boot_dev],0 |
jne no_sys_on_floppy |
mov si,diskload |
call print |
xor ax, ax ; reset drive |
xor dx, dx |
int 0x13 |
464,17 → 402,8 |
inc ch |
cmp ch, 80 |
jae ok_sys_on_floppy |
pusha |
mov al, ch |
shr ch, 2 |
add al, ch |
aam |
xchg al, ah |
add ax, '00' |
mov si, pros |
mov [si], ax |
call printplain |
popa |
jmp .a1 |
.nocd: |
; no - read only used sectors from floppy |
704,11 → 633,6 |
aam |
xchg al, ah |
add ax, '00' |
mov si, pros |
cmp [si], ax |
jz @f |
mov [si], ax |
call printplain |
@@: |
popa |
inc di |
717,10 → 641,6 |
pop bx ; clear stack |
ok_sys_on_floppy: |
mov si, backspace2 |
call printplain |
mov si, okt |
call printplain |
no_sys_on_floppy: |
xor ax, ax ; reset drive |
xor dx, dx |
/kernel/branches/Kolibri-A/trunk/boot/booteng.inc |
---|
14,19 → 14,19 |
$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 |
line_full_bottom |
d80x25_bottom_num = 3 |
;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 |
; line_full_bottom |
;d80x25_bottom_num = 3 |
msg_apm db " APM x.x ", 0 |
vervesa db "Version of Vesa: Vesa x.x",13,10,0 |
;msg_apm db " APM x.x ", 0 |
;vervesa db "Version of Vesa: Vesa x.x",13,10,0 |
;novesa db "Display: EGA/CGA",13,10,0 |
s_vesa db "Version of VESA: " |
.ver db "?.?",13,10,0 |
;s_vesa db "Version of VESA: " |
; .ver db "?.?",13,10,0 |
;gr_mode db "Select a videomode: ",13,10,0 |
48,11 → 48,11 |
;btns db "Fatal - Can't determine color depth.",0 |
;badsect db 13,10,186," Fatal - Bad sector. Replace floppy.",0 |
;memmovefailed db 13,10,186," Fatal - Int 0x15 move failed.",0 |
okt db " ... OK" |
linef db 13,10,0 |
diskload db "Loading diskette: 00 %",8,8,8,8,0 |
pros db "00" |
backspace2 db 8,8,0 |
;okt db " ... OK" |
;linef db 13,10,0 |
;diskload db "Loading diskette: 00 %",8,8,8,8,0 |
;pros db "00" |
;backspace2 db 8,8,0 |
boot_dev db 0 ; 0=floppy, 1=hd |
;start_msg db "Press [abcd] to change settings, press [Enter] to continue booting",13,10,0 |
;time_msg db " or wait " |
61,6 → 61,6 |
;current_cfg_msg db "cfgmanager.printcfg reached",13,10,0 |
;curvideo_msg db " [a] Videomode: ",0 |
loading_msg db "Loading KolibriOS...",0 |
;loading_msg db "Loading KolibriOS...",0 |
;save_quest db "Remember current settings? [y/n]: ",0 |
loader_block_error db "Invalid boot data",0 |
;loader_block_error db "Invalid boot data",0 |
/kernel/branches/Kolibri-A/trunk/boot/bootvesa.inc |
---|
115,7 → 115,6 |
;------------------------------------------------------- |
print_vesa_info: |
_setcursor 5,2 |
mov [es:vi.VESASignature],'VBE2' |
mov ax,0x4F00 |
136,23 → 135,7 |
jb $ |
.vesaok2: |
mov ax,[es:vi.VESAVersion] |
add ax,'00' |
mov [s_vesa.ver], ah |
mov [s_vesa.ver+2], al |
mov si,s_vesa |
call printplain |
_setcursor 4,2 |
mov si,word[es:vi.OemStringPtr] |
mov di,si |
push ds |
mov ds,word[es:vi.OemStringPtr+2] |
call printplain |
pop ds |
ret |
;----------------------------------------------------------------------------- |
224,6 → 207,7 |
test si,si |
jnz .no_zero ;if no zero |
.zerro: |
mov word[preboot_graph], ax |
mov ax,1024 |
mov bx,768 |
295,32 → 279,8 |
ret |
;----------------------------------------------------------------------------- |
;Clear area of current video page (0xb800) |
;clear_vmodes_table: |
; pusha |
; draw frames |
; push es |
; push 0xb800 |
; pop es |
; mov di,1444 |
; xor ax,ax |
; mov ah, 1*16+15 |
; mov cx,70 |
; mov bp,12 |
;.loop_start: |
; rep stosw |
; mov cx,70 |
; add di,20 |
; dec bp |
; jns .loop_start |
; pop es |
; popa |
; ret |
;----------------------------------------------------------------------------- |
set_vmode: |
push 0 ;0;x1000 |
pop es |
/kernel/branches/Kolibri-A/trunk/boot/preboot.inc |
---|
34,5 → 34,5 |
if $>0x200 |
ERROR: prebooting parameters must fit in first sector!!! |
end if |
hdsysimage db 'KOLIBRI IMG' ; load from |
image_save db 'KOLIBRI IMG' ; save to |
;hdsysimage db 'KOLIBRI IMG' ; load from |
;image_save db 'KOLIBRI IMG' ; save to |