add new choose of video mode
git-svn-id: svn://kolibrios.org@713 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -105,6 +105,7 @@ sayerr_plain:
|
||||
;
|
||||
;=========================================================================
|
||||
|
||||
include 'bootvesa.inc' ;Include source for boot vesa
|
||||
|
||||
start_of_code:
|
||||
cld
|
||||
@@ -285,6 +286,23 @@ wait_loop: ; variant 2
|
||||
; wait until 8042 controller is ready
|
||||
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 ---------------------
|
||||
and word [es:0x9044], 0 ; ver = 0.0 (APM not found)
|
||||
mov ax, 0x5300
|
||||
@@ -321,78 +339,46 @@ wait_loop: ; variant 2
|
||||
apm_end:
|
||||
_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]
|
||||
cfgmanager:
|
||||
; settings:
|
||||
; a) preboot_graph = graphical 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?
|
||||
; 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
|
||||
mov [.bSettingsChanged], 0
|
||||
cmp byte [di], 0
|
||||
jnz .preboot_gr_end
|
||||
mov [di+preboot_gprobe-preboot_graph], 0
|
||||
mov al, [vervesa+vervesa_off]
|
||||
cmp al, 'x'
|
||||
jz .novesa
|
||||
cmp al, '1'
|
||||
jz .vesa12
|
||||
mov [di+preboot_gprobe-preboot_graph], 2
|
||||
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
|
||||
|
||||
;.preboot_gr_end:
|
||||
; following 6 lines set variables to 1 if its current value is 0
|
||||
cmp byte[preboot_dma], 1
|
||||
adc byte[preboot_dma], 0
|
||||
cmp byte[preboot_vrrm], 1
|
||||
adc byte[preboot_vrrm], 0
|
||||
cmp byte[preboot_device], 1
|
||||
adc byte[preboot_device], 0
|
||||
; notify user
|
||||
_setcursor 5,2
|
||||
|
||||
mov si, linef
|
||||
call print
|
||||
call printplain
|
||||
mov si, start_msg
|
||||
call print
|
||||
mov si, time_msg
|
||||
@@ -408,48 +394,9 @@ cfgmanager:
|
||||
call print
|
||||
mov si, curvideo_msg
|
||||
call print
|
||||
mov al, [preboot_graph]
|
||||
cmp al, 8
|
||||
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
|
||||
|
||||
call draw_current_vmode
|
||||
|
||||
mov si, usebd_msg
|
||||
cmp [preboot_biosdisk], 1
|
||||
call .say_on_off
|
||||
@@ -468,18 +415,22 @@ cfgmanager:
|
||||
cli
|
||||
push 0
|
||||
pop es
|
||||
mov eax, [es:8*4]
|
||||
mov [.oldtimer], eax
|
||||
mov eax, [.timer]
|
||||
mov [es:8*4], eax
|
||||
push dword [es:8*4]
|
||||
pop dword [.oldtimer]
|
||||
push dword [.timer]
|
||||
pop dword [es:8*4]
|
||||
; mov eax, [es:8*4]
|
||||
; mov [.oldtimer], eax
|
||||
; mov eax, [.timer]
|
||||
; mov [es:8*4], eax
|
||||
sti
|
||||
; wait for keypressed
|
||||
mov ah, 0
|
||||
xor ax,ax
|
||||
int 16h
|
||||
push ax
|
||||
; restore timer interrupt
|
||||
push 0
|
||||
pop es
|
||||
; push 0
|
||||
; pop es
|
||||
mov eax, [.oldtimer]
|
||||
mov [es:8*4], eax
|
||||
mov [.timer], eax
|
||||
@@ -508,31 +459,38 @@ cfgmanager:
|
||||
_setcursor 13,0
|
||||
.d:
|
||||
mov [.bSettingsChanged], 1
|
||||
mov si, space_msg
|
||||
call printplain
|
||||
_setcursor 15,0
|
||||
mov cx, 6
|
||||
@@:
|
||||
call printplain
|
||||
loop @b
|
||||
call clear_vmodes_table ;clear vmodes_table
|
||||
jmp .printcfg
|
||||
.change_a:
|
||||
_setcursor 15,0
|
||||
mov si, gr_mode
|
||||
call printplain
|
||||
mov bx, '09'
|
||||
call getkey
|
||||
mov [preboot_graph], al
|
||||
cmp al, 4
|
||||
ja @f
|
||||
mov si, probetext
|
||||
call printplain
|
||||
mov bx, '12'
|
||||
call getkey
|
||||
mov [preboot_gprobe], al
|
||||
@@:
|
||||
_setcursor 10,0
|
||||
.loops:
|
||||
call draw_vmodes_table
|
||||
|
||||
xor ax,ax
|
||||
int 0x16
|
||||
; call clear_table_cursor ;clear current position of cursor
|
||||
|
||||
mov si,word [cursor_pos]
|
||||
|
||||
cmp ah,0x48;x,0x48E0 ; up
|
||||
jne .down
|
||||
cmp si,modes_table
|
||||
jbe .loops
|
||||
sub word [cursor_pos],size_of_step
|
||||
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
|
||||
|
||||
.change_b:
|
||||
_setcursor 15,0
|
||||
; mov si, ask_dma
|
||||
@@ -556,6 +514,7 @@ cfgmanager:
|
||||
mov [preboot_vrrm], al
|
||||
_setcursor 12,0
|
||||
jmp .d
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
.say_on_off:
|
||||
pushf
|
||||
call print
|
||||
@@ -687,115 +646,7 @@ end if
|
||||
|
||||
; ASK GRAPHICS MODE
|
||||
|
||||
movzx ax, [preboot_graph]
|
||||
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
|
||||
|
||||
call set_vmode
|
||||
|
||||
; GRAPHICS ACCELERATION
|
||||
; force yes
|
||||
@@ -1109,7 +960,7 @@ setgr:
|
||||
int 0x10
|
||||
test ah, ah
|
||||
mov si, fatalsel
|
||||
jnz sayerr
|
||||
jnz v_mode_error
|
||||
; set mode 0x12 graphics registers:
|
||||
cmp bx, 0x12
|
||||
jne gmok2
|
||||
|
@@ -100,3 +100,9 @@ pdm4 db "create blank image",13,10,0
|
||||
loading_msg db "Loading KolibriOS...",0
|
||||
save_quest db "Remember current settings? [y/n]: ",0
|
||||
loader_block_error db "Bootloader data invalid, I cannot continue. Stopped.",0
|
||||
|
||||
_st db 186,' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ',13,10,0
|
||||
_r1 db 186,' <20> 320x200 EGA/CGA 256 colors <20>۳',13,10,0
|
||||
_r2 db 186,' <20> 640x480 VGA 16 colors <20>۳',13,10,0
|
||||
_rs db 186,' <20> ????x????@?? SVGA VESA <20>۳',13,10,0
|
||||
_bt db 186,' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',13,10,0
|
||||
|
@@ -15,51 +15,35 @@ d80x25_bottom:
|
||||
line_full_bottom
|
||||
d80x25_bottom_num = 3
|
||||
|
||||
novesa db "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: EGA/CGA",13,10,0
|
||||
vervesa db "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VESA: Vesa x.x",13,10,0
|
||||
vervesa_off=19
|
||||
msg_apm db " APM x.x ", 0
|
||||
gr_mode db 186," Vesa 2.0+ 16 M LFB: [1] 640x480, [2] 800x600, "
|
||||
db "[3] 1024x768, [4] 1280x1024",13,10
|
||||
db 186," Vesa 1.2 16 M Bnk: [5] 640x480, [6] 800x600, "
|
||||
db "[7] 1024x768, [8] 1280x1024",13,10
|
||||
db 186," EGA/CGA 256 <20><><EFBFBD>⮢: [9] 320x200, "
|
||||
db "VGA 16 <20><><EFBFBD>⮢: [0] 640x480",13,10
|
||||
db 186," <EFBFBD>롥<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>०<EFBFBD><E0A5A6>: ",0
|
||||
bt24 db "<EFBFBD><EFBFBD>㡨<EFBFBD><EFBFBD> 梥<><E6A2A5>: 24",13,10,0
|
||||
bt32 db "<EFBFBD><EFBFBD>㡨<EFBFBD><EFBFBD> 梥<><E6A2A5>: 32",13,10,0
|
||||
novesa db "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: EGA/CGA",13,10,0
|
||||
s_vesa db "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VESA: "
|
||||
.ver db "?.?",13,10,0
|
||||
|
||||
;vervesa db "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VESA: Vesa x.x",13,10,0
|
||||
;vervesa_off=19
|
||||
gr_mode db "<EFBFBD>롥<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>०<EFBFBD><E0A5A6>: ",13,10,0
|
||||
s_bpp db 13,10,186," <EFBFBD><EFBFBD>㡨<EFBFBD><EFBFBD> 梥<><E6A2A5>: "
|
||||
.bpp dw "??"
|
||||
db 13,10,0
|
||||
vrrmprint db "<EFBFBD>ᯮ<EFBFBD>짮<EFBFBD><EFBFBD><EFBFBD><EFBFBD> VRR? (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> 60 <20><>"
|
||||
db " ⮫쪮 <20><><EFBFBD> <20><><EFBFBD><EFBFBD>室<EFBFBD><E5AEA4>:",13,10
|
||||
db 186," 1024*768>800*600 <20> 800*600>640*480) [1-<2D><>, 2-<2D><><EFBFBD>]: ",0
|
||||
;askmouse db "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" ; 186, " "
|
||||
; db " [1] PS/2 (USB), [2] Com1, [3] Com2."
|
||||
; db " <20>롥<EFBFBD><EBA1A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> [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 "<EFBFBD>ᯮ<EFBFBD>짮<EFBFBD><EFBFBD><EFBFBD><EFBFBD> DMA <20><><EFBFBD> <20><><EFBFBD><EFBFBD>㯠 <20> HDD? [1-<2D><>, 2-⮫쪮 <20>⥭<EFBFBD><E2A5AD>, 3-<2D><><EFBFBD>]: ",0
|
||||
ask_bd db "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>᪨, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>१ BIOS <20> ०<><E0A5A6><EFBFBD> V86? [1-<2D><>, 2-<2D><><EFBFBD>]: ",0
|
||||
;gr_direct db 186," <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? "
|
||||
; db "[1-<2D><>/2-<2D><><EFBFBD>]: ",0
|
||||
;mem_model db 13,10,186," <20><><EFBFBD>+<2B> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [1-16 Mb / 2-32 Mb / "
|
||||
; db "3-64Mb / 4-128 Mb / 5-256 Mb]: ",0
|
||||
;bootlog db 13,10,186," <20><><EFBFBD>ᬮ<EFBFBD><E1ACAE><EFBFBD><EFBFBD><EFBFBD> <20><>ୠ<EFBFBD> <20><><EFBFBD><EFBFBD>㧪<EFBFBD>? [1-<2D><><EFBFBD>/2-<2D><>]: ",0
|
||||
bdev db "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㧨<EFBFBD><EFBFBD> <20><>ࠧ <20><> [1-<2D><>᪥<EFBFBD><E1AAA5>; 2-C:\kolibri.img (FAT32);"
|
||||
db 13,10,186," "
|
||||
db "3-<2D>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD> 㦥 <20><><EFBFBD><EFBFBD>㦥<EFBFBD><E3A6A5><EFBFBD><EFBFBD> <20><>ࠧ;"
|
||||
db 13,10,186," "
|
||||
db "4-ᮧ<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ࠧ]: ",0
|
||||
probetext db 13,10,13,10,186," <20>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>०<EFBFBD><E0A5A6>? [1-<2D><>, "
|
||||
db "2-<2D><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><>㣨<EFBFBD> (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
|
||||
;probetext db 13,10,13,10,186," <20>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>०<EFBFBD><E0A5A6>? [1-<2D><>, "
|
||||
; db "2-<2D><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><>㣨<EFBFBD> (Vesa 3.0)]: ",0
|
||||
prnotfnd db "<EFBFBD>訡<EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD>०<EFBFBD><E0A5A6> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.",0
|
||||
;modena db "<EFBFBD>訡<EFBFBD><EFBFBD> - <20>ॡ<EFBFBD><E0A5A1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>প<EFBFBD> VBE 0x112+.",0
|
||||
not386 db "<EFBFBD>訡<EFBFBD><EFBFBD> - <20>ॡ<EFBFBD><E0A5A1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 386+.",0
|
||||
btns db "<EFBFBD>訡<EFBFBD><EFBFBD> - <20><> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>।<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㡨<EFBFBD><EFBFBD> 梥<EFBFBD><EFBFBD>.",0
|
||||
;not_PENT_PRO db "<EFBFBD>訡<EFBFBD><EFBFBD> - <20>ॡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Pentium PRO <20><><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>.",0
|
||||
;btns db "<EFBFBD>訡<EFBFBD><EFBFBD> - <20><> <20><><EFBFBD><EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><>㡨<EFBFBD><E3A1A8> 梥<><E6A2A5>.",0
|
||||
fatalsel db "<EFBFBD>訡<EFBFBD><EFBFBD> - <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>०<EFBFBD><E0A5A6> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ন<EFBFBD><E0A6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.",0
|
||||
pres_key db "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD>室<EFBFBD> <20> <20>롮<EFBFBD> ०<><E0A5A6><EFBFBD><EFBFBD>.",0
|
||||
badsect db 13,10,186," <20>訡<EFBFBD><E8A8A1> - <20><>᪥<EFBFBD><E1AAA5> <20><><EFBFBD>०<EFBFBD><E0A5A6><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><E0AEA1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.",0
|
||||
memmovefailed db 13,10,186," <20>訡<EFBFBD><E8A8A1> - Int 0x15 move failed.",0
|
||||
okt db " ... OK"
|
||||
@@ -74,22 +58,18 @@ time_str db " 5 ᥪ㭤 "
|
||||
db " <20><> <20><>⮬<EFBFBD><E2AEAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AAAE> <20>த<EFBFBD><E0AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",13,10,0
|
||||
current_cfg_msg db "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>騥 <20><><EFBFBD><EFBFBD>ன<EFBFBD><E0AEA9>:",13,10,0
|
||||
curvideo_msg db " [a] <20><><EFBFBD><EFBFBD><EFBFBD>०<EFBFBD><E0A5A6>: ",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 " <20> LFB",0
|
||||
modevesa12 db ", VESA 1.2 Bnk",0
|
||||
mode9 db "320x200, EGA/CGA 256 梥⮢",0
|
||||
mode10 db "640x480, VGA 16 梥⮢",0
|
||||
probeno_msg db " (<28>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>०<EFBFBD><E0A5A6>)",0
|
||||
probeok_msg db " (<28><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ०<><EFBFBD><EFBFBD>)",0
|
||||
|
||||
mode0 db "320x200, EGA/CGA 256 梥⮢",13,10,0
|
||||
mode9 db "640x480, VGA 16 梥⮢",13,10,0
|
||||
;probeno_msg db " (<28>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>०<EFBFBD><EFBFBD>)",0
|
||||
;probeok_msg db " (<28><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ०<><E0A5A6><EFBFBD>)",0
|
||||
;dma_msg db " [b] <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD> DMA <20><><EFBFBD> <20><><EFBFBD><EFBFBD>㯠 <20> HDD:",0
|
||||
usebd_msg db " [b] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>᪨, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>१ BIOS:",0
|
||||
on_msg db " <20><><EFBFBD>",13,10,0
|
||||
off_msg db " <20>몫",13,10,0
|
||||
;readonly_msg db " ⮫쪮 <20>⥭<EFBFBD><E2A5AD>",13,10,0
|
||||
readonly_msg db " ⮫쪮 <20>⥭<EFBFBD><E2A5AD>",13,10,0
|
||||
vrrm_msg db " [c] <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD> VRR:",0
|
||||
preboot_device_msg db " [d] <20><>ࠧ <20><>᪥<EFBFBD><E1AAA5>: ",0
|
||||
preboot_device_msgs dw 0,pdm1,pdm2,pdm3,pdm4
|
||||
@@ -100,3 +80,34 @@ pdm4 db "ᮧ
|
||||
loading_msg db "<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㧪<EFBFBD> KolibriOS...",0
|
||||
save_quest db "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<>騥 <20><><EFBFBD><EFBFBD>ன<EFBFBD><E0AEA9>? [y/n]: ",0
|
||||
loader_block_error db "<EFBFBD>訡<EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>砫쭮<E7A0AB><ECADAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>稪<EFBFBD>, <20>த<EFBFBD><E0AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.",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,' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ',13,10,0
|
||||
_r1 db 186,' <20> 320x200 EGA/CGA 256 梥⮢ <20>۳',13,10,0
|
||||
_r2 db 186,' <20> 640x480 VGA 16 梥⮢ <20>۳',13,10,0
|
||||
_rs db 186,' <20> ????x????@?? SVGA VESA <20>۳',13,10,0
|
||||
_bt db 186,' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',13,10,0
|
||||
|
||||
;_tl db 186,' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ',13,10,\
|
||||
; 186,' <20> 4 <20> 8 <20> 15 <20> 16 <20> 24 <20> 32 <20>',13,10,\
|
||||
; 186,' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ',13,10,0
|
||||
;_rs db 186,' <20> ????x???? <20> <20> <20> <20> <20> <20> <20>۳',13,10,0
|
||||
;_bt db 186,' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',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
|
||||
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)
|
||||
align 8
|
||||
movedesc:
|
||||
|
Reference in New Issue
Block a user