VGA Resources: Difference between revisions
Jump to navigation
Jump to search
[unchecked revision] | [unchecked revision] |
Content deleted Content added
mNo edit summary |
m Dead link, replaced it with Wayback Machine |
||
(4 intermediate revisions by 4 users not shown) | |||
Line 2: | Line 2: | ||
== VGA Resources == |
== VGA Resources == |
||
* [[:Category:VGA|This wiki]] |
|||
* [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 |
|||
=== [http://www.osdever.net/FreeVGA/vga/vga.htm Free VGA] === |
=== [http://www.osdever.net/FreeVGA/vga/vga.htm Free VGA] === |
||
Line 18: | 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 ==== |
||
* [http://files.osdev.org/mirrors/geezer/software/90x60.asm 90x60 text mode] from Chris Giese <geezer@execpc.com> |
* [http://files.osdev.org/mirrors/geezer/software/90x60.asm 90x60 text mode] from Chris Giese <geezer@execpc.com> |
||
* [http://files.osdev.org/mirrors/geezer/osd/graphics/modes.c Changing text mode |
* [http://files.osdev.org/mirrors/geezer/osd/graphics/modes.c Changing text/graphic mode and fonts] -- this also has code for switching video modes without bios |
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