I would like to know what the working principles of blinking and underlined characters in original hercules hardware are? They just superimpose underline pixels on the original characters or they just use different character sets?
Do you think it is possible to add these features to dosbox?
Thanks
Jack
lucky7456969 wrote:I would like to know what the working principles of blinking and underlined characters in original hercules hardware are? They j […] Show full quote
I would like to know what the working principles of blinking and underlined characters in original hercules hardware are? They just superimpose underline pixels on the original characters or they just use different character sets?
Do you think it is possible to add these features to dosbox?
Thanks
Jack
Pretty sure the original Hercules had just one 9x14 character set in ROM, so for underlined characters it superimposed a row of pixels, just like an IBM MDA.
DOSBox 0.74 supports both blinking and underlined text just fine... where exactly is the problem?
1 case 'm': /* SGR */ 2 for(i=0;i<=ansi.numberofarg;i++){ 3 ansi.enabled=true; 4 switch(ansi.data[i]){ 5 case 0: /* normal */ 6 ansi.attr=0x07;//Real ansi does this as well. (should do current defaults) 7 ansi.enabled=false; 8 break; 9 case 1: /* bold mode on*/ 10 ansi.attr|=0x08; 11 break; 12 case 4: /* underline */ 13 LOG(LOG_IOCTL,LOG_NORMAL)("ANSI:no support for underline yet"); 14 break;
I just saw this line yesterday. So how can I test the underlining work? I mean what program can test the characters for viewing?
Thanks
Jack
So how can I test the underlining work? I mean what program can test the characters for viewing?
Maybe an old DOS word processor?
in GWbasic / QuickBasic you can use the "COLOR a,b" statement to get normal, intense, reverse, underline, blinking, and various combinations in monochrome text - see http://support.microsoft.com/kb/35148 (love the fact that MS still has this stuff up on the web).
This BASIC program will display a chart of all possible combinations, as in the screenshot above:
110 CLS : DEF SEG=&HB000 : LOCATE 18,1 220 FOR ROW=&H0 TO &HF 330 FOR COL=&H0 TO &HF 440 FOR I=0 TO 3 : POKE ROW*160+COL*8+I*2+1, 16*ROW+COL : NEXT I 550 POKE ROW*160+COL*8+2, ASC(HEX$(ROW)) 660 POKE ROW*160+COL*8+4, ASC(HEX$(COL)) 770 NEXT COL 880 NEXT ROW
Hercules was based on MDA, and a similar chart for MDA is here... there are a few differences from what DOSBox shows (maybe DOSBox is correct and Hercules really differed from MDA here, I don't know).