System 2: Visual Display Unit Interface

Applications

To use this board in the Acorn system a low for block zero signal must be present on pin 31A of the Acorn bus. This is provided by connecting pin 8 of IC9 to pin 31A of the connector on the 6502 CPU board. The 5 volt regulator and the electrolytic capacitor must be: removed from the CPU board and an external 5 volt supply at 3 amps is required on pin 1A of all boards for a system using the CPU, VDU interface, 8K memory board and cassette interface.

A 1 volt at 75 ohm video monitor may be driven directly from connections 14 and 15 on the front of the board. Alternatively UHF modulator may be driven which connects to the aerial input of a domestic television set using the circuit shown; the component values given suit the Astec UM 1233E36 modulator although other types should work satisfactorily. IC3 on the VDU board forms a 6 MHz dot clock which is adjusted using the preset resistor R3 to give characters of the right width on a steady picture after MC6845 has been initialised using the Applications programmes.

The 1024 byte character memory appears in block zero of the Acorn address map filling pages 04, 05, 06 and 07. Two registers, which set up the 6845, are at addresses 0800 and 0801 and these repeat throughout page 08. The register at 0800 is a 5 bit write only register used to determine which of the data registers is accessed at 0801. The data registers, their addresses and their functions are tabulated here.

Register 	Function 	Program 	Type 	No of Bits Used 
Address 			Unit 
00 	Horizontal total 	char 		Write only 	8 
01 	Horizontal displayed 	" 	 	"	"	8 
02 	H Sync Position 	" 		" 	" 	8 
03 	H Sync Width 		" 		" 	" 	4 
04 	Vertical total 		char row 	" 	" 	7 
05 	V total adjust		scan line 	" 	" 	5 
06 	Vertical displayed 	char row 	" 	" 	7 
07 	V sync position 	char row 	" 	" 	7 
08 	Interlace mode 		-		" 	" 	2 
09 	Max scan line address 	scan line 	" 	" 	5 
0A 	Cursor start 		scan line 	" 	" 	5 + 2 
0B 	Cursor end 		scan line 	" 	" 	5 
0C 	Start address H 	-		" 	" 	6 
0D 	Start address L 	-		"	" 	8 
0E 	Cursor H 		-		Read/Write 	6 
0F 	Cursor L 		-		Read/Write 	8 
10 	Light pen H 		-		Read only 	6 
11 	Light pen L 		- 		Read only 	8 

Using the programs provided all these registers are initialised for 625 line, 50 fields per second, non-interlaced operation with 25 rows each of 40 characters.

Hardware scrolling is used in the system which, with transparent access, gives a clean display and uses only a very small proportion of CPU time. The character memory may be read from or written to at any time like any other piece of RAM.

The lightpen input to the board may be used after breaking the link to 0V and fitting a 4k7 resistor for R5. When the lightpen input goes high the contents of the character refresh address counter are strobed into registers 10 and 11 i.e. high byte and low byte. Thus the screen co-ordinates of the pen position may be determined.

The SAA5050 character generator produces the following characters represented by the hex bytes shown.

20	space	30	0	40	@	50	P	60	-	70	p
21	!	31	1	41	A	51	Q	61	a	71	q
22	"	32	2	42	B	52	R	62	b	72	r
23	£	33	3	43	C	53	S	63	c	73	s
24	$	34	4	44	D	54	T	64	d	74	t
25	%	35	5	45	E	55	U	65	e	75	u
26	&	36	6	46	F	56	V	66	f	76	v
27	'	37	7	47	G	57	W	67	g	77	w
28	(	38	8	48	H	58	X	68	h	78	x
29	)	39	9	49	I	59	Y	69	i	79	y
2A	*	3A	:	4A	J	5A	Z	6A	j	7A	z
2B	,	3B	;	4B	K	5B	¬	6B	k	7B	¼
2C	+	3C	<	4C	L	5C	½	6C	l	7C	||
2D	_	3D	=	4D	M	5D	®	6D	m	7D	¾
2E	.	3E	>	4E	N	5E	­	6E	n	7E	¸
2F	/	3F	?	4F	O	5F	#	6F	o	7F	delete

Note that there are a few exeptions to the usual ASCII, the most noticeable of which is at 23 where
£ replaces # which is moved from 23 to 5F.

Also available are the following teletext control characters with their hexadecimal codes shown:

01	Alpha	Red	11	Graphics	Red
02	"	Green	12	"		Green
03	"	Yellow	13	"		Yellow
04	"	Blue	14	"		Blue
05	"	Magenta	15	"		Magenta
06	"	Cyan	16	"		Cyan
07	"	White	17	"		White
08	Flash		18	Conceal Display
09	Steady		19	Contiguous Graphics
0A	End Box		1A	Separated Graphics
0B	Start Box
0C	Normal Height	1C	Black Background
0D	Double Height	1D	New Background
			1E	Hold Graphics
			1F	Release Graphics

These characters affect the characters displayed to the right of them on a line, and provide the following options:-

ALPHA (COLOUR) Causes following characters on the line to be in the colour specified.
GRAPHICS (COLOUR) In Graphics mode each character space displayed is divided into 6 cells. Each cell is illuminated, in the specified colour, if a corresponding bit in the ASCII code stored at that location is set.
The bit assignments are:
b0 b1
b2 b3
b4 b6

Bit 5 in the byte is always set for a graphics character, if bit 5 is clear then the upper case, alphabet and characters ¬, ½, ®, ­, #, @ are available in the same colour.

FLASH Causes the following characters on the line to flash.
STEADY Terminates the flash option on a line.
END BOX & START BOX Are options for using the circuit to superimpose text onto a normal TV picture.
DOUBLE HEIGHT Must appear on two consecutive lines followed by the same characters in which case the characters fill the two lines specified.
NORMAL HEIGHT Clears the double height option on a line.
CONCEAL DISPLAY Switches off the character on a line these can only be revealed by applying a signal to the character generator chip (or deleting the CONCEAL character).
CONTIGUOUS GRAPHICS In this mode the graphics cells in a character are joined up.
SEPARATED GRAPHICS In this mode the graphics cells are separated by one character bit width.
NEW BACKGROUND Sets the background to the colour of the last colour specifying character .
BLACK BACKGROUND Resets the background colour to black.
HOLD GRAPHICS Causes the last graphics character to be displayed when a control character is entered.
RELEASE GRAPHICS Causes a space (Background colour) to be displayed when a control character is entered.

The character generator assumes an initial setting at the start of each line of: -
ALPHA WHITE, STEADY, END BOX, NORMAL HEIGHT, CONTIGUOUS GRAPHICS, BLACK BACKGROUND, RELEASE GRAPHICS.