some fixes in boot code

git-svn-id: svn://kolibrios.org@34 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Andrey Halyavin (halyavin) 2006-01-11 09:46:06 +00:00
parent 333b0bbae6
commit cc2477709a

View File

@ -416,14 +416,8 @@ cfgmanager:
; get start time ; get start time
call .gettime call .gettime
mov [.starttime-0x10000], eax mov [.starttime-0x10000], eax
; set timer interrupt handler mov word [.timer-0x10000], .newtimer-0x10000
cli mov word [.timer-0x10000+2], cs
push 0
pop es
mov eax, [es:8*4]
mov [.oldtimer-0x10000], eax
mov word [es:8*4], .newtimer-0x10000
mov [es:8*4+2], cs
.printcfg: .printcfg:
_setcursor 9,0 _setcursor 9,0
mov si, current_cfg_msg-0x10000 mov si, current_cfg_msg-0x10000
@ -487,6 +481,15 @@ cfgmanager:
.wait: .wait:
; empty BIOS keyboard buffer ; empty BIOS keyboard buffer
_setcursor 25,0 ; out of screen _setcursor 25,0 ; out of screen
; set timer interrupt handler
cli
push 0
pop es
mov eax, [es:8*4]
mov [.oldtimer-0x10000], eax
mov eax, [.timer-0x10000]
mov [es:8*4], eax
sti
; wait for keypressed ; wait for keypressed
mov ah, 0 mov ah, 0
int 16h int 16h
@ -496,6 +499,7 @@ cfgmanager:
pop es pop es
mov ecx, [.oldtimer-0x10000] mov ecx, [.oldtimer-0x10000]
mov [es:8*4], ecx mov [es:8*4], ecx
mov [.timer-0x10000], ecx
_setcursor 7,0 _setcursor 7,0
mov si, space_msg-0x10000 mov si, space_msg-0x10000
call printplain call printplain
@ -567,6 +571,7 @@ cfgmanager:
.oldtimer dd ? .oldtimer dd ?
.starttime dd ? .starttime dd ?
.bSettingsChanged db ? .bSettingsChanged db ?
.timer dd ?
.loader_block dd 0 .loader_block dd 0
.gettime: .gettime:
mov ah, 0 mov ah, 0
@ -656,6 +661,7 @@ end if
cmp al, 'y' cmp al, 'y'
jnz .waityn jnz .waityn
call putchar call putchar
mov byte [space_msg-0x10000+80], 186
pop eax pop eax
push cs push cs
push .cont-0x10000 push .cont-0x10000
@ -666,6 +672,7 @@ end if
.cont: .cont:
push cs push cs
pop ds pop ds
mov byte [space_msg-0x10000+80], 0
_setcursor 15,0 _setcursor 15,0
mov si, space_msg-0x10000 mov si, space_msg-0x10000
call printplain call printplain