diff options
Diffstat (limited to 'sys/arch/amiga/dev/ite_cl.c')
-rw-r--r-- | sys/arch/amiga/dev/ite_cl.c | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/sys/arch/amiga/dev/ite_cl.c b/sys/arch/amiga/dev/ite_cl.c index bb77741be02..67588ee2135 100644 --- a/sys/arch/amiga/dev/ite_cl.c +++ b/sys/arch/amiga/dev/ite_cl.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ite_cl.c,v 1.2 1996/05/02 06:44:11 niklas Exp $ */ +/* $OpenBSD: ite_cl.c,v 1.3 2000/04/28 15:27:07 espie Exp $ */ /* $NetBSD: ite_cl.c,v 1.2 1996/04/21 21:11:57 veego Exp $ */ /* @@ -161,16 +161,37 @@ cl_putc(ip, c, dy, dx, mode) unsigned char attr; unsigned char *cp; +#if 0 attr =(unsigned char) ((mode & ATTR_INV) ? (0x70) : (0x07)); if (mode & ATTR_UL) attr = 0x01; /* ???????? */ if (mode & ATTR_BOLD) attr |= 0x08; if (mode & ATTR_BLINK) attr |= 0x80; +#endif + attr = 2; + switch (mode & (ATTR_UL | ATTR_BLINK)) { + case 0: + break; + case ATTR_UL: + attr += 2; + break; + case ATTR_BLINK: + attr += 4; + break; + case ATTR_BLINK | ATTR_UL: + attr += 7; + break; + } + if (mode & ATTR_BOLD) + attr++; + + if (mode & ATTR_INV) + attr <<= 4; cp = fb + ((dy * ip->cols) + dx); SetTextPlane(ba,0x00); *cp = (unsigned char) c; SetTextPlane(ba,0x01); - *cp = (unsigned char) attr; + *cp = attr; } void |