Question

I am doing my own OS(from scratch) which is not based on any pre-existing kernels or OS. So i know screen is divided into 80*25 and i know that usually it is like 0xB8000 can hold a attributes of character in 0xB8001 and i know only that much.

But how to display an image on screen pixel by pixel? how do i address each pixel and send the data(colour)?

Currently i am printing text on screen using 0xB8000. so if i address 0xB8000 am i adressing a pixel? I am not at all clear in this aspect. so pls help.

please note that i am not using and i can't use any graphic libraries or so because i'm building my own OS from scratch.

I want to do this in C even though i know assembly

Was it helpful?

Solution

80x25 is so called "text mode", that is a byte in memory corresponds to a character on the monitor. You normally switch video adapter into "graphics mode" and you have pixel space.

You can start your reading from here: CGA - Standard Text Modes.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top