Graphics Standard
Graphics Standard
I'm looking for a standard to use high res modes under pm.
my vesa 3.0 only supports 800x600x32.
isn't it possible to use the vga standard to get to 1024x768x32?
any tutorial or samples?
my vesa 3.0 only supports 800x600x32.
isn't it possible to use the vga standard to get to 1024x768x32?
any tutorial or samples?
RE:Graphics Standard
no it is not.
the highest possible vga res. is 640x480 with only 16 colors..
but it would do as a start-up mode until the user has made the settings for his/hers vesa card..
it should be easy to get some (quite old) info on this vga mode.
try searching for "vga +mode 12h" or something..
in dos you go into this mode by calling a bios interrupt (nr 13), with service nr (forgot it..) and put the mode nr (0x0012) in al(or is it ax?), but of course it would be harder to get mode 12h in protected mode..
hope this helped
/ Christoffer
the highest possible vga res. is 640x480 with only 16 colors..
but it would do as a start-up mode until the user has made the settings for his/hers vesa card..
it should be easy to get some (quite old) info on this vga mode.
try searching for "vga +mode 12h" or something..
in dos you go into this mode by calling a bios interrupt (nr 13), with service nr (forgot it..) and put the mode nr (0x0012) in al(or is it ax?), but of course it would be harder to get mode 12h in protected mode..
hope this helped
/ Christoffer
RE:Graphics Standard
In real mode:
-> MOV AX, 0x0012
-> INT 0x10
In protected mode you have to work directly with video card IO space.
-> MOV AX, 0x0012
-> INT 0x10
In protected mode you have to work directly with video card IO space.
RE:Graphics Standard
by the way, i saw a pretty cool vga libary somewhere (biona fides os dev site?), that uses the vga registers to set vga modes (like mode 12h and mode x).
The only BIOS int used in the code is for getting the BIOS fonts, but you should be able to write your own fonts..
/ Christoffer
The only BIOS int used in the code is for getting the BIOS fonts, but you should be able to write your own fonts..
/ Christoffer
RE:Graphics Standard
I already set vga-mode 320x240x8 using ports under pm.
I need to know how to set hingher resolutions without vbe3.
I need to know how to set hingher resolutions without vbe3.
RE:Graphics Standard
>my vesa 3.0 only supports 800x600x32
Are you shure that you can set higer modes(like in windows)? Mabe it is the higest you can set on your video card?(Check the video memory amount) Becase my old(8 year old card) can set 1024x768x32 with out a problem.
Anton.
Are you shure that you can set higer modes(like in windows)? Mabe it is the higest you can set on your video card?(Check the video memory amount) Becase my old(8 year old card) can set 1024x768x32 with out a problem.
Anton.
RE:Graphics Standard
Then you'll have to look into the specific chipset used by your graphics card (which is what, btw?)
Search for VGADOC... it has API info on many (S)VGA chipsets in use today.
Cheers,
Jeff
Search for VGADOC... it has API info on many (S)VGA chipsets in use today.
Cheers,
Jeff
RE:Graphics Standard
I've checked the list for the highest res with 32 bits.
i dont't know how to get infos about my chipset.
i use the winfast a350td (geforce 5900u).
i guess they dont't provide any info.
i dont't know how to get infos about my chipset.
i use the winfast a350td (geforce 5900u).
i guess they dont't provide any info.
RE:Graphics Standard
There is a function in Vesa 2.0/3.0 that lets you get protected mode function calls for getting vesa mode information, setting different vesa modes, page flipping etc. You would have to get this information before you enter protected mode then pass a 32bit pointer with the information to your kernel just before you run the kernel. Here is the (partial) vesa interrupt function information for getting that protected mode interface. One last thing, use the video mode list found from function 4f00 and NOT the ones defined the the vesa manual! The mode numbers in most of the newer cards are different that described in the vesa 2.0/3.0 manual. Read the vesa text for specific information:
----------
4.13. Function 0Ah - Return VBE Protected Mode Interface
This required function call returns a pointer to a table that contains
code for a 32-bit protected mode interface that can either be copied
into local 32 bit memory space or can be executed from ROM providing
the calling application sets all required selectors and I/O access
correctly. This function returns a pointer (in real mode space) with
offsets to the code fragments, and additionally returns an offset to a
table which contains Non-VGA Port and Memory locations which an
Application may have to have I/O access to.
Input: AX = 4F0Ah VBE 2.0 Protected Mode Interface
BL = 00h Return protected mode table
Output: AX = Status
ES = Real Mode Segment of Table
DI = Offset of Table
CX = Length of Table including protected mode code
(for copying purposes)
The format of the table is as follows:
ES:DI + 00h Word Offset in table of Protected mode code for
Function 5 for Set Window Call
ES:DI + 02h Word Offset in table of Protected mode code for
Function 7 for set Display Start
ES:DI + 04h Word Offset in table of Protected mode code for
Function 9 for set Primary Palette data
ES:DI + 06h Word Offset in table of Ports and Memory Locations
that the application may need I/O privilege for.
(Optional: if unsupported this must be 0000h)
(See Sub-table for format)
ES:DI + ? Variable remainder of Table including Code
----------
4.13. Function 0Ah - Return VBE Protected Mode Interface
This required function call returns a pointer to a table that contains
code for a 32-bit protected mode interface that can either be copied
into local 32 bit memory space or can be executed from ROM providing
the calling application sets all required selectors and I/O access
correctly. This function returns a pointer (in real mode space) with
offsets to the code fragments, and additionally returns an offset to a
table which contains Non-VGA Port and Memory locations which an
Application may have to have I/O access to.
Input: AX = 4F0Ah VBE 2.0 Protected Mode Interface
BL = 00h Return protected mode table
Output: AX = Status
ES = Real Mode Segment of Table
DI = Offset of Table
CX = Length of Table including protected mode code
(for copying purposes)
The format of the table is as follows:
ES:DI + 00h Word Offset in table of Protected mode code for
Function 5 for Set Window Call
ES:DI + 02h Word Offset in table of Protected mode code for
Function 7 for set Display Start
ES:DI + 04h Word Offset in table of Protected mode code for
Function 9 for set Primary Palette data
ES:DI + 06h Word Offset in table of Ports and Memory Locations
that the application may need I/O privilege for.
(Optional: if unsupported this must be 0000h)
(See Sub-table for format)
ES:DI + ? Variable remainder of Table including Code
RE:Graphics Standard
i haven't found anything about my nvidia chipset
(geforce fx5900u)
(geforce fx5900u)
RE:Graphics Standard
i already have the vbe3.pdf.
i set up everything and called the pminitialize function from pm.
i guess it works because the function returns without errors.
if i call the pmentrypoint, my computer beeps.
i don't know where to find infos about my nvidia chipset.
can't anybody help me?
i set up everything and called the pminitialize function from pm.
i guess it works because the function returns without errors.
if i call the pmentrypoint, my computer beeps.
i don't know where to find infos about my nvidia chipset.
can't anybody help me?
RE:Graphics Standard
Seems like your card doesn't support vbe3, how about trying vbe2 or vbe1?
RE:Graphics Standard
There is a program in allegro (the games iib) that lets you test all vesa mode on your sys,this is good for testing.
Also if you are useing xp,On some cards ,it only lets the lower modes work even if they are there.
ASHLEY4.
Also if you are useing xp,On some cards ,it only lets the lower modes work even if they are there.
ASHLEY4.