summaryrefslogtreecommitdiff
path: root/vbe_display_api.txt
diff options
context:
space:
mode:
authorJeroen Janssen <japj@xs4all.nl>2002-03-08 20:31:41 +0000
committerJeroen Janssen <japj@xs4all.nl>2002-03-08 20:31:41 +0000
commit31b108c7bb1d44cdc4b94b383c29a283272f4bd0 (patch)
treea29369657a89ccac1bbfdb40957e20578f3573d5 /vbe_display_api.txt
parent646f62d48d562f0622cc9f55d0b4384c9ab3d944 (diff)
downloadqemu-vgabios-31b108c7bb1d44cdc4b94b383c29a283272f4bd0.tar.gz
- adding some text about how banks work
Diffstat (limited to 'vbe_display_api.txt')
-rw-r--r--vbe_display_api.txt17
1 files changed, 17 insertions, 0 deletions
diff --git a/vbe_display_api.txt b/vbe_display_api.txt
index 94adcce..a04a25f 100644
--- a/vbe_display_api.txt
+++ b/vbe_display_api.txt
@@ -131,7 +131,24 @@ API
* VBE_DISPI_INDEX_BANK : WORD
This parameter can be used to read/write the current selected BANK (at 0xA0000).
This can be used for switching banks in banked mode.
+
+
+Displaying GFX
+--------------
+ Currently Linear Frame Buffer support is not available yet.
+ The only other way of displaying (VBE) graphics is using banked modi.
+
+ What happens is that the total screen is devided in banks of 'VBE_DISPI_BANK_SIZE_KB' KiloByte in size.
+ If you want to set a pixel you can calculate its bank by doing:
+
+ offset = pixel_x + pixel_y * resolution_x;
+ bank = offset / 64 Kb (rounded 1.9999 -> 1)
+ bank_pixel_pos = offset - bank * 64Kb
+
+ Now you can set the current bank and put the pixel at VBE_DISPI_BANK_ADDRESS + bank_pixel_pos
+
+
Notes
-----
* Currently only Banked modi are 'officially' supported (although 320x200x8 LFB is available in the bios atm).