VGA Resources: Difference between revisions
Jump to navigation
Jump to search
[unchecked revision] | [unchecked revision] |
Content deleted Content added
No edit summary |
m Dead link, replaced it with Wayback Machine |
||
(One intermediate revision by one other user not shown) | |||
Line 5: | Line 5: | ||
* [http://www.google.com/search?hl=en&ie=UTF-8&q=VGA+registers+programming&btnG=Google+Search Google Search "VGA registers programming"], |
* [http://www.google.com/search?hl=en&ie=UTF-8&q=VGA+registers+programming&btnG=Google+Search Google Search "VGA registers programming"], |
||
* [http://files.osdev.org/mirrors/geezer/osd/graphics/index.htm OSD: Graphics] From Chris Giese, containing many code snippets. |
* [http://files.osdev.org/mirrors/geezer/osd/graphics/index.htm OSD: Graphics] From Chris Giese, containing many code snippets. |
||
* [http://atschool.eduweb.co.uk/camdean/pupils/amac/vga.htm Tutorial on VGA graphics] including basis of font and line rendering, palette setting, unchained mode, etc. |
* [http://web.archive.org/web/20140218012818/http://atschool.eduweb.co.uk/camdean/pupils/amac/vga.htm Tutorial on VGA graphics] including basis of font and line rendering, palette setting, unchained mode, etc. |
||
* [https://github.com/FlingOS/FlingOS/tree/develop/Kernel/Libraries/Kernel.VGA FlingOS VGA Driver] has a good (low-performance but easy to read, protected-mode) VGA driver supporting text and graphical modes |
* [https://github.com/FlingOS/FlingOS/tree/develop/Kernel/Libraries/Kernel.VGA FlingOS VGA Driver] has a good (low-performance but easy to read, protected-mode) VGA driver supporting text and graphical modes |
||
Line 20: | Line 20: | ||
* The VESA home page: http://www.vesa.org |
* The VESA home page: http://www.vesa.org |
||
* Emulating VESA calls from protected mode: [[Virtual 8086 Mode]], or use a library like [https://github.com/wfeldt/libx86emu libx86emu]. Xfree86 used [https://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/x86emu this code] to access VESA functions on Linux. |
|||
==== Selected coding tricks ==== |
==== Selected coding tricks ==== |
Latest revision as of 20:15, 19 November 2020
VGA Resources
- This wiki
- Google Search "VGA registers programming",
- OSD: Graphics From Chris Giese, containing many code snippets.
- Tutorial on VGA graphics including basis of font and line rendering, palette setting, unchained mode, etc.
- FlingOS VGA Driver has a good (low-performance but easy to read, protected-mode) VGA driver supporting text and graphical modes
Free VGA
- Graphics Registers -- control the way the CPU accesses video RAM.
- Sequencer Registers -- control how video data is sent to the DAC.
- Attribute Controller Registers -- selects the 16 color and 64 color palettes used for EGA/CGA compatibility.
- CRT Controller Registers -- control how the video is output to the display.
- Color Registers -- selects the 256 color palette from the maximum possible colors.
- External Registers -- miscellaneous registers used to control video operation.
SVGA resources
- The VESA home page: http://www.vesa.org
- Emulating VESA calls from protected mode: Virtual 8086 Mode, or use a library like libx86emu. Xfree86 used this code to access VESA functions on Linux.
Selected coding tricks
- 90x60 text mode from Chris Giese <geezer@execpc.com>
- Changing text/graphic mode and fonts -- this also has code for switching video modes without bios