Procedury_wejscia_wyjscia.pdf

(537 KB) Pobierz
Wojciech Zientara
Mapa pamięci Atari XL/XE:
Procedury wejścia/wyjścia
WARSZAWA 1988
Procedury wejścia/wyjścia
1
Spis treści
Wojciech Zientara.................................................................................................................................1
Mapa pamięci Atari XL/XE: Procedury wejścia/wyjścia.....................................................................1
Procedury wejścia/wyjścia 1...............................................................................................................1
PRZEDMOWA.....................................................................................................................................5
WPROWADZENIE..............................................................................................................................7
Rozdział 1.............................................................................................................................................9
BLOKI KONTROLI I/O.................................................................................................................9
Rozdział 2...........................................................................................................................................12
CENTRALNA PROCEDURA I/O................................................................................................12
2.1. Główna procedura CIO......................................................................................................12
2.1.1. Zakończenie procedury CIO...........................................................................................15
2.2. Tabele adresowe sterowników...........................................................................................16
2.2.1. Procedury korzystające z HATABS................................................................................21
2.3. Procedura otwarcia IOCB..................................................................................................24
2.4. Procedura zamknięcia IOCB..............................................................................................26
2.5. Procedura odczytu z urządzenia.........................................................................................27
2.6. Procedura zapisu na urządzenie.........................................................................................31
2.7. Odczyt statusu i procedury specjalne.................................................................................33
Rozdział 3...........................................................................................................................................35
OBSŁUGA URZĄDZEŃ ZEWNĘTRZNYCH............................................................................35
3.1. Procedury obsługi klawiatury............................................................................................35
3.1.1. Odczyt z klawiatury........................................................................................................35
3.1.2. Pozostałe procedury klawiatury......................................................................................44
3.2. Procedury obsługi ekranu...................................................................................................45
3.2.1. Procedura otwarcia ekranu..............................................................................................45
3.2.2. Procedura zamknięcia ekranu.........................................................................................55
3.2.3. Zapis na ekranie..............................................................................................................55
3.2.4. Odczyt z ekranu..............................................................................................................69
Rozdział 4...........................................................................................................................................72
TRANSMISJA SZEREGOWA......................................................................................................72
4.1. Blok kontroli urządzeń.......................................................................................................72
4.2. Wstępna procedura SIO.....................................................................................................73
4.3. Główna procedura SIO.......................................................................................................76
4.3.1. Nadawanie na złącze szeregowe.....................................................................................82
4.3.2. Odczyt ze złącza szeregowego........................................................................................84
4.4. Procedury SIO dla magnetofonu........................................................................................86
Rozdział 5...........................................................................................................................................93
STEROWNIK DYSKOWY..........................................................................................................93
Rozdział 6...........................................................................................................................................96
OBSŁUGA NOWYCH URZĄDZEŃ...........................................................................................96
6.1. Instalowanie nowego urządzenia.......................................................................................96
6.1.1. Odczyt elementu.............................................................................................................99
6.1.2. Przetwarzanie elementu................................................................................................103
6.1.3. Dołączenie elementu do listy........................................................................................108
6.2. Komunikacja z nowym urządzeniem...............................................................................112
Rozdział 7.........................................................................................................................................118
TWORZENIE OBRAZU.............................................................................................................118
Procedury wejścia/wyjścia
2
7.1. Program ANTIC-a............................................................................................................120
7.1.1. Rozkazy ANTIC-a.........................................................................................................120
7.1.2. Struktura programu ANTIC-a.......................................................................................123
7.1.3. Kolory...........................................................................................................................123
7.2. Tryby bitowe....................................................................................................................124
Tryb 8......................................................................................................................................125
Tryb 9......................................................................................................................................125
Tryb A.....................................................................................................................................125
Tryb B.....................................................................................................................................126
Tryb C.....................................................................................................................................126
Tryb D.....................................................................................................................................126
Tryb E......................................................................................................................................126
Tryb F......................................................................................................................................127
Tryb $09 (OS).........................................................................................................................127
Tryb $0A (OS).........................................................................................................................127
Tryb $0B (OS).........................................................................................................................127
7.3. Tryby znakowe.................................................................................................................128
Tryb 2......................................................................................................................................130
Tryb 3......................................................................................................................................130
Tryb 4......................................................................................................................................131
Tryb 5......................................................................................................................................131
Tryb 6......................................................................................................................................131
Tryb 7......................................................................................................................................132
7.4. Przesuwanie obrazu..........................................................................................................132
7.4.1. Przesuw pionowy..........................................................................................................134
7.4.2. Przesuw poziomy..........................................................................................................136
Rozdział 8.........................................................................................................................................138
GRAFIKA GRACZY I POCISKÓW..........................................................................................138
8.1. Tworzenie P/MG..............................................................................................................139
8.1.1. Pamięć P/MG................................................................................................................140
8.1.2. Wielkość i kolor obiektów............................................................................................142
8.1.3. Umieszczenie obiektu na ekranie..................................................................................143
8.2. Przemieszczanie obiektów...............................................................................................145
8.3. Zderzenia między obiektami............................................................................................147
Rozdział 9.........................................................................................................................................150
DŹWIĘK......................................................................................................................................150
9.1. Generowanie dźwięku......................................................................................................150
9.2. Liczniki POKEY-a...........................................................................................................153
Rozdział 10.......................................................................................................................................154
OBSŁUGA MANIPULATORÓW..............................................................................................154
10.1. Potencjometry................................................................................................................154
10.2 Joysticki..........................................................................................................................156
10.3. Wyjście z gniazd joysticków..........................................................................................157
Rozdział 11.......................................................................................................................................161
ZARZĄDZANIE PAMIĘCIĄ.....................................................................................................161
11.1. Atari 65XE/800XL.........................................................................................................162
11.2. Atari 130XE....................................................................................................................163
11.3. Rozszerzenia pamięci.....................................................................................................164
DODATKI........................................................................................................................................165
Procedury wejścia/wyjścia
3
Dodatek A....................................................................................................................................165
Adresy procedur OS................................................................................................................165
Dodatek B....................................................................................................................................169
Rejestry OS w pamięci RAM..................................................................................................169
Dodatek C....................................................................................................................................174
Zmienne systemowe................................................................................................................174
Dodatek D....................................................................................................................................179
Słownik terminów informatycznych.......................................................................................179
Dodatek E....................................................................................................................................182
Tabela przeliczeń DEC-BIN-HEX..........................................................................................182
Dodatek F.....................................................................................................................................185
Tabela różnic asemblerów.......................................................................................................185
Dodatek G....................................................................................................................................185
Bibliografia.............................................................................................................................185
Procedury wejścia/wyjścia
4
PRZEDMOWA
Niewielki byłby pożytek z komputera, gdyby nie można było wprowadzać programów i danych
oraz wyprowadzać wyników na ekran lub drukarkę. Każdy komputer na te czynności poświęca
znaczną część swej pracy, a w grach zręcznościowych prawie całość.
Komunikacją komputera z urządzeniami zewnętrznymi steruje zespół procedur wejścia/wyjścia.
Zajmuje on zwykle ponad połowę obszaru pamięci systemu operacyjnego i dlatego często
nazywany jest podsystemem wejścia/wyjścia. Niniejsza książka zawiera kompletny opis całego
podsystemu wejścia/wyjścia komputerów Atari XL/XE. Poza standardowymi procedurami obsługi
urządzeń zewnętrznych spotykanych w innych komputerach uwzględniono tu także procedury
obsługi tzw. "nowych urządzeń", które są specyficznym elementem systemu operacyjnego Atari.
Ponadto opisane zostało szczegółowo działanie specjalizowanych układów wejścia/wyjścia:
ANTIC, GTIA, POKEY i PIA. Dwa pierwsze układy zajmują się tworzeniem obrazu, co
niewątpliwie jest jednym z najważniejszych zadań wykonywanych w każdym komputerze. Układ
POKEY jest odpowiedzialny za tworzenie dźwięku oraz obsługę złącza szeregowego, klawiatury i
manipulatorów analogowych. Poza tym zawiera kilka liczników o dużej szybkości zliczania.
Manipulatory cyfrowe są natomiast kontrolowane przez układ PIA. Znaczenie jego jest jednak o
wiele większe niż tylko użycie w grach, gdyż poprzez gniazda joysticków można prowadzić
transmisję dwukierunkową. Dodatkowym zadaniem PIA jest zarządzanie pamięcią komputera.
Książka ta jest przeznaczona przede wszystkim dla użytkowników znających już programowanie
w języku maszynowym mikroprocesora 6502. Osoby nie znające tego języka także będą mogły
korzystać z zamieszczonych tu opisów procedur, choć w ograniczonym zakresie. Podane adresy
rejestrów wykorzystywanych przez system operacyjny oraz procedur systemowych mogą być użyte
również w programach napisanych w Basicu poprzez instrukcje PEEK, POKE i USR.
Zawarte w książce informacje mogą stanowić także istotną pomoc dla wszystkich osób, które są
zainteresowane wykonywaniem modyfikacji sprzętowych oraz nowych urządzeń peryferyjnych.
Zamieszczone procedury obsługi różnych urządzeń mogą być wykorzystane częściowo dla
nowozaprojektowanych peryferiów. Ponadto poznanie zasad komunikacji komputera z
urządzeniami zewnętrznymi pomoże z pewnością przy opracowywaniu ich konstrukcji.
Osobom nie znającym języka maszynowego polecam książkę Jana Ruszczyca "Asembler 6502"
wydaną przez SOETO. Stanowi ona podstawowy podręcznik zarówno dla początkujących, jak i
zaawansowanych programistów.
Na końcu książki zamieszczone zostały dodatki ułatwiające korzystanie z niej oraz słownik
niektórych użytych terminów i bibliografia pozwalająca na poszerzenie wiedzy o systemie
operacyjnym Atari. Osoby, które nie mają wprawy w posługiwaniu się innymi systemami
Procedury wejścia/wyjścia
5
Zgłoś jeśli naruszono regulamin