Powrót do spisu treści

DODATKI

Dodatek A

Adresy procedur OS

$C0CD - PLARTI - powrót z przerwania
$C272 - SETVBLV - ustawianie wektorów przerwania VBLK
$C6B3 - DSKINT - główna procedura dyskowa
$C73A - PUTADR - przepisanie adresu bufora dyskowego
$C745 - LOADER - odczyt rekordu z nowego urządzenia
$C795 - HENDRT - zakończenie odczytu z nowego urządzenia
$C7D5 - PUTCHR - odczyt znaku z nowego urządzenia
$C86D - ADD28E - obliczanie adresu wczytywania
$C892 - ADDWRD - obliczanie adresu do zapisu i odczytu
$C8B5 - ADDGET - obliczanie adresu do odczytu
$C8E4 - NEWVEC - tabela wektorów nowych urządzeń
$C90C - NEWINIT - inicjowanie nowych urządzeń
$C933 - SIOINT - wstępna procedura złącza szeregowego
$C991 - NWDVC - tabela procedur I/O nowych urządzeń
$C9AF - GETLOW - odszukanie nowego urządzenia do operacji I/O
$C9CA - NEWPER - wywołanie procedury I/O nowego urządzenia
$C9DC - CHKNWP - wybór i uaktywnienie nowego urządzenia
$CA21 - BITMASK - maski bitowe dla NEWIOREQ i GETLOW
$CA29 - PRPLNK - przygotowanie operacji I/O nowego urządzenia
$CB56 - CHCKFF - obliczenie sumy kontrolnej listy liniowej
$CC00 - CHARSET2 - zestaw znaków międzynarodowych
$D805 - PDIOR - operacja I/O nowego urządzenia
$D80D - PDVOPV - wektor operacji OPEN nowego urządzenia
$D80F - PDVCLV - wektor operacji CLOSE nowego urządzenia
$D811 - PDVGBV - wektor operacji GET BYTE nowego urządzenia
$D813 - PDVPBV - wektor operacji PUT BYTE nowego urządzenia
$D815 - PDVSTV - wektor operacji STATUS nowego urządzenia
$D817 - PDVSPV - wektor operacji SPECIAL nowego urządzenia
$E000 - CHARSET1 - standardowy zestaw znaków
$E400 - EDTVEC - wektory obsługi edytora
$E410 - SCRVEC - wektory obsługi ekranu
$E420 - KBDVEC - wektory obsługi klawiatury
$E430 - PRTVEC - wektory obsługi drukarki
$E440 - CASVEC - wektory obsługi magnetofonu
$E450 - JMPTAB - tabela skoków
$E453 - JDSKINT - skok do DSKINT
$E456 - JCIOMAIN - skok do CIOMAIN
$E459 - JSIOINT - skok do SIOINT
$E45C - JSETVBV - skok do SETVBLV
$E462 - JEXITVB - skok do EXITVBL
$E468 - JSNDENB - skok do SNDENBL
$E47A - JCASRDBL - skok do CASRDBL
$E47D - JCASOPIN - skok do CASOPIN
$E48F - CALTAB - tabela adresowa nowych urządzeń
$E49B - NEWINITC - skok do NEWINIT
$E4DC - CIONOPN - kanał I/O nie otwarty
$E4DF - CIOMAIN - procedura obsługi urządzeń
$E510 - NEXDER - błąd: urządzenie nie istnieje
$E53F - CIOOPN - procedura otwarcia kanału IOCB
$E55C - INIOPN - przygotowanie otwarcia IOCB
$E57C - CIOCLS - procedura zamknięcia kanału IOCB
$E597 - CIOSTSP - odczyt statusu i operacje specjalne CIO
$E5B2 - CIOREAD - odczyt z kanału IOCB
$E61E - CIOWRT - zapis do kanału IOCB
$E670 - CIORET - powrót z procedury CIO
$E672 - CPLCIO - zakończenie operacji CIO
$E695 - CMPENT - ustalenie adresu procedury operacji I/O
$E6BB - DECBUFL - zmniejszenie długości bufora danych
$E6C8 - DECBUFP - zmniejszenie adresu bufora danych
$E6D1 - INCBUFP - zwiększenie adresu bufora danych
$E6D8 - SUBBUFL - zmniejszenie długości bufora danych
$E6EA - GOHAND - przejście do procedury operacji I/O
$E6F4 - CIOJMP - skok do procedury według adresu ze stosu
$E6FF - DEVNUM - ustalenie numeru urządzenia
$E712 - DVSRCH - poszukiwanie urządzenia w HATABS
$E716 - FDVHND - poszukiwanie urządzenia w HATABS
$E72D - COMTAB - tabela indeksów adresów operacji I/O
$E739 - LINKSOM - procedura dołączania urządzeń
$E7BE - DCBINI - inicjowanie SIO dla nowego urządzenia
$E7D4 - TSIOIN - tabela wartości do inicjowania SIO
$E7DE - INITLD - inicjowanie odczytu z nowego urządzenia
$E816 - GETBYT - odczyt bajtu z nowego urządzenia
$E833 - GTNXBL - odczyt bloku z nowego urządzenia
$E851 - SIOTAB - tabela parametrów DCB dla GTNXBL
$E85D - SRCHLS - przeszukiwanie listy liniowej
$E894 - LINKWM - dołączanie elementu przy gorącym starcie
$E89E - LINKCD - dołączanie elementu przy zimnym starcie
$E900 - CALVEC - tabela wektorów nowych urządzeń
$E915 - UNLINK - usunięcie elementu z listy liniowej
$E971 - SIO - obsługa złącza szeregowego
$EA2A - CLPSIO - zakończenie operacji SIO
$EA37 - WAIT - oczekiwanie na potwierdzenie
$EA88 - SEND - nadawanie na szynę szeregową
$EAFD - RECEIV - procedura odczytu SIO
$EB27 - ITIMOT - sygnalizacja błędu Timeout
$EB87 - LODPTR - przepisanie adresu i długości bufora
$EB9D - CASENT - procedura SIO dla magnetofonu
$EC11 - TIM1INT - przerwanie licznika 1
$EC17 - SNDENBL - zezwolenie na zapis danych
$EC40 - RECVEN - zezwolenie na odczyt danych
$EC56 - ENABLE - zezwolenie na transmisję
$EC84 - SNDDIS - zabronienie zapisu danych
$EC9A - SETTOT - ustalenie Timeout
$ECAF - SENDIN - rozpoczęcie operacji zapisu
$ECC0 - STIMWT - ustawienie Timeout i oczekiwanie
$ECC8 - COMPUT - obliczenie rzeczywistej szybkości odczytu
$ED2E - ADJUST - poprawienie licznika w/g systemu TV
$ED3D - BEGNRD - rozpoczęcie odczytu z magnetofonu
$EDC7 - PRBRKK - obsługa klawisza BREAK
$EDE2 - SETT1V - ustawienie przerwania TIMCNT1
$EDF9 - POKTAB - tabela współczynników szybkości transmisji
$EE11 - STVCTB - tabela współczynników systemu TV
$EE1B - ADJTAB - tabela poprawek licznika
$EE1D - TSMAL - tabela adresów pamięci obrazu
$EE2D - TDLEC - tabela wielkości programów ANTIC-a
$EE4D - TAGRM - tabela trybów ANTIC-a
$EE5D - TDLVL - tabela wielkości trybów ANTIC-a
$EE6D - TLSHC - tabela przesunięć do obliczania adresu
$EE7D - TMCCN - tabela wielkości kolumn obrazu
$EE8D - TMRCN - tabela wielkości wierszy obrazu
$EE9D - TRSHC - tabela przesunięć do obliczania adresu
$EEAD - TDMSK - tabela masek bitowych dla obrazu
$EEB4 - MSKTAB - tabela masek bitowych
$EEBC - NEWDEV - wpisanie nowego urządzenia do HATABS
$EEF9 - SPCHND - specjalna procedura obsługi I/O
$EF26 - PUTBYT - procedura obsługi nowego urządzenia
$EF6E - POWERON - inicjowanie edytora
$EF8E - SCOPN - otwarcie kanału dla ekranu
$EF94 - EDOPN - otwarcie kanału dla edytora
$F180 - GETCH - odczyt znaku z ekranu
$F18F - GETPLT - odczyt punktu z ekranu
$F1A4 - OUTCH - zapis znaku na ekranie
$F1B4 - TSTRET - porównanie znaku z RETURN ($9B)
$F1CA - OUTPLT - zapis punktu na ekranie
$F1E9 - DISPLY - przekształcenie znaku na ekranie
$F20B - RETURM - powrót z procedur monitora
$F21E - KBOPN - otwarcie kanału dla klawiatury
$F22D - EDSP - procedura specjalna dla edytora
$F22E - SCRFIN - zamknięcie kanału dla ekranu
$F24A - EGETCH - odczyt znaku z edytora
$F2AD - JSRIND - skok pośredni do procedury
$F2B0 - EOUTCH - zapis znaku do edytora
$F2BE - PRCCHR - obsługa znaku w edytorze
$F2F8 - IGNORE - odczyt następnego znaku z klawiatury
$F2FD - KBGBYT - odczyt znaku z klawiatury
$F302 - KGETCH - pobranie znaku z klawiatury
$F3E0 - ESCAPE - procedura znaku "Escape"
$F3E6 - CRSUP - kursor o jeden wiersz w górę
$F3F3 - CRSDWN - kursor o jeden wiersz w dół
$F400 - CRSLFT - kursor o jeden znak w lewo
$F40A - CRSRMR - kursor do prawego marginesu
$F411 - CRSRGT - kursor o jeden znak w prawo
$F41B - CRSLMR - kursor do lewego marginesu
$F420 - CLRSCR - czyszczenie ekranu
$F440 - CRSHOM - kursor do lewego, górnego rogu ekranu
$F450 - CRSBS - kasowanie znaku w lewo od kursora
$F47A - CRSTAB - kursor na następną pozycję tabulacji
$F495 - CRSSTB - ustawianie pozycji tabulacji
$F49A - CRSCTB - kasowanie pozycji tabulacji
$F49F - INSCHR - wstawienie znaku pod kursorem
$F4D5 - DELCHR - usunięcie znaku spod kursora
$F50C - INSLIN - wstawienie linii pod kursorem
$F50D - INSLN2 - wstawienie linii pod kursorem
$F520 - DELLIN - usunięcie linii spod kursora
$F527 - DELROW - usunięcie linii fizycznej
$F556 - BELL - brzęczyk edytora
$F55F - BTMLIN - kursor do lewego, dolnego rogu
$F565 - DBDEC - dwukrotne zmniejszenie dwubajtowego wektora
$F569 - STDFS - ustawienie parametrów przesuwu obrazu
$F570 - STDDSP - ustawienie parametrów obrazu
$F578 - SGDEC - jednokrotne zmniejszenie dwubajtowego wektora
$F57A - DCUSAC - zmniejszenie wektora według akumulatora
$F5A0 - SSDLE - ustawienie adresu DL przy przesuwie obrazu
$F5AC - CONVRT - zamiana pozycji kursora na adres
$F60A - INCRSB - zwiększenie pozycji kursora
$F60E - EOLSUB - koniec wiersza logicznego
$F612 - SCRIBT - sprawdzenie końca wiersza logicznego
$F661 - RTWSCR - przesunięcie ekranu z dodaniem wiersza
$F665 - RETURN - umieszczenie znaku RETURN
$F6AE - SUBEND - aktualizacja wartości ROWAC lub COLAC
$F6BC - ERANGE - sprawdzenie zakresu edytora
$F6CA - RANGE - sprawdzenie zakresu ekranu
$F718 - OFFCRS - odtworzenie znaku spod kursora
$F723 - BITCON - zamiana znaku na maskę bitową
$F732 - BITROL - przesunięcie LOGMAP o jeden bit w lewo
$F73C - BITPUT - ustawienie bitu w TABMAP
$F73E - BITPT2 - ustawienie bitu w TABMAP
$F74A - BITCLR - skasowanie bitu w TABMAP
$F758 - LOGGET - obliczenie wiersza logicznego
$F75A - LGET2 - obliczenie wiersza logicznego
$F75B - LGET3 - obliczenie wiersza logicznego
$F75D - BITGET - obliczenie maski bitowej
$F76A - INATAC - zamiana kodu Internal na ATASCII
$F78E - LININS - dodanie nowego wiersza na ekranie
$F7C2 - EXTEND - dodanie do LOGMAP nowego wiersza
$F7E2 - CLRLIN - skasowanie zawartości linii na ekranie
$F7F7 - DOSCR - wykonanie przesunięcia obrazu
$F82A - COMADR - obliczenie adresu linii obrazu
$F88E - COMLOG - obliczenie wiersza logicznego
$F8B1 - DOBUFC - obliczenie chwilowej długości wiersza
$F90C - STRBEG - zapis początku bufora wiersza
$F918 - DELTIE - skasowanie pustej linii ekranu
$F923 - DELEML - skasowanie pustej linii ekranu
$F93C - TSTCNT - sprawdzenie znaków kontrolnych
$F94C - PHACRS - zapamiętanie pozycji kursora
$F957 - PLACRS - odtworzenie pozycji kursora
$F962 - SWAP - przełączanie między ekranem a oknem
$F983 - KEYCLK - dźwięk klawiatury
$F997 - SCLED - kursor na lewej krawędzi obrazu
$F9A6 - PUTMSC - przepisanie adresu pamięci obrazu
$F9AF - DRAW - procedura specjalna dla ekranu
$FB04 - TBMSK - tabela numerów masek bitowych obrazu
$FB08 - COLTAB - tabela standardowych kolorów obrazu
$FB0D - CNTRLS - tabela wektorów znaków kontrolnych
$FB49 - AINCC - tabela zamiany z ATASCII na Internal
$FB4D - INACC - tabela zamiany z Internal na ATASCII
$FB51 - KEYDEF - tabela definicji klawiszy
$FC11 - FKDEF - tabela definicji klawiszy funkcyjnych
$FCC4 - FSDL - przerwanie NMI programu ANTIC-a
$FCDB - CASINIT - inicjowanie magnetofonu
$FCE5 - CASSP - procedura specjalna dla magnetofonu
$FCE6 - CASOPN - otwarcie kanału dla magnetofonu
$FCF7 - CASOPIN - początek odczytu z magnetofonu
$FD7A - CASRDBT - odczyt bajtu z magnetofonu
$FD8D - CASRDBL - odczyt bloku z magnetofonu
$FDB4 - CASWRT - zapis na magnetofon
$FDCC - CASST - odczyt statusu magnetofonu
$FDCF - CASCLS - zamknięcie kanału dla magnetofonu
$FDFC - BPWT - dźwięk i oczekiwanie na naciśnięcie klawisza
$FE36 - PHVRT - przejście do odczytu klawisza
$FE3F - SYSBUF - ustawienie DCB dla magnetofonu
$FE7C - WSIOSB - przygotowanie do zapisu na magnetofon
$FE8D - TABCAS - tabela wartości dla magnetofonu
$FE99 - PRINIT - inicjowanie drukarki
$FE9F - PRSTAD - adres bufora statusu drukarki
$FEA1 - PRCHAR - adres bufora danych drukarki
$FEA3 - PRSTAT - odczyt statusu drukarki
$FEC1 - PRRDSP - procedura specjalna i odczyt z drukarki
$FEC2 - PROPN - otwarcie kanału dla drukarki
$FECB - PRWRT - zapis na drukarkę
$FEED - FPBUF - wypełnienie bufora drukarki
$FF14 - SETDCB - ustawienie DCB dla drukarki
$FF44 - PRPUT - ustawienie Timeout dla drukarki
$FF4B - PRMODE - ustalenie trybu pracy drukarki

Dodatek B

Rejestry OS w pamięci RAM

  $08 - WARMST - znacznik gorącego startu
  $0E - APPMHI - najwyższy adres RAM zajęty przez program
  $10 - IRQENS - rejestr-cień IRQEN
  $11 - IRQSTAT - rejestr-cień IRQST
  $12 - RTCLOK - zegar czasu rzeczywistego
  $15 - BUFADR - adres bufora dla operacji dyskowych
  $17 - ICCOMT - rejestr przejściowy kodu operacji I/O
  $20 - ZIOCB - zerostronicowy blok kontroli I/O
  $20 - ICHIDZ - indeks wpisu urządzenia w HATABS
  $21 - ICDNOZ - numer urządzenia
  $22 - ICCOMZ - kod operacji wejścia/wyjścia
  $23 - ICSTZ - status operacji wejścia/wyjścia
  $24 - ICBAZ - adres bufora danych dla operacji I/O
  $26 - ICPTZ - adres procedury obsługi dla operacji
  $28 - ICBLZ - długość bufora danych dla operacji I/O
  $2A - ICAX1Z - rejestr pomocniczy ZIOCB
  $2B - ICAX2Z - rejestr pomocniczy ZIOCB
  $2C - ICAX3Z - rejestr pomocniczy ZIOCB
  $2D - ICAX4Z - rejestr pomocniczy ZIOCB
  $2E - ICAX5Z - rejestr pomocniczy ZIOCB
  $2F - ICAX6Z - rejestr pomocniczy ZIOCB
  $30 - STATUS - status aktualnej operacji SIO
  $31 - CHKSUM - suma kontrolna dla operacji SIO
  $32 - BUFR - adres bufora danych dla SIO
  $34 - BUFEN - adres końca bufora danych dla SIO
  $36 - LTEMP - pomocniczy wektor odczytu listy liniowej
  $38 - BUFRFL - znacznik zapełnienia bufora SIO
  $39 - RECVND - znacznik końca odczytu
  $3A - XMTDON - znacznik końca transmisji
  $3B - CHKSNT - znacznik nadania sumy kontrolnej
  $3C - NOCKSM - znacznik braku sumy kontrolnej
  $3D - BPTR - licznik bufora magnetofonu
  $3E - GAPTYP - znacznik długości przerwy między blokami
  $3F - FEOF - znacznik końca zbioru
  $40 - FREQ - licznik dźwięku przy otwarciu magnetofonu
  $41 - IOSNDEN - znacznik dźwięku przy transmisji
  $42 - CRITIC - znacznik krytycznych czasowo operacji I/O
  $4A - ZCHAIN - rejestr następstwa listy liniowej
  $4C - DSTAT - status klawiatury i ekranu
  $50 - TEMP - pomocniczy rejestr przejściowy
  $51 - HOLD1 - pomocniczy rejestr przejściowy
  $52 - LMARGIN - lewy margines obrazu
  $53 - RMARGIN - prawy margines obrazu
  $54 - ROWCRS - pionowa pozycja kursora
  $55 - COLCRS - pozioma pozycja kursora
  $57 - DINDEX - numer trybu graficznego OS
  $58 - SAVMSC - adres pamięci obrazu
  $5A - OLDROW - poprzednia pionowa pozycja kursora
  $5B - OLDCOL - poprzednia pozioma pozycja kursora
  $5D - OLDCHR - poprzedni znak na ekranie
  $5E - OLDADR - poprzedni adres znaku na ekranie
  $60 - FKDEFP - wektor tabeli definicji klawiszy F1-F4
  $62 - PALNTS - wskaźnik systemu TV
  $63 - LOGCOL - adres kursora w wierszu logicznym
  $64 - ADRESS - rejestr adresowy dla procedur edytora
  $66 - MLTTMP - pomocniczy rejestr przejściowy
  $68 - SAVADR - pomocniczy rejestr adresowy
  $6A - RAMTOP - liczba stron pamięci RAM
  $6B - BUFCNT - licznik bufora edytora
  $6C - BUFSTR - adres bufora dla edytora
  $6E - BITMSK - maska bitowa do wyświetlenia znaku
  $6F - SHFAMT - liczba przesunięć punktu
  $70 - ROWAC - aktualny wiersz przy rysowaniu
  $72 - COLAC - aktualna kolumna przy rysowaniu
  $74 - ENDPT - znacznik końca rysowanej linii
  $76 - DELTAR - przyrost pionowej pozycji kursora
  $77 - DELTAC - przyrost poziomej pozycji kursora
  $79 - KEYDEFP - wektor tabeli definicji klawiszy
  $7B - SWPFLG - znacznik kursora w trybach z oknem
  $7C - HOLDCH - przechowywanie wartości znaku
  $7D - INSDAT - rejestr pomocniczy edytora
  $7E - COUNTR - licznik pamięci obrazu dla DOSCR i DRAW
$0100 - STACK - stos mikroprocesora 6502
$0200 - DLIV - wektor przerwania programu ANTIC-a
$0210 - VTIMR1 - wektor przerwania licznika 1 POKEY-a
$0212 - VTIMR2 - wektor przerwania licznika 2 POKEY-a
$0214 - VTIMR4 - wektor przerwania licznika 4 POKEY-a
$0218 - TIMCNT1 - pierwszy licznik systemu
$0226 - TIMVEC1 - wektor przerwania licznika TIMCNT1
$022A - TIMFLG3 - znacznik wyzerowania licznika TIMCNT3
$022F - DMACTLS - rejestr-cień DMACTL
$0230 - DLPTRS - rejestr-cień DLPTR
$0232 - SKCTLS - rejestr-cień SKCTL
$0233 - LCOUNT - licznik odczytu dla nowego urządzenia
$0234 - LPENHS - rejestr-cień LPENH
$0235 - LPENVS - rejestr-cień LPENV
$023A - CDEVIC - kod urządzenia dla SIO
$023B - CCMND - kod operacji dla SIO
$023C - CAUX1 - pierwszy bajt pomocniczy dla SIO
$023D - CAUX2 - drugi bajt pomocniczy dla SIO
$023E - TEMP - tymczasowy rejestr odpowiedzi urządzenia
$023F - ERRFLG - znacznik błędu operacji SIO
$0244 - COLDST - znacznik zimnego startu systemu
$0245 - RECLEN - długość rekordu z nowego urządzenia
$0246 - DSKTIM - wartość Timeout dla stacji dysków
$0247 - PDVMSK - maska obecności nowych urządzeń
$0248 - PDVRS - rejestr-cień PDVREG
$024A - RELADR - adres procedury przemieszczalnej
$024C - PPTMPA - rejestr przechowania zawartości akumulatora
$024D - PPTMPX - rejestr przechowania zawartości rejestru X
$026B - CHSPTR - wektor nieużywanego zestawu znaków
$026C - VSFLAG - znacznik przesuwu pionowego obrazu
$026E - FINE - znacznik delikatnego przesuwu obrazu
$026F - GTICTLS - rejestr-cień GTIACTL
$0270 - PADDL0 - rejestr-cień POT0
$0278 - JSTICK0 - położenie joysticka 0
$0279 - JSTICK1 - położenie joysticka 1
$027A - JSTICK2 - położenie joysticka 0
$027B - JSTICK3 - położenie joysticka 1
$027C - PTRIG0 - przycisk potencjometru 0
$027D - PTRIG1 - przycisk potencjometru 1
$0284 - TRIG0S - przycisk joysticka 0, rejestr-cień TRIG0
$0285 - TRIG1S - przycisk joysticka 1, rejestr-cień TRIG1
$0286 - TRIG2S - rejestr-cień TRIG0
$0287 - TRIG3S - rejestr-cień TRIG1
$0288 - HIBYTE - indeks operacji nowego urządzenia
$0289 - WMODE - znacznik sposobu dostępu do magnetofonu
$028A - BLIM - długość bufora magnetofonu
$028E - NEWADR - adres procedury nowego urządzenia
$0290 - TXTROW - wiersz kursora w oknie tekstowym
$0291 - TXTCOL - kolumna kursora w oknie tekstowym
$0293 - TINDEX - tryb graficzny OS w oknie tekstowym
$0294 - TXTMSC - adres pamięci okna tekstowego
$029C - CRETRY - liczba powtórzeń rozkazu operacji
$029D - HOLD3 - pomocniczy rejestr przejściowy
$029E - SUBTMP - pomocniczy rejestr przejściowy
$02A0 - DMASK - maska punktów obrazu
$02A2 - ESCFLG - znacznik klawisza ESC
$02A3 - TABMAP - mapa pozycji tabulacji
$02B2 - LOGMAP - mapa linii logicznych
$02B6 - INVFLG - znacznik klawisza inverse video
$02B7 - FILFLG - znacznik wypełniania obrazu
$02B8 - TMPROW - tymczasowy rejestr pozycji kursora
$02B9 - TMPCOL - tymczasowy rejestr pozycji kursora
$02BB - SCRFLG - znacznik przesuwu obrazu
$02BC - HOLD4 - pomocniczy rejestr przejściowy
$02BD - DRETRY - liczba powtórzeń wywołań urządzenia
$02BE - SHFLOK - znacznik klawiszy SHIFT i CONTROL
$02BF - BOTSCR - liczba wierszy tekstu
$02C0 - COLPM0S - rejestr-cień COLPM0
$02C1 - COLPM1S - rejestr-cień COLPM1
$02C2 - COLPM2S - rejestr-cień COLPM2
$02C3 - COLPM3S - rejestr-cień COLPM3
$02C4 - COLPF0S - rejestr-cień COLPF0
$02C5 - COLPF1S - rejestr-cień COLPF1
$02C6 - COLPF2S - rejestr-cień COLPF2
$02C7 - COLPF3S - rejestr-cień COLPF3
$02C8 - COLBAKS - rejestr-cień COLBAK
$02C9 - RUNADR - adres procedury nowego urządzenia
$02CB - HIUSED - adres końcowy procedury nowego urządzenia
$02CF - GBYTEA - adres procedury nowego urządzenia
$02D1 - LOADAD - adres wczytywania z nowego urządzenia
$02D3 - ZLOADA - pomocniczy rejestr adresu wczytywania
$02D5 - DSCTLN - długość sektora dyskowego
$02DB - NOCLIK - znacznik dźwięku klawiatury
$02DE - PBPNT - licznik bufora drukarki
$02DF - PBUFSZ - długość bufora drukarki
$02E5 - MEMTOP - adres górnej granicy wolnej pamięci RAM
$02E7 - MEMLO - adres dolnej granicy wolnej pamięci RAM
$02E9 - HNDLOD - znacznik relokowalnej procedury obsługi I/O
$02EA - DVSTAT - dodatkowy rejestr statusu urządzenia
$02EC - DVTMOT - dodatkowy rejestr Timeout urządzenia
$02ED - REVNUM - numer wersji nowego urządzenia
$02EE - CBAUD - prędkość transmisji z magnetofonu
$02F0 - CRSINH - znacznik widoczności kursora
$02F3 - CHACT - rejestr-cień CHRCTL
$02F4 - CHBAS - rejestr-cień CHBASE
$02F5 - NEWROW - nowa pozycja pionowa kursora
$02F6 - NEWCOL - nowa pozycja pozioma kursora
$02F8 - ROWINC - zmiana pionowej pozycji kursora
$02F9 - COLINC - zmiana poziomej pozycji kursora
$02FA - CHAR - kod wewnętrzny znaku
$02FB - ATACHR - kod ATASCII znaku
$02FC - KBCODES - rejestr-cień KBCODE
$02FD - FILDAT - numer koloru dla wypełniania
$02FE - DSPFLG - znacznik wyświetlania znaków kontrolnych
$02FF - SSFLAG - znacznik start/stop dla przesuwu obrazu
$0300 - DDEVIC - kod identyfikacyjny urządzenia
$0301 - DUNIT - numer identyfikacyjny urządzenia
$0302 - DCMND - bajt rozkazu dla urządzenia
$0303 - DSTATS - status urządzenia
$0304 - DBUFA - adres bufora danych
$0306 - DTIMLO - wartość Timeout dla urządzenia
$0308 - DBYT - długość bufora danych
$030A - DAUX1 - rejestr pomocniczy dla operacji I/O
$030B - DAUX2 - rejestr pomocniczy dla operacji I/O
$030C - INTIM1 - rejestr czasu przy odczycie z magnetofonu
$030F - CASFLG - znacznik operacji z magnetofonem
$0310 - INTIM2 - rejestr czasu przy odczycie z magnetofonu
$0312 - TEMP1 - pomocniczy rejestr przejściowy
$0313 - TEMP2 - pomocniczy rejestr przejściowy
$0314 - PTIMOT - wartość Timeout dla drukarki
$0315 - TEMP3 - pomocniczy rejestr przejściowy
$0316 - SAVIO - rejestr przejściowy dla operacji SIO
$0317 - TIMFLG - znacznik upłynięcia czasu Timeout
$0318 - STACKP - rejestr wskaźnika stosu dla SIO
$0319 - TSTAT - przejściowy rejestr statusu SIO
$031A - HATABS - tabela wektorów procedur obsługi
$0340 - IOCB0 - blok kontroli I/O numer 0
$0350 - IOCB1 - blok kontroli I/O numer 1
$0360 - IOCB2 - blok kontroli I/O numer 2
$0370 - IOCB3 - blok kontroli I/O numer 3
$0380 - IOCB4 - blok kontroli I/O numer 4
$0390 - IOCB5 - blok kontroli I/O numer 5
$03A0 - IOCB6 - blok kontroli I/O numer 6
$03B0 - IOCB7 - blok kontroli I/O numer 7
$0340 - ICCHID - indeks wpisu urządzenia w HATABS
$0341 - ICDNO - numer urządzenia
$0342 - ICCMD - kod rozkazu operacji I/O
$0343 - ICSTAT - status operacji I/O
$0344 - ICBUFA - adres bufora danych dla operacji I/O
$0346 - ICPUTB - adres procedury przesyłania danych
$0348 - ICBUFL - długość bufora danych dla operacji I/O
$034A - ICAX1 - rejestr pomocniczy dla operacji I/O
$034B - ICAX2 - rejestr pomocniczy dla operacji I/O
$034C - ICAX3 - rejestr pomocniczy dla operacji I/O
$034D - ICAX4 - rejestr pomocniczy dla operacji I/O
$034E - ICAX5 - rejestr pomocniczy dla operacji I/O
$034F - ICAX6 - rejestr pomocniczy dla operacji I/O
$03C0 - PRNBUF - bufor drukarki
$03E8 - SUPERF - znacznik stosowany przy odczycie klawiatury
$03E9 - CKEY - znacznik klawisza START przy zimnym starcie
$03EC - DERRF - znacznik błędu przy otwieraniu edytora
$03FB - CHLINK  - rejestr elementów listy liniowej
$03FD - CSCB - bajty kontroli szybkości magnetofonu
$03FF - CRCB - bajt długości rekordu magnetofonowego
$0400 - CASBUF - bufor magnetofonu
$047F - CASBEN - koniec bufora magnetofonu
$D000 - HPOSP0 - pozioma pozycja gracza 0 (Z)
$D000 - KOLM0PF - kolizja pocisku 0 z polem gry (O)
$D001 - HPOSP1 - pozioma pozycja gracza 1 (Z)
$D001 - KOLM1PF - kolizja pocisku 1 z polem gry (O)
$D002 - HPOSP2 - pozioma pozycja gracza 2 (Z)
$D002 - KOLM2PF - kolizja pocisku 2 z polem gry (O)
$D003 - HPOSP3 - pozioma pozycja gracza 3 (Z)
$D003 - KOLM3PF - kolizja pocisku 3 z polem gry (O)
$D004 - HPOSM0 - pozioma pozycja pocisku 0 (Z)
$D004 - KOLP0PF - kolizja gracza 0 z polem gry (O)
$D005 - HPOSM1 - pozioma pozycja pocisku 1 (Z)
$D005 - KOLP1PF - kolizja gracza 1 z polem gry (O)
$D006 - HPOSM2 - pozioma pozycja pocisku 2 (Z)
$D006 - KOLP2PF - kolizja gracza 2 z polem gry (O)
$D007 - HPOSM3 - pozioma pozycja pocisku 3 (Z)
$D007 - KOLP3PF - kolizja gracza 3 z polem gry (O)
$D008 - SIZEP0 - poziomy rozmiar gracza 0 (Z)
$D008 - KOLM0P - kolizja pocisku 0 z graczem (O)
$D009 - SIZEP1 - poziomy rozmiar gracza 1 (Z)
$D009 - KOLM1P - kolizja pocisku 1 z graczem (O)
$D00A - SIZEP2 - poziomy rozmiar gracza 2 (Z)
$D00A - KOLM2P - kolizja pocisku 2 z graczem (O)
$D00B - SIZEP3 - poziomy rozmiar gracza 3 (Z)
$D00B - KOLM3P - kolizja pocisku 3 z graczem (O)
$D00C - SIZEM - poziomy rozmiar pocisków (Z)
$D00C - KOLP0P - kolizja gracza 0 z innym graczem (O)
$D00D - GRAFP0 - rejestr grafiki gracza 0 (Z)
$D00D - KOLP1P - kolizja gracza 1 z innym graczem (O)
$D00E - GRAFP1 - rejestr grafiki gracza 1 (Z)
$D00E - KOLP2P - kolizja gracza 2 z innym graczem (O)
$D00F - GRAFP2 - rejestr grafiki gracza 2 (Z)
$D00F - KOLP3P - kolizja gracza 3 z innym graczem (O)
$D010 - GRAFP3 - rejestr grafiki gracza 3 (Z)
$D010 - TRIG0 - stan przycisku joysticka 0 (O)
$D011 - GRAFM - rejestr grafiki pocisków (Z)
$D011 - TRIG1 - stan przycisku joysticka 1 (O)
$D012 - COLPM0 - rejestr koloru gracza i pocisku 0 (Z)
$D013 - COLPM1 - rejestr koloru gracza i pocisku 1 (Z)
$D013 - TRIG3 - znacznik dołączenia cartridge'a (O)
$D014 - COLPM2 - rejestr koloru gracza i pocisku 2 (Z)
$D014 - PAL - znacznik systemu TV (O)
$D015 - COLPM3 - rejestr koloru gracza i pocisku 3 (Z)
$D016 - COLPF0 - rejestr koloru pola gry 0 (Z)
$D017 - COLPF1 - rejestr koloru pola gry 1 (Z)
$D018 - COLPF2 - rejestr koloru pola gry 2 (Z)
$D019 - COLPF3 - rejestr koloru pola gry 3 (Z)
$D01A - COLBAK - rejestr koloru tła (Z)
$D01B - GTIACTL - rejestr kontroli układu GTIA
$D01C - VDELAY - licznik opóźnienia pionowego P/MG
$D01D - PMCNTL - rejestr kontroli graczy i pocisków
$D01E - HITCLR - rejestr kasowania rejestrów kolizji
$D01F - CONSOL - rejestr stanu klawiszy konsoli
$D1FF - PDVREG - rejestr wyboru nowego urządzenia
$D200 - AUDF1 - częstotliwość pracy generatora 1 (Z)
$D200 - POT0 - rejestr położenia potencjometru 0 (O)
$D201 - AUDC1 - rejestr kontroli dźwięku generatora 1 (Z)
$D201 - POT1 - rejestr położenia potencjometru 1 (O)
$D202 - AUDF2 - częstotliwość pracy generatora 2 (Z)
$D202 - POT2 - rejestr położenia potencjometru 2 (O)
$D203 - AUDC2 - rejestr kontroli dźwięku generatora 2 (Z)
$D203 - POT3 - rejestr położenia potencjometru 3 (O)
$D204 - AUDF3 - częstotliwość pracy generatora 3 (Z)
$D205 - AUDC3 - rejestr kontroli dźwięku generatora 3 (Z)
$D206 - AUDF4 - częstotliwość pracy generatora 4 (Z)
$D207 - AUDC4 - rejestr kontroli dźwięku generatora 4 (Z)
$D208 - AUDCTL - rejestr kontroli generatorów dźwięku (Z)
$D208 - POTST - status odczytu potencjometrów (O)
$D209 - STIMER - rejestr zerowania liczników (Z)
$D209 - KBCODE - kod ostatnio naciśniętego klawisza (O)
$D20A - SKSTRES - reset statusu złącza szeregowego (Z)
$D20A - RANDOM - rejestr liczby losowej (O)
$D20B - POTG0 - znacznik przetwornika analogowo-cyfrowego (Z)
$D20D - SEROUT - szeregowy rejestr wyjściowy (Z)
$D20D - SERIN - szeregowy rejestr wejściowy (O)
$D20E - IRQEN - zezwolenia przerwań IRQ (Z)
$D20E - IRQST - status przerwań IRQ (O)
$D20F - SKCTL - rejestr kontroli złącza szeregowego (Z)
$D20F - SKSTAT - rejestr statusu złącza szeregowego (O)
$D300 - PORTA - port A układu PIA
$D301 - PORTB - port B układu PIA
$D302 - PACTL - rejestr kontroli portu A
$D303 - PBCTL - rejestr kontroli portu B
$D400 - DMACTL - rejestr kontroli dostępu do pamięci
$D401 - CHRCTL - rejestr kontroli wyświetlania znaków
$D402 - DLPTR - adres programu ANTIC-a
$D404 - HSCROL - znacznik poziomego przesuwu obrazu
$D405 - VSCROL - znacznik pionowego przesuwu obrazu
$D407 - PMBASE - adres pamięci graczy i pocisków
$D409 - CHBASE - adres zestawu znaków
$D40A - WSYNC - znacznik oczekiwania na synchronizację poziomą
$D40B - VCOUNT - licznik linii obrazu
$D40C - LPENH - poziome położenie pióra świetlengo
$D40D - LPENV - pionowe położenie pióra świetlnego
$D40E - NMIEN - rejestr zezwoleń na przerwania NMI
$D40F - NMIST - rejestr statusu przerwań NMI

Dodatek C

Zmienne systemowe

AUDC
bity 0-3 - regulacja siły głosu (do 0 do 15)
bity 4 - kontrola siły głosu bez modulacji
bity 5-7 - sterowanie zniekształceniami dźwięku
     000 = rejestr 5-bitowy i 17-bitowy
     001 = rejestr 5-bitowy
     010 = rejestr 5-bitowy i 4-bitowy
     011 = rejestr 5-bitowy
     100 = rejestr 17-bitowy
     101 = bez rejestru przesuwającego
     110 = rejestr 4-bitowy
     111 = bez rejestru przesuwającego

AUDCTL
bit 0 - wybór zegara bazowego (0 = 64 kHz, 1 = 15 kHz)
bit 1 - filtr  w generatorze 2 sterowany przez generator 4 (1 =
włączony)
bit 2 - filtr  w generatorze 1 sterowany przez generator 3 (1 =
włączony)
bit 3 - łączenie  dzielników  3  i 4  w dzielnik 16-bitowy (1 =
włączone)
bit 4 - łączenie  dzielników  1  i 2  w dzielnik 16-bitowy (1 =
włączone)
bit 5 - wybór zegara bazowego dla generatora 3 (0 = w/g bitu 0,
1 = 2,217 MHz)
bit 6 - wybór zegara bazowego dla generatora 1 (0 = w/g bitu 0,
1 = 2,217 MHz)
bit 7 - przełączanie  rejestru przesuwającego (0 = 17-bitowy, 1
= 9-bitowy)

BOTSCR
    $00 - brak tekstu (cały obraz graficzny)
    $04 - okno tekstowe (4 wiersze tekstu)
    $18 - tryb 0 (24 wiersze tekstu)

CHRCTL/CHACT
bit 0 - tłumienie znaków (1 = znaki w inverse niewidoczne)
bit 1 - odwracanie znaków (0 = inverse nie działa)
bit 2 - odbicie znaków (1 = lustrzane odbicie znaków w pionie)
bitu 3-7 - niewykorzystane

CONSOL
bit 0 - klawisz START (0 = wciśnięty)
bit 1 - klawisz SELECT (0 = wciśnięty)
bit 2 - klawisz OPTION (0 = wciśnięty)

CRCB
    $FA - długość rekordu mniejsza od 128
    $FC - pełny rekord (128 bajtów)
    $FE - rekord końca zbioru (128 zer)

CRITIC
    0 - brak ograniczeń czasowych
    nie 0 - krytyczna czasowo operacja I/O

CRSINH
    0 - kursor widoczny
    nie 0 - kursor niewidoczny

DMACTL/DMACTLS
bity 0-1 - szerokość obrazu na ekranie:
           00 = brak obrazu
           01 = obraz wąski (192 punkty)
           10 = obraz normalny (320 punktów)
           11 = obraz szeroki (384 punkty)
bit 2 - DMA dla pocisków (1 = włączony)
bit 3 - DMA dla graczy (1 = włączony)
bit 4 - rozdzielczość P/MG (0 = dwu-, 1 = jednoliniowa)
bit 5 - DMA dla programu ANTIC-a (1 = włączony)
bity 6-7 - niewykorzystane

DSPFLG
    0 - wykonywanie znaków kontrolnych
    nie 0 - wyświetlanie znaków kontrolnych

ESCFLG
    $00 - wykonanie następnego znaku
    $80 - wyświetlenie następnego znaku

FEOF
    0 - brak rekordu końcowego zbioru
    nie 0 - napotkany rekord końcowy zbioru

FILFLG
    $00 - rysowanie linii (DRAW)
    $01 - rysowanie linii z wypełnieniem (FILL)

FINE
    $00 - przesuw zgrubny (o jeden wiersz)
    $FF - przesuw delikatny (o jedną linię ekranu)

FREQ
    $01 - jeden dźwięk (odczyt z magnetofonu)
    $02 - dwa dźwięki (zapis na magnetofon)

GAPTYP
    $00 - długa przerwa między rekordami
    $80 - krótka przerwa między rekordami

GTIACTL/GTICTLS
bity 0-3 - priorytet graczy i pocisków
      0001 - P0, P1, P2, P3, PF0, PF1, PF2, PF3, BAK
      0010 - P0, P1, PF0, PF1, PF2, PF3, P2, P3, BAK
      0100 - PF0, PF1, PF2, PF3, P0, P1, P2, P3, BAK
      1000 - PF0, PF1, P0, P1, P2, P3, PF2, PF3, BAK
bit 4 - łączenie pocisków w 5 gracza (1 = włączone)
bit 5 - gracze wielokolorowi (1 = włączone)
bity 6-7 - dodatkowe tryby graficzne GTIA:
           00 - GRAPHICS 8
           01 - GRAPHICS 9
           10 - GRAPHICS 10
           11 - GRAPHICS 11

INVFLG
    $00 - normalne wyświetlanie znaków
    $FF - wyświetlanie znaków w negatywie

IRQEN/IRQENS
zezwolenia przerwań IRQ - 0 = zabronione
bit 0 - przerwanie TIMERa 1
bit 1 - przerwanie TIMERa 2
bit 2 - przerwanie TIMERa 4
bit 3 - przerwanie końca transmisji
bit 4 - przerwanie zapisu przez złącze szeregowe
bit 5 - przerwanie odczytu przez złącze szeregowe
bit 6 - przerwanie klawiatury
bit 7 - przerwanie klawisza BREAK

IRQST/IRQSTAT
status przerwań IRQ - 0 = wystąpiło
bit 0 - przerwanie TIMERa 1
bit 1 - przerwanie TIMERa 2
bit 2 - przerwanie TIMERa 4
bit 3 - przerwanie końca transmisji
bit 4 - przerwanie zapisu przez złącze szeregowe
bit 5 - przerwanie odczytu przez złącze szeregowe
bit 6 - przerwanie klawiatury
bit 7 - przerwanie klawisza BREAK

KOLPxPF/KOLMxPF
bit 0 - kolizja z polem gry 0 (1 = wystąpiła)
bit 1 - kolizja z polem gry 1 (1 = wystąpiła)
bit 2 - kolizja z polem gry 2 (1 = wystąpiła)
bit 3 - kolizja z polem gry 3 (1 = wystąpiła)
bity 4-7 - niewykorzystane

KOLPxP/KOLMxP
bit 0 - kolizja z graczem 0 (1 = wystąpiła)
bit 1 - kolizja z graczem 1 (1 = wystąpiła)
bit 2 - kolizja z graczem 2 (1 = wystąpiła)
bit 3 - kolizja z graczem 3 (1 = wystąpiła)
bity 4-7 - niewykorzystane

NMIEN
zezwolenia przerwań NMI - 0 = zabronione
bity 0-5 - niewykorzystane
bit 6 - przerwanie synchronizacji (VBLKI)
bit 7 - przerwanie programu ANTIC-a (DLI)

NMIST
status przerwań NMI - 1 = wystąpiło
bity 0-4 - niewykorzystane
bit 5 - przerwanie klawisza RESET
bit 6 - przerwanie synchronizacji (VBLKI)
bit 7 - przerwanie programu ANTIC-a (DLI)

NOCLK
    0 - dźwięk klawiatury dozwolony
    nie 0 - dźwięk klawiatury zabroniony

PACTL
bit 0 - zezwolenie na żądanie przerwania IRQ przez urządzenie A
(1 = dozwolone)
bit 1 - niewykorzystywany (zawsze 0)
bit 2 - sterowanie  pracą  PORTA  (0  =  rejestr  porządkowania
danych, 1 = rejestr przesyłania danych)
bit 3 - sterowanie  silnikiem  magnetofonu  (0  = włączony, 1 =
wyłączony)
bit 4 - niewykorzystany (zawsze 1)
bit 5 - niewykorzystany (zawsze 1)
bit 6 - niewykorzystany (zawsze 0)
bit 7 - rejestr statusu przerwania urządzenia A (1 = wystąpiło)

PBCTL
bit 0 - zezwolenie na żądanie przerwania IRQ przez urządzenie B
(1 = dozwolone)
bit 1 - niewykorzystywany (zawsze 0)
bit 2 - sterowanie  pracą  PORTB  (0  =  rejestr  porządkowania
danych, 1 = rejestr przesyłania danych)
bit 3 - identyfikacja poleceń dla urządzeń zewnętrznych
bit 4 - niewykorzystany (zawsze 1)
bit 5 - niewykorzystany (zawsze 1)
bit 6 - niewykorzystany (zawsze 0)
bit 7 - rejestr statusu przerwania urządzenia B (1 = wystąpiło)

PMCTL
bit 0 - przenoszenie  danych pocisków z rejestru GRAFM na ekran
(1 = włączone)
bit 1 - przenoszenie  danych  graczy z rejestrów GRAFP na ekran
(1 = włączone)
bit 2 - odczyt przycisków joysticków (1 = zablokowany)
bity 3-7 - niewykorzystane

PORTA
bit 0 - joystick 0 naprzód (0 = tak)
bit 1 - joystick 0 wstecz (0 = tak)
bit 2 - joystick 0 w lewo, przycisk potencjometru 0 (0 = tak)
bit 3 - joystick 0 w prawo, przycisk potencjometru 1 (0 = tak)
bit 4 - joystick 1 naprzód (0 = tak)
bit 5 - joystick 1 wstecz (0 = tak)
bit 6 - joystick 1 w lewo, przycisk potencjometru 2 (0 = tak)
bit 7 - joystick 1 w prawo, przycisk potencjometru 3 (0 = tak)

PORTB
bit 0 - system operacyjny (0 = odłączony)
bit 1 - interpreter Atari Basic (1 = odłączony)
bity 2-3 - wybór banku pamięci (tylko 130XE)
bit 4 - sterowanie  dostępem CPU do pamięci (0 = dodatkowa, 1 =
główna; tylko 130XE)
bit 5 - sterowanie  dostępem ANTIC-a do pamięci (0 = dodatkowa,
1 = główna; tylko 130XE)
bit 6 - niewykorzystany
bit 7 - program testujący (1 = odłączony)

SHFLOK
    $00 - małe litery (wciśnięty CAPS)
    $40 - duże litery (stan normalny)
    $80 - znaki z CONTROL

SIZEM/SIZEPx
    $00 - normalna wielkość obiektu (pixel = 1 cykl koloru)
    $01 - podwójna wielkość obiektu (pixel = 2 cykle koloru)
    $10 - normalna wielkość obiektu (pixel = 1 cykl koloru)
    $11 - poczwórna wielkość obiektu (pixel = 4 cykle koloru)

SKCTL/SKCTLS
bit 0 - razem z bitem 1 resetuje POKEY
bit 1 - obsługa klawiatury
bit 2 - częstość przetwarzania A/C (0 = 20 ms, 1 = 128 µs)
bit 3 - przesyłanie dwutonowe (1 = włączone)
bity 4-6 - sterowanie szybkością transmisji
   000 - zewnętrzne
   001 - odczyt: w/g generatora 4, zapis: zewnętrzne
   010 - w/g generatora 4
   011 - kombinacja zabroniona
   100 - odczyt: zewnętrzne, zapis: w/g generatora 4
   101 - kombinacja zabroniona
   110 - odczyt: w/g generatora 4, zapis: w/g 2
   111 - j.w., zablokowane wejście i wyjście taktujące
bit 7 - nadanie sygnału SPACE (1 = włączone)

SKSTAT
bit 0 - niewykorzystany (= 1)
bit 1 - przesyłanie danych (0 = trwa)
bit 2 - dowolny klawisz (0 = naciśnięty)
bit 3 - klawisz SHIFT (0 = naciśnięty)
bit 4 - kopia rejestru wejścia szeregowego
bit 5 - bufor klawiatury (0 = przepełniony)
bit 6 - bufor wejścia szeregowego (0 = przepełniony)
bit 7 - Framing Error (0 = wystąpił)

SSFLAG
    $00 - dane są wyprowadzane na ekran
    $FF - zatrzymanie wyprowadzania danych

SWPFLG
    $00 - kursor w oknie tekstowym
    $FF - kursor na obrazie graficznym

VDELAY
bit 0 - obniżenie pocisku 0 o jedną linię ekranu (1 = tak)
bit 1 - obniżenie pocisku 1 o jedną linię ekranu (1 = tak)
bit 2 - obniżenie pocisku 2 o jedną linię ekranu (1 = tak)
bit 3 - obniżenie pocisku 3 o jedną linię ekranu (1 = tak)
bit 4 - obniżenie gracza 0 o jedną linię ekranu (1 = tak)
bit 5 - obniżenie gracza 1 o jedną linię ekranu (1 = tak)
bit 6 - obniżenie gracza 2 o jedną linię ekranu (1 = tak)
bit 7 - obniżenie gracza 3 o jedną linię ekranu (1 = tak)

WMODE
    $00 - odczyt z magnetofonu
    $80 - zapis na magnetofon

Dodatek D

Słownik terminów informatycznych

ANTIC
    AlphaNumeric   Television  Interface  Controller  -  drugi,
dodatkowy  mikroprocesor,  którego  zasadniczym  zadaniem  jest
tworzenie   obrazu.   Układ   specjalnie   zaprojektowany   dla
komputerów Atari.

ASCII
    American   Standard   Code  of  Information  Interchange  -
amerykański,    standardowy   kod   wymiany   informacji,   kod
przypisujący  liczbom  od  0  do  127  znaczenie liter, liczb i
znaków  kontrolnych,  powszechnie  używany w komputerach. Każda
firma  stosuje jednak nieco zmodyfikowany kod, np. w Atari jest
używany ATASCII (ATari ASCII).

BCD
    Binary Coded Decimal - liczba dziesiętna kodowana dwójkowo,
kod   zapisu   liczb   dziesiętnych,  w  którym  każdej  cyfrze
odpowiadają  cztery  bity.  W  ten sposób w jednym bajcie można
zapisać  dwie  cyfry  dziesiętne. Maksymalna wartość półbajtu w
kodzie  BCD  wynosi  9. Procesor 6502 po rozkazie SED pracuje w
trybie dziesiętnym, czyli na liczbach w kodzie BCD.

CIO
    Central   Input/Output   -  zespół  procedur  obsługujących
komunikację komputera z urządzeniami zewnętrznymi.

DCB
    Device  Control  Block  -  blok  kontroli  urządzeń, obszar
pamięci  RAM  od  $0300 do $030B wykorzystywany przez procedury
SIO do operacji wejścia/wyjścia.

DL
    Display List - program ANTIC-a, program w kodzie maszynowym
ANTIC-a   wskazujący  mu  sposób  generowania  obrazu.  Program
ANTIC-a  może  wywoływać  przerwania  niemaskowalne  zwane  DLI
(Display List Interrupt).

DMA
    Direct  Memory  Access  -  bezpośredni  dostęp  do pamięci,
sposób  dostępu do pamięci komputera z pominięciem pośrednictwa
procesora.   Oszczędza  to  czas  pracy  procesora  i  zwiększa
szybkość  pracy  systemu. W Atari DMA jest wykorzystywany przez
ANTIC (procesor obrazowy).

EOF
    End  Of  File  - koniec zbioru, znak oznaczający ten koniec
lub  kod  błędu  informujący,  że wszystkie dane zostały już ze
zbioru odczytane.

EOL
    End Of Line - koniec linii, znak końca wiersza logicznego w
edytorze,  a w innych urządzeniach znak końca bloku przesyłanej
informacji. Kod EOL jest taki jak znaku RETURN - $9B.

FP
    Floating  Point  - liczby, operacje i procedury na liczbach
rzeczywistych czyli zmiennoprzecinkowych.

GTIA
    Graphics  Television  Interface  Adaptor  -  specjalizowany
układ  scalony  służący  do tworzenia kolorów i obsługi grafiki
graczy i pocisków (Player/Missile Graphics).

I/O
    Input/Output   -  wejście/wyjście,  ogólna  nazwa  operacji
służących do komunikacji komputera z urządzeniami zewnętrznymi.

IOCB
    Input/Output  Control Block - blok kontroli I/O, 16-bajtowy
obszar  pamięci  RAM  wykorzystywany  przez  procedury  CIO  do
operacji  wejścia/wyjścia. Istnieje IOCB strony zerowej i osiem
IOCB w obszarze od $0340 do $03BF.

IRQ
    Interrupt  Request  -  żądanie przerwania, nazwą tą określa
się  wszystkie  przerwania  maskowalne,  to znaczy takie, które
mogą nie zostać przyjęte do realizacji przez procesor.

LSB
    Least  Significant  Byte - mniej znaczący bajt, bajt adresu
lub danej zawierający dwie mniej znaczące cyfry (szesnastkowe).
LSB=ADR-MSB*$0100.  Przy  adresowaniu wskazuje numer komórki na
stronie.

MSB
    Most Significant Byte - bardziej znaczący bajt, bajt adresu
lub   danej   zawierający   dwie   bardziej   znaczące   cyfry.
MSB=INT(ADR/$0100).  Przy  adresowaniu  wskazuje  numer  strony
oamięci.

NMI
    Non  Maskable  Interrupt  -  przerwanie niemaskowalne czyli
takie,  które musi zostać wykonane przez procesor (nie może być
zignorowane).

nowe urządzenie
    New  Device  - nazwa stosowana w systemie operacyjnym Atari
dla  określenia  urządzeń  zewnętrznych  przyłączanych do szyny
równoległej,  które nie istniały jeszcze w czasie projektowania
systemu.

OS
    Operating  System  -  system  operacyjny,  zestaw  procedur
zapisanych  przeważnie  w  pamięci  ROM,  które  sterują  pracą
komputera i jego współpracą z urządzeniami zewnętrznymi.

PIA
    Peripheral  Interface  Adaptor - standardowy układ I/O typu
6520.  Jego  zadaniem  jest w Atari obsługa portów joysticków i
zarządzanie pamięcią komputera.

pixel
    Picture  element  - najmniejszy element obrazu dostępny dla
programisty.   Wielkość   pixela   zależy  od  wybranego  trybu
graficznego.  Najmniejszy pixel ma wysokość jednej linii ekranu
i szerokość pół cyklu koloru, a największy wysokość ośmiu linii
ekranu i szerokość czterech cykli koloru.

POKEY
    Potentiometr  &  Keyboard  -  specjalizowany układ scalony,
którego  zadaniem  jest obsługa klawiatury, potencjometrów oraz
komunikacji   komputera  z  urządzeniami  zewnętrznymi  poprzez
złącze szeregowe.

port
    Rejestr  służący  do  komunikacji  komputera z urządzeniami
peryferyjnymi,   zwykle  jest  to  rejestr  specjalnego  układu
scalonego  znajdujący  się  w  przestrzeni adresowej procesora.
Zwany jest także bramą.

rejestr
    Zespół  komórek  (w  Atari  1-6)  pamięci  RAM służących do
przechowywania  różnych  wartości  niezbędnych  do pracy OS lub
programu.   Podstawowymi   rodzajami  rejestrów  są  wektory  i
znaczniki (wskaźniki).

rejestr-cień
    Specjalizowane  układy scalone komputerów Atari mają własne
rejestry,  które  znajdują  się w obszarze adresowym procesora.
Większość  z  nich  posiada  kopie w normalnych rejestrach RAM,
tzw.     rejestry-cienie     (shadow    register).    Zawartość
rejestrów-cieni  jest przepisywana do rejestrów sprzętowych lub
odwrotnie podczas przerwania VBLK.

rekord
    Część  informacji  (programu  lub  danych)  zapisywana  lub
odczytywana  jednorazowo  z  urządzenia  zewnętrznego.  Długość
rekordu  jest zwykle równa długości bufora, który służy do jego
przechowania, a nigdy nie może być większa.

SIO
    Serial   Input/Output   -   zespół  procedur  obsługujących
komunikację   z   urządzeniami   zewnętrznymi   poprzez  złącze
szeregowe.
 
strona
    Część  pamięci  komputera  o  wielkości 256 bajtów. Starszy
bajt  adresu  wskazuje zawsze numer strony, a młodszy - komórkę
na stronie.

Timeout
    Maksymalny   czas  wykonywania  operacji  przez  urządzenie
zewnętrzne   i   jednocześnie  czas  oczekiwania  komputera  na
odpowiedź od urządzenia po wysłaniu rozkazu wykonania operacji.
Timeout jest różny dla różnych urządzeń i różnych operacji.

VBLK
    Vertical  Blank  - synchronizacja pionowa, okres wygaszania
strumienia  elektronów  tworzących  obraz  i  przesunięcia go z
prawego,  dolnego  rogu ekranu do lewego, górnego. Podczas VBLK
wywoływane jest przerwanie VBLKI (VBLK Interrupt).

wektor
    Rejestr  zawierający adres procedury lub danych (wskazujący
adres).   Wektor  dwubajtowy  zawiera  pełny  adres,  a  wektor
jednobajtowy tylko numer strony.

wskaźnik
    To samo co znacznik.

znacznik
    Rejestr,   którego   zawartość  sygnalizuje  stan  jakiegoś
elementu  systemu  lub  wariant  operacji.  Znacznik  może  być
traktowany  jako całość, ale często poszczególne bity znacznika
mają odrębne znaczenie.

Dodatek E

Tabela przeliczeń DEC-BIN-HEX

    Poniższa tabela może służyć do szybkiej zamiany liczb zapisanych w systemach: szesnastkowym (HEX), dziesiętnym (DEC) i dwójkowym (BIN). Dodatkowo dla ułatwienia orientacji w stosowanym przez procesor 6502 systemie adresowania podana jest wartość dziesiętna pomnożona przez 256 (strona).
HEX  DEC  strona    BIN             HEX  DEC  strona    BIN
 00    0      0  00000000            80  128  32768  10000000
 01    1    256  00000001            81  129  33024  10000001
 02    2    512  00000010            82  130  33280  10000010
 03    3    768  00000011            83  131  33536  10000011
 04    4   1024  00000100            84  132  33792  10000100
 05    5   1280  00000101            85  133  34048  10000101
 06    6   1536  00000110            86  134  34304  10000110
 07    7   1792  00000111            87  135  34560  10000111
 08    8   2048  00001000            88  136  34816  10001000
 09    9   2304  00001001            89  137  35072  10001001
 0A   10   2560  00001010            8A  138  35328  10001010
 0B   11   2816  00001011            8B  139  35584  10001011
 0C   12   3072  00001100            8C  140  35840  10001100
 0D   13   3328  00001101            8D  141  36096  10001101
 0E   14   3584  00001110            8E  142  36352  10001110
 0F   15   3840  00001111            8F  143  36608  10001111
 10   16   4096  00010000            90  144  36864  10010000
 11   17   4352  00010001            91  145  37120  10010001
 12   18   4608  00010010            92  146  37376  10010010
 13   19   4864  00010011            93  147  37632  10010011
 14   20   5120  00010100            94  148  37888  10010100
 15   21   5376  00010101            95  149  38144  10010101
 16   22   5632  00010110            96  150  38400  10010110
 17   23   5888  00010111            97  151  38656  10010111
 18   24   6144  00011000            98  152  38912  10011000
 19   25   6400  00011001            99  153  39168  10011001
 1A   26   6656  00011010            9A  154  39424  10011010
 1B   27   6912  00011011            9B  155  39680  10011011
 1C   28   7168  00011100            9C  156  39936  10011100
 1D   29   7424  00011101            9D  157  40192  10011101
 1E   30   7680  00011110            9E  158  40448  10011110
 1F   31   7936  00011111            9F  159  40704  10011111
 20   32   8192  00100000            A0  160  40960  10100000
 21   33   8448  00100001            A1  161  41216  10100001
 22   34   8704  00100010            A2  162  41472  10100010
 23   35   8960  00100011            A3  163  41728  10100011
 24   36   9216  00100100            A4  164  41984  10100100
 25   37   9472  00100101            A5  165  42240  10100101
 26   38   9728  00100110            A6  166  42496  10100110
 27   39   9984  00100111            A7  167  42752  10100111
 28   40  10240  00101000            A8  168  43008  10101000
 29   41  10496  00101001            A9  169  43264  10101001
 2A   42  10752  00101010            AA  170  43520  10101010
 2B   43  11008  00101011            AB  171  43776  10101011
 2C   44  11264  00101100            AC  172  44032  10101100
 2D   45  11520  00101101            AD  173  44289  10101101
 2E   46  11776  00101110            AE  174  44544  10101110
 2F   47  12032  00101111            AF  175  44800  10101111
 30   48  12288  00110000            B0  176  45056  10110000
 31   49  12544  00110001            B1  177  45312  10110001
 32   50  12800  00110010            B2  178  45568  10110010
 33   51  13056  00110011            B3  179  45824  10110011
 34   52  13312  00110100            B4  180  46080  10110100
 35   53  13568  00110101            B5  181  46336  10110101
 36   54  13824  00110110            B6  182  46592  10110110
 37   55  14080  00110111            B7  183  46848  10110111
 38   56  14336  00111000            B8  184  47104  10111000
 39   57  14592  00111001            B9  185  47360  10111001
 3A   58  14848  00111010            BA  186  47616  10111010
 3B   59  15104  00111011            BB  187  47872  10111011
 3C   60  15360  00111100            BC  188  48128  10111100
 3D   61  15616  00111101            BD  189  48384  10111101
 3E   62  15872  00111110            BE  190  48640  10111110
 3F   63  16128  00111111            BF  191  48896  10111111
 40   64  16384  01000000            C0  192  49152  11000000
 41   65  16640  01000001            C1  193  49408  11000001
 42   66  16896  01000010            C2  194  49664  11000010
 43   67  17152  01000011            C3  195  49920  11000011
 44   68  17408  01000100            C4  196  50176  11000100
 45   69  17664  01000101            C5  197  50432  11000101
 46   70  17920  01000110            C6  198  50688  11000110
 47   71  18176  01000111            C7  199  50944  11000111
 48   72  18432  01001000            C8  200  51200  11001000
 49   73  18688  01001001            C9  201  51456  11001001
 4A   74  18944  01001010            CA  202  51712  11001010
 4B   75  19200  01001011            CB  203  51968  11001011
 4C   76  19456  01001100            CC  204  52224  11001100
 4D   77  19712  01001101            CD  205  52480  11001101
 4E   78  19968  01001110            CE  206  52736  11001110
 4F   79  20224  01001111            CF  207  52992  11001111
 50   80  20480  01010000            D0  208  53248  11010000
 51   81  20736  01010001            D1  209  53504  11010001
 52   82  20992  01010010            D2  210  53760  11010010
 53   83  21248  01010011            D3  211  54016  11010011
 54   84  21504  01010100            D4  212  54272  11010100
 55   85  21760  01010101            D5  213  54528  11010101
 56   86  22016  01010110            D6  214  54784  11010110
 57   87  22272  01010111            D7  215  55040  11010111
 58   88  22528  01011000            D8  216  55296  11011000
 59   89  22784  01011001            D9  217  55552  11011001
 5A   90  23040  01011010            DA  218  55808  11011010
 5B   91  23296  01011011            DB  219  56064  11011011
 5C   92  23552  01011100            DC  220  56320  11011100
 5D   93  23808  01011101            DD  221  56576  11011101
 5E   94  24064  01011110            DE  222  56832  11011110
 5F   95  24320  01011111            DF  223  57088  11011111
 60   96  24576  01100000            E0  224  57344  11100000
 61   97  24832  01100001            E1  225  57600  11100001
 62   98  25088  01100010            E2  226  57856  11100010
 63   99  25344  01100011             E3  227  58112  11100011
 64  100  25600  01100100             E4  228  58368  11100100
 65  101  25856  01100101             E5  229  58624  11100101
 66  102  26112  01100110             E6  230  58880  11100110
 67  103  26368  01100111             E7  231  59136  11100111
 68  104  26624  01101000             E8  232  59392  11101000
 69  105  26880  01101001             E9  233  59648  11101001
 6A  106  27136  01101010             EA  234  59904  11101010
 6B  107  27392  01101011             EB  235  60160  11101011
 6C  108  27648  01101100             EC  236  60416  11101100
 6D  109  27904  01101101             ED  237  60672  11101101
 6E  110  28160  01101110             EE  238  60928  11101110
 6F  111  28416  01101111             EF  239  61184  11101111
 70  112  28672  01110000             F0  240  61440  11110000
 71  113  28928  01110001             F1  241  61696  11110001
 72  114  29184  01110010             F2  242  61952  11110010
 73  115  29440  01110011             F3  243  62208  11110011
 74  116  29696  01110100             F4  244  62464  11110100
 75  117  29952  01110101             F5  245  62720  11110101
 76  118  30208  01110110             F6  246  62976  11110110
 77  119  30464  01110111             F7  247  63232  11110111
 78  120  30720  01111000             F8  248  63488  11111000
 79  121  30976  01111001             F9  249  63744  11111001
 7A  122  31232  01111010             FA  250  64000  11111010
 7B  123  31488  01111011             FB  251  64256  11111011
 7C  124  31744  01111100             FC  252  64512  11111100
 7D  125  32000  01111101             FD  253  64768  11111101
 7E  126  32256  01111110             FE  254  65024  11111110
 7F  127  32512  01111111             FF  255  65280  11111111

Dodatek F

Tabela różnic asemblerów

    Asemblery dostępne na Atari XL/XE różnią się nieco między sobą stosowanymi słowami kluczowymi. Poniższa tabela zawiera różnice występujące w kilku najpopularniejszych asemblerach: Macroassembler 65 (MAC/65), Atari Assembler/Editor (ASM/EDIT), Atari Macroassembler (AMAC) i Synapse Assembler (SYNASM).
    |   MAC/65   |  ASM/EDIT  |    AMAC    |   SYNASM   |
    +------------+------------+------------+------------+
    |     *=     |     *=     |    ORG     |    .OR     |
    |     *      |     *      |     *O     |     *      |
    |     =      |     =      | = lub EQU  |    .EQ     |
    |   .BYTE    |   .BYTE    |     DB     |    .AT     |
    |   .SBYTE   |   .BYTE    |     DC     |    .HS     |
    |   .DBYTE   |   .BYTE    |    brak    |    .AS     |
    |   .WORD    |   .WORD    |     DW     |    .DA     |
    |    *=*+    |    *=*+    |     DS     |    .BS     |

Dodatek G

Bibliografia

1. Chadwick Ian: Mapping the Atari, COMPUTE! Books, Greensboro, USA, 1985.
2. Eichler Lutz, Grohmann Bernd: Atari 600XL/800XL Intern, Data Becker, Dusseldorf, RFN, 1984.
3. Hofacker Winfried: Hacker book. Atari computer tips + tricks, ELCOMP Publishing, Pomona, USA, 1983.
4. Praca zbiorowa: De Re Atari. A guide to effective programing 400/800 Home Computers, Byte Publishing, USA, 1981.
5. Ruszczyc Jan: Asembler 6502, SOETO, Warszawa, 1987.
6. Zientara Wojciech: PEEK-POKE 2 (opracowanie), B.U.K. "GLAD", Warszawa, 1987.
7. Zientara Wojciech: Mapa pamięci Atari XL/XE. Podstawowe procedury systemu operacyjnego, SOETO, Warszawa, 1988.
8. Zientara Wojciech: Mapa pamięci Atari XL/XE. Dyskowe systemy operacyjne, SOETO, Warszawa, 1988.
9. Zientara Wojciech: Mapa pamięci Atari XL/XE. Procedury interpretera Basica, SOETO, Warszawa, 1988.
Zientara Wojciech: Mapa pamięci Atari XL/XE. Procedury wejścia-wyjścia, SOETO, Warszawa, 1988.