home *** CD-ROM | disk | FTP | other *** search
- /* vputn.c (emx+gcc) -- Copyright (c) 1987-1993 by Eberhard Mattes */
-
- #include <stdlib.h>
- #include <dos.h>
- #define INCL_VIO
- #include <os2emx.h>
- #include <sys/video.h>
- #include "video2.h"
-
- void v_putn (char c, int count)
- {
- if (count > 0)
- {
- if (_osmode == OS2_MODE)
- {
- BYTE cell[2];
-
- cell[0] = c;
- cell[1] = (BYTE)_v_attr;
- VioWrtNCell (cell, count, _v_y, _v_x, 0);
- }
- else if (_v_mem != NULL)
- {
- char *p;
-
- p = _v_mem + (_v_y * _v_width + _v_x) * 2;
- while (count > 0)
- {
- p[0] = c;
- p[1] = (char)_v_attr;
- --count; p += 2;
- }
- }
- else
- {
- union REGS r;
-
- r.h.ah = 0x09;
- r.h.bh = 0;
- r.h.bl = (unsigned char)_v_attr;
- r.h.al = c;
- r.x.cx = count;
- _int86 (0x10, &r, &r);
- }
- }
- }
-