mirror of
https://github.com/Pecusx/jataricart.git
synced 2026-05-20 22:33:22 +02:00
297 lines
11 KiB
Plaintext
297 lines
11 KiB
Plaintext
opt l-
|
|
|
|
.enum @dmactl
|
|
blank = %00
|
|
narrow = %01
|
|
normal = %10
|
|
wide = %11
|
|
missiles= %100
|
|
players = %1000
|
|
oneline = %10000
|
|
dma = %100000
|
|
.ende
|
|
|
|
scr48 = @dmactl(wide|dma|players|missiles|oneline) ;screen 48b
|
|
scr40 = @dmactl(normal|dma|players|missiles|oneline) ;screen 40b
|
|
scr32 = @dmactl(narrow|dma|players|missiles|oneline) ;screen 32b
|
|
|
|
.enum @pmcntl
|
|
missiles= %1
|
|
players = %10
|
|
trigs = %100
|
|
.ende
|
|
|
|
.enum @gtictl
|
|
prior0 = %0
|
|
prior1 = %1
|
|
prior2 = %10
|
|
prior4 = %100
|
|
prior8 = %1000
|
|
ply5 = %10000 ; Fifth Player Enable
|
|
mlc = %100000 ; Multiple Color Player Enable
|
|
mode9 = %01000000
|
|
mode10 = %10000000
|
|
mode11 = %11000000
|
|
.ende
|
|
|
|
|
|
.enum @antic
|
|
lms = $40
|
|
hsc = $50
|
|
vsc = $60
|
|
.ende
|
|
|
|
* ---------------------------------------------------------------------------------------------
|
|
* --- OS
|
|
* ---------------------------------------------------------------------------------------------
|
|
|
|
ramlo = $04 ; (2) wektor RAM dla testu wielko?ci pami?ci
|
|
|
|
warmst = $08 ; znacznik gor?cego startu
|
|
boot? = $09 ; znacznik odczytu wst?pnego
|
|
dosvec = $0A ; (2) wektor startowy programu dyskowego
|
|
dosini = $0C ; (2) wektor inicjacji po odczycie z dyskietki
|
|
|
|
rtclok = $12 ; (3) zegar czasu rzeczywistego
|
|
|
|
critic = $42 ; znacznik krytycznych czasowo operacji I/O
|
|
|
|
lmargin = $52
|
|
rmargin = $53
|
|
rowcrs = $54 ; wiersz kursora
|
|
colcrs = $55 ; (2) Kolumna kursora
|
|
savmsc = $58 ; (2) Adres pamięci obrazu
|
|
|
|
ramtop = $6A ; liczba stron pamięci RAM
|
|
|
|
keydef = $79 ; (2) tablica konwersji kod?w klawiatury na ATASCII
|
|
|
|
|
|
vdslst = $0200 ; (2) wektor przerwa? NMI listy displejowej
|
|
timcnt3 = $021C ; trzeci licznik systemu
|
|
vvblki = $0222 ; (2) wektor NMI natychmiastowego VBI
|
|
vvblkd = $0224 ; (2) wektor NMI op??nionego VBI
|
|
timflg3 = $022a ; znacznik wyzerowania licznika TIMCNT3
|
|
sdmctl = $022f ; cień DMACTL
|
|
sdlstl = $0230 ; cień DLISTL
|
|
sdlsth = $0231 ; cień DLISTH
|
|
|
|
colpf0s = $02C4 ; rejestr-cie? COLPF0
|
|
colpf1s = $02C5 ; rejestr-cie? COLPF1
|
|
colpf2s = $02C6 ; rejestr-cie? COLPF2
|
|
colpf3s = $02C7 ; rejestr-cie? COLPF3
|
|
colbaks = $02C8 ; rejestr-cie? COLBAK
|
|
|
|
dsctln = $02D5 ; (2) Disk sector size register; default of 128 ($80) bytes
|
|
dvstat = $02EA ; (4) device status
|
|
|
|
crsinh = $02F0 ; znacznik widoczno?ci kursora
|
|
chact = $02F3 ; rejestr cien CHRCTL
|
|
chbas = $02F4 ; rejestr cien CHBASE
|
|
|
|
atachr = $02Fb ; numer koloru dla PLOT, DRAW (kod ATASCII znaku)
|
|
kbcodes = $02Fc ; kod ostatnio naci?ni?tego klawisza, $ff je?li ?aden nie zosta? naci?ni?ty (KBCODE)
|
|
fildat = $02Fd ; numer koloru dla FILL
|
|
chart = $02F3 ; cie? rejestru kontroli wy?wietlania znak?w (CHRCTL)
|
|
|
|
ddevic = $0300 ; Device Control Block, identyfikator urz?dzenia
|
|
dunit = $0301 ; Numer urz?dzenia; w przypadku stacji dysk?w numer nap?du
|
|
dcmnd = $0302 ; Komenda dla urz?dzenia.
|
|
dstats = $0303 ; Przed wywo?aniem SIO nale?y ustawi? tu rodzaj operacji ($40 odczyt, $80 zapis, $C0 zapis i odczyt, $00 brak transferu danych). Po powrocie z systemu znajduje si? tu status operacji (kod b??du).
|
|
dbufa = $0304 ; (2) Adres bufora. Przy operacji zapisu i odczytu jednocze?nie (DSTATS = $C0) bufor na odczytywane dane znajduje si? w tym samym miejscu, co bufor danch przeznaczonych do zapisu.
|
|
dtimlo = $0306 ; Czas oczekiwania na pozytywn? odpowied? urz?dzenia, tzw. timeout, najczesciej = 7
|
|
dunuse = $0307 ; Bajt nieu?ywany, zarezerwowany do przysz?ych zastosowa?.
|
|
dbyt = $0308 ; (2) Wielko?? bufora; musi by? zgodna z wielko?ci? transmitowanego bloku danych. Zero oznacza 64 kilobajty.
|
|
daux1 = $030A ; Pierwszy bajt pomocniczy. W operacjach dyskowych m?odszy bajt numeru sektora.
|
|
daux2 = $030B ; Drugi bajt pomocniczy. W operacjach dyskowych starszy bajt numeru sektora.
|
|
casflg = $030F ; When set to zero, the current operation is a standard SIO operation; when non-zero, it is a cassette operation.
|
|
|
|
hatabs = $031A ; tabela wektor?w procedur obs?ugi
|
|
|
|
iocb = $0340 ; IOCB 0..7 ($340, $350, $360 ...)
|
|
iocom = iocb+2 ; Komenda dla IOCB
|
|
ioadr = iocb+4 ; (2) Adres bufora dla IOCB
|
|
ioaux1 = iocb+10 ; Bajt pomocniczy 1 IOCB
|
|
ioaux2 = iocb+11 ; Bajt pomocniczy 2 IOCB
|
|
|
|
icchid = $0340
|
|
icdno = $0341
|
|
iccmd = $0342 ; kod rozkazu operacji I/O
|
|
icstat = $0343 ; status operacji I/O
|
|
icbufa = $0344 ; (2) adres bufora danych dla operacji I/O
|
|
icputb = $0346 ; (2) adres procedury przesy?ania danych
|
|
icbufl = $0348 ; (2) d?ugo?? bufora danych dla operacji I/O
|
|
icax1 = $034A ; rejestr pomocniczy dla operacji I/O
|
|
icax2 = $034B ; rejestr pomocniczy dla operacji I/O
|
|
icax3 = $034C ; rejestr pomocniczy dla operacji I/O
|
|
icax4 = $034D ; rejestr pomocniczy dla operacji I/O
|
|
icax5 = $034E ; rejestr pomocniczy dla operacji I/O
|
|
icax6 = $034F ; rejestr pomocniczy dla operacji I/O
|
|
|
|
gintlk = $03FA ; znacznik cartridge'a (kopia TRIG3)
|
|
|
|
casbuf = $0400 ; bufor magnetofonu
|
|
casben = $047F ; koniec bufora magnetofonu
|
|
|
|
setvbv = $E45C
|
|
xitvbv = $E462
|
|
ciov = $E456 ; Wektor do CIOMAIN
|
|
jsioint = $E459 ; Wektor do SIO
|
|
jdskint = $E453 ; Wektor do sterownika dyskowego
|
|
|
|
* ---------------------------------------------------------------------------------------------
|
|
* --- KEY ($d209)
|
|
* ---------------------------------------------------------------------------------------------
|
|
|
|
key_esc = 28
|
|
key_space = 33
|
|
|
|
key_a = 63
|
|
key_b = 21
|
|
key_d = 58
|
|
key_m = 37
|
|
key_n = 35
|
|
key_v = 16
|
|
key_o = 8
|
|
key_p = 10
|
|
key_s = 62
|
|
key_w = 46
|
|
|
|
* ---------------------------------------------------------------------------------------------
|
|
* --- GTIA
|
|
* ---------------------------------------------------------------------------------------------
|
|
|
|
hposp0 = $D000 ; pozioma pozycja gracza 0 (Z)
|
|
hposp1 = $D001 ; pozioma pozycja gracza 1 (Z)
|
|
hposp2 = $D002 ; pozioma pozycja gracza 2 (Z)
|
|
hposp3 = $D003 ; pozioma pozycja gracza 3 (Z)
|
|
hposm0 = $D004 ; pozioma pozycja pocisku 0 (Z)
|
|
hposm1 = $D005 ; pozioma pozycja pocisku 1 (Z)
|
|
hposm2 = $D006 ; pozioma pozycja pocisku 2 (Z)
|
|
hposm3 = $D007 ; pozioma pozycja pocisku 3 (Z)
|
|
sizep0 = $D008 ; poziomy rozmiar gracza 0 (Z)
|
|
sizep1 = $D009 ; poziomy rozmiar gracza 1 (Z)
|
|
sizep2 = $D00A ; poziomy rozmiar gracza 2 (Z)
|
|
sizep3 = $D00B ; poziomy rozmiar gracza 3 (Z)
|
|
sizem = $D00C ; poziomy rozmiar pocisk?w (Z)
|
|
grafp0 = $D00D ; rejestr grafiki gracza 0 (Z)
|
|
grafp1 = $D00E ; rejestr grafiki gracza 1 (Z)
|
|
grafp2 = $D00F ; rejestr grafiki gracza 2 (Z)
|
|
grafp3 = $D010 ; rejestr grafiki gracza 3 (Z)
|
|
grafm = $D011 ; rejestr grafiki pocisk?w (Z)
|
|
colpm0 = $D012 ; rejestr koloru gracza i pocisku 0 (Z)
|
|
colpm1 = $D013 ; rejestr koloru gracza i pocisku 1 (Z)
|
|
colpm2 = $D014 ; rejestr koloru gracza i pocisku 2 (Z)
|
|
colpm3 = $D015 ; rejestr koloru gracza i pocisku 3 (Z)
|
|
colpf0 = $D016 ; rejestr koloru pola gry 0 (Z)
|
|
colpf1 = $D017 ; rejestr koloru pola gry 1 (Z)
|
|
colpf2 = $D018 ; rejestr koloru pola gry 2 (Z)
|
|
colpf3 = $D019 ; rejestr koloru pola gry 3 (Z)
|
|
colpf4 = $D01A
|
|
colbak = $D01A ; rejestr koloru t?a (Z)
|
|
|
|
color0 = colpf0
|
|
color1 = colpf1
|
|
color2 = colpf2
|
|
color3 = colpf3
|
|
|
|
kolm0pf = $D000 ; kolizja pocisku 0 z polem gry (O)
|
|
kolm1pf = $D001 ; kolizja pocisku 1 z polem gry (O)
|
|
kolm2pf = $D002 ; kolizja pocisku 2 z polem gry (O)
|
|
kolm3pf = $D003 ; kolizja pocisku 3 z polem gry (O)
|
|
kolp0pf = $D004 ; kolizja gracza 0 z polem gry (O)
|
|
kolp1pf = $D005 ; kolizja gracza 1 z polem gry (O)
|
|
kolp2pf = $D006 ; kolizja gracza 2 z polem gry (O)
|
|
kolp3pf = $D007 ; kolizja gracza 3 z polem gry (O)
|
|
kolm0p = $D008 ; kolizja pocisku 0 z graczem (O)
|
|
kolm1p = $D009 ; kolizja pocisku 1 z graczem (O)
|
|
kolm2p = $D00A ; kolizja pocisku 2 z graczem (O)
|
|
kolm3p = $D00B ; kolizja pocisku 3 z graczem (O)
|
|
kolp0p = $D00C ; kolizja gracza 0 z innym graczem (O)
|
|
kolp1p = $D00D ; kolizja gracza 1 z innym graczem (O)
|
|
kolp2p = $D00E ; kolizja gracza 2 z innym graczem (O)
|
|
kolp3p = $D00F ; kolizja gracza 3 z innym graczem (O)
|
|
trig0 = $D010 ; stan przycisku joysticka 0 (O)
|
|
trig1 = $D011 ; stan przycisku joysticka 1 (O)
|
|
trig3 = $D013 ; znacznik do??czenia cartridge-a (O)
|
|
pal = $D014 ; znacznik systemu TV (O) PAL = 1, NTSC = 15
|
|
|
|
gtictl = $D01B ; rejestr kontroli uk?adu GTIA
|
|
gtiactl = gtictl
|
|
|
|
vdelay = $D01C ; licznik op??nienia pionowego P/MG
|
|
pmcntl = $D01D ; rejestr kontroli graczy i pocisk?w
|
|
hitclr = $D01E ; rejestr kasowania rejestr?w kolizji
|
|
consol = $D01F ; rejestr stanu klawiszy konsoli
|
|
|
|
* ---------------------------------------------------------------------------------------------
|
|
* --- POKEY
|
|
* ---------------------------------------------------------------------------------------------
|
|
|
|
irqens = $0010 ; rejestr-cie? IRQEN
|
|
irqstat = $0011 ; rejestr-cie? IRQST
|
|
|
|
audf1 = $d200 ; cz?stotliwo?? pracy generatora 1 (Z)
|
|
audc1 = $d201 ; rejestr kontroli d?wi?ku generatora 1 (Z)
|
|
audf2 = $d202 ; cz?stotliwo?? pracy generatora 2 (Z)
|
|
audc2 = $d203 ; rejestr kontroli d?wi?ku generatora 2 (Z)
|
|
audf3 = $d204 ; cz?stotliwo?? pracy generatora 3 (Z)
|
|
audc3 = $d205 ; rejestr kontroli d?wi?ku generatora 3 (Z)
|
|
audf4 = $d206 ; cz?stotliwo?? pracy generatora 4 (Z)
|
|
audc4 = $d207 ; rejestr kontroli d?wi?ku generatora 4 (Z)
|
|
|
|
audctl = $D208 ; rejestr kontroli generator?w d?wi?ku (Z)
|
|
stimer = $D209 ; rejestr zerowania licznik?w (Z)
|
|
kbcode = $D209 ; kod ostatnio naci?ni?tego klawisza (O)
|
|
skstres = $D20A ; rejestr statusu z??cza szeregowego (Z)
|
|
random = $D20A ; rejestr liczby losowej (O)
|
|
serout = $D20D ; szeregowy rejestr wyj?ciowy (Z)
|
|
serin = $D20D ; szeregowy rejestr wej?ciowy (O)
|
|
irqen = $D20E ; zezwolenie przerwa? IRQ (Z)
|
|
irqst = $D20E ; status przerwa? IRQ (O)
|
|
skctl = $D20F ; rejestr kontroli z??cza szeregowego (Z)
|
|
skstat = $D20F ; rejestr statusu z??cza szeregowego (O)
|
|
|
|
* ---------------------------------------------------------------------------------------------
|
|
* --- PIA
|
|
* ---------------------------------------------------------------------------------------------
|
|
|
|
porta = $D300 ; port A uk?adu PIA
|
|
portb = $D301 ; port B uk?adu PIA
|
|
pactl = $D302 ; rejestr kontroli portu A
|
|
pbctl = $D303 ; rejestr kontroli portu B
|
|
|
|
* ---------------------------------------------------------------------------------------------
|
|
* --- ANTIC
|
|
* ---------------------------------------------------------------------------------------------
|
|
|
|
dmactl = $D400 ; rejestr kontroli dost?pu do pami?ci
|
|
chrctl = $D401 ; rejestr kontroli wy?wietlania znak?w
|
|
dlptr = $D402 ; adres programu ANTIC-a
|
|
dlistl = $D402
|
|
dlisth = $D403
|
|
hscrol = $D404 ; znacznik poziomego przesuwu obrazu
|
|
vscrol = $D405 ; znacznik pionowego przesuwu obrazu
|
|
pmbase = $D407 ; adres pami?ci graczy i pocisk?w
|
|
chbase = $D409 ; adres zestawu znak?w
|
|
wsync = $D40A ; znacznik oczekiwania na synchronizacj? poziom?
|
|
vcount = $D40B ; licznik linii obrazu
|
|
lpenh = $D40C ; poziome po?o?enie pi?ra ?wietlengo
|
|
lpenv = $D40D ; pionowe po?o?enie pi?ra ?wietlnego
|
|
nmien = $D40E ; rejestr zezwole? na przerwania NMI
|
|
nmist = $D40F ; rejestr statusu przerwa? NMI (O)
|
|
nmires = $D40F ; (Z)
|
|
|
|
* ---------------------------------------------------------------------------------------------
|
|
* --- HARDWARE
|
|
* ---------------------------------------------------------------------------------------------
|
|
|
|
nmivec = $FFFA ; wektor przerwania NMI (6502)
|
|
resetvec= $FFFC ; wektor przerwania RESET
|
|
irqvec = $FFFE ; wektor przerwania IRQ
|
|
|
|
nmivec16 = $FFEA ; wektor przerwania NMI (nativ 65816)
|
|
irqvec16 = $FFEE ; wektor przerwania IRQ
|
|
|
|
opt l+
|