commit c4aaef473baa5b3e4899eb975e11601c380ae31f from: marcus date: Fri Jan 11 16:18:05 2002 UTC Added SCO color hack mode. commit - ec7985638c8c74b6456c80f310a75fd79dcec1a1 commit + c4aaef473baa5b3e4899eb975e11601c380ae31f blob - e11f53c3a7c2cb3d68f58c1966d86f579f3545cb blob + bb722db4d2801d77445456d8c2a9d07ba04c03bc --- de/mud/terminal/vt320.java +++ de/mud/terminal/vt320.java @@ -446,7 +446,7 @@ public abstract class vt320 extends VDU implements Key boolean useibmcharset = false; int lastwaslf = 0; - boolean usedcharsets = false; + boolean usedcharsets = false; private final static char ESC = 27; private final static char IND = 132; @@ -1117,8 +1117,8 @@ public abstract class vt320 extends VDU implements Key System.out.println("char > 255:"+(int)c); //return; } - + switch (term_state) { case TSTATE_DATA: /* FIXME: we shouldn't use chars with bit 8 set if ibmcharset. @@ -2160,16 +2160,32 @@ public abstract class vt320 extends VDU implements Key if (DCEvar>0) attributes =0; break; + case 1: + attributes |= BOLD; + attributes &= ~LOW; + break; case 2: - attributes |= LOW; + if ((DCEvar >= 2) && (i==0)) { + /* SCO mode */ + int ncolor; + attributes &= ~(0x7f8|BOLD); + + ncolor = DCEvars[1]; + ncolor = ((ncolor&1)<<2)|(ncolor&2)|((ncolor&4)>>2); + attributes |= ((ncolor)+1)<<3; + if ((ncolor & 8)==8) + attributes |= BOLD; + ncolor = DCEvars[2]; + ncolor = ((ncolor&1)<<2)|(ncolor&2)|((ncolor&4)>>2); + attributes |= ((ncolor)+1)<<7; + i+=2; + } else { + attributes |= LOW; + } break; case 4: attributes |= UNDERLINE; break; - case 1: - attributes |= BOLD; - attributes &= ~LOW; - break; case 7: attributes |= INVERT; break;