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.
|