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 42 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
l0814
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 CHACTIeach 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
ot240l8l: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
Output data ts nornally transnitted as loglc
leveLs
Data can also be transmirred as two lone lnforDatlon. Thls
(t4v=lrue
rdode ls
by bit 3 of SKCTI-. In rhls node andlo chanoel I 1s transroitled
loglc true, and audlo channel 2 1r
the lower tone
of
the tone
Pair.
place of togic zero. channel 2 mlst be
ov=Fatse).
selected
place
1n
of
processor
The
channel 2, lf
1n
lo force a break
Serial Output
serlal
output clock
can force the data
two rone node) by settlng
(I0
zeros) code tlansolsslon.
Clock:
goes
The serial output data always changes
true. Tte clock then
outpu! ltre to zero
btt 7 of sKcTL. Thls 1s requlred
returns to zero 1n the cente!
of the output dara blr tlne.
The baud
(bil)
rale of the data and
channel 4 audio channel 2, or by the lnput
dode
selected by btts 4, 5, and 6
SSJjg!_!.!!g.!.:
The recelvlng
received a conplete 8 blt serlal
data
ls autoroatically transferred !o
(SERIN),
and the
processor
ls lnterrupted to
ready to read ln SERIN. The
read
SERIN, before the next
lnput dala vord receplion is coaplete, olherwise
of
sequence beglns vhen the hard\rare
data
processor nust respond to thls lnterrupt'
clock i3 deternined by audlo
cLock' dependtng on the serlal
(see
SKCTL.
i^rord plus
the 8 bit
charl at end of thls
start and stop blts. This
paraLlel
indlcate an input data byle
an input data nill occur. This over-run
5 of SKSTAT
(if
bit 5 of IRQST is not RESET
(true)
and neans input data has been lost. Thls blt should
SERIN
ls read. Blt 7
caused by extra
(or
of
SKSTAT
should also be rested to detec! frame
nlsstng) data bits.
(or
to audlo
when the
has
input teglster
and
wtll be tndtcated by btt
before next lnput conplete)
be lested whenever
errors
'
Direct Serlal Input: The serial data lnput
by
rnlcroprocessor 1f deslred, ignoring lhe shlft reglster,
the
b1I 4 of SKSTAT.
Bt-Direclional Clock: This clock
ltne is
clock fron an external clock source for
dala, or is used to supply a clock lo
e).texnal devlces indlcatlng the
transnit or receptlon rate. This clock
by the serial rnode selected by bils 4,
at the end of this section.) Transaitted
thls clock.
Recelved data 1s
sadpled
on the lfalling
Asvnchronous Serlal Input: Unclocked
known
(input)
(+5%)
rate)
shift reglster is clocked by audio
4 should be used togelher
In asynchronous
beglnning of
sl lghtly
different from the rate set by channels I
can
be received
(AUDCTL
nodes,
serial data byte. This allows the
each
channels 3
1n the asynchronots
bit
3
and 4 are teset by each
line can be read directly
used
lo elther recelve a
clocking iransnitted
llne
d1lectlon
5, and 6 of SKCTL.
dala changes
is deternined
(See
on
the
edge of thts clock.
serial
dala
(at
an approxlllately
modes. The recelve
channel 4. channeLs 3 and
=
l) for lncreased
resolutton.
start blt at the
serial dala rale to
and 4.
by readtng
or recelved
node
chart
rislng edge of
be
Serlal
cortrolled
page.
Mode
by bits
Control:
4,
5, and
Thete
6 of
ate 6
SKCTL.
useful
These
rnodes
are
(of
the possible
described
on
the next
8)
.
nodes
cne
output
p7
lp6 lps
Note
Note
that
except
lransntt
that
Force
two lone
for the
the
Mode
LD4 lD3 lD2 lDr IDO
Q"t I
D4
Rat
output
Control
Break
Two
Mode
output
bortoE pair.
rate
and
1s therefore
clock rate
Tone
Control
Control
o"t
Blrs
rnl
I
(bit
Thts
S(CTL
Pot
scan
B1-Dir
c1o
linput
3 of SKCTL)
is because
nor
available
is
tdentlcal
REGISTER
and
keyboard
trrans.
lexternal
lock
Eay be
&
phase
used
channel
for
!o lhe outpur
CTRL
A-asynchronous
R.".in;
clock.
reser
1n
any
2 is
one
dara
;;i;;-;;ali
Also
lnrernal
to zero.
of
these
rare.
lext
tl
lchan
cr{4
14l
lr lcn4
lcran I
12
I
I
4
CII4
|
cH4
|
ctran
|
Chan
2
4
2
chan
I
l4
cI{4
CH4
Chan
2
Chan
4
lnput
I
4
lnpu t
Chan
0rr I
Input
Trans.
lcfock,
lTrans.
lChan.
Direc
Not
lTrars.
lRecelve
C1ock.
lNot
lTrans.
lRecleve
4 out
lTrans.
lceive
lClock
clonal
Useful
UsefuI
on B1-Dlrect.
async.
nor
rale
&
4. chan.
rate set
Rate
set by external
Receive
Recetve
clock ttne.
Rate
Rate
rate
Set by
se!
set by
used
asynch.
Chan.
by
External
by
chan.
by chan.
Chan.
(chan
3&4)
(Tri-srare
CIo
(ch.
4)
bvl
on
81-
4
2. Re-
Bi-Dir.
I
ft'o
lone
(bit3)
not
useable
ln these
11,27
nodes
D.INTERRUPT
SYSTEU
There are t\ro baslc types of lnterrupts deflned on the r0lcroprocessori
(non
NMl
naskable lnterrupt)
rhar a rhorough
understanding
and IRQ
of
(lnterrupt
these
inter.rpt
reading all chapters concernlng lnterrupls in
progranmi
ng and hardware manuals.
In this systern NMI interrupls are used for video dlsplay and reset.
IRQ lnterrupts are used for
serlal
porl
com'rnlcatlon,
tlners, and keyboard inputs.
request).
types
the 6502
It is
be acqulxed
recoomended
by
microprocessor
peripheral
devlces,
NMI Interrupts.: Even
though NMI
lhe nicrptocessor, this systeE
function.
are dlsabled
interrupt.
1. D7
(Blts
6
and 7 of NMIEN) t{hen lhe€e blts are zero NMI lnterrupts
(nasked)
(see
NMIEN reglster descrlptlon)
-
lnstruction
prevented
and
lnterrupt
has
lnterrupts
interrupt
enabLe
fro![ causlng a xoicroprocessor
The 3 types
(ftrrlng
dlsplay ttrtre
"unrnaskable"
are
(:nask)
on
bits
for NHI
NUI
of
NMI lnterlupts
any
dlsplay
lnstructlon wlth blt 7=1 w111 cause thls lnterlupt to occur
(if
enabled) at lhe star! of the last video line dtsplayed by
that instructlon.
2. D6 - Vertical Blank Interrupt
)
(lnterrupt
occurs
(if
enabled) at
rhe beginning of the vertical blank rime interval.)
3, D5 = Reset Butron Interrupt
(pushtng
rhe SYSTEM RESET button lfi11
cause thls interruDt to occur,)
Slnce any
of
these
lnterrupls rtrlIl cause
processor
the
lo
Jurnp
to lhe
same NMI address, lhe syslen also has NMI status blts rrtich nay be exantned
by the
processor
5, 6, and 7 of NMIST serve this
These
status blts are set
the loterrupt 1s Easked
deterrnlne
to
by
fron
whlch source caused the NMI lnterrupt,
functlon
correspondlng lnterrupt funcllon
the
processor by
the
(see
NI1IST register
NMIEN). The
descrtptlon).
status bits toay
Blts
(even
tf
be reset logether by wriling to the address NMIRES.
Tno
of the lntelnrpt enabLe blts
autornatlcally
aie inilially
durlng sysren
dlsabled
fron being lnte.rupted
They can
blts 6 and
be dlsabled by the
then be enabled by the
7 of NMIEN. Except for the reset button lnterrupt, they can also
processor
The reset button cannot be dlsabledj allowing an
posslble
"hangup"
conditlon.
These NMI lnterrupt
ovetlaps)
NMT
translrlons required by the ntcroprocessor Iogtc,
and converted to
* -
NOTE: Blt 5 1s
should not be
po!/er
(nasked),
before
turr oo and therefore these
preventing
proper
processor
by writing a zero lnlo bits 6 or 7 or NMIEN.
functlons are
pulses
by
never dtsabled
pressed
durlng pover
(blts
6 and 7 of NMIEN)
are cleared
NMI internrpts
any pover turn on servlce routlne
lnltiallzatlorl of reglsters and
nheneve! deslred, by
unstoppable
each
the
separaled
systeo hardware, in order to supply
and therefore the
ln tlne
Reset Button
wrltlng
escape from any
(to
turn on.
r1.28
polnlers.*
lnro
prevent
IRQ Tnterrupts:
_ -
of
rhe
sratus
dtsable
power
bit,
Eurn
there
lnterrupr
porrer
by
processot
D7
Db
D5
D4
D3
D2
Dl
D0
teglster
condltton
autonatlcally
on service
are
separate
functton
turn
on, and rorsr
IRQ.
=
BREAK
=
OTHER
=
SERIAL
ready
=
SERIAL
SERoUT
=
TR-ANSMISSION
Ourput
=
TIMER
=
TIMf,R
=
TtMf,R /it
(blts
The I
(depression
KXy
Key
{depression
INPUT
!o be read
OUTPUT
is ready
shift
(audio
#4
/12
(audto
(audio
IRQ
lnterrupts
on
the mictoprocessor.
power
by
rortines.*r.
systenr
0 thrll
In
IRQ
lnrerrupt
7 of IRQEN).
be inttlalized
rypes
of tRQ
tnterrupts
of rhe
of any
RXADy
(Byte
of serial
by the processor
NEEDED
to
FINTSEED
register
dlvider
divider
divider
(Byte
be lrritten
(serlal
is
enpry).
/14 has
12
4t
are
a1l
turn
addltlon
br€ak
other
of
serial
to
data
counred
has
counted
has
counred
"naskabte,'
This blt
on !o prevent
to
enable
These btts
by
rhe
progran
are:
kev)
kei)
data
tn
SERIN
data
agatn
by the processor).
transnission
dol''n
dol',n
do&n
together
is
thts
processor
blts
befoie-enabling
has been
leglsrer).
is being
to zero)
to zero)
to zero)
by one
se! ro
tnlerrupt
IRQ mask
for each
are
not tnltlalized
recelved
rransnlrrect
1s flnlshed,
blt
the
of
IRQ
the
and is
and
In addition
IRQEN
and
syslen
Interrupr
D7
D0
D7 of
D0 of
These
.
and
thelr
register.
The
when
lts
inlerrupt
lndicale
true
only
dlsable
one,
Bit
disable.
\rhen
it is
ro
ldenrtfied
IRQ lnterruprs
lines.
of
?ACTL = peripheral
of PACTL
PBC-L
=
pertpheral
-
Dertpherat
?BCTL = peripheral
last tvo
starus
(See
IRQEN
birs
status
an
blts are
PORTA,
reglster,
are I
bits
interrupr
by llrlring
the
interrrlrpr
3 of
It is
IRQST ls
zero "hen
not.
the above
by
stalus
lrhlch
are
interruprs
reset
PACTL,
like
(logic
rrue).
thar are
reqresr,
a
zero into
and
simrltaneously
nor a
rhe
IRQ
inrerrupts
btls
O rhru
generated
"A"
tnte(rupt
'tA"
tnrerruDt
',S',
internrpt
',B"
lnrerrupr
g!9
auronatically
by readtng
P0RTB,
rhe
and
NMIEN
The IRQST
normally
The IRQST
rhe
corresponding
tatch and
serlat
out rs
(enabled
7 of IRQST)
over
the serlal
status
enable
srarus
enabte
dtsabled
fron porr
PBCTL
regtsrer,
Register
enables
horever
logic rrue,
status
bits
set the intetrupt
does
ger
nor
empty
(our
by
blrs 0
ih"re
bus
bit
blt
bit
blr
by powet
e reglster
descrlptions,)
lnterruprs
(unllke
go
and
!o
ar; reEurned
rRQEN
blr. This I't1l
rese!
by interrupr
ftnt;hed)
through
u..
cwo *o.e
proceed
and
Eurn
and port
rhe NMIST) has
zero ro
logic
to
sratus bi!
and
to
true
7 of
on,
B
*x -
NoTE:
An NMI
also
disables
the
II.29
I bit.
INTERRUPT SI]MMARY
NAMETUNCTIONSENAB]-ESTATUS
I
ulsPray
I
NMI
INTERRUPTS
llnstructlon
I
J9!9:
lReset
g]3gL
Button
(Bits
NorEally Zeio
6 rhru 7)
(Dtsabled)
(Blrs
NornaUy Zero
(no
|
NMI ST
5 thru 7)
lnlerruot)
STATUS
RESEl
Address
NMIRES
(Resets
lstatus toeether)
all NMI
(Blts
IRQEN
0 rhru 7)
KEYSrRQST
Serlal
.P.g.!!e
Tlners
IRQ
INTERRU?TS
E. CONTRO1LERS
A varlety of controllers can be
front of the console. Thts includes
keyboard, and ltght
The controtLer
and the PoT
vertlcal
PADD1o through PADDLT, PTRIG'S
PoRTB for inpur. Thts is done by
blr 2 ro a 0
0's to the destred
a I, allo$.'1ng the
set up for outpu!
mode is selected.
Perlpheral
A
Perlpheral
B
pen
ports
a{d mIG regtsters. The OS reads these registers doring
blank and slores lnto its own RAM locatlons. These are
(to
seleci
port.
progrard
by \rrirlng 1's instead of 0's whtle the direcrion control
(Dlsabled)
I | |
D0 of PACTL I D7 of PACTL
I
lNormally
(Dlsabled)
|
D0 of ?BCTL I D7 of
I
lNornally
(Disabled)
|
(when
the dlrectlon control
avallable).
are read
and STRIG'S. The OS sets up PORTA AND
PACTL
to
(PBCTL)
read
settlng
fron the
(Bits
Noroally True
't
Zero
Zero
plugged
joysttcks,
Lhrough the
(no
lNorrnally
l(no
lNornalLy
l(no
PACTI-
b1r 21s then changed back to
porl.
0 thru 7)
interrupl)
zero
interrupt)
PBCTL
zero
lnterruDt)
into the four
paddle
PORTA
or PORTB
register),
The
(pot),
ard
ports
Reset
Correspondlng
Bit of IRQEN
(except
(to
Blt
rme)
I
Reset by
I
Reading PoRT A
I
Restster
|
Reading
Resister
|
jacks
PORTB regisers
(Port
then
can aLso be
PoRT B
on the
twelve-key
STIC(,
Control)
lJrlrlng
3)*
all
joysttcks
.I9J9!f9E9:
left
actlvated by
read fron TRIC0
been
(L),
back
These swltches
pressed
The
(B)
and
are read thlough PORTA and PORTB. A fifrh swltch is
presslng
through TRIG3. A value of 0 indicates that a button has
and a I indicares rhat it has not been
the red t!1gger button. The trigger buttons are
foruard
have four s\rltches, one each for righl
(F).
pressed.
II.30
(R),
The
ln a
latcheil
and sets
stlck
trlgger
the latch
th13 to
use
pressed
reglsters
IRIG
oode. wrltlng
them to
button
value r'l1L
deterrdne
durlng
1. Wrltlng
ls
change
whether
a certain
are trorroally
a zero to
read
btt
a I to bit
pushed al any ttne
to zero and
joystlck
the
perlod of tiEe.
directLy,
2 of GItAcTl-
2 enables
Ithlle bit 2
that
stay
trlgge!
bul they
dlsables
latches'
the
of GMCTL
qay.
buttons
A
Progran
have
can
the
be used
latches
joy_
If a
is I
can
been
ever
?addles:
to th;=;I
readlng lhe
jacks.
tOT
(wrth;he paddle
The value
rhlch
lo\.ers
knob to the
capacltor
readlng
nev
off the
reglster
up to lhe
tOt reglster
Cootrol)
to charge
21s flrst
pot
the
-2
Btt
capacltors
rh;d O to
trlggers
lnallcates
ls the
the
serles
reslstance,
lef!
ilunp translstors
can be
du;p translstols
contalns
threshold
conlains
enables
up the
set !o
scan'
of SKCTL
wlll flever
228
for each
correspondhg
paildles cone ln
The
paddles are read
The
registers at
turned
how dany
\.ith the
so the
lncreases
least
Lo the
TV llnes
potentioneter.
capacitor
the reslstance
are used to
rnode. The
to
blt for
ofle
value
the
fast
pot
capacltors
O lo
The fas!
durop lhe capacitors.
pol
rfirst be set to
dunP.
POTCO command
allow the
each
the AJ,LPOT
corlect
scan.
to the
scan
O to use
Note !ha!
due to illfferences
paalille
joystlck (PORTA
palr
are
or
palrs,
228 llnes
rlght)
lo 228
1l takes
discharge
capacitors
paddle. l]hen
blt changes
readings.
In thls
maxllffln
is not as
ln the
read fron
PORTB).
elght
so
storlng
bv
later.
(Paddle
to
Turnlng lhe
charges
the
and
clears the
Blt
node,
lt takes
1eve1
Then
accurale
nornal
soue
scan
paddles
pots. The
the left
paddles can-be
lnto PoTGO'
The values
turned
charge up
knob
qllckly' l\rnlng
up
charging tlme'
capacltors
lhe
counters
charge up'
to
the capacltor
fron one
to zero
2 of SKCTL
only lwo
lnstead
Bit 2 is
of 228
as the
set
nornal
mode' 0ther\tlse'
have
a range
left and
right
and
connected
then
range
fron 0
counter-clockrlse)
the capacllor
to Lhe
righl
the
The
so !ha!
a
and lurns
The ALLPOT
has charged
and the
(Serial
Port
scan llnes
lines' Btt
to I to start
t0ode'
scan
the
srnallel
rlght
paddle
bits for
the
'
Kevboard
pLugs
and
teytoara
tn itrng
. 0 to
deslred low
wrltten
!o then.
controlLer
Reference
flrst
lhe
and seconil
padtlle
reglsters.
capacltors
(tire
rnaxiurn). When
capacltor
the
glvlng
a POT
crltlcal,
Co[trol1ers:
lnlo
ts to
(see
PORT PlNoIn
Manual
conlro1lers,
Whe[ a
never charge
ls connected
value of about
the fast
reqrired between
co;ventton
If ls lt
colunn ls
loysrick
has beefl
greater lhan 10
read through
trlgger
joystlck
a
select a
the blt
PORTA,
Colur0ns
contalns
colunns
bultofl
the
pot
selectlng
adopled of cor0parlng
(0=but!on
Each keyboard
controller
ron by settlng
tn the PORTA
SECTION
III).
are read
ahart
ln sectlon
a Baslc
of the
plograro uhich
keyboard use
so they are
prished' the
is
up !o
lhe threshold
button 1n lhe
+5V through
to
(thls
2
mode can
scan
rol' and
the
then the
lhe
loysttck
pressed, I=not
ls
controller
pott. The flrst
port dlrectlon
the
or ?ORTB
reglster
The other
lhrough
lhe POT
rll).
Appendlx
the
by readlng
read
pot line
Level and lhe
selected
a relatively
rnay vary).
be used,
3o that
reading the
POT readlog
the
bullon
trigger
has been
ltne,
Pressed)
II.31
has a
slep
iThlch selects
should
rots
and TRIG
fl of the
reads the
plns as the
sane
the
grounded' so lhe
is
lolr and
coluEn
sBall
Since the
only a 2 Une
POT reglster'
pressed' The
so i! \torks
.
lwelve-key
tn using
output
to
have
registers
BASIC
controllers'
(or
PoT
PADDI-)
reading
is not
reslstor'
readlng
wlth
l0
just
pad
the
and
lhe
l's
(see
The
pots for
po!
228
ls
pushed
not
1s
wait
The
(declnar)'
thtrd
ltke
a
1s
Llahr
as
lt sweeps
on
the
l1nes.
pfugged
III).
PerI:
across the
TV display.
Tte
ATARI
lnto
any of
A llght pen
TV
screen.
Appltcatlons
400/800
the
hardware
joystlck
ts a
device
It
1s irsed
hclude
was
deslgned
controller
rhat
can detect
to
selecting
so
porte
polnt
memr
that
a light pen
(see
ena
the electron
dlrectly
ltens
and drawlng
if sectron
beaD
at an irnage
can
be
m:"
.---
ANTIC
horlzofltal
any one
chlp takes
color
slgnificant
nuober
per!
l1ght pen
exanple,
of-the
PENH
width
at
good
a
of delays
register,
screen
wt1l
dlsplay
a black
ldea
should
the
wrap around
area
rsll1 probably
of the
rhe
clock
blt
ls inaccurate
lnvotved
eech
systeE
contaln
user
could pol[t
and
the progran
because
of
the
to read
not
hold
joystick
current
value
VCOI]NT
(0-227
and
1n dtsplaytng
mrst be cal
a
user-tBteractlve
the
could
fton
227 ro
of
lhe delay.
t\ro
screen,
(or
slnce
nore) values
the pen perfecrty
rrlgger
value
declnal)
should
be lgnored.
the
brated.
Ught pen
coruFnrre
O near
the
fhe pen
the
elecrron
anal
sready.
lines
and
(pln
st;res tt
is storect
alata and
Softr"rare
caltblatlon
at
a crosshalt
the requtreil
rlght halld
rd11 not
besn is
average
6)
rs
pul1ed
in
pENt{.
1n
Slnce
changing
irhtch
routlne.
horlzontal
edge
l'ork lf
turneal
then,
slnce
PENV.
there
the ltghr
uses
tn
the
of a
1t
1or,
the
The
The teast
are
a
the
For
center
offset.
statdard
polnted
1s
oif.
the
It
user
ls
TI.32
I1I. HAR)WARE REOISTERS
\--
Thls
shadow reglsters.
In the fo1lo\"dng descrtptions,
1s l.
A. PAL
sectlon 1lsts the hardware registers and
(D014)
Not
Usedllllused
D3
I I I NTSC
0 0 0 PAI-
Thls byte can be read by a
progran
the
B.
INTERRIJPT CONTROL
ls runnlng ofl.
D3
I
D2 D]
D2 | DI
|
operatlng Systen
tme ahrays refers to a btt \'rhose value
lNor
(US
TV)
(European
prograrn
deternlne
to
TV)
edlch lype of systeE
(OS)
NMIEN
to the NMI lnlerrupt
(Non
Maskable Interrupt
0 = dlsabled
I - enab led
I
D7 Dtsplay l,tst
cleared by Power Reset, and nay be set or cleared
plocessor,
D6 Vertlcal Blank lnterrupt Enable.
Reeet, and
SYSTEM RESET Bulton
This lnterrup!
no!
pressed
be
(ser
tnable)(D408):
enable blts.
(dasked)
Nor
Used
Instrucllon Interrupt Enable. This blr is
roay
be set or cleared by lhe
lnterrupt
always
ls
alurlng
ro hex 40 by os IRQ code.)
eflab1ed. The SYSTEI{ RESET
power
turn on.
Thls
This
address
blt
1s cleared by Po\rer
processor.
wrltes
by lhe
button
data
should
1r1.1
NUIST
(Non
Status Reglsrer
0 - no intelrupt
I = lnterrupt
Maskable
(Read
by OS NMI
Interrupr
Status)(D40F)!
code).
Thls address read
the NMI
D7D6
D7
D6 Thts
D5 This
NMIRES
the Non
IRQST
the IRq Interrupt
(NMI
Maskable
(IRQ
I
This btt
Dlsplay
Not
ldenttfies an
List
blt ldentlfies
vertlcal
of
blt ldenttfles arl
RESET butron.
Status Reqtster
Interrupr
Not
Used
(
Wrttten by OS
lnrerrupt
Status)(D20E):
Status Reglster.
Nl,Il lnrerrup!
hstructton.
an NMI inrerrupt
blank-
NMI lntetruDt
Reset)(D40F):
Status Regtster
NMI code.)
caused by btt
caused by the beglnnl'tg
caused b\/ the SYSTn1
Thls wrtte address
(MIST).
This address
7 of a
resets
reads the dala
fron
0 = Interrupt
I - No
Inlerrupt
D5D4D3D2
D7 = 0 Sreak
=
D6
D5
D4
D3
D2=0
Dl-0
Dn=n Tlnor I T^ra?r,,-r
* -
NoTE: Used
0 Other Key
=
0 Serial
=
0 Serial
=
0
Serlal Outpur
Tiner
Tlner 2 Inrerr:upt
generation
for
ln sectlon
Key Inlerrupt
Intertupt
lnput Data Ready Tnterrupt
Ortput Data Needed
(By!e)
Transntssion
Interrupt
4Interrupt
II
of 2 stop
(no
dlrect reset
blts, See IRQ descrlptlon
on btt
Finlshed
3).
fnterrupt
*
IAI.2
IROEN
Interrupt
Enable
=
0
dlsable,
lqcerrupt
correspondtng
EnabIe
D20E):
IRQST
Thls
blt is
address
se!
wriles
ro
I
data
to
the
IRQ
OS SIADOW:
U€e
.
the
c,
Llne
AND'S
olhers.
TV
LINE
Counter
\7
D6
D5
D4
D3
D2
DI
DO
Break
other
Serlal
Serlal
SerlaI
Tlner
Tlner
TlEer
PoXMSK
and
Store
COMROL
Vertical
(ey
4
2
I
(hex
OR's
the ilesired
nost
slgDlflcanr
Key
Interrup!
Interrupt
Input
0utput
0ut
Interrupt
Cqunter)
Data
TransElsslon
Inrerrupt
Interrupt
lO)
to
change
Ready
Data
Enab
Enable
Enable
ialue
(D4OB)
btts).
Enab
le
Enable
Inlerrupt
Needeal
Elnlshed
le
one
bit
tn
both
Th{s
:
InterruDt
interrupr
pOre,ISK
tn
IRQEN
address
Enable
Enable
wilhqr!
and
reads
Enable
affec(ang
pOruSK:
the Vertlcal
-
TV
v8
17
Thls
Dlcroplocessor'
by
the
beglnntng
delayed
v6
address
by 1]lne
sets
caislnS
of
horlzontal
1f
wSyNC
a
1t
v3
latch
to nalr
ts
\2
vl
rhat pu1ls
until
b1ank.
used.
([sed
II1.3
V0
down
thrs
Dlsplay
by
V0 not
Tlro
resolutlon
supplted.
on lhe
latch
fr"t
OS t"yt"".i
read.
llne
is
i"t.r*ptr'."v
Rny
llne
autordaticafly
.ii"t-ro"ti"..t
to
1
the
U.
"a".a
reset
"f
D. GRAPHICS CONTROI.
Dl.tAcTL
lnto
the
Not
UsedD5
(Dlrect
DMA Control
I
D4
=
D5
=
D4
-
D4
=
D3
=
D2
D1,D0
=
=
=
Medorv Access Control)
Register.
I Enable lnstruction
I I Llne P/!l resolutlon
0 2 ltne P/M resolutlon
1
Enable
t
Enable
0 0 No Playfteld
0 I
1 0 standard ?layfleld
Player DMA
Mtsslle DI,IA
Narror
(128
Color
(160
color clocks)
DI'IA
Playfteld
clocks)
(D400):
fetch
DI,IA
n4A
This address
DMA
nrites data
GRACTL.
See
GMCTL
craphlc Corllrol
0S
(Graphlcs
Notlll
Used
D2 = | Enable latches on
Dl = I Enable
D0 = I
DMA ls
DMACTI- only wtll
eenerated.
enabled by setthg
=
I I Wlde
Shadow: SDMCTL
Control)
Reglster.
cleared and TRIG0
control b1t 1s zero).
Enable Misslle DMA to
xe'sult ln cycles betng
?layfteld Dl4A
(
192
Color
(22F)
(D01D):
?1ayer DMA to Player Graphlcs
blts in bolh DMACTL and
clocks)
default
Ttls
D
1'RIG0 - TR1G3
-
TR1G3 act as normal
MlBslle Graphlca
stolen but ro
value hex 22
address \trites
tnprts
GRACTL. settlng
displsy k{11 be
dats to the
(latches
lnputs a'hen
Reglsters.
Reglsters.
are
cflAcTl
Character Control Reelster.
(character
control)
(D401)
:
This address \rrltes data
lnto the
Not
UsedD2DIDO
D2
Dl Character Video
D0
OS SfiADO
1o!, byie of
: CHACT
DLISTL( Displav List Low
Character
bepinninp of each
line of characters to reflect
dofir chalacters).
only). If bit 7 of character code is true
that character
white on blue).
Character Blank
o$ly). If bit 7 of charecler code ls true this flag causes
lhal character
setting bit 7 of
changing D0 of CMCTL.
(2F3)
Dlsplay Llsl CounEer.
the
I
Vertlcal
to be blue
!o b1ank.
)(D402):
Reflect Blt. Thls blt ls sanpled at the
line of
Inverr llae
(Blink)
the characters
characters. If true l! causes the
(inverr)
(used
on
lrhlte
Flag
Blinklng characters
This address writes data lnto thc
for 40 Character Mode
(used
to I,
vertically
thls flag causes
(lf
nornal colors are
for 40 Characrer Mode
then
perlodlcally
(for
produced by
are
upstde
oS SHADOW: SDr,sTL
DLISTH
high byte of the Dlsplay
DT
ID6 ID
(Displav
t4t2
OS SHADOW: SDLSTH
The Dlsplay l-1st
lnstructlons
regisrers deflnes the
sec!1ons
are
I and Il,
(hex
List Hish)
D4
ID3 ID2
(}TEX
addr
essed by
)
TIt31510
ls a llst of
address of the
230)
List
231)
I
I 0
(D403):
Counler.
9
display lnstructlons in memory. These
Display List
the
,List
counter
\
lBtt
(Posrtlon,
This address wrltes data into the
f?lserav
8
co'lnrer
\
lBit
\?os1t1on.
Counter,
beginnlng of the Display List.
Loadtng these
(See
Not€: The top 6 birs
displav llst can
lhe
instructlon ls
used.
are latches only and have no count capabll1ty, therefore
not cross a lK bvte nenorv boundarv unless a
lunD
DLISTL and DLISTIi should
Dl4A dtsabled. Other:rlse, the
in order to recelve
dlsplay list lnterrupts.
be changed only during
vettlcal blank or arllh
screen nay ro11. Bit 7 of NMIEN
r(rs! be set
@:
data lnto the Character Address
slgnlflcant byte
sectlon
l1), Note lhat the last
(MSB)
of
address of the deslred
the
40 characrer Modes
Base Address
20
Character
12 |lt [0
Base Address
oS SHADoI,J: CHBAS
(2F4)
Base Register. The
data specifies lhe nost
character set
I or 2 btts are assuroed
CI{BASE
Char Nane
Modes
CIIBASE
Char Nane
Llne Counter
Thls address writes
(see
to be 0.
PIfBASE
(?1aver-Mlsstle
Address
l'rltes dala into lhe Player-Mlss1le
spectftes
the l,tSB of the address
of lhe
sectton II).
One Llne Resofution
Base Address
Player-Mlsstfe
Select
Llne Resolution
Tl'o
Base Address
Player-Mlsslle
Select
Base Reeisler)
(D407):
Address Base Reglster.
player and .0iss11e DMA dala
PMBASE
Player-Missile
scan
Counters
PI{BASE
Player-Misstle Scan
Thls address
The data
(see
II I.6
HSCROL
lnto
Dlavers and Elss1les.
lhe llorlzofltal Sclol1 Reglster. Only
not
used
(florizontal
Scrolt
| | | |
Reelste!)
D3D2DIDO
(D404):
playfteld
This
address L.rltes
ls
scrolled, not
data
clo.k
The dtsplay ts shlfted
speclfted by IISCRoL for
Its ITSCROL Flag blt
When horizontal
For a narro\r
nunber of bytes
Stun11arly, for standard playfleld
wtde
bytes
playfleld.
and background color 1s shlfted ln.
VSCRoL
the Vertical Scroll Reslster.
not
used
playfleld
(Vertlcal
(blt
scrol1lng ls enabled, nole bytes of data are needed.
per
llne
ror wlde
Scro1l
lo the
each dlsplay
4 of lnsrruction byte).
(see
DI,IACTL blts I
for
as
playfleld,
Reslster)
I
D2D1DO
8
not used
lloe
display
I
Eodes
0 to 15
'iqht
rlght
standard
use the sane mnber
I
color
Fhl fl c
by the mrnber of color clocks
llst
there ls no change
lnstruction that contalns a 1 ir
and 0) there
playfleld
(D405):
Thls
should be
\rlth
no
scrol11ng.
of bytes
1n
the nunber of
address {rrltes
the sane
as for the
dara lnro
16 llne dlsplay
The dlsplay ts scrolled upward by the rnrrober of lines specified
the VSCRoL reglster for each display l1st lnstruction that coflta1ns a I ln
1ts VSCROL llag btt
termlnate
II for
lrlth
Dore
PRIoR
the flrst lnstrucllon havlng a zero tn btt 5.
detalls).
(Prtorirv) (D0lB)
(bt!
nodes
5
of lrlslrucllon
:
This address writes data into the Prlorltv
byte),
The scrolled area rilf
(see
sectlon
1r
Control Reglster.
D7D6
D7-D6 = 0 D5
l4rltlple
Thls blt causes the toglcal
the colors of Player
sith Player
pLayers
D2DIDO
Color Player Enable.
0 wlth Player
Thls perrlts
3.
wilh a choice of
3 colors
"or"
function of the bits of
I,
and also of Player 2
overlapping the
in
lhe overlapped reglon.
poslrlon
of 2
III.
7
D4Flfth Plaver
This bit causes
Type 3.
together with
(CoLPI3).
Enable.
all mtsstles
thls allovs
a coomon
to assune
color fot
rhe coLor
alsstles
use as a flfth
ro be
playfleld
of
posttloned
player.
D3, D2,
&
D0
EXA],IPI,E:PRIOR
!9:g:
D1,
The use of Prlority
blt rrue)
turnlng B]-ACK
PlO
PF3. In
plxel
priority.
character
Prlorltv
These blts
hlgher
n'lth fol'er
D3=l
?F
0
t
?F
T
PO
P1
Pl
P2
P2
l
P3
P3.J
?F2
a
+
1P1'3
*
or PFl.
P5
rAr I
code
the one-color
in a
Select
select
prlorlty
Drlorltv.
I
i
ll
I
|
|
\rl1l result
ln
=
1010
It will
character
If a hlgher priority player
then
the color ls deterdtned
(}tutua1ly
one of 4 types
!,1111
PFO
PF]
PF2
+
P0-l
PI
P2 |
P3
-,1
lhe overlap regton.
Thrs w111
f
P5
I
l"o:-
-
I
blts tn a
in objecrs
also black P2 or
40 character
Is determined by
Exclustve).
appear to nove
Pc.l
J
PI
PFo
PFr
i-s
Pzf
P3,J
',not-exclustve"
black
(lrhose
prlorlty.
of
tn
front of objects
D0=l
Pr I
P2 l
P3 _l
pF0
Pr'l
PF2
+5
mode
prtorlttes
p0
oodes, the
pl
or
p3
col,pFt, rQaii'ili!
or misslle
by
lf
if they
player's
the
Objects wtth
(nore
are ln confltct)
rhey are
are over
lunlnance of
overlaps
than 1
over
?F2 or
or
color.
a
che
the
OS
SHADOITI:
CoLPFO - C01PF3
addtesses
D6
(see
OS SHADOWS:
GPRIOR
$.rlte
ID5 ID
CoLBK for
data to
COLORO
(26I)
(Plavfield
the Playfield
2tDltD0
blt asslgnnent)
-
(2C4-2C7)
3
Color)(D016.
Color-t-ur0 Reglsters,
pol7.
D018. D0t9):
These
III.8
Co],BK
Background
Co
D7
(Backeround
Color-Lum Reglster.
D5D4D6
Color)(D01A):
D3
This address
Not
DID2
Used
wrltes data ro
rhe
-
X
xxx
0000
0001
00r0
0011
0100
0I01
0110
0r1t
1000
I00l
10r0
l0r1
1100
ll01
I1l0
llll
OS SHADOI.I:
CoLORa
0
0
Grey
Gold
Red-Orange
Purple
Purple-Blue
Blue
Bfue
1-igh!-Blue
quo
Tu r
Green-Blue
Ye11ow-creen
Orange-Green
Llght-Orange
(2C8)
0
0
ETC.
I
ise
0
Zero Lunlnance
(black)
I
I
Max. Luninance
(white)
.-
E. PLAYERS
DMACTL,
CoLPMo
addresses
the salle color-lun
(see
bit 4 of PRIoR).
D
(see
OS SHADoWS: PCoLRo
GRAFPO
P3 D0l0):
Reglsters, independent
I{iU be loaded
page
II.3).
AND MISSII,ES
GRACTL, PMBASE and PRIOR
-
COLPM3
rr.rlte to
CoLBK for bit assignnents)
-
CMFP3
These
the
as thelr
-
addresses
autonatlcally fron
D7D6D
Lefl
Playe!
on TV Screen
(Plaver-Missile
Player-Mlssile
5th player
A
D3
(Plaver
D2D1DO
(2C0-2C3)
3
of DMA.
player
craphlcs
r".rlte
unless
missile
dara dlrectly into
DMA
If
the
D3D2DIDO
R lgh
also affecr
Color)(D012, D013,
Color-Lun
rnissiles
gets
Reslsters):
enabled
ls
nenory area specified
r
players
Registers. Missiles have
are used as a 5th player
irs color frorn CoLPI3.
(PO
rhe
then the
nissl1es,
and
p014, p0l5):
D00p, ?1
player
graptllcs
p00E,
craphtcs
by PMBASE(see
These
p2
reglsters
p00I,
r11.9
GRAFM
dllectly lllto the Mlsslle Graphlcs Reglster, lndependent of Dl,tA.
(Mlsslle
Graphlcs Reqlsters)O01I): Thls address
r^'rltes
data
I
D7 ID6
LRLR]-R]-R
M3 M2 Ml l{0
SIZEP0 - SIZEP3
These addresses write data lnto the ?laver
I
D5 ID4D2D3
(Plaver
stze)(?0 D008. ?1 D009, P2 D00A, ?3 D00B):
I
D1 IDO
Notll
used lDrlD0
0 0 Nornal stze
1 Twtce Noroal Size
I 1
Wlth nornal size
to one color c1ock.
one color clock.
0
I 0 Nornal slze
objecls,
laxger objects, each bit ts extended over nore than
Ior
each blt in the
Stze Control
liorlzontal Slze
Register
(8
color clocks vide)
(16
color clocks h{de)
Tines Nornal size
4
(32
color cLocks wide)
graphlcs
Reeisters.
(Player)
register corresponds
SIZEM
Slze Control Register.
\__\r.--l
M3 M2 Ml MO
ttPOS?0 - H?0SP3
?3 D003)r These
Reglster
deternlnes the color clock locatton of the left edge of the object. Hex 30
is the lefl
standard
(Mlsslle
D6D7D5D4D3D2D1DO
(see
display
edge of a standerd wldth screen. Ilex D0 ls the rlght
screen.
Slze)(D00c): Thls address
0 0 Normal Slze
0
I I 4 Tlnes NorEal Slze
(Player
addresses wrlte data lnto the Player Horlzontal Posltlon