OSDev Series: Graphics 2

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
Post Reply
User avatar
neon
Member
Member
Posts: 1567
Joined: Sun Feb 18, 2007 7:28 pm
Contact:

OSDev Series: Graphics 2

Post by neon »

Hello everyone,

This is an initial release for the OSDev Series Graphics 2 article which covers VGA firmware, hardware, and some SuperVGA with an emphasis on VBE. The goal is to provide enough content to provide readers the basic display device interfaces system software can use for setting and using low and high resolution display modes.

Topics:
1. Interfacing with the BIOS
2. VGA (modes, firmware and hardware interface, setting modes, linear and planar memory)
3. SuperVGA interfacing (problems, VBE, LFB and bank switching)
Additional content on SuperVGA might be added in the future.

Complete demos are planned for release sometime in the next 1-2 weeks. All feedback is appreciated (particularly any errors that might be found.) Also we are trying different layouts for all articles in the future; please let us know if you like or have suggestions on the layout.
OS Development Series | Wiki | os | ncc
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
Antti
Member
Member
Posts: 923
Joined: Thu Jul 05, 2012 5:12 am
Location: Finland

Re: OSDev Series: Graphics 2

Post by Antti »

Your layout looks good. Especially I like that you do not have "Add comments / Like buttons" features. I mean it. This kind of "static content" is good in the long term. Forums are for discussions.
User avatar
iansjack
Member
Member
Posts: 4685
Joined: Sat Mar 31, 2012 3:07 am
Location: Chichester, UK

Re: OSDev Series: Graphics 2

Post by iansjack »

I haven't been through it all yet, but that looks like really useful stuff. Also I'll be checking out your other tutorial material.

Thank you so much for taking the trouble to compile this material and point us towards it.
User avatar
Luis
Member
Member
Posts: 39
Joined: Sat Feb 16, 2013 11:19 am

Re: OSDev Series: Graphics 2

Post by Luis »

Hi,

That is a great start. It cleared up some basics I was having trouble to understand. Can't wait for what's coming next :)
Thank you very much for your work.


Cheers,

Luís
User avatar
~
Member
Member
Posts: 1226
Joined: Tue Mar 06, 2007 11:17 am
Libera.chat IRC: ArcheFire

Re: OSDev Series: Graphics 2

Post by ~ »

Do you have the register values for all standard, and maybe all of the possible modes?

This information does not exist in a single place and very ordered, as far as I know.

And in the end this is one of the most useful and necessary things to include.

________________________
Another thing that is absolutely lacking is: What does every VGA register really does, and what exactly does each bit value means?

I think I could provide some very small amount of code and information about this, obtained mostly querying the hardware manually with my LowEST project, and also because I am trying to implement a VGA emulator using HTML5 Canvas.

I think that in the long run such emulator could aid as an interactive VGA tutorial in the browser:

http://126.sytes.net/brainstorm/VGAEmu/

As you can see however, it is far too incipient, but it is something.
YouTube:
http://youtube.com/@AltComp126

My x86 emulator/kernel project and software tools/documentation:
http://master.dl.sourceforge.net/projec ... 7z?viasf=1
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: OSDev Series: Graphics 2

Post by Combuster »

~ wrote:Do you have the register values for all standard, and maybe all of the possible modes? This information does not exist in a single place and very ordered, as far as I know.
This tool has the biggest list that I know of - including those settings that can burn out old VGA monitors and induce epilepsy. You could have searched the wiki and find the page on VGA Hardware for the common ones. However, even a VGA can do more resolutions than you can count in a 16-bit number, so an exhaustive list is not meaningful - there are ways to calculate the settings for practically all the modes.

Add the VGA Resources page, and you can answer all the remaining questions as well... A tutorial should not be a replacement for the manual and as such shouldn't want to list all the bitfields and their meanings either.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
Post Reply