[OpenBIOS] [PATCH 12/16] display.fs: Fix fb8 routines to work with bit depths > 8.

Mark Cave-Ayland mark.cave-ayland at ilande.co.uk
Sun Mar 10 17:50:42 CET 2013


The IEEE1275 specification suggests that the fb8-* routines can be coerced
into working for framebuffers with greater bit depths. Make sure that we
also support this.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>
---
 openbios-devel/forth/device/display.fs |   11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/openbios-devel/forth/device/display.fs b/openbios-devel/forth/device/display.fs
index f59ef1f..07aaed5 100644
--- a/openbios-devel/forth/device/display.fs
+++ b/openbios-devel/forth/device/display.fs
@@ -168,7 +168,7 @@ defer fb8-invertrect
 
 : fb8-line2addr ( line -- addr )
   window-top +
-  screen-width * 
+  screen-width * depth-bytes *
   frame-buffer-adr + 
   window-left +
 ;
@@ -176,12 +176,12 @@ defer fb8-invertrect
 : fb8-copy-line ( from to -- )
   fb8-line2addr swap 
   fb8-line2addr swap 
-  #columns char-width * move
+  #columns char-width * depth-bytes * move
 ;
 
 : fb8-clear-line ( line -- )
   fb8-line2addr 
-  #columns char-width * 
+  #columns char-width * depth-bytes *
   background-color fill
 \ 0 fill
 ;
@@ -189,8 +189,9 @@ defer fb8-invertrect
 : fb8-draw-character ( char -- )
   \ draw the character:
   >font  
-  line# char-height * window-top + screen-width *
-  column# char-width * window-left + + frame-buffer-adr +
+  line# char-height * window-top + screen-width * depth-bytes *
+  column# char-width * depth-bytes *
+  window-left depth-bytes * + + frame-buffer-adr +
   swap char-width char-height
   \ normal or inverse?
   foreground-color background-color
-- 
1.7.10.4




More information about the OpenBIOS mailing list