Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-1-5]: src/sys/arch/pmax/dev Pullup 1.46 [mhitch]:



details:   https://anonhg.NetBSD.org/src/rev/f2302b8f7a1b
branches:  netbsd-1-5
changeset: 490157:f2302b8f7a1b
user:      tv <tv%NetBSD.org@localhost>
date:      Sun Nov 05 22:37:45 2000 +0000

description:
Pullup 1.46 [mhitch]:
>From Andrew Doran:
Fix 2100/3100 monochrome font display problem.  Characters were being
rendered as a mirror-image, which was a bit hard to read.

diffstat:

 sys/arch/pmax/dev/rcons.c |  34 ++++++++++++++++++++++++++--------
 1 files changed, 26 insertions(+), 8 deletions(-)

diffs (60 lines):

diff -r 2dc3b5f99429 -r f2302b8f7a1b sys/arch/pmax/dev/rcons.c
--- a/sys/arch/pmax/dev/rcons.c Sun Nov 05 21:44:38 2000 +0000
+++ b/sys/arch/pmax/dev/rcons.c Sun Nov 05 22:37:45 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: rcons.c,v 1.41.4.2 2000/06/30 16:27:34 simonb Exp $    */
+/*     $NetBSD: rcons.c,v 1.41.4.3 2000/11/05 22:37:45 tv Exp $        */
 
 /*
  * Copyright (c) 1995
@@ -97,15 +97,29 @@
        struct fbinfo *info;
 {
        static struct rasops_info ri;
-       int cookie;
+       int cookie, epwf, bior;
 
-       /* TC mfb has special needs; 8-bits per pel, but monochrome */
-       if (info->fi_type.fb_boardtype == PMAX_FBTYPE_MFB) {
+       /* XXX */
+       switch (info->fi_type.fb_boardtype) {
+       case PMAX_FBTYPE_MFB:
                ri.ri_depth = 8;
                ri.ri_flg = RI_CLEAR | RI_FORCEMONO;
-       } else {
+               epwf = 0;
+               bior = WSDISPLAY_FONTORDER_L2R;
+               break;
+       case PMAX_FBTYPE_PM_MONO:
+       case PMAX_FBTYPE_PM_COLOR:
                ri.ri_depth = info->fi_type.fb_depth;
                ri.ri_flg = RI_CLEAR;
+               epwf = 1;
+               bior = WSDISPLAY_FONTORDER_R2L;
+               break;
+       default:
+               ri.ri_depth = info->fi_type.fb_depth;
+               ri.ri_flg = RI_CLEAR;
+               epwf = (ri.ri_depth != 8);
+               bior = WSDISPLAY_FONTORDER_L2R;
+               break;
        }
 
        ri.ri_width = info->fi_type.fb_width;
@@ -115,9 +129,13 @@
 
        wsfont_init();
 
-       /* Choose 'Gallant' font if this is an 8-bit display */
-       if (ri.ri_depth == 8 && (cookie = wsfont_find("Gallant", 0, 0, 0)) > 0)
-               wsfont_lock(cookie, &ri.ri_font, WSDISPLAY_FONTORDER_L2R, 
+       if (epwf)
+               cookie = wsfont_find(NULL, 8, 0, 0);
+       else
+               cookie = wsfont_find("Gallant", 0, 0, 0);
+
+       if (cookie > 0)
+               wsfont_lock(cookie, &ri.ri_font, bior,
                    WSDISPLAY_FONTORDER_L2R);
 
        /* Get operations set and set framebugger colormap */



Home | Main Index | Thread Index | Old Index