Atari 400 Personal Computer, 800 Personal Computer System System Hardware Manual

ATARI%oo/8oo-
ATARI'
HARDWARE
HOME
COMPUTER
MANUAL
SYSTEM
/t\
l' ^,."",
-.mm 6rcre c.mpa^y
o
COPYRIGHT 19 82T ATARI
ALL RIGHTS
TO
ALL PERSONS RTCEIVINC IHIS DOCUMENT
Reproduction is forbidden
without the specilic written ATARI, lNC. Sunnyvale, CA 94086. nor lhe subiect matterlhereof, is or written
oermission
from the Corporal;on.
RESERVED
ri8hl
No
granted
unless by wrilten agreement with,
INC'
'
permission
of
to reproduce this document,
Every documents However,
software
of
I i r|\i I i +rr T^r ^h.n^6c arr.
effort has been made to ensure
this
product due to the ongoing irnprovement and and haralware, ATARI, INC.
printed
naterial alter the date of
of Lhe ATAR] Home
cannot
-- -Jrs,
,
or onlsslons.
that this
Computer
update of the
guarantee
publication
manual
accurately
Division.
the
and disclairns
computer
accuracy
TABLE
OF CONTENTS
II.
III.
I.
INTRODUCTIoN.
DESCRTPTTON
B. c. SERIAL D. E,
HARDWARE
A. PAL.....
B. c. D. E. F. G.
11. I. CONTROLLER
POKEY......,.
INTERRUPT CONTRoLLERS,,
INTERRUPT Tv L1NE GMPIIICS PLAYERS AlIDfO. KEYBOARD SERIAL
, . .
. .
0F HARDWARE. ...
PORT........,.............,..,...II.25
SYSTEM.....,,..............,,.1r.28
RECTSTERS.
....
CONTRO1,..
CONTRoL.....
CoNTROL. . . . .
AND MISSILES,
....
.. .
and
SPEAKXR. .......
PORT. ..
PORTS,......................III.
......
.. ...,...
.. ..
.. ..
.. ,..
,. .. ...
.....,.,.
...........
. ,. .. ...
... ...
..... .....,.,.
.. .. ..
. . . . . . .
... ,.
.. .. .
. , . . . . . .
.. . ,...
.. ..
.. ..
.. ,. .. ...
. ....
.
.. .I.
..r1.I
',...rr.
.........rr.23
. .......
.. .....rr1.1
,.... .. ,11I.3
......II1.9
... ....I1I.15
.rr.30
.. ,IIt.l
.III.1
. . .III.
,.. .IIL
,.Irr.17
4 12
t9
I
t
rv,
vr,
sAltpLE
HAIDIIARE A. A'DRESS
B. AI,PHABETICAL
DISPLAY
RECISTER
FlcuRES...,. A.
MEMoRY
B.
NTSC
c.
APPENDIX
APPENDIX B:
APPENDIX
and PAL
SCIIEMATICS.,.
pRoeRAM...,...................IV.
ORDER.
..
,...
MAp........,.....................vr.
A: USE
WITH
MlXlNG
C: PINOUTS
LISTS.
........,.....v.1
ORDER.
DISPLAY..
OF PLAYER/MISSII,E
BASIC
GRAPIIICS MODES
;.........,...,v,5
....,
,. ... ....
... ,. .,.
. .. ...
...v.
,..vr.
... .VI.2
,........vI.3
GRAPHICS
I
t
t 1
1t
I. INTRODUCTION
\:,-
The ATARI
colrtaln a
6502 nlcroprocessor' 4 R-Alt, and several Thls nernral ls
(R)
800rM and
MsI chlps
prloarlly
detall to a11ow experlenced
such as
vldeo
ganes.
A11
rnlcroprocessor by nrltlng
to exlst
ln Elcroprocessol
can also be interrogated
reglsters are
!,lany
wrltten. In aone
contalned gtrobes.
address
.
conventlon
ln 4 separate No data
on the bus
1s to reglsters. For STX could
(Store
be used
x) or STY
115hed by using
PEEK would be used.
a equate llst'
uslflg the
addresses
It ls rea1ly
functlons are
I/O does
help ln learnlng
ceses, blts are deeded
ls \rhat trtggers
use the STA
exanple, STA
(store
(the
data could
eny of the
When lhe
proglaxmer can refer
the
dtreclly.
not rreceasary
perfolrned by lthtch of
these
ATARI 400rM Personal
I/O chtps, operating
for sddress decodlng
lntended to
descrlbe the 4llo
plograd&exs to create four Inpul/Ortp\rt dlrectly lnto
nenory space
by the
wllte only and
nlcroprocessor
cannot be
reading fron the
read only reglster.
ln thls case
the requested
(Store
WSYNC
Y) vould
Accufillator)
perforrns the ltait
ltork
be anythlng).
load instrrcllons
hardltare
to the registers
fot the
functlofls.
chips are
thell reglsters Just
same addless
lust
register
plograffner to kno{
lhe 4 chlps'
conputer systems
systen ROI'I' expandable
and data bu8 bufferlrg.
chtps tn sufficent
assembly tanguage
controlled by the
$hlch are decoded
as RAM
by leadlng
does. These l/o chtps
slrdlar reglsters'
read after they
glves
wrlte
Sone
slnce lhe
actlon.
only reglsters are
presence of
The usual
hstructlon
for Sync
as weL1.
Readlng
(LDA'
LDX etc').
naEes are
In BASIC'
a reglster
deflned 1n
name ralher
by
$hlch
however
are value
the
for such
functlon'
a P0KE
ls accoDp-
Ifl BASIC
lt
Prograrns'
the
an
than
nanual should
Thls
(oS)
Systen Baslc Ref erellce
CHIP T{AME
-
ANTIC
Manual,
I'I4tuaI. fUNCTION DMA(Dlrect
NUl
(Non-Maskab
Vertical I-lght
Vertlcal
WSYNC
CTIA
Prlorlty
be used
a 6502
prograoning narNal,
llenory Access)
and Horlzontal
Posltlon
Pen
l1ne counter
(ltatl
for
control
Color-Lumlnance
all oblects
to
?LAYER-MISSIIE
cre^h{ r a raoi.rarc
Slze
control
l{orlzontal
Col11slon
S{ltches
detectlon
and lriggers
ln conluncllon
lnterlupt)
1e
flne
reglsters
hortzonlal
(display
control
lttcludlng
obJects
(colors
DMA
(4
posltlon control
beBteen
(rnlscellaneous 1/0 functions)
control
sync)
of overlapplag
players and 4
rlth and the
control
scrolllng
objects
all
the Operatlng
brlghtness
alrd
fron ANTIC)
objects
4343!]!qgl.g9g
oblects)
asslgned
ldsstles)
CII1P
NAI,IE
FI]NCTION
POKEY
PIA
Sectlon varlous graphics tlne, groups
display plogtafi. the order addresses,
nation
describing
(lnterruprs,
system.
and
can be
II descrtbes
Sectlons
alphabetical
the OS shadon
found.
Keyboard Ser1a1 Pot
scan Audlo generatlon Tlners
IRQ
Randon
Controller Peripheral
(naskable)
IRQ
nodes. whar
Section
scan and
com.lnicatlons
(digitlzes
(na6kable
{runber
(Joysllck)
control
rhe
Sectlon
each bit
graphlcs,
V conlalns
VI
and VII 11s!
order,
registers
inlerrupt)
generator
conlrol
port
posltion
(4
chanllels)
lacks
and
lnterrupt
lnterrupt
hardware
III
lists
ts used
audio,
Sectlon VII
etc.).
various
the hard\rare
and
(bidtrectlonal)
of 8 tndependelt
control
read ot write
control from
in sone
the hardrrare
for.
includes hex page
the
fron
lines
deratl,
It 1s organtzea Section flgures
ftrnbers
pertpherals
perirherats
lncludlng
resisters
IV contatns and block
regtsters
and decfidal
i,,here nore
pots)
the
orle a!
by
functional
a sanple
dtagrans
ln adilress
infor_
a
of
r,2
II. DESCRI?TION
I{ARDWARE
OF
ANTIC
TV Dlsplay: dtsplay at The PAL on
NTSC vs PAL. Each frame conslsts of 262 horizor.tal TV lines and each 11ne ls nade Dlcroprocessor nachine
AND CTIA
generate
the lelevlsi.on
(US)
systein.
rt-3, The 5502
the rate
(European)
of 228
up
The ANTIC and CTIA chips
of 50
frardes
per
second on the NTSC
systen ls dlfferent and ts descrtbed in the sectlon
color clocks, as sho\rn 1n figure
runs at 1.79 MHz. Thle rate was chosen so that one
cycle ls equlvalenr ln length to tno color clocks. One clock
ls approxlnately eqral ln width to two TV 1lnes,
In any or rectangles graphlcs
Bample dlsplay llst
The
(VCoIJNT).
l1nes
The 0
pe!
potnt Verttcal blank back to the top Atarl 800 does not do lnterlaclng, so each frar@
plogran
the
(vSYNc) (VCoUNT
stAits. AJter vsYNc, there are 16 oore
ttnes of \'BLANK. The dleplay 1lst
descrlbed later) causes the
graphtcs
called
Eode has a
current TV
Ttls reglster
frarne so VCOUNT rufls fron 0 to
occurs near the
(TELANK)
node, the dlsplay is dtvided up lnto soafl sqrares
ptxel8
plxel
glven
la
(plcture
elenenle). The highest resolutlon
slze of I/2 color clock by I Tv llne.
1rl sectlon
IV.
ltne nay be deternined by readlng the vertlcal
of
the screen
glves
the llfle count
end of vertical blank
1s the tlne durlng
1n prepaxatlon for lhe flext frane.
dlvided by 2.
(0
130
to
(see
uhlch the electron beaE returns
ls ldentical unless
which ls belng executed
changes the dlsplay.
occurs durlng the fourth rhrough slxth lines =
hex 7D through 7I).
thls tel1s lhe TV set
11nes of VBLANK fot a Lotal
walt lnstructlofl
Juop
dlsplay llst
and
graphlcs
to start
'I}:'ete
155 on the PAL syste.0).
flgure VI.5),
verllca1 sync of vertlcdl blank where each frane
(to
at lhe end
VBLANK.
A
counter
are 262
The
of 22
be
of
Operatlnq Svsten Systen it
(OS)
ln ROM. The 0S affects
!d11 be Eentloned fron tltae to tlltre
(0S):
The ATARI 400/800 cones
sone of the
in lhis nanual. Refer nanual for nore deta11s. The 0S descrlpttons verslon
The Os supports
was belng dlslrlbuted when
lhat
nost of the hardnare
PLoT, and DRAWTO coEnands). Tte OS always
the erd of vertlcal blank. for
televlslon
edges of the
ulth
but
a conpuler
sets \lhlch overacant
plcture
are cut off,
1t ls essential dlsplayed on the screen. It ctocks at that
has excesslve overscan
rtght or left
lhe
This conventlon
is fairly cor0mon edge of the rnay
have
thls nanual I'as
graphlcs
dtsplays
Most TV's are
Thls ts flne for
for all lnpotlan!
plcture
!o readjusted
dlaDlav.
II.1
wtth a loK Operatlng
hardware registers, so
in thls
na[ua1 apply to the
written.
loodes
(BASICS,
24 background l1nes
1s used at Atarl to
deslgned so lhat
ordlnary broadcasts'
infornatlon to
for four to elght
overscan.
to
to oblaln a
lo the OS
GRAPHICS'
after
compensate
lhe
be
colot
A TV set
satisfactory
The
0S uses 192 TV llnes 24 ltnes to overscanr clocks, nended or other
The hard\rare
lhat the standards
lnfornatlon
of the prograno.
for its display
It uses
will allo\r
the standard dlsplay irldth
displays of any length,
be followed. The
and devotes the remalnlng
exception night be a border
whlch is nerely decota!1ve
of 160 color
but it ts recon-
and not esse[tla1
to use
.q,q_lleggjglqE:
and cannot Every
TV frarne durlng
be read the 0S has
its shadow registers, register. ii
ATRACT
TV
screen and the reads lhe resulls code
to unpack the data.
The 0S does
(on
0S reglsrer) is negatlve.
phosphors
sante hlgh-luninance
lhe
Joysticks
1n shadow reglsrers,
lhe 0S changes or the OS
shadow registers instead the OS shadoirlng veclors
I'Ilctoprocessor
provides
lolcroprocessor
(see
l{!:Ig:
OS marlual).
In addirion to a Vertical Blank
to s)'nchronlze to the vertical TV display, this
a Walt
to synchronlze
sync takes effect \rhen
WSYNC, \rhenever
address
sets a larch which
Since nany of
vertical blank and wriles
attracr color shlfting
h'trlch can occur
and other
reads during inlerrupt
can be disabled by
for Horizontal
the
it deslres horizontal synchronizat
called REAIY. Idhen READY The lalch is of the next resunoe
progran
autonatlcally reset
horizontal blank interval, releasing
execution.
hard\,rare
the
a mnber of
"shadow
the OS takes
thero ou! to the correspondlng
reglsters are
write-only registers'i in RAM. lhe values ln sone of
hardware
on all of rhe color registers
This is to
1f the brlghtness 1s
dlsplay is lef! on
for a long tlne. The OS also
conrrollets during vertlcal
so rhat user plograns
Ttere are a few interrupt-related
processing.
of accessing
the
changtng the vertical blank
Interrupt,
prevent
do not have to tnclude
Prograr0s
hard\tare
which
da&age Eo rhe
turned up too hlgh
blank and stores
reglsrers $hlch
usually access
directly. Ho\rever,
and lnterrup!
allons rhe
systed also
Sync
(WSYNC)
cornnand rhat al1ows Ehe
ilself to lhe TV horlzontal line rate. Thts
processor pul1s
goes
to zeto the Elcroprocessor stops and \raits.
r.rrites to an I/O location ca11ed
Wriling
at the beglnnlng
nicroprocessor
to zero a
(returning
lon.
pln
on the lllctoprocessor
REAIY
true)
the
to thls
to
Obiect DMA
(Direct
chip ls to fetch data fron roenoty
display on the TV screen. Meoory Access" or Dl4A. It bus
by sending a stgnal called HALT to lhe microprocessor, causlng the
processor
cycle. The
it r,rishes
to becoEe
ANTIC chlp lhen takes over rhe address blrs and reads any data
fron nenory. Another nan€ fo! Lhis rype of
Once lnitlated,
"TRI-STATE"
this DMA is conpletely and autonatically conlrolled
Antlc chip Fithout need for futher microprocessor lnlervention.
There are l\ro types of Dl4A: Playfleld and Player-Missile
1I.2).
The
playfield
Dl4A control clrcult snall durnb drlcroprocessor. fetch its ol'n instructions fron uernory
program
(alpha
screen), and the Iolation of the data
counter(d1splay llst poln!e.). Each instructlon defines the
character or nemory nap), and the resolurlon
group
or rlnes.
Menorv Access): The
(independent
It does thls reqrests
(open
lrlth
lhe use of
circuit) all durlng the next cornputer
on
halting the main nicroprocessor 1t can
By
(lhe
ln menory L'hich is to be dtsplayed
II.2
primary
of the
functlon of the Antlc
nlcroprocessor)
a lechnlqle called
inenory address
the
DMA
1s
the Antlc
dtsplay
chip resernbles a
list) addressed by 1ts
(slze
of bits
"Dlrect
and
"cyc1e
(see
on the
for dala
stealing". by
lhe
Figure
type
Ir ordel to begln
dlsplay
l1st of lnstructloos tdenory, tell 1lst
potnter)
register).
thls DI,IA the natn
ln nenory,
the ANTIC where the dlspfay
and enable the DMA
control
nlcroprocessor lnrsE
store
data to
ltst ls
be dlsplayed ln
(hltlallze
flags on the ANTIC
sEore a
display
the
(D}.IACTL
In addttlon chlp addressea graphlc8
descrlbed
slDrltaneously
PLAYER-MISSILE
dala on to the
(1f
enabled) occurs
prevlously.
idstructions, and
III addltlon generates
1n
thls systen.
ed by
where
DMA
programer
the an exact
addresses for the refresh
Thla ia also coDpletely
count of the conputer
Color-lunlnance
for each loaded end lunlnance the serlal
Player-Mlssile
by the nlcroprocessor
of lts
pss8es
data color and hrninance to
the TV dlsplay.
background
detectlon
color
(to
be
to the
playfteld
DlttA descrlbed
colttrols another DMA
gr:aphics
CTIA chip
antoDatlcally,
data stored ln neoory and passes graphlcs
lnterspersed nith the
This ?LAYER-MISSILE
Is therefore rmlch
to the two rypes
slEpler than the PLAYFIELD Dl,lA.
of dlsplay DMA, the ANTIC
of rhe dynanlc nenory
only
lf he ls concerned with
cycles 1s lrnportant.
I A colot-lumlnance register
and Playfleld
correspondlng
lhrough the
values
In areas of
(CoLBK)
1s displayed.
\'lth
contalned ilr lhese registers,
the screen where there
type. Each color-lun reglster
a code representlng
Player-Misslle or Playfleld CTIA chlp 11 1s
descrtbed later;.
above, the ANTIC
channel. Thls type of DMA
the
reglsters. Thls
DMA has no dtsplay
type of DMA
playfleld
1lst or
DMA
chlp also
RrlM used
autollattc and need be constder-
real-tlue
ls used on the
progrardolng
CTIA chlp
the deslred color
'rtmpressed"
type. As
\rlrh
before being
are no objects
The CTIA also does
collisron
is
the
seflt lhe
?rlorltv:
overlap ttlst \rhlch
them. serlal to the TV
on the TV screen
be made
appear to
Prlorlty ls data fron
screen.
prlority
The
I'rltlng lnto
thls reglster sectlon III.
Plavers
whlch
poeltlotl
car be moved qutckly
reglsters.
$ere orlglnally
and bullets.
then. The
four
four playfield
It posslble
!o dlsplay
ltren novlng
as to whlch
pa8s
1n
flont of
asslgned
each object
of objecls
the control
glven
are
1n rhe
and }llsslles:
They are
deslgned
Itowever,
there are
player-rulsslle
color reglsters
9 different
oblects, such
(with
oblect shons
each
other or wlth
1n fronr of the othex.
others are satd
aLl
ro
objecrs by
1s conbtned
can be conlrolLed
reglster PRIOR.
table 1n the ?RIoR
players
The
in the hortzontal
called
to be used
players
games
ln
nany other posstble color and
registers, ln the background colors ar the
playets
as
and Btsslles,
playfleld)
have
to
rhe CTIA chlp befoie
rrtth
the other oblects
by the mtcroprocessor
The functtons
regtsrer descrlption
and nlssiles are
dlrecrlon by and Eissiles
for objects
appllcations
conjunclton l'lth
color teglster, raake
sane ttr0e,
a dectslon
Objects
prloriry
ower
and sent
of the bits
snall objecLs
changing
because they
such
as ahplanes
for
the
by
in
in
thelr
the
II.3
obj ec!s
MEMORY },IA?
=
background)
MICRO
PROCESSOR
I'IEMORY
con!!o11ed
Displai
ltst
lnstructlons
(DI,IACTL
Playfleld Dl,lA Erable
by
)
Ftgure 1I.2
OBJECT
DISPI,AY
SOURC'S
There are a nisstles n0ay objects
posltloned
are
([PoS (X)).
sor,
allowlng an TV 1ine.
The
shape of a player-nlsslle
graphics reglsters. address).
processor, tlme.
rhenever
posltion
ta1
graphlc
the
processor
access graphics
enable
graphlcs
reglster
The These although
The data ln
the horizontal
reglsters
player-ntssile
The
(CRAF
(Dl4A)
ln Demory, I1'rlte
player-Eissile
from rneuory
lotal of four
grouped
be
together and used
horlzontally by
These
reglsrers nay
object to be repllcated
(GMF (X)).
lllsslles
four
have 2
reglsters oay also
they ale usually
each
tegister.
giaphics sync
couflter equaLs
The same data
are reloaded
graphlc
(X)),
(see
or
figure
arlonattcally II.3). The
the player-miss1le (DMACTL,
DI'A
to dlsplay
players
and four nlsslles.
as a 5rh
8 horizonral
be reloaded
nany
is deterElned
Players
have independent
blt regtsters
be reloaded
changed during horlzontal
reglster is
\1111 be displayed
vrith Ire
registers rnay
fron nenory with
prograr0ner
GRACTL).
ls then fully
The
fout
player,
posltlon
at any rlne by
These
regtslers
proces-
rhe
tiioes across a horizontal
by
at afly ttne by
data
lhe
8 blt
(located
tn lts
graphtcs
wlthln
the
bLank
placed
the corresponding
on the display
horlzon-
every line
data.
be reloaded
by the mlclo-
dlrect meDory
lrusr place base address The transfer
rhe objecr
(PMBASE),
of object
autornaric.
olre
unless
and
PMBASE
player-nissile
the oblect is bytes Antic,
betrseen
so they
Only
strgle-line wlth
two-line 1n nenory tion
neans
DI.{ACTL,
blt
resolutlon
Each byte
are
to be displayed
I indlcates
graphics
The
II.3. they may al1 trro and
The
be only
0's.
pixels
is deternined
speciftes
graphics.
deternined
by addtng
the base
are available
the five nost
resolutlon
resolutior.
1s restllcted
that each
4). 540
and
l28O byres
byte of data
(decinal)
tn rhe player graphics
on
that
the
player's
nay be anyrhtng,
player
graphlcs
a couple
Each byte
for
1n rhe rolssile
each missile.
by the
the nost
slgnificanr
The locatlon
an offset
address
aod the ntsslle
to rhe progranner.
stgnificant
and the
bits oI
slx nost stgnlftcant
This !0eans
!o
certaln
page
ls repealed
bytes
(5x256)
tor
the correspondtng
color-lun not
may f111
of lines
Just
the high if dlsplay
Each ptxel
SIZE registers.
byte of rhe graphics
to PMBASE
PMBASE are
thar the
boundartes.
for
(5X128)
are requlred
one-tine area
represenls
llne(s)
ts
to be dtsplayed
rectangles
enttre hetght
the rest of
also represenrs
nay be 1, 2,
(MSB)
dara are
of the address
*256
(decimal).
not used by
used lrirh
blts are useil
location of
Two-llne reso-Lu-
lqlo Ilnes.
resoiur'ion,
elght
of rhe
TV screen.
like the ones
of rhe
the
or 4
of
for
each
The
graphlcs
the
(see
for rwo-ltne
ptxels
whtch
A
in
that
ptxel.
in ftgure
screen or dlsplay dara ts etgi.rt plxels, color clocks,
Plavfleld:
piayfields,
detection. neloory menory,
Playfleld
nap
and character.
independent
each
Playfle1d
ldenrtfled
of
ts
generated
ls
Both methods provtde player-r0issile
the
always
by
its own
generaled
by DMA.
color-1um reglster
by
lwo dlfferen!
generatlon.
llsts
There axe
and colllstott
DMA
technioues:
of insE;ctlons
four
1n
player-Mlsslle Resolutlon ls
Sase Address
controlled by bit 4 of DI4ACTL,
(PMBASE)
=
),ISB of address.
A.DDRESS Tvo-l1ne resolutlon resolutlon
(hex)
+180
+200
+280
f300
+380
+400
OFFSET
One-line
(hex)
+300
+400
+400
+600
+700
+800
PMBASE*100
2I
M
PO
PI
P2
P3
I
I
I
I
(hex)
Mlss lle Nunber
.21
rP3t
i-T--
rl
tl
tl
| |
lt
tl
ll
TV SCREEN
I
P0l
ii
r42
;i
tl I
lt
MO
i
P2
I'
M3 I
Horlzonral
ior each objec! lndependently
horlzontal positlon
regasrers.
rl
­Pl
I
|.'i
MI
Dosirlon
by 8
1s
set
Player-Mtssile Ver!1ca1
Figure
II.2
Each sectlon onlo
screen
PLAYER-MISSILE
II.6
Object only by of
total height of
vertical posltion
lts Iocatlon
deDory.
I or 2
television lines
of memory
one byre of
DMA
naps dlrectly
TV screen.
is
deternined
In lts
section oenory vertlcally,
equals
Unl1ke
playfleld.
for Playfteld, 1t can fll1
players
on
lhe othet hand, nay requlre
the entire wldth of the screen.
and Elssiles,
Each player
there are oo horlzontal posltlon
can only have one byte of
display
up to 48 bytes
per
per
line
regtsrers
llne.
because
T'here are clocks), standard The ddth 1s nldlh
DMA. The
stored bytes 1ong. The dlsplay
Dlsplav Llst
a dlsplay progran
DIISTL.
thls counler value ls
!ton, lncrenent and so DIISTII). DLISTI or when DMA 1s disabled
the resolutlon to be dlsplayed for a ca11ed a dlsplay b1ock.
A JUMP INSTRUCTION IS USED.
ls that less R.A.lil ls reql.rlred
0S
g!9If3I-!19!:
rnemory.
fir
The dlsplay 1lst
(or
dlsplay
the
on
&.ltonatlcally irlthout Elcroprocessor control
Each lnstructlon deftnes the
TITE DISPI-AY I-IST CANNOT CROSS A lK BYTE MEMORY BOIINDARY UNLESS
three dlfferent
(160
color clocks), and wide
selected by stortng graphlcs
Counter that fetches
OS shadow registers
one
Dlsplay l,1st
(s1ze
modes
The dlsplay list is a
These lnstructlons
llst can be considered a dlsplay
counler.
counter can be inirlalized by wrirtng ro
used to address the dlsplay llst, fetch the lnstruc-
(l)
to slxteen
DLISTH should
and
(see
of blts on screen) and the
group
playfield
lnto DMACTL. The advantage of
and fener nachine cycles are
use the standald screen wldth.
lhese lnstluctlors can
(10
bit counter
SDLSTE ard SDLSTL). once
(16)
CounLei, fetch the next dlsplay lnstruction,
be aLtered
DI,IACTL).
type
(I
to 16) of l1nes. Each
lrldths:
sequence
are eithe! one
lines of data on lhe TV
(alpha
narrow
(192
of display
plus
6 bit base reglster.)
only during vertlcal
character or nemory map) and
locatlon of data
(128
color
coLor clocks),
a rarrolrer stolen for
instructlons
(1)
byte or
progran,
be
thought of as
DLISTIT and
tnltlaltzed
screen,
(see
DLISTI and
group
of lines ts
rhree
and the
blank
ln nerory
(3)
Flxed
(6
btrs) counter
DISPLAY LIST COUNTER
tr.7
(10
DI,ISTI,
blts)
Dlsplav Inslructlon Fornat: Each lnstruction conslsts
opcode only, or of
an
opcode
followed by tiro
(2)
bytes of operadd.
of either an
lopcodel
l6'..d.-l \
-.t
loperand |
------Slngle
)----Trlple
-_-t
lOperand
The opcode ls al{ays
Reelster. This opcode
and wll1 cause t\ro these or ln the
opcode of dlrectly inslruc!1ons: blank,
Blank
(
next
Dlsplay
t-byte)
I.,
'Iore
(2)
rwo
Dlsplay I-1st
Instructton Reglster
the
by
the
bytes rrill be
current dtsplay 1lst lnstructlon. It cannot be accessed
prograomer.
6lD5lD4
This lnslnrctlon is used to create I to 8 blank dlsplay
Byte Display Instructlon
EyLe
DIspIdy Instructlon
fetched flrst and placed
deflnes
bytes to be fetched if needed. If fetched,
Counter
ju!0p,
(blackground
the type
placed
(if
(IR)r
There
and dlsplay.
of
lnslructlon
ln
lhe
the instructlon ts
This register is loaded wlth the
axe three bastc lypes oi display lts!
color).
ln the
l4gggTI-.gSeg-9993!CI,
leqlggllgg
(1
o! 3 bytes)
a Jump).
llnes on the
(3-bytes
Dlsplay
(1
or 3 bytes)
D7 I t5 - D4 0-7 = r-8 blank lines D3-D0 0
)
D7lD6l Xl Xl 0l 0l 0
Thls lnslructlon is used to The next two bytes
D7 D6
D5-D4 D3_D0 I
Thls lnstructlon
display block. D7 I = dlsplay
n6 n=l hvts.i^cfr,r.rlon
D5 I D4
D3-D0 2-F = dlsplay
-
display llsr
=
blank
speclfy lhe address to
I = dtsplay .I.Lsc
=
junp (creates
0 X = don't care
=
junp
D2IDl IDO
specifles the
I - 3 byLe
uslng address
=
verttcal scroll enable
I - horlzontal
see
"_i' _:t.I
list inEtructlon
Inscrucclon
node
following
InsLrucclon inEerrupt
reload the Dlsplay List Counter.
be loaded
lnscructlon interrupt
one blank ltne on dlsplay)
end of nexl
type of dlsplay
(reload
ln next lwo bytes,
scroll enable
(memory
pages).
character
or
inteErupt
vertlcal blank
Memory scan Counter
for the next
(LsB
LSB ftrst).
-
map
first).
II.8
.rr
x
FH
r&ts]t4 l&ht4 I'r E ts trhErEl
ts.o6<raoatsl
F@6<lq(JAln
Fco6<fq{JA[r]
r@6<14()aFr
N.o6<FqL)crrIr
ro6<i0<JApl
Fco6<rcrJoFt
(co6<F(JAd
Nco6<Fq(j,a
Fco6<laL)FIIr
F@6<rC(JAtst
ts@6<lqc)A14
F@6<rO(,)OEl
tsco6<roooFl
;
ts@6<laOAF.l
6ts@o<FOOtsl
--!
-----1
ttl
| | II
I
,
Btt 7 of list can
The lype of NMIST, The
lhe user's dlsplay
.olng
tnterrupt
change the
detatls.
a dtsplay
1f btt
colors or lnterrlpt current
1lst tnstructlon
7 of NMIEN 1s
graphics
ls derernlned
0S will vecror
1lst
lnterrupt
can
be set to
set. The
durtng
by checklng
through VDSLST
rourine.
dlsplay 11s!
the nlddle
See the OS nanual
create a dlsplay
lnternrpt
of the
NMIST. NMIRES
(Itex
TV dlsptay.
200
and 2Ol)
for proarau-
coile
clears
to
Blts 5 to enable depends later).
Meoorv Scan
progtaEner.
(non-Junp)
Thls
directly rane
a the reglster 4K
byte Load Meinory
strlngs
A single
contimratlon
previous
bvte rnenorv
l,lSB
and 4 of
vertlcal
on
the values
1s loaded
It
1Tlstruction.
counter
displayed
to be tndtrectly
byEe lnstructlon
In rremory of data
instructlon.
and
12 of actual counter,
boulldarles.
thlrd byte of 3 byte
hwrc lnorh!.r l^n
a dlsplsy
and horlzoflta1
ln the VSCRoI
Counter! Thls
wlth the value
pohts
(Eemory
Scan
to the locarlon
nap dtsplay)
displayed
Stnce thls
unless the
Counter instrucllon.
type of dtsplay
scro111[g.
and I{SCRO],
counter is not
or ro
(chalacter
does not reload
to be dlsplayed
counter really conslsts
a conttnuous menory
counter ls reposltloned
The amount
in rhe last 2
(address)
llst inshuctlons
of scro1llng
reglsters
dlrecrly
ln mernory
locatlon
the
dlsplay).
thts counter.
frorn that displayed by
LSB Second byte of
byte
(to
be descrtbed
accesslble by
bytes of a 3 byre
of data ro be
of characrei
Thls lnp11es of 4 btts of
block cannot cross
wlth a 3
lltstrucllon
are used
the
3
tttlttttl
15l 14l 13l r2
Flxed
Menorv Memory nap a shlft reglster required
Scan Counter) is dlsplayed dtrectly $hen executlng
dlspfay lnstruction.
(4
Map
bY the lnslructlon.
tttl
110
btts)
Dlsplav
so that it can
Instructlons: Data 1n nenory
data is betng displayed
As
3'2t1
Counter ( l2 bits)
(addressed
1t ls also
be
redlsplayed for as nany TV
2
by the
a nenory
stored
1lnes
(btt)
1n
as
1r. l0
Menory Addresses each byte
Scan Counter
Mernory
one l1ne worth
loaded tnto the
Shlft reglster data 1s dlsplayed for four Tv scan 11nes ln thls exarnple.
In Instructlon Regtster
blts of nemory are
of
the screen.
by 8
(BASIC
OS. Ttese nodes have rectanguLat plxels, wide as they are hlgh,
ltnes.
TV
GRAPITICS comand). Tvo nodes,
rdenory
of
shlft reglster
used to Plxel The 0S and BASIC support nost of these
1s
(IR)
dtsplay nodes 8 through tr', one or two
spectfy lrhal
slzes range froE l/2 clock by I TV llne to 4 cLocks
1s to
C and
be dlsplayed on
E, are not supporled by
lrhlch are approxlmately tlrlce as
grephlcs
each
nodes
plxel
the
In IR Eode F, only one luElnances correspoodlng lunlnance ts deterntned by
In
lR zero lndlcales background color and dlfference
In IR modes of each l{olrever, only
aB
SHIFT RECISTER
ptxel,
in the
avatlable.
are
plxel
modes between the varlous modes
four
prevlous
cones fron COLPI'2. If
9,8, and C, two different colors can be displayed. A
8,A,D, and E, two btts are used to speclfy
This al1ows four dlfferent colors ro be dlsplayed.
plxels Ecdes. The bi!
7
6t5
color
If a blt 1s a zero. then the lunlnance of the
the contents of CoLPFI
can be
413 2tt 0 | 7 6t5 4 2 tt 0
(CoIPI2)
packed
can be dlsplayed. T\ro dlfferent
btt 1s a one, them
the
(abbrevlated
a one hdlcates ?f0 color. T1le
1s ln the slze of the
each byte,
llrto
asslgnnents are
lnstead of elght
shoqrn
belor.
to Pf'l).
plxels.
the
2 blts
one
color
plxel
the
foro
II.
I1
l4eoorv
}lap Dlsplay ltlodes
oS
I
and
l1nst. I
BASICIRes.
odeslHEx
| | I | | I
s
lAl
ltl
lcolors
per
uode
I |
4
Plxels
per I per srd.
Line I ritre
|
lBytes lstd. I
40
l80
160
I
I
Iscen lColor I lLlnes I
per I per
lPtxel
l0 814
clocks
lPlxel lPlxellPixel
I
ro | 4
I
Blt
I
Btts
I lper
| 100
lvalueslcotor
tn
I
OI 10
101 l?30 lr0 lPrl
0
I
00
2 I 0l
r0
I
I
Rec.
I lselect
BAK
|
PFO PT'I
BAK
?r0
BAK PTO
?r1
160
I
I
40320
ttttl
0l 10
Prl
I
IGIIM)
rt.
t2
Character Dlsplav
map
dode 1s
character set
bytes of
data depends on also depending address Only the most descrlptlon addless acceptable
to cxeate a character
at hex E000 nay
!g!g
of the character
are assuued to
for the
slgntftcant
ln sectlo[
page
Instructlonst
graphlcs
the hode.
on the oode.
set ls stored
III). The be zero, so
boundary.
The flrst step 1n
set ln neEory
be used). The
for each character.
The charecter set
The USB
s1x or seven blts
(l,losr
ln CHBASE
other one or two
lhe character set fitst
ushg the character
(or
the bu1lt-tn OS
character set contalns
The neantng of
can contaln 64 or 128
Slgntftcant
(or
of CHBAS are
!yte) of rhe
the OS Shadon CHBAS).
used
blts and the LSB of
start aE an
(see
elgh! the characters,
CIIBASE
the
Tte dext
Then the
lgggg
nene selects froE 0 through 0 through
used
placed
are reglster as shol'n
counter v111
na.oe
CIBASE are byte glvlng
of
CEBASE,forclng
The
1024
actual dtsplay
or codes. Each
127
to speclfy the
Character nanes
ln a shtf! rotates, belon.
After
for lhat In 20
Eenory
The
aet
bytes for
a full 1lne of
character
used. Th{s
boundary.
a
rotal of 512 40 character per
rrust
step ls to set
1s set up.
nane takes
a character.
(decloal).
63
(declnal).
color or orher
(codes)
reglster.
changing only
lncrenent.
ftne rnrmber.
the
have
128 charactels
the set.
The next
f'er
requlres The set Inlst
bytes for
character set
up the dtsplay 11st
Thls constsrs of a
one byte. The last
For a 64
The
are
character data
ltne modes
ltne
charactet set, For a upper one or rwo blts
aodes
128 characrer ser,
speclal tnfornatlon,
fetched by the neroory
On any
the nane
l1ne agaln
the seven
that the
the charactet
conratn
use the slx most
to start on
of
8 bytes
glven
portlon
has been
ltne
addresses all
nost slgrlflcant
64 charcters,
each.
for the destred node.
strlflg of chatacter
6 or 7 bits of
the naEe would range
rhe range \rould be
of rhe nane byle are
dependtng on the
scan counter,
of dlsplay
of the character
dlsplayed the
set !o
slgnlficant
a lK byte rnemory
gives
Thls
the shifr
address,
line
characrers
birs
statt upon
8 bytes each,
blts
boundary.
a total of
the
and
by
of
a 512
ltex
I lCode
Graphlcs
Mode
f4l
chars.
I
L tne
Nunber
of
II.I3
laytes
lNunbe.
I28
lnytes lln
Char Set
(20
Character
Characrer
Dlsplay
per
llne mode
Internal codes for
exarnple)
shlft
Resls!er
Codes Stored ln Shlft Register
(naines)
Character
Color
Reglster
Select
Data
Addr:ess portlon
Character nane
Address
of
Llne
Char:acter
1n llemory
Set
Addresses
and displays
TV
Color assigned
by color
sefected
data in
reglsEer
on
the
0
I 2 3 4 5 6 7
TV
S can
Lines
r1.14
There
and
7 are supported by
are slx charcter inap modes,
IR rnodes 2
the OS and BASIC
through 7. Modes 2,6
(GRAPHICS
0,f and 2).
.-
In IR dodes 6 one of four playfleld selected background color
playfleld
color ts dtsplayed.
glves
a total of elght lines htgh and data byte ls dlsplayed
In IR nodes 4 and 5, each
of elght
(as
ln the olher nodes).
select one of
used
to select lhe character. If the most
the[ data of 10
blts of l0 select PF2. wlth dlfferert
roodes
lc
This
In IR
makes standard \ddth 11ne. These nodes are lur0inances In IR mode
can be dlsplayed, but only one color 1s available a! a tllle. 3,
and 7, the upper two
colors,
For each
color is dlsplayed.
The four characler colors
flve dlfferent colors.
dode
the
7 characters are slxteen lines htgh
bits of each character Iraoe
3e!g
bit that contains
For each zero data btr,
loode 6 characters
the
plus
a one, tfre
the
the background
for two ltnes).
plxels
i{de lnstead
of data are used
eqEg
nane blt ls
three
(binary)
p1ayf1eld
selects P]I.
Thls
character ls only four
Two btts
per pixel
colors, or background. Seven
signlftcant
If the nane blt 7 1s one, rhen data
nakes
possible
it
to dlsplay l\no chalaclers
colors, uslng the same data but differenr nane bytes.
2 and 3, each
posslble
to have forty etght-pixe1-wtde characters in a
each character ls
plxel
half of a color clock tn width.
is slnllar
to r0enory loode
l0 Unes high. This nakes lt
F h
posslble to
(each
bits are
that two
deflne loner case characters w_ith descender€. Tlle las! fourlh of the characte! set takes the flrs! !!r0 displaylng
(naEe
blts 5 and 6 equal
dala
bytes and noves then to the botron of the characte!,
one) is lowered. The hardware
to
two blank l1nes at the rop of the character
(see
next
page).
selec!
are
to
a zero
\-
In IR oodes 2 and 3. blt 7 of the characler
vldeo or blanklng. This is controlled by CHACTL blt 2 of
CHACTL
upslde dolrn, reeardless of node, If
character \.rhich has blt 7 of 1ts nane set
vtdeo
(the
luBlnances will be reversed). If CHACTI­each character whlch has blt 7 set w'l1l dlsplayed). Characters
I and loggltng CEACTI- bit 0. Inverse vldeo and
modes 2
ard 3.
w111 appear as an lnverse
Ilardware collislon
provlded
to
playfleld. addresses D000 thlough
ls a one then all of the characlers will be dlsplayed
CEACTL
bil I is set, lhen each
l{lll be displayed in inverse
be btanked
can be blinked on and off by settlng
blank
If both inverse vldeo and blank are set then
vldeo
blank character
(solid
Delectlonr 60 bils of colllslon delect and store overlap These collislons can be read by the
(hits)
belreen
Dicroprocessol fton
D00I. There are no btts for nisslle to
co11islons.
16 bits for
ulssile to Playfield 16 btts for Player to Playfield 16 blts for }Ilssile 12 bits for Player to
to PlaYer
Player
(P0
io PO allr'ays leads
narne
ls uaed for
(character
co$tro1).
blt 0 is set, then
(on1y
background
nane bil 7 to
apply
only to IR
the character
sqrare).
register are
players, misslles and
nlssile
as zelo,
inverse
If
wil be
e!c.)
The l/2 clock lleDory
node
(IR
codes 0011
be slored in btl 2 of the
nap node
(1R
and 0010) are both
playfietd colltsion registers.
T1.15
code llll) and lhe l/2 clock playfleld
2 coLltsions and
type
chalacter
w111
Data
Upper Case
IR l,lode
3-Upper and l,ower
Case
Act\ra1 Dlsplay
E
II.I6
Chalacter
Map Displav Modes
os
I I lBAsrclRes.
lModeslttEx
I I lchars.lscan lcolor lData lcolor
and
lrnst.loolors I
lper Ista. lper lper
Mode
I
per
lllneslclockslBtrs
lper latts
lLine lchar.l?txel lPlxell
lselect lvalueslcolor
Naroe
Bit
I
rnl 1Il
lDara
I lRec.
lselect
rrrrttttll
ot2 40l8l:ll
I4
-
7
lB{t
l'o I I
7
lBlt
7
lBtt
l=0
I I
7
lBit
o
|
lr lPrl
0
I
01 l0 1I
00 01
l0 ll
II
I
I
PF2
PFT
?FO PTI PF2
PF311
BAK PFO PFI PF2
PF3
| | | | | | |
00 OI
IO
00 0I
10 1l
I
0
I
I I
! o
I
L
BAK PFO PT'I PF2 PF3
BAK
Pr'0
?FI
PE2 Pr'3
rr.17
Vertlcal and to Eove srnoothly. of nenory. of
the screen rfils! 6oved easlly Ilorever,
llowever,
ln a
thls
results
to another, not
(VSCRoL or vertlcal character
done by
the nenory
another
and HSCROI,)
notlon,
helgh! vertlcally.
lrrcreaslng
scan counter
characrer
llorlzontal
Me.oory
thls 1s
be noved
jerky
Flne Scrolllna:
playfield
nap
extreEely
snoothly. Character playfleld
fashlon by
1n a large
a smooth Dotlon.
and counters
up to one
character wldth horlzonrally After this ouch
the value in
ts nodlfled
distance,
?layfleld
can be rnoved
tlne-consunlng
chaoglng the nenory
posltlon
For
provtded
are
junp
fro.n
thls teason hardnare
ro a1low snooth horlzonlal snooth xnotion has
these reglsters,
and sDooth .0otlon
objects are dlfflcult
by rewrttlog
secrlons
if large secrlons
oblects
can be
scan counter.
one character
posttion
reglsters and
up to
one
been
nenory 1s reErltten or
1s resuned for
Vertlcal upward by dtsplay
blocks at
varlable
zone trlist ehortened
verElcal
ScrolllnA:
uslng VSCRoL
the upper and lower slze. In
be shortened
fron
the botton
A zone of
and bir 5 of
froid the top, and
(t.e.
be dlsplayed).
The vertlcal counter vertlcal standard for
wlthtn
scro1l1ng,
va1ue,
upper and
character
If btt 5 of the display
blocks, then If blt 5 of display
blocks, the second block r'llf coun! shortens
that
dlsplays, it 1s
the
up until delta=VSCROL, lnstesd of
dinenston
the ANTIC, called
lt starts
detelnlned by
lolrer case text
7 or 15,)
lnstructlon renalns lhe second block 1s displayed
lnstructlon goes
dtsplay
block fron the botton.
To deftne a vertlcally sel blt consecutlve blocks but reFrlttren conslan! the standard
5 to I ln the first dtsplay instnrctlon
the lasr one. If rhe VSCROL regisrer is no!
on the f1y, thls results ln a rotal
IujDber of 11nes
(provtded
lndlvidual block stze). If N rop block will be N-VSCROL VSCROL +
I 11nes:
followtng page
1s an exanple of a scrolled zone, top block, for 8 VSCROI-
(N-VSCROL) + (VSCROL
valuesforN=8.
playfleld
on the screen can be
rhe dtsplay llst lnslructlon,
boundarles of rhe
particular,
the flrst dlsplay
the last dtsplay block
not
all of the top and botton
of each dtsplay block 1s
the
'De1ta
Counter' at 0 on the firsr line, and counts the current dlsplay lnsrruction.
display, the end value is
zo[e Eu6t have a
block rrithln
ftrst be
blocks dll
controlled by a 4 btt
(DCTR),
Wlrhour
up to a
(Ex:
Ior 5
9.
unchanged between consecutlve
1n the normal fashlon.
fror0 I
to 0 between two consecutlve
\'111 start tu{th Delta = 0, as usual, but
lhe standard
value.
scrolled zone, the most dlrect melhod ls
for that zone, and 1n all
scrolled
zone that has a
that the VSCROT value does not exceed
standard block size,
and the lasr block wtll be
),
=
111.
Shown on the
l1nes
(N
>
VSCROI
1s lhe
+ 1)
scrolled
The
lhat
color
Ihls
to
che
Horlzonlal scrolllns is descrlbed
II.
under
T8
HSCROL ln sectton IIt,
o
I
2
T1
2
li
5
1
-l
I
2
I
2
5
-t
I
z
-2
I
z
l
5 7
I
fz
I13
I
3
t:
5
7
7
z
5
5
5
7
2
3
T
5
7
J
I
l
2
z
5
3
5 T
I
I
2 3
z
3
5
7
I
2 3
5
F
'7
I
2 J
5
7
I
2
J 4 5
7
-,
S+np19
. _ .
whlch
slandard
R-Al1
nlth nachtne, are
hex 70's 4 teUs address te1ls next code
The
960
The atattlng
MSB
scan nodes 10
23
for address bytes oS lErst
of
Thls counter
on
the
Dlsplav
dlsplays
screen room the
the hardware
(7C40).
the hardware
bytes
Junplng
are
address
the
ls a
dtfferent
example
40 characters
ntdth.
for dlsplay !o create
Thts
specify
and walttng
to
Junp
the
set
up the
of
address
slEple
1s only
tn
Llst
.The
the
character
l1st to
ls
to
dlsplay 23
to ts
11st
of characlers dlsplay
the
of
rhe
exardple
loaded
ltnes,
Sectlon
Exanpte:
OS sets
would
24
blank
reload
rhe
nore
7C20,
dlsplay
character
at one change IV.
BASIC
across
the
aildress
one
ltnes
until
1lsr pornter
because
by 24
up the allsplay
nanes start 1i[e6.
Bernory
of
line
of rooile
the
rhe
start
to
11st
ser
point.
chiracrer
starls
ro\rs,
at the at hex
The next ih. d.t.
of IR end
be dlsplayed,
(7C20).
(EO).
orlly
top 7CiO.
scan
noale 2
2
of the
of the
(oirsiu
It
one
It
ls
eets
out
in os
Thls of UU. byte
cou;ter
to
characters.
alisplay
also
node
posslble and
1s IR
lts!
The
1s
wlth be dlsptayed. characters.
nex!
verllcat
40 bytes per
;nd DLISTL)
sets CIBASE
ls used
colors,
graphlcs
node
near
flext
the
On
a three
a hex
the follor,lng
Eex
llst.
and
to have
etc.,
node
2
nlth a
top
of
32 K_byte
bytes
42,
The
The 2
The
4t
is rhe btank, The
flext
l1ne.
to the
to the
the roenory
different
as shor,rn
O
II.19
Mode 0 Dtsplav Ltst
0S
(40
chars x 24 1lnes)
Ad.i raee ahav\
7C20
7C40
Data
70'\ 70
70)
42) 40
7C)
i)
;l
'.(
2l
i)
-)
4l
20
1C)
l
)
(hex)
24 blatrk
1
reload
roode 2
IR
I
t
23 nore IR
Junp back to 7C20
walt for end
1
960 bytes
(character
l1nes
meroory
mode 2 tnstructions
of dtsplay data
naoes)
acan counter r.Ith 7C40,
and
of vertlcal b1ank.
cvcle countlns: As explatned
cessor runs at a rate of 114 machine cycles
ate 262 Ilnes (The
PAL
Each nachlne cycle are 228 color clocks on a TV 1lne. The have a
40 screen 1!
(WSYNC)
uachlne cycles betore the beglnnlng of the
thus change the next 1ine,
xefresh ls that each byte fetched dlsplay Ilst BeEory nap inslruction
ls
every l1ne,
refresh
and one cycle every'other 11ne ln the tlro 1lne
DMA can be enabled rlthou!
enabled lhen olsslle DMA n111 also be done Player DMA iequlres 4 cycles every one or tlro resolution
ptxel
nachlne cycles. Thls 1s !,'hen the bean returns to the left edge of the
lnstructlon stops the 6502. The
The ANTIC chlp steaLs cycles fron the 6502 tr order to
and fetch
only
conllnuea
l,rsstle Dl4A takes one cycle
per
TV frane and 60 frames
(Europeor)
slze of Il2 color clock by I TV Une. Ilorlzontal blank takes
preparatlon
graphlcs
fetched
unless
used.
systen ls dtfferent. See
ls
equlvalert
for dtsplaytng the next TV 1lne. A walt for Sync
or colors durlng horlzontal blallk lfl
graphtcs
on
the
pre-enpted
durtng vertlcal b1ank.
data ehen needed. The
fron nernory re$lres one Dachine cyc1e. If a
flrst 1lne. MeEory refresh takes 9 cycles
dolng
prevtously,
per
1n length to 2 color clocks. There
highest resolutlon
processor
extends over several llnes then the
by a htgh-resolutlon
per
l1ne ln the one-1lne
playex
DMA. l{owever, lf
the ATARI 800
per
second
the sectlon on
next
resolution node. l,Ilsslle
(see
llnes, dependlng on the
Tv ltne
on
the NTSC
ts restarled exactly 7 11ne.
Tv
general
graphlcs mode. Menory
Dl4AcTL, GMCTL blls).
5502 ndcropro-
(1.79
MHZ). There
(tls)
NTSC
graphtcs
prograo
lhe preparatlon for
do memory
rule to
resolutlon Bode player
Bysren.
vs. ?AL.)
nodes
can
r:emenber
data
out of
DMA ts
II.20
Each
fetch of
are required
for
a dtsplay
a three
ltst byte
byte tnstructlon.
takes one
cycle, so
three cycles
Player/mlsslle
during horlzontal
the
first l1ne
In nemory
nap modes,
of the display
use ln succeedlng
fetched graphics
dala iB
the fetch the refresh screen
tn
the hlgh resolutlon
occurs
durlng
the first
data needed
fetched,
In
lhe 40 x 24
cycles durlng
character codes
cycle
wldth
lnstead of
so two Denory
The menory
every four
refresh
A11 lntelrupts Wlth horlzontal
depends scrolling 1s
standard o!
b1ank.
The time
on
at which ANIIC
the
enabled.
graphics
see I{SCRoL.
and display
b1ank, tf
they are
the
l1nes,
In
ltne of
for that
slnce ANTIC
character rdode,
the
top ltne of
and
the usual
refresh
ls done
rnodes.
cyclea
reach
narrow
unless
the 6502
screen lrldths,
node,
Horizontal
list
lnstructton fetch required for
graphlcs
dara
hst instruc!1on,
character
each ron
llne.
renembers
nodes, the character
of characters,
Or the next ltnes,
the character
&{th
a standard
each row of
data, so rhere ls
[1ne. ]-ess DltA cycles I'ould
fast enough
Once rnenory
pre-enpted
refresh
by Dl4A,
near rhe end
refresh DMA
does cycle
screen
stealing
{1dth and
scrolling
take llne.
place
the next
ls fetched
lhen saved
DMA
as needed rhroughout
by ANTIC
codes
along rrtth
only ihe
codes.
screen wtdth. nost
chalacrers
only rlne occur in
!o nake
ts requlred
up
slarts or
ale requrleal
for one oenory
wlth a narro,
thls case.
for
the lost cycLes
a 1lne, lt
of horizontal btank.
starts after
the end of
ls deterndnlstlc,
nhether or not horlzontal
reqrtres extra
graphtcs
for
are
the
graphlcs
of
to
but
data:
ANTIC delaylng clocks inlernal
does horlzontal
the
tlne at which
(which
lnvolves half
delay.
Theoretlcally, or
colors
I'lth
all ard ls
There These
which adds
rron
the DMA
beyond
are a mlnber of
occur in
in
the flyi, t.e.
going
the scope of
the ANTIC
lhe color infornatlon.
the fly is dlfferenr
scrolllng
1t DMA'S the
of a nachtne
it
possible
ls on, rhe cycle
thls roanual.
delays assoclated
and the
fron
that for changtng graphlcs
of an
data. To do
cycle), ANTIC
to write a program
during
the nlddle
counting
CTIA, The
Thus
II.2I
even rllnber of
color clocks
an odd nunber
has a one
vhlch changes
of a TV llne.
gets
with
to be
the display of
qulte
ANTIC sends data to
the rlnlng
for changing
on the f1y.
by
of color
color clock
graphlcs
Iiowever,
conpltcateal,
graphtcs.
the CITA
colors
on
Itortzontal
When DMA ts enabled, cycles are slolen at the tiEes shown belol'.
End of
Lprevrous+l ll,lne | |
I,ISYNC
Blank
Horlzontal BIank_____J
20 nachtne cycles
DUA
Tlntne
(40
-_
. ^t -
r-v rerresn cycres. char, and dara DMA
orr.hl. m-,{ c )
Interrupt Address
Player Dlsplay 1ls t Mlsslle Dl,{A
color clocks)
graphlcs
(depends
(3-byte
DMA
lnstrucrion) lnstruction
on
dlsplay
fetch DMA
llst
Cycle Countlnq Exanple: dlsplay l1st dlsplay list DI,IA takes 32 nachlne cycles. It takes 960 cycles to Dl'lA rhe characters and 8*960 to DMA
cycles for each of 262 1ines, except for the 24 tines wnere the characters
are read, where only I refresh cycle occurs.
Thus tbe total DMA 1s 262 llr\8 with 114 machlne cycles cycles node 0.
(Untted
The PAL systeu has been destgned so that mosl belng modlfled. hardtrare
system
per
NTSC vs. ?Al, Svstens: There axe tr^ro verslons
lt Is runnins on
given
DMA descrlptlon
dtsptay llst
chalac!ers character data refresh
!ota1
fraDe. Thus 362 of each
States T,V. slandard)
Ilowever, sone dlfferences nay be notlceable.
reglscer
page
on
(PAL)
per
vhich a
and adjult;ccordlngly.
fhis exar0ple
II.24. This dlsplay lisr 1s 32 byres long so
characrer da!a. The refresh DMA
the
uses the 40 char:acter
Machine cvcles
40x24 = 960 950x8
262xe-24x8
=7680 =!!!!
1083 8
frane ls
and
progran
10838 nachine cycles. one fraroe
per
ltne for a total of 29868 nachtne
frarne is required for DMA tn 0S
of the ATARI 800: the NTSC
(one
PAI-
of
the European T.V. standards). programs
can read
deternlne
to
wlll lun
by
24 l1ne
takes 9
32
graphlcs
wlthout There 1s a which type of
..__
-
The PAL T.V.
gaues 1lnes
fot thts llsts be nodlflcetlon.
lflll be slot'er
per
by adding
do not have
shorter.
frax0e
PAL ATARI
has
a slo\rer frame
irnless
(312
lnstead of
extra 11nes
to be altered.
800 colors
rate
an adlustneflt
262r.
at
the beglnnlng llor,rever, are simtlar
(50
Hz.
instead of
is oade.
T\e Arart 800 harilr,rare
thelr
to NTSC because
pAL
has roore
of vertlcal blank.
actual vertlcal
60 t{2.)
cordpensates
of a hardware
so
T.V.
Display
heisht
\1111
B.
frequency, frequency port \rhlch
ously can and blts resolutlon, channels
and reduced
MEZ.
audlo chamels Thus eech clocked at lts by blts senpled change faster the dlvlders the low freqrency
POIGY
Audlol
block dlagran.)
selects
Irequetcy
fron 54 alternately 4 can alternately
4 and 3). Thls
Poly
4 blt)
Thel!
by the
Ttere are
nolse,
dlvider,
the tlolse
Dlvlders:
KHZ or 15
2 chanrels
of 8 blt.
Nolse Cou[ters:
used !o
to 9 bils
outputs,
at
channel
olrn frequency.
5,6 and
'rdlvtde
than
are therefore
4 seni-tndependent
arld volune
controlled
Each
KHZ.
be clocked
be
a11on6
of 16
generate
(AUDCTL
however, a rate detelnlned appears ro
7 of each
by
the saopllng
noise
to
control.
channel also
(poly
A11
from
clocked \di!h
rhe followlng
btt resolutlon,
There
random
blr
contatn
A1IDCX regtster. N[ frequeocy
acting pass.
audlo channels,
Each has an 8
by an counler)
4 frequency dlvlders
(AUDCTL
7), These counlers can be sampled
Thls poly
8 blt regtster
has an 8 btt
conrent, and
btt O).
1.79 MHZ
ale
nolse. The
by
!ate. IIr
asirlow pass,'filrer
(AUDCTL
the output of
oprlons:
or I
polynoEial
3
tndependently
each channel,s
separate
dtvldet,
poly
counter noise
Because
these nodes
Ire$ency
17 btt
lhe output obvlously
each lrith its
"dlvtde
b1t
(AUDFX).
conrrol regtster
the volune.
can
be clocked
dividers
bits
6 and 5).
dividers
4 channels
channel of
counters
poly
are ;11
counters the
clocked by 1.79
frequency dlvlder.
saopllng is controlled
poly
(poly
clocks,
by Ni,
(See
andlo-serlal
(AUDCX)
slmrltane-
I and
Dlvlders 2
I and
of 8 bits
16 btt and 2
(17
b1t, 5 btt
counter can be by the
(3
types) counters are noise outputted)
allo\rlng
3
four
cannot
(AUDCTL
o\rn
3
only
The output
pure frequency can be routed
tones
set by
of the
(sqrare
through
rrave
the
ridtvide
a high pass
notse control
type),
by Nri countet
polynonlal
or
ftller
circult
rr.23
descrtbed above counter noise
(1o\r
pass
1f desired
at a rnaxlurE
clock).
(ALIDCTL
conststs
This output
blts 1 and
of
Audio Nolse tr1lters:
trreqrelrcy
Notse
Frequency
Any chanflel nolse output
voL
chennel
-byN
channel
(or3&
-bvN
,)
Chendef I output
;\
,J
(vtthout
(wLth
fctaonet
lL-
I
v
high
htgh
o' "
pass
pass
t
f11ter)
fllter)
f!equency
Chamel 2 output
(!?-lth
Clock
blgh
pass
Freqtrency
filter)
"D'r
a
tha[ the clock ra!e,
the two
nolse whose
channels
by the
the
to
hlgh
ftlter,
Thls
pass
filter conststs of
"Aigh
excluslve-oR
foUow
pas8
filter
Pass" c1ock. The input and output
lf the
(ll
or 00)
pass
fllter,
clock
hlgh
The
1s lncluded ooly if bit I or 2 of
Gate. If the fllp flop lnput
lt
loput and
pass
Lower
is
gtvtng rate. Only
pass
clock for channel 2
very 11!t1e drtput.
passhg
clock fo! chatlnel I
Elah Pass Fllters: The htgh attd an elcluslve-OR Gate. Ihe noise control clrcult outpu! ls thls fltp flop dt a rate set of the lllp Flop ls changing mrch through the excluslve-OR Gate. l{owever, the f11p flop outpul w111 tend Gate lnputs lll1l nostly be tdenttcal Thls olnftolid
AIIDCTL ls true.
glves
I
and 2 have such a htgh cones froo the channel 4 dlvider.
fro.n the chanfle] 3 dlvlder. The hlgh
the effect of a
frequency 1s set by the htgh
pass faster than the clock rate, the stgnal !1111
through
crude
pass
fllp flop
sanpled
pas8
easlly
excluslve-oR
by
cones
J9Jtg9_994!gf:
each chennel. Thls ts a
allons selectlon of one of 16 true audlo lnFrt. A loglc zero glves codtrolled by bits 0 thru 3 of AUDCX. lnvoked by forcing thls thla nected fron
AUDCX) determlne
zero to the volude control blts of AUDCX. A11 ones slves
an open clrcult
mode
The ardlo output of any chennel can be conpletely turned off by
dlvldels,
the
lhe chaIlnel outpu!. Olrly the volune control blts
A volune control clrcult ls
crude 4 blt dlgltal to analog coDverter that
possible
audlo ltlput !o thls volune clrcul! al\rays
(zero
the channel output current.
current) outputt The volulle selecllon 16
clrcult's arrdlo nolse counters, aod fllter clrcults are all dlscoo-
oltput current 1evels
"voluxoe
input
placed
control on1y" node can be
l.lth
true
at the output of
for a loglc
blt 4
of ALTDCX. In
(0
to 8 of
rnaxfid]n volur0e.
wrltlng
c. SERIA]- PORT
The serlal
1lne, a ser1a1 data lnput
bl-directlonal serlal data
descrlbed ln the operatlng Systen Manual. Data ls transDltted and recelved as 8 btts of serlal data
by a logtc true
(blt)
oulput
ra!e, not 16
clock
port
stop
goea
coflslsts of a serlal data output
(recetver)
clock 1lne, arld
preceded
btt.
tines baud rate. Transnltted data changes
true. Recelved data ls sanpled rhen the
Irput and
1tne, a serial output clock 1lne, a
other rolscellaneous control lines
by a logic zero
outpu!
clocks are
(transolsslon)
start
bit, and succeeded
g$g! to lhe baud
lnpu!
qrhe[
clock
the
goes
Sg4e1_9.g!!g9:
\alrltes 8 blts of audto and sertal nisston 1s flnlshed
(SERoUT)
an empty data), and auto!0attcally serlally start-stop b1!s attached. If the
reloads SERoUT before the shlft reglster 1s conpletely transnltted, the serlal
to the oltput shlft reglster, lnterrupt the
(SERoUT)
transnlssion
Ttre transElsslon sequence beglns lrtlen the peralle1 port
block diagran). vhen any
the
reglster
w111
dara into rhe serial output register
previous
hardware a'111 artonatically
(ready
be soooth and contlnuous.
to be reloaded wtlh the transnl! processor
lhe shlft reglster contenls
responds to lhe interrupt,
transfer
processor
r1.25
processor
(sERoUT) (see
data byte trens-
new data from
lndicate
to
next byte of
ltrlth and
Loading...
+ 88 hidden pages