Atari Memory Addresses



Decimal Hexidecimal Label Comment

2,3
6
8
10,11
12,13
14,15
16
17
18-20
49-52
64
65
74
75
80
82
83
84
85-86
90
91-92
93
96
97-98
106

0002 - 0003
0006
0008
000A - 000B
000C - 000D
000E - 000F
0010
0011
0012 - 0014
0031 - 0034
0040
0041
004A
004B
0050
0052
0053
0054
0055 - 0056
005A
005B - 005C
005D
0060
0061 - 0062
006A
CASINI
TRAMSZ
WARMST
DOSVEC
DOSINI
APPMHI
POKMSK
BRKKEY
RTCLOK


SOUNDR
CKEY
ATRACT

LMARGN
RMARGN
ROWCRS
COLCRS
OLDROW
OLDCOL
OLDCHR
NEWROW
NEWCOL
RAMTOP
cassette boot completed vector
End of RAM test temporary storage
Warm start flag (-1 = true)
no cartridge control vector (start)
disk boot completed vector
Highest location used by Basic
ANTIC interrupt register storage
Break key flag (-1 = false)
TV Frame counter
Floppy disk serial bus device addresses
printer serial bus device address
Sound I/O flag (0=quiet)
Cassette boot request flag
Attract mode flag (>128 = attract)
modem serial bus device address
Left screen margin (default = 2)
Right screen margin (default = 37)
Current cursor row (0-39)
Current cursor column (0-23)
Previous cursor row (0-39)
Previous cursor column (0-23)
Data under cursor
Cursor row to which DRAWTO goes
Cursor column to which DRAWTO goes
Top of memory (Page number)


Decimal Hexidecimal Label Comment
128-9
128-9
130-1
132-3
134-5
136-7
138-9
140-1
142-3
144-5
186-7
195
201
212-3
212-8
224-9
242
243-4
251
252-3
0080 - 0081
0080 - 0081
0082 - 0083
0084 - 0085
0086 - 0087
0088 - 0089
008A - 008B
008C - 008D
008E - 008F
0090 - 0091
00BA - 00BB
00C3
00C9
00D4 - 00D5
00D4 - 00DA
00E0 - 00E5
00F2
00F3 - 00F4
00FB
00FC - 00FD
LOMEM
OUTBUFF
VNTP
VNTD
VNTP
STMTAB
STMCUR
STARD
RUNSTK
MEMTOP
STOPLN
ERRSAV
PTABW
FR0
FR0
FR1
CIX
INBUFF
RADFLG
FLPTR
Basic low memory pointer
Syntax output buffer
Variable name table address
End of variable name table
Variable values table
Statement table
Immediate statement
String array table
Run time stack
Basic top of memory pointer
Line number for TRAP or STOP
Error number
Print tab width (default = 10)
Value returned to Basic from USR
6 byte floating point handler
6 byte floating point handler
index offset used with INBUFF (00F3)
pointer to ASCII text buffer
Radian/degree flag (0 RAD - 6 DEG)
pointer to a floating point number


Decimal Hexidecimal Label Comment
      (Mostly Vectors and Shadow Registers)
256-511
512-3
514-5
516-7
518-9
520-1
522-3
524-5
526-7
528-9
530-1
532-3
534-5
536-7
538-9
540-1
542-3
544-5
546-7
548-9
550-1
552-3
554
556
558
559
560
561
564
565
576
580
0100 - 01FF
0200 - 0201
0202 - 0203
0204 - 0205
0206 - 0207
0208 - 0209
020A - 020B
020C - 020D
020E - 020F
0210 - 0211-
0212 - 0213
0214 - 0215
0216 - 0217
0218 - 0219
021A - 021B
021C - 021D
021E - 021F
0220 - 0221
0222 - 0223
0224 - 0225
0226 - 0227
0228 - 0229
022A
022C
022E
022F
0230
0231
0234
0235
0240
0244
STACK
VDSLST
VPRCED
VINTER
VBREAK
VKEYBD
VSERIN
VSEROR
VSEROC
VTIMR1
VTIMR2
VTIMR4
VIMIRQ
CDTMV1
CDTMV2
CDTMV3
CDTMV4
CDTMV5
VVBLK1
VVBLKD
CDTMA1
CDTMA2
CDTMF3
CDTMF4
CDTMF5
SDMCTL
SDLSTL
SDLSTH
LPENH
LPENV
DFLAGS
COLDST
6502 stack area
RTI vector (E7B3 = ignore interrupt)
Serial I/O interrupt proceed vector
Serial I/O interrupt vector
6502 Break instruction vector
Key pressed interrupt vector
Serial bus input ready vector
Serial bus output ready vector
Serial bus output complete vector
POKEY timer #1 vector
POKEY timer #2 vector
timer vector
immediate IRQ global RAM vector
SIO timeout timer
timer #2
timer #3
timer #4
timer #5
vertical blank RAM vector
vertical blank deferred vector
vector for CDTMV1 at 0218
vector for CDTMV2 at 021A
flag for CDTMV3 at 021C
flag for CDTMV4 at 021E
flag for CDTMV5 at 0220
data from ANTIC DMACTL (D403)
data from ANTIC DLISTL (D402)
data from ANTIC DLISTH (D403)
light pen data from PENH (D40C)
light pen data from PENV (D40D)
disk boot file flag
cold start flag


Decimal Hexidecimal Label Comment

623
624
625
626
627
628
629
630
631
632
633
634
635
644
645
646
647
656
657-8
704
705
706
707
708
709
710
712
713
736-7
741
743
752
755
756
763
764
765
766
767

026F
0270
0271
0272
0273
0274
0275
0276
0277
0278
0279
027A
027B
0284
0285
0286
0287
0290
0291 - 0292
02C0
02C1
02C2
02C3
02C4
02C5
02C6
02C7
02C8
02E0 - 02E1
02E5
02E7
02F0
02F3
02F4
02FB
02FC
02FD
02FE
02FF
GPRIOR
PADDL0
PADDL1
PADDL2
PADDL3
PADDL4
PADDL5
PADDL6
PADDL7
STICK0
STICK1
STICK2
STICK3
STRIG0
STRIG1
STRIG2
STRIG3
TXTROW
TXTCOL
PCOLR0
PCOLR1
PCOLR2
PCOLR3
COLOR0
COLOR1
COLOR2
COLOR3
COLOR4
RUNAD
MENTOP
MEMLO
CRSINH
CHACT
CHBAS
ATACHR
CH
FILDAT
DSPFLG
SSFLAG
data from CTIA PRIOR (D01B)
Pot 0 data from POT0 (D200)
Pot 1 data from POT1 (D201)
Pot 2 data from POT2 (D202)
Pot 3 data from POT3 (D203)
Pot 4 data from POT4 (D204)
Pot 5 data from POT5 (D205)
Pot 6 data from POT6 (D206)
Pot 7 data from POT7 (D207)
joystick 0 data (PORTA D300)
joystick 1 data (PORTA D300)
joystick 2 data (PORTB D301)
joystick 3 data (PORTB D301)
joystick trigger data (TRIG0 D001)
joystick trigger data (TRIG1 D002)
joystick trigger data (TRIG2 D003)
joystick trigger data (TRIG3 D004)
text window cursor row
text window cursor column
data from CTIA COLPM0 (D012)
data from CTIA COLPM1 (D013)
data from CTIA COLPM2 (D014)
data from CTIA COLPM3 (D015)
data from CTIA COLPF0 (D016)
data from CTIA COLPF1 (D017)
data from CTIA COLPF2 (D018)
data from CTIA COLPP3 (D019)
data from CTIA COLBK (D01A)
execution address after LOAD
Top of free RAM (before screen)
Start of free RAM (after BOOT area)
Cursor inhibit flag
Character data (from CHACTL D401)
Character base address (CHBASE D409)
Atari Character and color for line
Character read from POKEY
Color for XIO 18 fill
Display flag
Start/stop flag (Break)


0300 - 03013 Device Control Block for Disk I/O
(set up and JMP to DSKINV (E453))
Decimal Hexidecimal Label Comment
768
769
770
771
772
773
774
776
777
778
779
794
832
833
834
835
836
837
838
839
840
841
842
843
0300
0301
0302
0303
0304
0305
0306
0308
0309
030A
030B
031A
0340
0341
0342
0343
0344
0345
0346
0347
0348
0349
034A
034B
DDEVIC
DUNIT
DCOMD
DSTATS
DBUFLO
DBUFHI
DTIMLO
DBYTLO
DBYTHI
DAUX1
DAUX2
HATABS
ICHID
ICDN0
ICCOM
ICSTA
ICBAL
ICBAH
ICPTL
ICPTH
ICBLL
ICBLH
ICAX1
ICAX2
Serial bus ID for disk drive
Disk drive number (1-4)
Disk command
Disk status byte
Disk buffer address (low byte)
Disk buffer address (high byte)
Disk timeout value (seconds)
Disk I/O Byte counter (low byte)
Disk I/O Byte counter (high byte)
Disk sector number (low byte)
Disk sector number (high byte)
Device handler table
Input control handler identification
Input control device number
Input control command byte
Input control status byte
Input control buffer address (low)
Input control buffer address (high)
Input control pointer (low)
Input control pointer (high)
Input control buffer length (low)
Input control buffer length high
Input control auxiliary 1
Input control auxiliary 2
1408-
1536-1791
0580 - 05xx
0600 - 06FF
LBUFF

floating point result buffer
reserved for cartridge when cartridge used

0700 - 12FF    File Management System RAM
1792
1799
1800
1802-3
0700
0707
0708
070A - 070B
BOOT
FILES
DRIVES
SASA
flag (DOS only)
number of files to be open at once
each bit represents an active drive
disk buffer address
1300 -267F    Disk Operating System RAM
4889 1319 LOAD DOS load file routine
2680 - 2A7F    Disk Input/Output buffers
40956
40958
49148
49150
9FFC
9FFE
BFFC
BFFE
  Cartridge B test (0 = cartridge)
Cartridge B initialization vector
Cartridge A test (0 = cartridge)
Cartridge A initialization vector


CTIA Chip (D000 - D001F)
WRITE CTIA addresses
53248
53249
53250
53251
53252
53253
53254
53255
53256
53257
53258
53259
53260
53261
53262
53263
53264
53265
53266
53267
53268
53269
53270
53271
53272
53273
53274
53275
53276
53277
53278
53279
D000
D001
D002
D003
D004
D005
D006
D007
D008
D009
D00A
D00B
D00C
D00D
D00E
D00F
D010
D011
D012
D013
D014
D015
D016
D017
D018
D019
D01A
D01B
D01C
D01D
D01E
D01F
HPOSP0
HPOSP1
HPOSP2
HPOSP3
HPOSM0
HPOSM1
HPOSM2
HPOSM3
SIZEPØ
SIZEP1
SIZEP2
SIZEP3
SIZEM
GRAFP0
GRAFP1
GRAFP2
GRAFP3
GRAFM
COLPM0
COLPM1
COLPM2
COLPM3
COLPF0
COLPF1
COLPF2
COLPF3
COLBK
PRIOR
VDELAY
GRACTL
HITCLR
CONSOL
Horizontal position of player 0
Horizontal position of player 1
Horizontal position of player 2
Horizontal position of player 3
Horizontal position of missile 0
Horizontal position of missile 1
Horizontal position of missile 2
Horizontal position of missile 3
Size of player 0
Size of player 1
Size of player 2
Size of player 3
Size of all missiles
Graphics for player 0
Graphics for player 1
Graphics for player 2
Graphics for player 3
Graphics for missiles
Color of player and missile 0
Color of player and missile 1
Color of player and missile 2
Color of player and missile 3
Color of playfield 0
Color of playfield 1
Color of playfield 2
Color of playfield 3
Color or luminance of background
Priority select
Vertical delay
Graphics control
Clear collision flag
Clear console switches
READ CTIA addresses
53248
53249
53250
53251
53252
53253
53254
53255
53256
53257
53258
53259
53260
53261
53262
53263
53264
53265
53266
53267
D000
D001
D002
D003
D004
D005
D006
D007
D008
D009
D00A
D00B
D00C
D00D
D00E
D00F
D010
D011
D012
D013
M0PF
M1PF
M2PF
M3PF
P0PF
P1PF
P2PF
P3PF
M0PL
M1PL
M2P1
M3PL
P0PL
P1PL
P2P1
P3P1
TRIG0
TRIG1
TRIG2
TRIG3
Missile 0 to playfield collision
Missile 1 to playfield collision
Missile 2 to playfield collision
Missile 3 to playfield collision
Player 0 to playfield collision
Player 1 to playfield collision
Player 2 to playfield collision
Player 3 to playfield collision
Missile 0 to player collision
Missile 1 to player collision
Missile 2 to player collision
Missile 3 to player collision
Player 0 to player collision
Player 1 to player collision
Player 2 to player collision
Player 3 to player collision
Read trigger button 0
Read trigger button 1
Read trigger button 2
Read trigger button 3


POKEY Chip (D200 - D20F)
WRITE POKEY addresses
53760
53761
53762
53763
53764
53765
53766
53767
53768
53769
53770
53771
53772
53773
53774
D200
D201
D202
D203
D204
D205
D206
D207
D208
D209
D20A
D20B
D20D
D20E
D20F
AUDF1
AUDC1
AUDF2
AUDC2
AUDF3
AUDC3
AUDF4
AUDC4
AUDCTL
STIMER
SKRES
POTGO
SEROUT
IRQEN
SKCTL
Audio channel 1 frequency
Audio channel 1 control
Audio channel 2 frequency
Audio channel 2 control
Audio channel 3 frequency
Audio channel 3 control
Audio channel 4 frequency
Audio channel 4 control
Audio control
Start timers
Reset status (SKSTAT)
Start potentiometer scan sequence
Serial port output register
IRQ interrupt enable
Serial port 4 key control
READ POKEY addresses
53760
53761
53762
53763
53764
53765
53766
53767
53768
53769
53772
53773
53774
D200
D201
D202
D203
D204
D205
D206
D207
D208
D209
D20D
D20E
D20F
POT0
POT1
POT2
POT3
POT4
POT5
POT6
POT7
ALLPOT
RANDOM
SERIN
IRQST
SKSTAT
Read potentiometer 0
Read potentiometer 1
Read potentiometer 2
Read potentiometer 3
Read potentiometer 4
Read potentiometer 5
Read potentiometer 6
Read potentiometer 7
Read 8 line pot. port state
Random number generator
Serial port input register
IRQ interrupt status register
Serial port 4 key status register


PIA Chip (D300 - D30F)
54016
54017
54018
54019
D300
D301
D302
D303
PORTA
PORTB
PACTL
PBCTL
Jack 0 & 1
Jack 2 & 3
Port A control
Port B control


ANTIC Chip (D400 - D40F)
WRITE ANTIC addresses
54272
54273
54274
54275
54276
54277
54279
54281
54282
54286
54287
D400
D401
D402
D403
D404
D405
D407
D409
D40A
D40E
D40F
DMACTL
CHACTL
DLISTL
DLISTH
HSCROLL
VSCROLL
PMBASE
CHBASE
WSYNC
NMIEN
NMIRES
Direct memory access control register
Character control register
Display list pointer (low byte)
Display list pointer (high byte)
Horizontal scroll register
Vertical scroll register
Player-missile base address register
Character base address register
Wait for horizontal blank sync.
Non maskable interrupt enable
Reset NMI status
READ ANTIC Addresses
54283
54284
54285
54287
D40B
D40C
D40D
D40F
VCOUNT
PENH
PENV
NMIST
Vertical line counter
Horizontal light pen register
Vertical light pen register
Non maskable interrupt status register


Floating point routines
(use FR0 (00D4) FR1 (00E0) and 00D4 - 00FF, 057E - 05FF)
55526
55722
55762
58876
58878
55904
55910
56027
56104
56640
56713
56717
56728
56732
56743
56747
56758
56768
56776
56781
56785
D8E6 -
D9AA -
D9D2 -
DA44 -
DA46 -
DA60 -
DA66 -
DADB -
DB28 -
DD40 -
DD89 -
DD8D -
DD98 -
DD9C -
DDA7 -
DDAB -
DDB6 -
DDC0 -
DDC8 -
DECD -
DED1 -
FASC
IFP
FPI
ZFR0
ZFR1
FSUB
FADD
FMULT
FDIV
PLYEVL
FLD0R
FLD0P
FLD1R
FLD1P
FST0R
FST0P
FMOVE
EXP
EXP10
LOG
LOG10
floating point to ASCII conversion
integer to floating point conversion
floating point to integer conversion
zero FR0 (00D4)
zero FR1 (00E0)
floating point subtraction
floating point addition
floating point multiplication
floating point division
floating point polynomial evaluation
load floating point number to FR0
pointer to floating point number
load floating point number to FR1
pointer to floating point number
store floating point number from FR0
pointer to floating point number
move number from FR0 to FR1
floating point exponentiation (e)
floating point exponentiation (10)
floating point natural logarithm
floating point logarithm to base 10


E400     Screen editor handler base address
69184
69186
69188
69190
69192
69194
E400
E402
E404
E406
E408
540A
OPEN
CLOSE
GET
PUT
STATUS
JMP
Power on
E410     Display handler base address
69200
69202
69204
69206
69208
69210
E410
E412
E414
E416
E418
E41A
OPEN
CLOSE
GET
PUT
STATUS
JMP
Power on
E420     Keyboard handler base address
69216
69218
69220
69222
69224
69226
E420
E422
E424
E426
E428
E42A
OPEN
CLOSE
GET
PUT
STATUS
JMP
Power on
E430     Printer handler base address
69248
69250
69252
69254
69256
69258
E430
E432
E434
E436
E438
E43A
OPEN
CLOSE
GET
PUT
STATUS
JMP
Power on
E440     Cassette handler base address
69264
69266
69268
69270
69272
69274
E440
E442
E444
E446
E448
E44A
OPEN
CLOSE
GET
PUT
STATUS
JMP
Power on
E450     Disk handler vector addresses
69280
69283
69286
69289
69292
69295
69298
69301
69304
69307
69310
69313
69316
69319
69322
E450
E453
E456
E459
E45C
E45F
E462
E465
E468
E46B
E46E
E471
E474
E477
E47A
JMP
DSKINV
JMP
JMP
JMP
JMP
JMP
JMP
JMP
INTINT
CIOINT
Disk initialization
JMP Disk interface
CIO
SIO
SETVBL
SYSVBL
XITCBL
SIOINT
SENDER


Blackboard vector
Warm start vector (RESET)
Cold start vector (Power on)
Read cassette block



Table of Contents
Previous Section: Air Defense
Next Section: Download Creative Atari Software