did_it.i4.v = btvmx(row.i4.r, column.i4.r,, num_chars.i4.r)

	did_it.i4.v = btvmx_c(row.i4.v, column.i4.v,, num_chars.i4.v)

	This routine will display background text if "num_chars" is greater
	than or equal to zero.  It will read in background text if "num_chars"
	is less than zero.  Character attributes (colors and blink) are
	specified for each character individually.  This routine is a
	replacement for 'tvmx(_c)' for applications utilizing window

	row, column	starting screen coordinate location
	text		user buffer of ASCII data and character attributes
			to be read or written, one character per word.  The
			low byte of each word contains an ASCII character
			and the high byte contains the display attributes
			for the character.  Character attributes are
			described below. (array of structures of type XCHAR)
	num_chars	number of ASCII characters to be read from or
			written to the screen.  If the value of "num_chars" is
			negative, a read operation is performed.  (Note :
			A null string will be returned if the window is
			occluded.)  If "num_chars" is positive, a write
			operation is performed.  If "num_chars" = 0, the length
			of the string pointed to by "text" is determined and

	This function returns status values as follows:

	TRUE			window I/O actually done
	FALSE			no window I/O done

	This function requires the following include files:

	cnsparam_h, cns_data_structs_h, cbslib_h

	Related functions:

	window_tvmx(_c), window_tvm(_c), intro_tv_windows

	C/C++ usage:

	int	did_it;
	int	row = 2;
	int	column = 1;
	int	num_chars = NUM_CHARS;
	static const XCHAR	text[NUM_CHARS] =
	{{'U', RED}, {'S', WHITE}, {'A', BLUE}};

	did_it = btvmx_c(row,column,text,num_chars);