Atari Memory Addresses
Decimal | Hexidecimal | Label | Comment |
2,3 |
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 |
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 |
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