OSDev.org https://forum.osdev.org/ |
|
Finding 4-color standard graphics mode 4h register values https://forum.osdev.org/viewtopic.php?f=1&t=32234 |
Page 1 of 1 |
Author: | ~ [ Fri Jul 21, 2017 6:46 pm ] |
Post subject: | Finding 4-color standard graphics mode 4h register values |
I need a place to find the actual register values for VGA so that I can manually set 320x200 4-color graphics mode (BIOS mode 4h). So far, my kernel has the registers for: - 80x25 16-color text mode. - 640x480 16-color. - 320x200 256 colors. - 320x200 Mode X. Also, is there some way or some tool to read all the VGA registers and save them while I'm running a given video mode? |
Author: | Gigasoft [ Sat Jul 22, 2017 5:34 am ] |
Post subject: | Re: Finding 4-color standard graphics mode 3h register value |
Mode 3 is 80x25 text mode. You mean mode 4. The registers are set as follows: Clocking mode: 09h Map mask: 03h Character map: 00h Memory mode: 02h Output register: 63h CRTC registers: 2Dh, 27h, 28h, 90h, 2Ah, 80h, 0BFh, 1Fh, 0, 0C1h, 0, 0, 0, 0, 0, 0, 9Ch, 8Eh, 8Fh, 14h, 0, 96h, 0B9h, 0A2h, 0FFh Attribute controller registers: 0, 13h, 15h, 17h, 2, 4, 6, 7, 10h, 11h, 12h, 13h, 14h, 15h, 16h, 17h, 1, 0, 3, 0 Graphics registers: 0, 0, 0, 0, 0, 30h, 0fh, 0, 0ffh You read the VGA registers like this: - To read an attribute controller register, write the index normally and read the data from port 3C1h. - To read the output register, read from port 3CCh. - To read color registers, write the starting index to port 3C7h and read color triplets sequentially from port 3C9h. - To read any other register, write the index normally and read the data from the corresponding data port. |
Page 1 of 1 | All times are UTC - 6 hours |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |