# unit atari

### Common used memory registers (Atari XE/XL)

author: Tomasz Biela (Tebe)

https://www.atariarchives.org/mapping/memorymap.php

## Types:

name: | type: | description:
--- | --- | ---
TDMACtl | ( blank = %00, narrow = %01, normal = %10, wide = %11, missiles= %100, players = %1000, oneline = %10000, enable = %100000 ) |

## Register Variables:

name: | address: | type: | description:
--- | --- | --- | ---
irqens | $10 | byte | rejestr cien IRQEN
rtclok | $12 | byte |
rtclok1 | $12 | byte |
rtclok2 | $13 | byte |
rtclok3 | $14 | byte |
atract | $4D | byte |
lmargin | $52 | byte | lewy margines ekranu
rmargin | $53 | byte | prawy margines ekranu
rowcrs | $54 | byte | pionowa pozycja kursora
colcrs | $55 | word | (2) pozioma pozycja kursora
dindex | $57 | byte | numer trybu graficznego OS
savmsc | $58 | word | (2) adres pamieci obrazu
palnts | $62 | byte |
ramtop | $6a | byte |
vdslst | $200 | word | (2) adres programu przerwania 'Display List'
sdlstl | $230 | word | (2) adres programu ANTIC-a 'Display List'
txtrow | $290 | byte | wiersz kursora w oknie tekstowym
txtcol | $291 | word | (2) kolumna kursora w oknie tekstowym
tindex | $293 | byte | tryb graficzny OS w oknie tekstowym
txtmsc | $294 | word | (2) adres pamieci okna tekstowego
sdmctl | $22F | byte | rejestr cien DMACTL
gprior | $26F | byte | rejestr cien GTIACTL
crsinh | $2F0 | byte | znacznik widocznosci kursora
chact | $2F3 | byte | rejestr cien CHRCTL
chbas | $2F4 | byte | rejestr cien CHBASE
ch | $2FC | byte | rejestr cien KBCODE
pcolr0 | $02C0 | byte | cienie rejestrow kolorow $D012 .. $D01A
pcolr1 | $02C1 | byte |
pcolr2 | $02C2 | byte |
pcolr3 | $02C3 | byte |
color0 | $02C4 | byte |
color1 | $02C5 | byte |
color2 | $02C6 | byte |
color3 | $02C7 | byte |
color4 | $02C8 | byte |
colbaks | $02C8 | byte |
hposp0 | $D000 | byte | rejestry dla poziomej pozycja duchow
hposp1 | $D001 | byte |
hposp2 | $D002 | byte |
hposp3 | $D003 | byte |
hposm0 | $D004 | byte | rejestry dla poziomej pozycja pociskow
hposm1 | $D005 | byte |
hposm2 | $D006 | byte |
hposm3 | $D007 | byte |
sizep0 | $D008 | byte | poziomy rozmiar gracza 0 (Z)
sizep1 | $D009 | byte | poziomy rozmiar gracza 1 (Z)
sizep2 | $D00A | byte | poziomy rozmiar gracza 2 (Z)
sizep3 | $D00B | byte | poziomy rozmiar gracza 3 (Z)
sizem | $D00C | byte | poziomy rozmiar pociskow (Z)
grafp0 | $D00D | byte | rejestr grafiki gracza 0 (Z)
grafp1 | $D00E | byte | rejestr grafiki gracza 1 (Z)
grafp2 | $D00F | byte | rejestr grafiki gracza 2 (Z)
grafp3 | $D010 | byte | rejestr grafiki gracza 3 (Z)
grafm | $D011 | byte | rejestr grafiki pociskow (Z)
P0PF | $D004 | byte |
Pal | $D014 | byte | (R) znacznik systemu TV PAL = 1, NTSC = 15
colpm0 | $D012 | byte | rejestry sprzetowe kolorow duchow i pociskow
colpm1 | $D013 | byte |
colpm2 | $D014 | byte |
colpm3 | $D015 | byte |
colpf0 | $D016 | byte | rejestry sprzetowe kolorow pola gry
colpf1 | $D017 | byte |
colpf2 | $D018 | byte |
colpf3 | $D019 | byte |
colbk | $D01A | byte | rejestr sprzetowy koloru tla
prior | $D01B | byte | rejestr piorytetu GTIA
gractl | $D01D | byte | rejestr kontroli PMG
hitclr | $D01E | byte | rejestr zerujacy kolizje PMG
consol | $D01F | byte | console keys status
audf1 | $D200 | byte |
audc1 | $D201 | byte |
audf2 | $D202 | byte |
audc2 | $D203 | byte |
audf3 | $D204 | byte |
audc3 | $D205 | byte |
audf4 | $D206 | byte |
audc4 | $D207 | byte |
audctl | $D208 | byte |
kbcode | $D209 | byte | code of last pressed key
irqen | $D20E | byte | zezwolenie przerwan IRQ (Z)
skstat | $D20F | byte |
porta | $D300 | byte |
portb | $D301 | byte |
dmactl | $D400 | byte |
chactl | $D401 | byte |
dlistl | $D402 | word |
hscrol | $D404 | byte |
vscrol | $D405 | byte |
pmbase | $D407 | byte |
chbase | $D409 | byte |
wsync | $D40A | byte |
[volatile] vcount | $D40B | byte |
penh | $D40C | byte |
penv | $D40D | byte |
nmien | $D40E | byte |
nmivec | $FFFA | word | wektor przerwania NMI (6502)
resetvec | $FFFC | word | wektor przerwania RESET
irqvec | $FFFE | word | wektor przerwania IRQ