forked from KolibriOS/kolibrios
add new choose of video mode
git-svn-id: svn://kolibrios.org@713 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
723d4d3618
commit
fde6b79dcc
@ -105,6 +105,7 @@ sayerr_plain:
|
|||||||
;
|
;
|
||||||
;=========================================================================
|
;=========================================================================
|
||||||
|
|
||||||
|
include 'bootvesa.inc' ;Include source for boot vesa
|
||||||
|
|
||||||
start_of_code:
|
start_of_code:
|
||||||
cld
|
cld
|
||||||
@ -285,6 +286,23 @@ wait_loop: ; variant 2
|
|||||||
; wait until 8042 controller is ready
|
; wait until 8042 controller is ready
|
||||||
loopnz wait_loop
|
loopnz wait_loop
|
||||||
|
|
||||||
|
;;;/diamond today 5.02.2008
|
||||||
|
; set keyboard typematic rate & delay
|
||||||
|
mov al, 0xf3
|
||||||
|
out 0x60, al
|
||||||
|
xor cx, cx
|
||||||
|
@@:
|
||||||
|
in al, 64h
|
||||||
|
test al, 2
|
||||||
|
loopnz @b
|
||||||
|
mov al, 0
|
||||||
|
out 0x60, al
|
||||||
|
xor cx, cx
|
||||||
|
@@:
|
||||||
|
in al, 64h
|
||||||
|
test al, 2
|
||||||
|
loopnz @b
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; --------------- APM ---------------------
|
; --------------- APM ---------------------
|
||||||
and word [es:0x9044], 0 ; ver = 0.0 (APM not found)
|
and word [es:0x9044], 0 ; ver = 0.0 (APM not found)
|
||||||
mov ax, 0x5300
|
mov ax, 0x5300
|
||||||
@ -321,78 +339,46 @@ wait_loop: ; variant 2
|
|||||||
apm_end:
|
apm_end:
|
||||||
_setcursor d80x25_top_num, 0
|
_setcursor d80x25_top_num, 0
|
||||||
|
|
||||||
; DISPLAY VESA INFORMATION
|
;CHECK current of code
|
||||||
|
cmp [cfgmanager.loader_block], -1
|
||||||
|
jz noloaderblock
|
||||||
|
les bx, [cfgmanager.loader_block]
|
||||||
|
cmp byte [es:bx], 1
|
||||||
|
mov si, loader_block_error
|
||||||
|
jnz sayerr
|
||||||
|
|
||||||
|
noloaderblock:
|
||||||
|
; DISPLAY VESA INFORMATION
|
||||||
|
call print_vesa_info
|
||||||
|
call calc_vmodes_table
|
||||||
|
call check_first_parm ;check and enable cursor_pos
|
||||||
|
|
||||||
mov ax, 0x4f00
|
|
||||||
mov di, 0xa000
|
|
||||||
int 0x10
|
|
||||||
cmp ax, 0x004f
|
|
||||||
mov si, novesa
|
|
||||||
jnz @f
|
|
||||||
mov ax, [es:di+4]
|
|
||||||
add ax, '0'*256+'0'
|
|
||||||
mov si, vervesa
|
|
||||||
mov [si+vervesa_off], ah
|
|
||||||
mov [si+vervesa_off+2], al
|
|
||||||
@@: call print
|
|
||||||
|
|
||||||
; \begin{diamond}[30.11.2005]
|
; \begin{diamond}[30.11.2005]
|
||||||
cfgmanager:
|
cfgmanager:
|
||||||
; settings:
|
; settings:
|
||||||
; a) preboot_graph = graphical mode
|
; a) preboot_graph = graphical mode
|
||||||
; preboot_gprobe = probe this mode?
|
; preboot_gprobe = probe this mode?
|
||||||
; b) preboot_biosdisk = use BIOS disks through V86 emulation?
|
; b) preboot_dma = use DMA access?
|
||||||
; c) preboot_vrrm = use VRR?
|
; c) preboot_vrrm = use VRR?
|
||||||
; d) preboot_device = from what boot?
|
; d) preboot_device = from what boot?
|
||||||
mov di, preboot_graph
|
|
||||||
; check bootloader block
|
|
||||||
cmp [.loader_block], -1
|
|
||||||
jz .noloaderblock
|
|
||||||
les bx, [.loader_block]
|
|
||||||
cmp byte [es:bx], 1
|
|
||||||
mov si, loader_block_error
|
|
||||||
jnz sayerr
|
|
||||||
test byte [es:bx+1], 1
|
|
||||||
jz @f
|
|
||||||
; image in memory present
|
|
||||||
cmp [di+preboot_device-preboot_graph], 0
|
|
||||||
jnz @f
|
|
||||||
mov [di+preboot_device-preboot_graph], 3
|
|
||||||
@@:
|
|
||||||
.noloaderblock:
|
|
||||||
; determine default settings
|
; determine default settings
|
||||||
mov [.bSettingsChanged], 0
|
mov [.bSettingsChanged], 0
|
||||||
cmp byte [di], 0
|
|
||||||
jnz .preboot_gr_end
|
;.preboot_gr_end:
|
||||||
mov [di+preboot_gprobe-preboot_graph], 0
|
; following 6 lines set variables to 1 if its current value is 0
|
||||||
mov al, [vervesa+vervesa_off]
|
cmp byte[preboot_dma], 1
|
||||||
cmp al, 'x'
|
adc byte[preboot_dma], 0
|
||||||
jz .novesa
|
cmp byte[preboot_vrrm], 1
|
||||||
cmp al, '1'
|
adc byte[preboot_vrrm], 0
|
||||||
jz .vesa12
|
cmp byte[preboot_device], 1
|
||||||
mov [di+preboot_gprobe-preboot_graph], 2
|
adc byte[preboot_device], 0
|
||||||
mov al, 3
|
|
||||||
jmp @f
|
|
||||||
.vesa12:
|
|
||||||
mov al, 7
|
|
||||||
jmp @f
|
|
||||||
.novesa:
|
|
||||||
mov al, 10
|
|
||||||
@@:
|
|
||||||
mov [di], al
|
|
||||||
.preboot_gr_end:
|
|
||||||
; following 8 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_biosdisk-preboot_graph], 1
|
|
||||||
adc [di+preboot_biosdisk-preboot_graph], 0
|
|
||||||
cmp [di+preboot_vrrm-preboot_graph], 1
|
|
||||||
adc [di+preboot_vrrm-preboot_graph], 0
|
|
||||||
cmp [di+preboot_device-preboot_graph], 1
|
|
||||||
adc [di+preboot_device-preboot_graph], 0
|
|
||||||
; notify user
|
; notify user
|
||||||
|
_setcursor 5,2
|
||||||
|
|
||||||
mov si, linef
|
mov si, linef
|
||||||
call print
|
call printplain
|
||||||
mov si, start_msg
|
mov si, start_msg
|
||||||
call print
|
call print
|
||||||
mov si, time_msg
|
mov si, time_msg
|
||||||
@ -408,48 +394,9 @@ cfgmanager:
|
|||||||
call print
|
call print
|
||||||
mov si, curvideo_msg
|
mov si, curvideo_msg
|
||||||
call print
|
call print
|
||||||
mov al, [preboot_graph]
|
|
||||||
cmp al, 8
|
call draw_current_vmode
|
||||||
ja .pnovesa
|
|
||||||
mov dl, al
|
|
||||||
and eax, 3
|
|
||||||
mov si, [modes_msg+eax*2]
|
|
||||||
call printplain
|
|
||||||
mov si, modevesa20
|
|
||||||
cmp dl, 4
|
|
||||||
jbe @f
|
|
||||||
mov si, modevesa12
|
|
||||||
@@:
|
|
||||||
call printplain
|
|
||||||
cmp dl, 4
|
|
||||||
ja .x
|
|
||||||
mov si, probeno_msg
|
|
||||||
cmp [preboot_gprobe], 2
|
|
||||||
jnz @f
|
|
||||||
mov si, probeok_msg
|
|
||||||
@@:
|
|
||||||
call printplain
|
|
||||||
.x:
|
|
||||||
jmp .c
|
|
||||||
.pnovesa:
|
|
||||||
cmp al, 9
|
|
||||||
mov si, mode9
|
|
||||||
jz @b
|
|
||||||
mov si, mode10
|
|
||||||
jmp @b
|
|
||||||
.c:
|
|
||||||
mov si, linef
|
|
||||||
call printplain
|
|
||||||
; mov si, dma_msg
|
|
||||||
; 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, usebd_msg
|
mov si, usebd_msg
|
||||||
cmp [preboot_biosdisk], 1
|
cmp [preboot_biosdisk], 1
|
||||||
call .say_on_off
|
call .say_on_off
|
||||||
@ -468,18 +415,22 @@ cfgmanager:
|
|||||||
cli
|
cli
|
||||||
push 0
|
push 0
|
||||||
pop es
|
pop es
|
||||||
mov eax, [es:8*4]
|
push dword [es:8*4]
|
||||||
mov [.oldtimer], eax
|
pop dword [.oldtimer]
|
||||||
mov eax, [.timer]
|
push dword [.timer]
|
||||||
mov [es:8*4], eax
|
pop dword [es:8*4]
|
||||||
|
; mov eax, [es:8*4]
|
||||||
|
; mov [.oldtimer], eax
|
||||||
|
; mov eax, [.timer]
|
||||||
|
; mov [es:8*4], eax
|
||||||
sti
|
sti
|
||||||
; wait for keypressed
|
; wait for keypressed
|
||||||
mov ah, 0
|
xor ax,ax
|
||||||
int 16h
|
int 16h
|
||||||
push ax
|
push ax
|
||||||
; restore timer interrupt
|
; restore timer interrupt
|
||||||
push 0
|
; push 0
|
||||||
pop es
|
; pop es
|
||||||
mov eax, [.oldtimer]
|
mov eax, [.oldtimer]
|
||||||
mov [es:8*4], eax
|
mov [es:8*4], eax
|
||||||
mov [.timer], eax
|
mov [.timer], eax
|
||||||
@ -508,31 +459,38 @@ cfgmanager:
|
|||||||
_setcursor 13,0
|
_setcursor 13,0
|
||||||
.d:
|
.d:
|
||||||
mov [.bSettingsChanged], 1
|
mov [.bSettingsChanged], 1
|
||||||
mov si, space_msg
|
call clear_vmodes_table ;clear vmodes_table
|
||||||
call printplain
|
|
||||||
_setcursor 15,0
|
|
||||||
mov cx, 6
|
|
||||||
@@:
|
|
||||||
call printplain
|
|
||||||
loop @b
|
|
||||||
jmp .printcfg
|
jmp .printcfg
|
||||||
.change_a:
|
.change_a:
|
||||||
_setcursor 15,0
|
.loops:
|
||||||
mov si, gr_mode
|
call draw_vmodes_table
|
||||||
call printplain
|
|
||||||
mov bx, '09'
|
xor ax,ax
|
||||||
call getkey
|
int 0x16
|
||||||
mov [preboot_graph], al
|
; call clear_table_cursor ;clear current position of cursor
|
||||||
cmp al, 4
|
|
||||||
ja @f
|
mov si,word [cursor_pos]
|
||||||
mov si, probetext
|
|
||||||
call printplain
|
cmp ah,0x48;x,0x48E0 ; up
|
||||||
mov bx, '12'
|
jne .down
|
||||||
call getkey
|
cmp si,modes_table
|
||||||
mov [preboot_gprobe], al
|
jbe .loops
|
||||||
@@:
|
sub word [cursor_pos],size_of_step
|
||||||
_setcursor 10,0
|
jmp .loops
|
||||||
|
|
||||||
|
.down: cmp ah,0x50;x,0x50E0 ; down
|
||||||
|
jne .enter
|
||||||
|
cmp word[es:si+10],-1
|
||||||
|
je .loops
|
||||||
|
add word [cursor_pos],size_of_step
|
||||||
|
jmp .loops
|
||||||
|
|
||||||
|
.enter: cmp al,0x0D;x,0x1C0D ; enter
|
||||||
|
jne .loops
|
||||||
|
push word [cursor_pos]
|
||||||
|
pop word [preboot_graph] ;save choose
|
||||||
jmp .d
|
jmp .d
|
||||||
|
|
||||||
.change_b:
|
.change_b:
|
||||||
_setcursor 15,0
|
_setcursor 15,0
|
||||||
; mov si, ask_dma
|
; mov si, ask_dma
|
||||||
@ -556,6 +514,7 @@ cfgmanager:
|
|||||||
mov [preboot_vrrm], al
|
mov [preboot_vrrm], al
|
||||||
_setcursor 12,0
|
_setcursor 12,0
|
||||||
jmp .d
|
jmp .d
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
.say_on_off:
|
.say_on_off:
|
||||||
pushf
|
pushf
|
||||||
call print
|
call print
|
||||||
@ -687,115 +646,7 @@ end if
|
|||||||
|
|
||||||
; ASK GRAPHICS MODE
|
; ASK GRAPHICS MODE
|
||||||
|
|
||||||
movzx ax, [preboot_graph]
|
call set_vmode
|
||||||
push 0
|
|
||||||
pop es
|
|
||||||
; address is gr_table+6*(ax-1)
|
|
||||||
add ax, ax
|
|
||||||
lea si, [gr_table + eax + eax*2 - 6]
|
|
||||||
mov bx, [si+0]
|
|
||||||
mov cx, [si+2]
|
|
||||||
mov dx, [si+4]
|
|
||||||
cmp al, 9*2
|
|
||||||
mov al, 32 ; BPP
|
|
||||||
jb @f
|
|
||||||
mov [es:0x9000], al
|
|
||||||
or dword [es:0x9018], 0xFFFFFFFF; 0x800000
|
|
||||||
@@:
|
|
||||||
mov [es:0x9008], bx
|
|
||||||
mov [es:0x900A], cx
|
|
||||||
mov [es:0x900C], dx
|
|
||||||
test bh, bh
|
|
||||||
jz nov
|
|
||||||
|
|
||||||
; USE DEFAULTS OR PROBE
|
|
||||||
|
|
||||||
; bx - mode : cx - x size : dx - y size
|
|
||||||
cmp [preboot_gprobe], 1
|
|
||||||
jz noprobe
|
|
||||||
|
|
||||||
mov bx, 0x100
|
|
||||||
newprobe:
|
|
||||||
inc bx
|
|
||||||
cmp bx, 0x17f
|
|
||||||
mov si, prnotfnd
|
|
||||||
jz invalid_video_mode
|
|
||||||
|
|
||||||
probemore:
|
|
||||||
push cx
|
|
||||||
mov ax, 0x4f01
|
|
||||||
mov cx, bx
|
|
||||||
mov di, 0xa000
|
|
||||||
int 0x10
|
|
||||||
pop cx
|
|
||||||
|
|
||||||
test byte [es:di], 80h ; lfb?
|
|
||||||
jz newprobe
|
|
||||||
cmp [es:di+0x12], cx ; x size?
|
|
||||||
jnz newprobe
|
|
||||||
cmp [es:di+0x14], dx ; y size?
|
|
||||||
jnz newprobe
|
|
||||||
cmp byte [es:di+0x19], 32 ;24
|
|
||||||
jb newprobe
|
|
||||||
|
|
||||||
; add bx, 0100000000000000b
|
|
||||||
or bh, 40h
|
|
||||||
mov [es:0x9008], bx
|
|
||||||
|
|
||||||
noprobe:
|
|
||||||
|
|
||||||
|
|
||||||
; FIND VESA 2.0 LFB & BPP
|
|
||||||
|
|
||||||
mov ax, 0x4f01
|
|
||||||
mov cx, bx
|
|
||||||
and cx, 0xfff
|
|
||||||
mov di, 0xa000
|
|
||||||
int 0x10
|
|
||||||
; LFB
|
|
||||||
mov eax, [es:di+0x28]
|
|
||||||
mov [es:0x9018], eax
|
|
||||||
; ---- vbe voodoo
|
|
||||||
BytesPerLine equ 0x10
|
|
||||||
mov ax, [es:di+BytesPerLine]
|
|
||||||
mov [es:0x9001], ax
|
|
||||||
; BPP
|
|
||||||
mov al, byte [es:di+0x19]
|
|
||||||
mov [es:0x9000], al
|
|
||||||
nov:
|
|
||||||
cmp al, 24
|
|
||||||
mov si, bt24
|
|
||||||
jz bppl
|
|
||||||
cmp al, 32
|
|
||||||
mov si, bt32
|
|
||||||
jz bppl
|
|
||||||
mov si, btns
|
|
||||||
invalid_video_mode:
|
|
||||||
call print
|
|
||||||
_setcursor (d80x25_top_num+2), 0
|
|
||||||
mov si, start_msg
|
|
||||||
call print
|
|
||||||
jmp cfgmanager.printcfg
|
|
||||||
bppl:
|
|
||||||
call print
|
|
||||||
|
|
||||||
|
|
||||||
; FIND VESA 1.2 PM BANK SWITCH ADDRESS
|
|
||||||
|
|
||||||
push es
|
|
||||||
mov ax, 0x4f0A
|
|
||||||
xor bx, bx
|
|
||||||
int 0x10
|
|
||||||
xor eax, eax
|
|
||||||
mov ax, es
|
|
||||||
shl eax, 4
|
|
||||||
movzx ebx, di
|
|
||||||
add eax, ebx
|
|
||||||
mov bx, [es:di]
|
|
||||||
add eax, ebx
|
|
||||||
pop es
|
|
||||||
mov [es:0x9014], eax
|
|
||||||
|
|
||||||
|
|
||||||
; GRAPHICS ACCELERATION
|
; GRAPHICS ACCELERATION
|
||||||
; force yes
|
; force yes
|
||||||
@ -1109,7 +960,7 @@ setgr:
|
|||||||
int 0x10
|
int 0x10
|
||||||
test ah, ah
|
test ah, ah
|
||||||
mov si, fatalsel
|
mov si, fatalsel
|
||||||
jnz sayerr
|
jnz v_mode_error
|
||||||
; set mode 0x12 graphics registers:
|
; set mode 0x12 graphics registers:
|
||||||
cmp bx, 0x12
|
cmp bx, 0x12
|
||||||
jne gmok2
|
jne gmok2
|
||||||
|
@ -18,7 +18,7 @@ d80x25_bottom_num = 3
|
|||||||
novesa db "Display: EGA/CGA",13,10,0
|
novesa db "Display: EGA/CGA",13,10,0
|
||||||
vervesa db "Version of Vesa: Vesa x.x",13,10,0
|
vervesa db "Version of Vesa: Vesa x.x",13,10,0
|
||||||
vervesa_off=22
|
vervesa_off=22
|
||||||
msg_apm db " APM x.x ", 0
|
msg_apm db " APM x.x ", 0
|
||||||
gr_mode db 186," Vesa 2.0+ 16 M LFB: [1] 640x480, [2] 800x600, "
|
gr_mode db 186," Vesa 2.0+ 16 M LFB: [1] 640x480, [2] 800x600, "
|
||||||
db "[3] 1024x768, [4] 1280x1024",13,10
|
db "[3] 1024x768, [4] 1280x1024",13,10
|
||||||
db 186," Vesa 1.2 16 M Bnk: [5] 640x480, [6] 800x600, "
|
db 186," Vesa 1.2 16 M Bnk: [5] 640x480, [6] 800x600, "
|
||||||
@ -100,3 +100,9 @@ pdm4 db "create blank image",13,10,0
|
|||||||
loading_msg db "Loading KolibriOS...",0
|
loading_msg db "Loading KolibriOS...",0
|
||||||
save_quest db "Remember current settings? [y/n]: ",0
|
save_quest db "Remember current settings? [y/n]: ",0
|
||||||
loader_block_error db "Bootloader data invalid, I cannot continue. Stopped.",0
|
loader_block_error db "Bootloader data invalid, I cannot continue. Stopped.",0
|
||||||
|
|
||||||
|
_st db 186,' ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ¿',13,10,0
|
||||||
|
_r1 db 186,' ³ 320x200 EGA/CGA 256 colors ³Û³',13,10,0
|
||||||
|
_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
|
||||||
|
@ -15,55 +15,39 @@ d80x25_bottom:
|
|||||||
line_full_bottom
|
line_full_bottom
|
||||||
d80x25_bottom_num = 3
|
d80x25_bottom_num = 3
|
||||||
|
|
||||||
|
msg_apm db " APM x.x ", 0
|
||||||
novesa db "‚¨¤¥®ª àâ : EGA/CGA",13,10,0
|
novesa db "‚¨¤¥®ª àâ : EGA/CGA",13,10,0
|
||||||
vervesa db "‚¥àá¨ï VESA: Vesa x.x",13,10,0
|
s_vesa db "‚¥àá¨ï VESA: "
|
||||||
vervesa_off=19
|
.ver db "?.?",13,10,0
|
||||||
msg_apm db " APM x.x ", 0
|
|
||||||
gr_mode db 186," Vesa 2.0+ 16 M LFB: [1] 640x480, [2] 800x600, "
|
;vervesa db "‚¥àá¨ï VESA: Vesa x.x",13,10,0
|
||||||
db "[3] 1024x768, [4] 1280x1024",13,10
|
;vervesa_off=19
|
||||||
db 186," Vesa 1.2 16 M Bnk: [5] 640x480, [6] 800x600, "
|
gr_mode db "‚ë¡¥à¨â¥ ¢¨¤¥®à¥¦¨¬: ",13,10,0
|
||||||
db "[7] 1024x768, [8] 1280x1024",13,10
|
s_bpp db 13,10,186," ƒ«ã¡¨ 梥â : "
|
||||||
db 186," EGA/CGA 256 –¢¥â®¢: [9] 320x200, "
|
.bpp dw "??"
|
||||||
db "VGA 16 –¢¥â®¢: [0] 640x480",13,10
|
db 13,10,0
|
||||||
db 186," ‚ë¡¥à¨â¥ ¢¨¤¥®à¥¦¨¬: ",0
|
|
||||||
bt24 db "ƒ«ã¡¨ 梥â : 24",13,10,0
|
|
||||||
bt32 db "ƒ«ã¡¨ 梥â : 32",13,10,0
|
|
||||||
vrrmprint db "ˆá¯®«ì§®¢ âì VRR? (ç áâ®â ª ¤à®¢ ¢ëè¥ 60 ƒæ"
|
vrrmprint db "ˆá¯®«ì§®¢ âì VRR? (ç áâ®â ª ¤à®¢ ¢ëè¥ 60 ƒæ"
|
||||||
db " ⮫쪮 ¤«ï ¯¥à¥å®¤®¢:",13,10
|
db " ⮫쪮 ¤«ï ¯¥à¥å®¤®¢:",13,10
|
||||||
db 186," 1024*768>800*600 ¨ 800*600>640*480) [1-¤ , 2-¥â]: ",0
|
db 186," 1024*768>800*600 ¨ 800*600>640*480) [1-¤ , 2-¥â]: ",0
|
||||||
;askmouse db "Œëèì:" ; 186, " "
|
|
||||||
; db " [1] PS/2 (USB), [2] Com1, [3] Com2."
|
|
||||||
; db " ‚ë¡¥à¨â¥ ¯®àâ [1-3]: ",0
|
|
||||||
;no_com1 db 13,10,186," No COM1 mouse",0
|
|
||||||
;no_com2 db 13,10,186," No COM2 mouse",0
|
|
||||||
;ask_dma db "ˆá¯®«ì§®¢ âì DMA ¤«ï ¤®áâ㯠ª HDD? [1-¤ , 2-⮫쪮 ç⥨¥, 3-¥â]: ",0
|
;ask_dma db "ˆá¯®«ì§®¢ âì DMA ¤«ï ¤®áâ㯠ª HDD? [1-¤ , 2-⮫쪮 ç⥨¥, 3-¥â]: ",0
|
||||||
ask_bd db "„®¡ ¢¨âì ¤¨áª¨, ¢¨¤¨¬ë¥ ç¥à¥§ BIOS ¢ ०¨¬¥ V86? [1-¤ , 2-¥â]: ",0
|
ask_bd db "„®¡ ¢¨âì ¤¨áª¨, ¢¨¤¨¬ë¥ ç¥à¥§ BIOS ¢ ०¨¬¥ V86? [1-¤ , 2-¥â]: ",0
|
||||||
;gr_direct db 186," ˆá¯®«ì§®¢ âì «¨¥©ë© ¢¨¤¥®¡ãä¥à? "
|
|
||||||
; db "[1-¤ /2-¥â]: ",0
|
|
||||||
;mem_model db 13,10,186," Ž¡ê+¬ ¯ ¬ï⨠[1-16 Mb / 2-32 Mb / "
|
|
||||||
; db "3-64Mb / 4-128 Mb / 5-256 Mb]: ",0
|
|
||||||
;bootlog db 13,10,186," <20>à®á¬®âà¥âì ¦ãà « § £à㧪¨? [1-¥â/2-¤ ]: ",0
|
|
||||||
bdev db "‡ £à㧨âì ®¡à § ¨§ [1-¤¨áª¥â ; 2-C:\kolibri.img (FAT32);"
|
bdev db "‡ £à㧨âì ®¡à § ¨§ [1-¤¨áª¥â ; 2-C:\kolibri.img (FAT32);"
|
||||||
db 13,10,186," "
|
db 13,10,186," "
|
||||||
db "3-¨á¯®«ì§®¢ âì 㦥 § £àã¦¥ë© ®¡à §;"
|
db "3-¨á¯®«ì§®¢ âì 㦥 § £àã¦¥ë© ®¡à §;"
|
||||||
db 13,10,186," "
|
db 13,10,186," "
|
||||||
db "4-ᮧ¤ âì ç¨áâë© ®¡à §]: ",0
|
db "4-ᮧ¤ âì ç¨áâë© ®¡à §]: ",0
|
||||||
probetext db 13,10,13,10,186," ‘â ¤ àâë© ¢¨¤¥®à¥¦¨¬? [1-¤ , "
|
;probetext db 13,10,13,10,186," ‘â ¤ àâë© ¢¨¤¥®à¥¦¨¬? [1-¤ , "
|
||||||
db "2-¯à®¢¥à¨âì ¤à㣨¥ (Vesa 3.0)]: ",0
|
; db "2-¯à®¢¥à¨âì ¤à㣨¥ (Vesa 3.0)]: ",0
|
||||||
;memokz256 db 13,10,186," RAM 256 Mb",0
|
|
||||||
;memokz128 db 13,10,186," RAM 128 Mb",0
|
|
||||||
;memokz64 db 13,10,186," RAM 64 Mb",0
|
|
||||||
;memokz32 db 13,10,186," RAM 32 Mb",0
|
|
||||||
;memokz16 db 13,10,186," RAM 16 Mb",0
|
|
||||||
prnotfnd db "Žè¨¡ª - ‚¨¤¥®à¥¦¨¬ ¥ ©¤¥.",0
|
prnotfnd db "Žè¨¡ª - ‚¨¤¥®à¥¦¨¬ ¥ ©¤¥.",0
|
||||||
;modena db "Žè¨¡ª - ’ॡã¥âáï ¯®¤¤¥à¦ª VBE 0x112+.",0
|
|
||||||
not386 db "Žè¨¡ª - ’ॡã¥âáï ¯à®æ¥áá®à 386+.",0
|
not386 db "Žè¨¡ª - ’ॡã¥âáï ¯à®æ¥áá®à 386+.",0
|
||||||
btns db "Žè¨¡ª - <20>¥ ¬®£ã ®¯à¥¤¥«¨âì £«ã¡¨ã 梥â .",0
|
;not_PENT_PRO db "Žè¨¡ª - ’ॡã¥âáï ¯à®æ¥áá®à Pentium PRO ¨«¨ ¢ëè¥.",0
|
||||||
|
;btns db "Žè¨¡ª - <20>¥ ¬®£ã ®¯à¥¤¥«¨âì £«ã¡¨ã 梥â .",0
|
||||||
fatalsel db "Žè¨¡ª - ‚ë¡à ë© ¢¨¤¥®à¥¦¨¬ ¥ ¯®¤¤¥à¦¨¢ ¥âáï.",0
|
fatalsel db "Žè¨¡ª - ‚ë¡à ë© ¢¨¤¥®à¥¦¨¬ ¥ ¯®¤¤¥à¦¨¢ ¥âáï.",0
|
||||||
|
pres_key db "<EFBFBD> ¦¨¬¨â¥ «î¡ãî ª« ¢¨èã, ¤«ï ¯¥à¥å®¤ ¢ ¢ë¡®à ०¨¬®¢.",0
|
||||||
badsect db 13,10,186," Žè¨¡ª - „¨áª¥â ¯®¢à¥¦¤¥ . <20>®¯à®¡ã©â¥ ¤àã£ãî.",0
|
badsect db 13,10,186," Žè¨¡ª - „¨áª¥â ¯®¢à¥¦¤¥ . <20>®¯à®¡ã©â¥ ¤àã£ãî.",0
|
||||||
memmovefailed db 13,10,186," Žè¨¡ª - Int 0x15 move failed.",0
|
memmovefailed db 13,10,186," Žè¨¡ª - Int 0x15 move failed.",0
|
||||||
okt db " ... OK"
|
okt db " ... OK"
|
||||||
linef db 13,10,0
|
linef db 13,10,0
|
||||||
diskload db "‡ £à㧪 ¤¨áª¥âë: 00 %",8,8,8,8,0
|
diskload db "‡ £à㧪 ¤¨áª¥âë: 00 %",8,8,8,8,0
|
||||||
pros db "00"
|
pros db "00"
|
||||||
backspace2 db 8,8,0
|
backspace2 db 8,8,0
|
||||||
@ -74,22 +58,18 @@ time_str db " 5 ᥪ㭤 "
|
|||||||
db " ¤® ¢â®¬ â¨ç¥áª®£® ¯à®¤®«¦¥¨ï",13,10,0
|
db " ¤® ¢â®¬ â¨ç¥áª®£® ¯à®¤®«¦¥¨ï",13,10,0
|
||||||
current_cfg_msg db "’¥ªã騥 áâனª¨:",13,10,0
|
current_cfg_msg db "’¥ªã騥 áâனª¨:",13,10,0
|
||||||
curvideo_msg db " [a] ‚¨¤¥®à¥¦¨¬: ",0
|
curvideo_msg db " [a] ‚¨¤¥®à¥¦¨¬: ",0
|
||||||
mode1 db "640x480",0
|
|
||||||
mode2 db "800x600",0
|
|
||||||
mode3 db "1024x768",0
|
|
||||||
mode4 db "1280x1024",0
|
|
||||||
modes_msg dw mode4,mode1,mode2,mode3
|
|
||||||
modevesa20 db " á LFB",0
|
modevesa20 db " á LFB",0
|
||||||
modevesa12 db ", VESA 1.2 Bnk",0
|
modevesa12 db ", VESA 1.2 Bnk",0
|
||||||
mode9 db "320x200, EGA/CGA 256 梥⮢",0
|
|
||||||
mode10 db "640x480, VGA 16 梥⮢",0
|
mode0 db "320x200, EGA/CGA 256 梥⮢",13,10,0
|
||||||
probeno_msg db " (áâ ¤ àâë© ¢¨¤¥®à¥¦¨¬)",0
|
mode9 db "640x480, VGA 16 梥⮢",13,10,0
|
||||||
probeok_msg db " (¯à®¢¥à¨âì ¥áâ ¤ àâë¥ à¥¦¨¬ë)",0
|
;probeno_msg db " (áâ ¤ àâë© ¢¨¤¥®à¥¦¨¬)",0
|
||||||
|
;probeok_msg db " (¯à®¢¥à¨âì ¥áâ ¤ àâë¥ à¥¦¨¬ë)",0
|
||||||
;dma_msg db " [b] ˆá¯®«ì§®¢ ¨¥ DMA ¤«ï ¤®áâ㯠ª HDD:",0
|
;dma_msg db " [b] ˆá¯®«ì§®¢ ¨¥ DMA ¤«ï ¤®áâ㯠ª HDD:",0
|
||||||
usebd_msg db " [b] „®¡ ¢¨âì ¤¨áª¨, ¢¨¤¨¬ë¥ ç¥à¥§ BIOS:",0
|
usebd_msg db " [b] „®¡ ¢¨âì ¤¨áª¨, ¢¨¤¨¬ë¥ ç¥à¥§ BIOS:",0
|
||||||
on_msg db " ¢ª«",13,10,0
|
on_msg db " ¢ª«",13,10,0
|
||||||
off_msg db " ¢ëª«",13,10,0
|
off_msg db " ¢ëª«",13,10,0
|
||||||
;readonly_msg db " ⮫쪮 ç⥨¥",13,10,0
|
readonly_msg db " ⮫쪮 ç⥨¥",13,10,0
|
||||||
vrrm_msg db " [c] ˆá¯®«ì§®¢ ¨¥ VRR:",0
|
vrrm_msg db " [c] ˆá¯®«ì§®¢ ¨¥ VRR:",0
|
||||||
preboot_device_msg db " [d] Ž¡à § ¤¨áª¥âë: ",0
|
preboot_device_msg db " [d] Ž¡à § ¤¨áª¥âë: ",0
|
||||||
preboot_device_msgs dw 0,pdm1,pdm2,pdm3,pdm4
|
preboot_device_msgs dw 0,pdm1,pdm2,pdm3,pdm4
|
||||||
@ -100,3 +80,34 @@ pdm4 db "ᮧ
|
|||||||
loading_msg db "ˆ¤ñâ § £à㧪 KolibriOS...",0
|
loading_msg db "ˆ¤ñâ § £à㧪 KolibriOS...",0
|
||||||
save_quest db "‡ ¯®¬¨âì ⥪ã騥 áâனª¨? [y/n]: ",0
|
save_quest db "‡ ¯®¬¨âì ⥪ã騥 áâனª¨? [y/n]: ",0
|
||||||
loader_block_error db "Žè¨¡ª ¢ ¤ ëå ç «ì®£® § £àã§ç¨ª , ¯à®¤®«¦¥¨¥ ¥¢®§¬®¦®.",0
|
loader_block_error db "Žè¨¡ª ¢ ¤ ëå ç «ì®£® § £àã§ç¨ª , ¯à®¤®«¦¥¨¥ ¥¢®§¬®¦®.",0
|
||||||
|
|
||||||
|
;_oem db 'oem: ',0
|
||||||
|
|
||||||
|
;db 5
|
||||||
|
;s_ven_intel db 'Intel'
|
||||||
|
;db 2
|
||||||
|
;s_ven_s3 db 'S3'
|
||||||
|
;;db 5
|
||||||
|
;s_ven_bochs db 'Bochs'
|
||||||
|
;db 8
|
||||||
|
;s_ven_vmware db 'V M ware'
|
||||||
|
|
||||||
|
;s_mode db " ????-????-?? (?) ",0
|
||||||
|
;s_mode1 db " 0640-0480-04 (a) 0320-0200-08 (b) ",13,10,0
|
||||||
|
|
||||||
|
_st db 186,' ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ¿',13,10,0
|
||||||
|
_r1 db 186,' ³ 320x200 EGA/CGA 256 梥⮢ ³Û³',13,10,0
|
||||||
|
_r2 db 186,' ³ 640x480 VGA 16 梥⮢ ³Û³',13,10,0
|
||||||
|
_rs db 186,' ³ ????x????@?? SVGA VESA ³Û³',13,10,0
|
||||||
|
_bt db 186,' ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÙ',13,10,0
|
||||||
|
|
||||||
|
;_tl db 186,' ÚÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿',13,10,\
|
||||||
|
; 186,' ³ 4 ³ 8 ³ 15 ³ 16 ³ 24 ³ 32 ³',13,10,\
|
||||||
|
; 186,' ÚÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄ¿',13,10,0
|
||||||
|
;_rs db 186,' ³ ????x???? ³ ³ ³ ³ ³ ³ ³Û³',13,10,0
|
||||||
|
;_bt db 186,' ÀÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÙ',13,10,0
|
||||||
|
|
||||||
|
|
||||||
|
;_sel1 db 0x1A,0
|
||||||
|
;_sel2 db 0x1B,0
|
||||||
|
;_selc db ' ',0
|
||||||
|
@ -21,20 +21,6 @@ kernel_restart_bootblock:
|
|||||||
dw 1 ; floppy image is in memory
|
dw 1 ; floppy image is in memory
|
||||||
dd 0 ; cannot save parameters
|
dd 0 ; cannot save parameters
|
||||||
|
|
||||||
align 4
|
|
||||||
; videomodes table
|
|
||||||
gr_table:
|
|
||||||
dw 0x112+0100000000000000b , 640 , 480 ; 1
|
|
||||||
dw 0x115+0100000000000000b , 800 , 600 ; 2
|
|
||||||
dw 0x118+0100000000000000b , 1024 , 768 ; 3
|
|
||||||
dw 0x11B+0100000000000000b , 1280 , 1024 ; 4
|
|
||||||
dw 0x112 , 640 , 480 ; 5
|
|
||||||
dw 0x115 , 800 , 600 ; 6
|
|
||||||
dw 0x118 , 1024 , 768 ; 7
|
|
||||||
dw 0x11B , 1280 ,1024 ; 8
|
|
||||||
dw 0x13, 640, 480 ; 9
|
|
||||||
dw 0x12, 640, 480 ; 0
|
|
||||||
|
|
||||||
; table for move to extended memory (int 15h, ah=87h)
|
; table for move to extended memory (int 15h, ah=87h)
|
||||||
align 8
|
align 8
|
||||||
movedesc:
|
movedesc:
|
||||||
|
Loading…
Reference in New Issue
Block a user