MAPA PAMIĘCI
0 Włącza układ eliminujący drgania klawiatury. 1 Włącza układ odczytu klawiatury. 2 Zwiększa częstotliwość odczytu potencjometrów. Zamiast co jeden VBLANK, pomiar będzie się odbywał co dwie linie obrazu. 3 Włącza dwutonową, zamiast zero-jedynkowej, transmisję szeregową. 4-6 Odpowiednia kombincja służy do wyboru trybu pracy portu szeregowego. 7 Wymuszenie przerwania; wyzerowanie wyjścia portu szeregowego. Standardowo system wpisuje tutaj 19, czyli $13.
Tak się składa, że opis kolejnych dwóch komórek pamięci sprawia mi pewne trudności, wynikające z faktu wykorzystania przez hardware ATARI lokacji 564 i 565 ($0234, $0235) do przechowywania pozycji poziomej i pionowej pióra świetlnego. Niestety, nie zetknąłem się jeszcze bezpośrednio z piórem świetlnym, przeznaczonym dla naszego komputera, stąd opieram się jedynie na książce "Mapping the ATARI" I. Chadwicka.
Zawartość obu tych komórek jest modyfikowana za każdym razem, gdy użytkownik naciska guzik na piórze świetlnym. Pełny opis współpracy komputera z piórem można znaleźć w książce "Hardware Manual" na stronie 11-32.
W tym miejscu zaczyna się czterobajtowy bufor komendy używany przez SIO podczas transmisji szeregowej. Użytkownik nie powinien modyfikować zawartości tych komórek, ponieważ może to spowodować nieprzewidziane efekty.
Posiadaczom pakietu QA proponuję podejrzenie zawartości tej komórki pamięci przy pomocy programu XLF w sytuacji normalnej pracy i po wywołaniu komendy BYE interpretera BASIC-u. Wcale nie musimy zgodzić się na zimny start komputera! Wystarczy wyzerować COLDST oraz zmienić zawartość komórki 202 (to wymagania BASIC-u), aby powrócić do przerwanej pracy.
0 Gracze 0-3, pola gry 0-3, tło. 1 Gracze 0-1, pola gry 0-3, gracze 2-3, tło. 2 Pola gry 0-3, gracze 0-3, tło. 3 Pola gry 0-1, gracze 0-3, pola gry 2-3, tło. 4 Cztery pociski tworzą dodatkowego piątego gracza. 5 Nakładające się fragmenty graczy przyjmują trzeci kolor. 6,7 Tryby graficzne GTIA. Może się zdarzyć, że przypadkowo ustawimy bity GPRIOR tak, że wybierzemy dwa sprzeczne priorytety wyświetlania. W takim wypadku w miejscach, w których pokrywają się gracze pojawi się kolor czarny. Ten sam efekt otrzymamy jeśli nie ustawimy bitu piątego. Zapisanie jedynki do piątego bitu umożliwia stworzenie wielokolorowych graczy. W miejscach gdzie nakładają się obiekty 0 i 1 oraz 2 i 3 (tylko w tych kombinacjach) pojawi się trzeci kolor, utworzony z dwóch kolorów graczy. Więcej informacji o grafice graczy i pocisków w odpowiednim (jednym z przyszłych) odcinku cyklu. Na szczególną uwagę zasługują bity 6 oraz 7 opisywanego rejestru. Zezwalają one na włączenie dodatkowych trybów graficznych GTIA. Tryby te zostały wprowadzone jako rozszerzenie możliwości graficznych małego ATARI wraz z pojawieniem się układu GTIA, który zastąpił przestarzały CTIA. Sam ANTIC, o którym pisałem sporo w poprzednim odcinku mapy pamięci nie wystarczy do utworzenia na monitorze kompletnego obrazu. Nie generuje on bowiem kolorów, które często bywają bardzo potrzebne. ANTIC przesyła informacje o kolorach do wspomnianego już GTIA, który dopiero tworzy kolorowy wizerunek pewnego obszaru pamięci komputera. Odpowiednią kombinacją bitów 6 i 7 komórki GPRIOR można wybrać sposób przedstawiania danych przez GTIA. A oto zestawienie możliwych rodzajów wyświetlania. 00 Normalne wyświetlanie. Ta kombinacja bitów umożliwia uruchomienie starych programów dla ATARI XL/XE ponieważ jest właściwa dla układu CTIA. 01 Taka kombinacja bitów odpowiada trybowi graficznemu 9 BASIC-u. Dane obrazu zbierane są w czterobitowe kawałki interpretowane jako stopnie jasności koloru z rejestru COLBAK. Np. w trybie wysokiej rozdzielczości GTIA wyświetla paski o tej samej wysokości, lecz czterokrotnie szersze od normalnych punktów. 10 Taka kombinacja bitów odpowiada trybowi graficznemu 10 BASIC-u. Czterobitowe kawałki, na jakie podzielona zostaje pamięć obrazu są interpretowane jako numery rejestrów koloru. W teorii więc można by korzystać z 16 kolorów, lecz niestety GTIA dysponuje jedynie dziewięcioma. 11 Taka kombinacja bitów odpowiada trybowi graficznemu 11 BASIC-u. Czterobitowe kawałki, pobrane z pamięci obrazu są teraz interpretowane jako kody kolorów, których jasność jest pobierana z rejestru COLBAK. Przedstawiony poniżej maleńki programik pozwoli nam na obejrzenie opisanych przed chwilą trybów GTIA. 10 GRAPHICS 0:SCRMEM=PEEK(88)+256*PEEK (89) 20 FOR I=0 TO 319:POKE SCRMEM+I,RND(0) *255:NEXT I 30 GOSUB 100 40 POKE 623,128 50 GOSUB 100 60 GRAPHICS 0:END 100 IF PEEK(764)=255 THEN 100 110 POKE 764,255:RETURNW wierszu 40 wystarczy zmienić wartość 128 na 64 lub 192, aby zobaczyć pozostałe dwa tryby. Grafikę 0 w wierszu 10 również można zmienić na dowolną inną. Jarosław Syrylak
|