Bochs VBE Extensions: Difference between revisions

Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
m Added link to VBE
Candy (talk | contribs)
Added getcaps stuff based on bochs code search
Line 91: Line 91:
=== Clearing display memory ===
=== Clearing display memory ===
When enabling the VBE extensions, Bochs clears the video memory (i.e. sets all bytes to 0). To prevent this from happening, use the VBE_DISPI_NOCLEARMEM flag (0x80) when enabling the VBE extensions (so write a value of VBE_DISPI_ENABLED | VBE_DISPI_NOCLEARMEM (0x81) for banked mode and VBE_DISPI_ENABLED | VBE_DISPI_LFB_ENABLED | VBE_DISPI_NOCLEARMEM (0xC1) for LFB).
When enabling the VBE extensions, Bochs clears the video memory (i.e. sets all bytes to 0). To prevent this from happening, use the VBE_DISPI_NOCLEARMEM flag (0x80) when enabling the VBE extensions (so write a value of VBE_DISPI_ENABLED | VBE_DISPI_NOCLEARMEM (0x81) for banked mode and VBE_DISPI_ENABLED | VBE_DISPI_LFB_ENABLED | VBE_DISPI_NOCLEARMEM (0xC1) for LFB).

=== Finding out capabilities ===

Based on source code examination for Bochs (iodev/vga.cc) setting VBE_DISPI_GETCAPS in VBE_DISPI_INDEX_ENABLE makes the VBE_DISPI_INDEX_ (XRES / YRES / BPP) fields return their maximum values when read instead of the current values.


=== Miscellaneous ===
=== Miscellaneous ===
[TODO: check and describe VBE_DISPI_INDEX_VIRT_WIDTH/HEIGHT, VBE_DISPI_INDEX_X/Y_OFFSET, VBE_DISPI_GETCAPS, VBE_DISPI_8BIT_DAC]
[TODO: check and describe VBE_DISPI_INDEX_VIRT_WIDTH/HEIGHT, VBE_DISPI_INDEX_X/Y_OFFSET, VBE_DISPI_8BIT_DAC]


=== Example code ===
=== Example code ===