Date: Mon, 22 Jul 1996 17:13:20 +0200 (IST) From: Eli Zaretskii To: DJ Delorie Cc: djgpp-workers AT delorie DOT com Subject: Re: conio patch In-Reply-To: <199607211715.NAA06064@delorie.com> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Sun, 21 Jul 1996, DJ Delorie wrote: > Since Borland has highvideo(), lowvideo(), and normvideo(), how about > blinkvideo() and intensevideo()? Here they are: *** src/libc/pc_hw/co80/conio.c~2 Sun Jul 21 17:58:22 1996 --- src/libc/pc_hw/co80/conio.c Mon Jul 22 16:27:02 1996 *************** *** 941,946 **** --- 941,966 ---- } void + blinkvideo(void) + { + + /* Set intensity/blinking bit to BLINKING. */ + regs.h.bl = 1; + regs.x.ax = 0x1003; + __dpmi_int(0x10, ®s); + } + + void + intensevideo(void) + { + + /* Set intensity/blinking bit to INTENSE (bright background). */ + regs.h.bl = 0; + regs.x.ax = 0x1003; + __dpmi_int(0x10, ®s); + } + + void gppconio_init(void) { /* Force initialization in restarted programs (emacs). */ *** src/libc/pc_hw/co80/conio.t~0 Wed Sep 6 06:23:30 1995 --- src/libc/pc_hw/co80/conio.txh Mon Jul 22 16:41:12 1996 *************** *** 596,598 **** --- 596,648 ---- This function has a side effect of erasing the screen contents, so application programs which use it should make their own arrangements to redisplay it. + @c ---------------------------------------------------------------------- + @node blinkvideo, conio + + @subheading Syntax + + @example + #include + void blinkvideo(void); + @end example + + @subheading Description + + Bit 7 (@samp{MSB}) of the character attribute byte has two possible + effects on EGA and VGA displays: it can either make the character blink + or change the background color to bright (thus allowing for 16 + background colors as opposed to the usual 8). This function sets that + bit to display blinking characters. After a call to this function, + every character written to the screen with bit 7 of the attribute byte + set, will blink. The companion function @code{intensevideo} + (@pxref{intensevideo}) has the opposite effect. + + Note that there is no BIOS function to get the current status of this + bit, but bit 5 of the byte at @code{0040h:0065h} in the BIOS area + indicates the current state: if it's 1 (the default), blinking + characters will be displayed. + @c ---------------------------------------------------------------------- + @node intensevideo, conio + + @subheading Syntax + + @example + #include + void intensevideo(void); + @end example + + @subheading Description + + Bit 7 (@samp{MSB}) of the character attribute byte has two possible + effects on EGA and VGA displays: it can either make the character blink + or change the background color to bright (thus allowing for 16 + background colors as opposed to the usual 8). This function sets that + bit to display bright background colors. After a call to this function, + every character written to the screen with bit 7 of the attribute byte + set, will have a bright background color. The companion function + @code{blinkvideo} (@pxref{blinkvideo}) has the opposite effect. + + Note that there is no BIOS function to get the current status of this + bit, but bit 5 of the byte at @code{0040h:0065h} in the BIOS area + indicates the current state: if it's 1 (the default), blinking + characters will be displayed. *** include/conio.h~0 Wed Sep 6 06:33:46 1995 --- include/conio.h Mon Jul 22 16:27:02 1996 *************** *** 59,64 **** --- 59,65 ---- #define BLINK 0x80 /* blink bit */ + void blinkvideo(void); char * cgets(char *_str); void clreol(void); void clrscr(void); *************** *** 75,80 **** --- 76,82 ---- void gppconio_init(void); void highvideo(void); void insline(void); + void intensevideo(void); void lowvideo(void); int movetext(int _left, int _top, int _right, int _bottom, int _destleft, int _desttop); void normvideo(void);