Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet von: __OS_coder am 20. July 2006, 21:55
-
Hi,
Wie bekomme ich Grub dazu, dass er mir den Videomodus 800x600 mit 16Bit Farbtiefe einschaltet?
Ich habe Grub mit den VBE Mods... Mein Code sieht so aus, aber er färbt den Bildschirm net :(
; multiboot config
MBOOT_FLAGS equ MBOOT_PAGE_ALIGN | MBOOT_MEMORY_INFO | MBOOT_AOUT_KLUDGE | MBOOT_VIDEO_INFO
; start of file
_start_of_file:
; MBoot Header, 4-byte aligned
align 4, db 0
_mboot:
dd MBOOT_MAGIC
dd MBOOT_FLAGS
dd 0 - MBOOT_MAGIC - MBOOT_FLAGS
dd _mboot
dd _start_of_file
dd _end_of_data
dd _end_of_file
dd _entry_point
dd 0
dd 800
dd 600
dd 16
_entry_point:
; get VbePhysBasePtr
mov edx, dword [ebx+mbti_vbe_mode_info]
mov eax, dword [edx+VbeModePhysBasePtr]
mov dword [VbePhysBasePtr], eax
; color screen
mov edi, dword [VbePhysBasePtr]
mov eax, 0xCC
mov ecx, 600 * 800
rep stosd
; data section
VbePhysBasePtr dd 0
_end_of_data:
; bss section
_end_of_file
Die Labels mbti_vbe_mode_info und VbeModePhysBasePtr sind die entsprechenden Offsets in der Multiboot Struc bzw. VbeModeInfo Struc
Hier meine menu.lst:
timeout 8
default 0
title testOS
root (fd0)
kernel /boot/loader.gz
vbematch 800 600 16
Könnt ihr mir da irgendwie weiterhelfen?
danke ;)
-
:oops: du hast den patch ja schon....
-
jaa... hast du denn keine ahnung, was falsch sein könnte?
-
Hat denn keiner hier in dieser wunderbaren Community eine Idee was falsch sein könnte? :shock: :(
Bitte helft mir! XD
-
Das Problem hat sich durch die wunderbare Mitarbeit bluecode's im ICQ geklärt... wer es wissen möchte... ick hab den loader vorher gehangt deswegen, ist der code, der den bildschirm färbt, nie ausgeführt worden... nochmal vielen dank an bluecode