Looking at the core of the Computer System (x86), all I/O accesses are done via port I/O and memory-mapped I/O. A computer monitor is also an output device, therefore I'm looking to learn about the hardware and software interfaces that make this device run.
I've been doing a bit of Operating systems development, and want to know more about graphics cards, video controllers, etc.
I would like to know what controllers are present a typical monitor, and our chipset (motherboard).
Where does a graphics card come into the picture? Is the graphics card directly connected to the monitor?
Often when starting with OsDev, 0xb8000 is our best friend, and I often just keep it as an abstraction to deal with other things in the kernel. Is writing to 0xA0000 - 0xBF000 memory-mapped I/O? If so, which device is it mapped to?
Where does a VGA controller come into the picture? Is it present in the graphics card? What about VESA, etc. ? If the VGA controller is present on the chipset, what is its port number? (If port I/O)
Where does Video BIOS come into the picture?? I'm guessing it's located in some sort of ROM in a graphics card.
These are just a few questions that I have of the top of my head. I might follow up with a bit more.
The interface provided by the video screen
-
- Member
- Posts: 106
- Joined: Sat Feb 08, 2020 11:11 am
- Libera.chat IRC: sunnysideup
Re: The interface provided by the video screen
Have you done any research on Google, or even in this wiki? There's a wealth of information there. There are also books about PC hardware that are worth a look.
-
- Member
- Posts: 106
- Joined: Sat Feb 08, 2020 11:11 am
- Libera.chat IRC: sunnysideup
Re: The interface provided by the video screen
Yes, I have
I mostly want this topic to be something I can use to explore how an experienced low level programmer sees the video system. Perhaps some insights and tips...
I wouldn't mind book suggestions / resource suggestions either.
I mostly want this topic to be something I can use to explore how an experienced low level programmer sees the video system. Perhaps some insights and tips...
I wouldn't mind book suggestions / resource suggestions either.
Re: The interface provided by the video screen
There's a thread in this forum that consists of Book Recommendations. The latest post in it looks like it answers many of your questions.
Re: The interface provided by the video screen
Framebuffers. You write into them, and somehow stuff appears on the screen. That is all there is to it. Whether that is the graphics card doing that or the Easter Bunny, I don't rightly care. I have no reason to care. I only care about frame buffer base address, width, height, and pitch. And structure, but that is mostly uniform these days.sunnysideup wrote:I mostly want this topic to be something I can use to explore how an experienced low level programmer sees the video system.
Carpe diem!