Atari ANTIC-E

Pinout

  Vss 1 --ANTIC-E-- 40 d4 <->
<-- an0 2 39 d5 <->
<-- an1 3 38 d6 <->
--> !lp 4 37 d7 <->
<-- an2 5 36 !rst <--
  !rnmi 6 35 fo0 <->
<-- !nmi 7 34 ph0 -->
  !ref 8 33 d3 <->
<-- !halt 9 32 d2 <->
<-> a3 10 31 d1 <->
<-> a2 11 30 d0 <->
<-> a1 12 29 ph2 <--
<-> a0 13 28 a4 <->
--> r/!w 14 27 a5 <->
<-- rdy 15 26 a6 <->
<-> a10 16 25 a7 <->
<-> a12 17 24 a8 <->
<-> a13 18 23 a9 <->
<-> a14 19 22 a11 <->
<-> a15 20 21 Vcc  

Pin directions not known for certain.

ANTIC does the video memory control, telling the CPU to halt and tristate its buses, then taking over to run the display list as its own instruction set.


ANTIC Data Sheet


Hardware structure

Approximate VHDL entity only!

entity ANTIC_E is
port(
	d:	inout	std_logic_vector(7 downto 0);	-- data
	a:	inout	std_logic_vector(15 downto 0);	-- address
	lp:	in	std_logic;	-- light pen. Analogue?
	n_rst:	in	std_logic;	-- reset
	ph2:	in	std_logic;	-- CPU clock phase 2
	n_wr:	in	std_logic;	-- Read / Not Write
	rdy:	in	std_logic;	-- Ready

	ph0:	out	std_logic;	-- CPU clock zero
	n_nmi:	out	std_logic;	-- non maskable interrupt
	n_halt:	out	std_logic;	-- halts the CPU during video
	n_rnmi:	?	std_logic;	-- unknown
	fo0:	out	std_logic;	-- fast oscillator output
	n_ref:	?	?;		-- unknown
	an:	out	std_logic_vector(2 downto 1);	-- ANTIC to GTIA control bus?
	);
end entity ANTIC_E;

AN0-2 connect the ANTIC and the GTIA.


Software structure

struct ANTIC	=
{
	int16	DMACTL;	  	// $D400	DMA
	int16	DLISTL;	  	// $D402	Display List
	int8	HSCROL;		// $D404	Horizontal Scroll
	int8	VSCROL[4];	// $D405	Vertical Scroll
	int8	CHBASE[2];	// $D409	
	int8	WSYNC;		// $D40A	
	int8	VCOUNT[3];	// $D40B	Vertical Count
	int8	NMIEN;		// $D40E	NMI Enable
};

Patents

U.S. Patent 4,296,476: Data processing system with programmable graphics generator
Inventors listed: Steven T. Mayer; Jay G. Miner; Douglas G. Neubauer; Joseph C. Decuir