Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 513 → Rev 514

/kernel/trunk/boot/bootcode.inc
109,6 → 109,7
start_of_code:
cld
; \begin{diamond}[02.12.2005]
; if bootloader sets ax = 'KL', then ds:si points to loader block
cmp ax, 'KL'
jnz @f
mov word [cs:cfgmanager.loader_block], si
116,7 → 117,9
@@:
; \end{diamond}[02.12.2005]
 
cmp cx,'HA' ; ïî ðåãèñòðàì îïðåäåëÿåòñÿ çàãðóçêà ñ âèíòà
; if bootloader sets cx = 'HA' and dx = 'RD', then bx contains identifier of source hard disk
; (see comment to bx_from_load)
cmp cx, 'HA'
jnz no_hd_load
cmp dx,'RD'
jnz no_hd_load
157,7 → 160,7
mov bp,ET_FNT ; ET_FNT1
mov bx,1000h ;
mov cx,255 ; 256 symbols
mov dx,0h ; 0 - position of first symbol
xor dx, dx ; 0 - position of first symbol
mov ax,1100h
int 10h
end if
177,9 → 180,8
loop @b
; draw spaces
mov si, space_msg
mov cx, 25 - d80x25_top_num - d80x25_bottom_num
mov dx, 25 - d80x25_top_num - d80x25_bottom_num
dfl1:
push cx
push si
mov cx, 80
@@:
187,8 → 189,8
stosw
loop @b
pop si
pop cx
loop dfl1
dec dx
jnz dfl1
; draw bottom
mov si, d80x25_bottom
mov cx, d80x25_bottom_num * 80
247,19 → 249,19
; a) class 1, subclass 1, programming interface 0x80
mov ax, 0xB103
mov ecx, 1*10000h + 1*100h + 0x80
mov si, 0 ; device index = 0
xor si, si ; device index = 0
int 0x1A
jnc .found
; b) class 1, subclass 1, programming interface 0x8A
mov ax, 0xB103
mov ecx, 1*10000h + 1*100h + 0x8A
mov si, 0 ; device index = 0
xor si, si ; device index = 0
int 0x1A
jnc .found
; c) class 1, subclass 1, programming interface 0x85
mov ax, 0xB103
mov ecx, 1*10000h + 1*100h + 0x85
mov si, 0
xor si, si
int 0x1A
jc .nopci
.found:
284,9 → 286,7
loopnz wait_loop
 
; --------------- APM ---------------------
push 0
pop es
mov word [es : 0x9044], 0 ; ver = 0.0 (APM not found)
and word [es:0x9044], 0 ; ver = 0.0 (APM not found)
mov ax, 0x5300
xor bx, bx
int 0x15
313,9 → 313,6
xor bx, bx
int 0x15
 
push 0
pop es
 
mov [es:0x9040], ebx
mov [es:0x9050], ax
mov [es:0x9052], cx
326,8 → 323,6
 
; DISPLAY VESA INFORMATION
 
push 0
pop es
mov ax,0x4f00
mov di,0xa000
int 0x10
334,9 → 329,6
cmp ax,0x004f
mov si, novesa
jnz @f
mov bx, word [es:di+0x12]
shl ebx,16
mov [es:0x9050], ebx
mov ax,[es:di+4]
add ax,'0'*256+'0'
mov si,vervesa
349,7 → 341,7
; settings:
; a) preboot_graph = graphical mode
; preboot_gprobe = probe this mode?
; b) preboot_dma_write = use DMA write?
; b) preboot_dma = use DMA access?
; c) preboot_vrrm = use VRR?
; d) preboot_device = from what boot?
mov di, preboot_graph
389,8 → 381,9
@@:
mov [di], al
.preboot_gr_end:
cmp [di+preboot_dma_write-preboot_graph], 1
adc [di+preboot_dma_write-preboot_graph], 0
; following 6 lines set variables to 1 if its current value is 0
cmp [di+preboot_dma-preboot_graph], 1
adc [di+preboot_dma-preboot_graph], 0
cmp [di+preboot_vrrm-preboot_graph], 1
adc [di+preboot_vrrm-preboot_graph], 0
cmp [di+preboot_device-preboot_graph], 1
446,8 → 439,15
mov si, linef
call printplain
mov si, dma_msg
cmp [preboot_dma_write], 1
call .say_on_off
call print
cmp [preboot_dma], 2
mov si, on_msg
jb @f
mov si, off_msg
ja @f
mov si, readonly_msg
@@:
call printplain
mov si, vrrm_msg
cmp [preboot_vrrm], 1
call .say_on_off
532,9 → 532,9
_setcursor 15,0
mov si, ask_dma
call print
mov bx, '12'
mov bx, '13'
call getkey
mov [preboot_dma_write], al
mov [preboot_dma], al
_setcursor 11,0
jmp .d
.change_c:
553,8 → 553,7
popf
jz @f
mov si, off_msg
@@: call printplain
ret
@@: jmp printplain
; novesa and vervesa strings are not used at the moment of executing this code
virtual at novesa
.oldtimer dd ?
691,7 → 690,7
mov al, 32 ; BPP
jb @f
mov [es:0x9000], al
mov dword [es:0x9018], 0xFFFFFFFF; 0x800000
or dword [es:0x9018], 0xFFFFFFFF; 0x800000
@@:
mov [es:0x9008],bx
mov [es:0x900A],cx
710,13 → 709,12
inc bx
cmp bx,0x17f
mov si,prnotfnd
jz sayerr
jz invalid_video_mode
 
probemore:
push cx
mov ax,0x4f01
mov cx,bx
and cx,0xfff
mov di,0xa000
int 0x10
pop cx
762,7 → 760,12
mov si,bt32
jz bppl
mov si,btns
jmp sayerr
invalid_video_mode:
call print
_setcursor (d80x25_top_num+2), 0
mov si, start_msg
call print
jmp cfgmanager.printcfg
bppl:
call print
 
788,9 → 791,9
; force yes
mov [es:0x901C], byte 1
 
; DMA WRITE
; DMA ACCESS TO HD
 
mov al, [preboot_dma_write]
mov al, [preboot_dma]
mov [es:0x901F],al
 
; VRR_M USE