[net.micro.ti] TI Screen Layout

elwell@osu-eddie.UUCP (Clayton M. Elwell) (12/05/85)

This might help people who are interested in writing TI screen drivers
and the like.  It is paraphrased and condensed from the somewhat obtuse
description in the Technical Reference Manual.  This applies to the TI
Professional Desktop & Portable.

A Short description of the TI Screen Hardware
---------------------------------------------

The CRT Controller board uses a Motorola 6845 CRTC chip.  Unlike most
peripherals in the TI PC, it is memory mapped.  It's generally a bad
idea to muck about with this chip, but there are a few useful registers
that can be played with for various effects.  To write into a CRTC
register, first write the register number (1 byte) into the address
D000:F810, and the desired contents into D000:F812.  The "safe" registers
are:

	Reg. #	Name				Default Value (60 Hz)
	------	-----------------------------	-------
	10	Cursor start line and blink	40H
	11	Cursor end line			0BH
	12	Display start address high	--
	13	Display start address low	--
	14	Cursor position address high	--
	15	Cursor position address low	--

Note:  The display start address is relative to the beginning of the
2K screen buffer, and changes when the BIOS scrolls the screen (bad
idea).  The cursor position address is also relative to the beginning
of the buffer.

The screen memory is organized as 2K words of 16 bits each, but
TI in their infinite wisdom decided that that was cumbersome, so
they arranged for the CPU to access the buffer as 2K by 8 bits plus
an extra byte called the attribute latch.  The screen buffer starts
at D000:E000 and extends to D000:E7FF.  The attribute latch is
memory mapped at D000:F800.  To write a character into the buffer,
first load the attribute latch with the desired attribute (see below)
and the write the ASCII code for the character into the buffer.  If you
have successive characters with the same attribute, you don't have to
reload the latch.

Attributes are mapped into the attribute byte as follows:

 7 6 5 4 3 2 1
+-+-+-+-+-+-+-+
|A|B|U|V|G|R|B|
+-+-+-+-+-+-+-+

A = alternate character set (don't ask me...)
B = blink
U = underline
V = reverse video
G = green gun
R = red gun
B = blue gun.

For a monchrome monitor, the RGB outputs determine a 1 of 8 gray
scale value instead of color.

Have fun!

-- 
				-- Clayton Elwell
				Elwell@Ohio-State.CSNET
				Elwell%Ohio-State@CSNET-RELAY.ARPA
				...!cbosgd!osu-eddie!elwell
-----------------
"Roads? Where we're going, we don't need roads..."

haddock@ti-csl (12/10/85)

/* Written  7:46 pm  Dec  4, 1985 by elwell@osu-eddie.UUCP in ti-csl:net.micro.ti */
	>/* ---------- "TI Screen Layout" ---------- */
	>
	>Attributes are mapped into the attribute byte as follows:
	>
	>7 6 5 4 3 2 1
	>+-+-+-+-+-+-+-+
	>|A|B|U|V|G|R|B|
	>+-+-+-+-+-+-+-+
	>
	>A = alternate character set (don't ask me...)

The TIPC (and TIPPC) video boards can have an addition 256-character
ROM installed for a total of 512 displayable characters.
Unfortunately, I have yet to SEE anyone use this great feature.

				-Rusty-

================================================================
*hardcopy*		*electr{onic, ic}*
Rusty Haddock		ARPA:  Haddock%TI-CSL@CSNet-Relay.ARPA
POB 226015 M/S 238	CSNET: Haddock@Ti-CSL
Texas Instruments Inc.	USENET: {ut-sally,convex!smu,texsun,rice}!waltz!haddock
Dallas, Texas		VOICE: (214) 995-0330
75266