Rejestry VBXE
From Atariki
Wersja z dnia 20:09, 15 lip 2024 KMK (Dyskusja | wkład) (→Rdzeń GTIA - zapomniałem o ważnym szczególe) ← Previous diff |
Aktualna wersja KMK (Dyskusja | wkład) (→Rdzeń FX - COLMASK/COLDETECT) |
||
Linia 33: | Linia 33: | ||
</table> | </table> | ||
+ | |||
+ | == Rdzeń FX == | ||
+ | |||
+ | <table border = 1 cellpadding = 5> | ||
+ | <tr><td><b>Adres</b></td><td><b>Etykieta</b></td><td><b>Opis</b></td></tr> | ||
+ | |||
+ | <tr><td id="CORE_VERSION">$Dx40 (R)</td><td>CORE_VERSION</td><td> | ||
+ | <p>Zawiera kod typu rdzenia. Dla rdzeni FX jest to $10.</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="VIDEO_CONTROL">$Dx40 (W)</td><td>VIDEO_CONTROL</td><td> | ||
+ | <p>Używane są tylko bity 0-3, pozostałe powinny być wyzerowane. Funkcje bitów:</p> | ||
+ | <table border = 1 cellpadding = 5> | ||
+ | <tr><td><b>Bit</b></td><td><b>Nazwa</b></td><td><b>Opis</b></td></tr> | ||
+ | <tr><td>3</td><td>trans15</td><td><p>Ten bit ma znaczenie tylko wtedy, gdy bit ''no_trans''=0.</p> | ||
+ | <p>0 = jak opisano pod ''no_trans''</p> | ||
+ | <p>1 = dodatkowo każdy kolor o wartości $xF jest przezroczysty.</p> | ||
+ | </td></tr> | ||
+ | <tr><td>2</td><td>no_trans</td><td> | ||
+ | <p>0 = w trybach VBXE piksele o wartości 0 traktuj jako przezroczyste</p> | ||
+ | <p>1 = w trybach VBXE piksele o wartości 0 traktuj jako nieprzezroczyste.</p> | ||
+ | <p>Skasowanie tego bitu powoduje, że w miejscu pikseli o wartości 0 będzie wyświetlany obraz ANTIC-a, normalnie przykryty overlayem VBXE. W trybach tekstowych kolor tła znaku jest przezroczysty, gdy bit 7 atrybutu znaku ma wartość 0.</p> | ||
+ | </td></tr> | ||
+ | <tr><td>1</td><td>xcolor</td><td> | ||
+ | <p>0 = ignoruj bit 0 rejestrów kolorów GTIA (= standard)</p> | ||
+ | <p>1 = uwzględniaj bit 0 rejestrów kolorów GTIA.</p> | ||
+ | <p>Ustawienie tego bitu powoduje ponadto, że w [[Tryby_wysokiej_rozdzielczości|trybach wysokiej rozdzielczości ANTIC-a]] ([[Graphics 0]], [[Graphics 8]], [[ANTIC 3]]) kolor zapalonego piksela staje się zupełnie niezależny od koloru tła i jest w całości definiowany przez rejestr GTIA [[GTIA#COLPF1|COLPF1]].</p> | ||
+ | </td></tr> | ||
+ | <tr><td>0</td><td>xdl_enabled</td><td> | ||
+ | <p>0 = wyłącz przetwarzanie XDL</p> | ||
+ | <p>1 = włącz przetwarzanie XDL</p> | ||
+ | <p>Zmiana stanu bitu jest brana pod uwagę po najbliższym impulsie synchronizacji pionowej (VBL).</p></td></tr> | ||
+ | </table> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="MINOR_REVISION">$Dx41 (R)</td><td>MINOR_REVISION</td><td> | ||
+ | <p>Zawiera nr wersji rdzenia. Najstarszy bit, jeśli jest ustawiony, sygnalizuje obecność emulacji rozszerzenia pamięci [[Rambo XL|RAMBO 256k]]. Np. wartość $26 tutaj sygnalizuje rdzeń FX v.1.26a/g, a wartość $A6 - rdzeń FX v.1.26r.</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="XDL_ADR0">$Dx41 (W)</td><td>XDL_ADR0</td><td> | ||
+ | <p>Bity 0-7 adresu [[XDL]] w [[VRAM]].</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="XDL_ADR1">$Dx42 (W)</td><td>XDL_ADR1</td><td> | ||
+ | <p>Bity 8-15 adresu [[XDL]] w [[VRAM]].</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="XDL_ADR2">$Dx43 (W)</td><td>XDL_ADR2</td><td> | ||
+ | <p>Bity 16-23 adresu [[XDL]] w [[VRAM]]. Z tej wartości bity 19-23 są ignorowane (VBXE ma tylko 512k [[VRAM]]-u pokrywającego zakres adresowy od $000000 do $07FFFF), jednak powinno się je ustawiać na 0 dla zgodności w przód.</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="CSEL">$Dx44 (W)</td><td>CSEL</td><td> | ||
+ | <p>Nr koloru (z palety 256 kolorów Atari), od którego zacznie się modyfikacja palety kolorów wybranej rejestrem PSEL przy użyciu rejestrów CR, CG i CB.</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="PSEL">$Dx45 (W)</td><td>PSEL</td><td> | ||
+ | <p>Wybór palety z zakresu 0-3. Palety 0 nie należy przedefiniowywać, o ile nie zachodzi ku temu naprawdę uzasadniona konieczność, bo a) jest ona używana przez system (toteż powinna pozostać zgodna z kolorami zdefiniowanymi przez Atari), b) palet nie da się przywrócić bez wyłączenia zasilania komputera (rejestry palet są tylko do zapisu).</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="CR">$Dx46 (W)</td><td>CR</td><td> | ||
+ | <p>Składowa czerwona (R) koloru wybranego w rejestrze CSEL w palecie wybranej rejestrem PSEL. Wartość składowej jest 7-bitowa, pod uwagę brane są tylko bity 7-1, a bit 0 jest ignorowany.Zmiana składowej następuje natychmiast po zapisie wartości do tego rejestru.</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="CG">$Dx47 (W)</td><td>CG</td><td> | ||
+ | <p>Składowa zielona (G) koloru wybranego w rejestrze CSEL w palecie wybranej rejestrem PSEL. Wartość składowej jest 7-bitowa, pod uwagę brane są tylko bity 7-1, a bit 0 jest ignorowany. Zmiana składowej następuje natychmiast po zapisie wartości do tego rejestru.</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="CB">$Dx48 (W)</td><td>CB</td><td> | ||
+ | <p>Składowa niebieska (B) koloru wybranego w rejestrze CSEL w palecie wybranej rejestrem PSEL. Wartość składowej jest 7-bitowa, pod uwagę brane są tylko bity 7-1, a bit 0 jest ignorowany. Zmiana składowej następuje natychmiast po zapisie wartości do tego rejestru. Ponadto po zapisie do tego rejestru następuje automatyczne zwiększenie wartości rejestru CSEL. Jeśli bieżącą wartością CSEL jest $FF, jego wartość zmieni się na $00. Rejestr PSEL nie ulega zmianie.</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="COLMASK">$Dx49 (W)</td><td>COLMASK</td><td> | ||
+ | <p>Rejestr służący do konfiguracji detekcji kolizji pomiędzy obiektami trybów VBXE (OVERLAY - tak graficznym, jak tekstowym) a dowolnym z kolorów [[GTIA]] (COLPM0/1/2/3, COLPF0/1/2/3) lub polem [[Mapa atrybutów VBXE|mapy atrybutów]] z ustawionym bitem CATT.</p> | ||
+ | <p>Jeśli bit COLMASK z kolumny lewej jest ustawiony na 1, VBXE będzie sygnalizować (w rejestrze COLDETECT) kolizje obiektów OVERLAY z obiektami GTIA, gdy '''nieprzezroczysty''' kolor obiektu OVERLAY zawiera się w przedziale wskazanym w kolumnie prawej (nr palety jest tu nieistotny):</p> | ||
+ | <table border = 1 cellpadding = 5> | ||
+ | <tr><td><b>Bit</b></td><td><b>Przedział</b></td></tr> | ||
+ | <tr><td>0</td><td>0-31</td></tr> | ||
+ | <tr><td>1</td><td>32-63</td></tr> | ||
+ | <tr><td>2</td><td>64-95</td></tr> | ||
+ | <tr><td>3</td><td>96-127</td></tr> | ||
+ | <tr><td>4</td><td>128-159</td></tr> | ||
+ | <tr><td>5</td><td>160-191</td></tr> | ||
+ | <tr><td>6</td><td>192-223</td></tr> | ||
+ | <tr><td>7</td><td>224-255</td></tr> | ||
+ | </table> | ||
+ | <p>Kolizje wykrywane są automatycznie podczas wyświetlania obrazu przez VBXE. Uwaga: tego mechanizmu nie należy mylić z wykrywaniem kolizji pomiędzy obiektami OVERLAY oferowanym przez [[Blitter VBXE]].</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="COLDETECT">$Dx4A (R)</td><td>COLDETECT</td><td> | ||
+ | <p>Kod kolizji ustawionej w rejestrze COLMASK. Jeśli bit z kolumny lewej jest ustawiony na 1, wykryto kolizję obiektu OVERLAY z kolorem z kolumny prawej:</p> | ||
+ | <table border = 1 cellpadding = 5> | ||
+ | <tr><td><b>Bit</b></td><td><b>Kolizja OVERLAY z</b></td></tr> | ||
+ | <tr><td>0</td><td>PM0 (gracz-pocisk nr 0)</td></tr> | ||
+ | <tr><td>1</td><td>PM1 (gracz-pocisk nr 1)</td></tr> | ||
+ | <tr><td>2</td><td>PM2 (gracz-pocisk nr 2)</td></tr> | ||
+ | <tr><td>3</td><td>PM3 (gracz-pocisk nr 3)</td></tr> | ||
+ | <tr><td>4</td><td>PF0 (pole gry nr 0)</td></tr> | ||
+ | <tr><td>5</td><td>PF1 (pole gry nr 1)</td></tr> | ||
+ | <tr><td>6</td><td>PF2 lub PF3 (pole gry nr 2 lub 3)</td></tr> | ||
+ | <tr><td>7</td><td>pole [[Mapa atrybutów VBXE|mapy atrybutów]] z ustawionym bitem CATT</td></tr> | ||
+ | </table> | ||
+ | |||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="COLCLR">$Dx4A (W)</td><td>COLCLR</td><td> | ||
+ | <p>Wpisanie dowolnej wartości powoduje wyzerowanie rejestru COLDETECT.</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="BLT_COLLISION_CODE">$Dx50 (R)</td><td>BLT_COLLISION_CODE</td><td> | ||
+ | <p>Kod kolizji pomiędzy obiektami trybu VBXE (OVERLAY) wykrytej podczas pracy [[Blitter VBXE|blittera]]. Wykrycie kolizji sygnalizuje wartość BLT_COLLISION_CODE różna od zera. Kod kolizji odpowiada niezerowej wartości koloru piksela nadpisanego przez blitter. BLT_COLLISION_CODE jest zerowany automatycznie w momencie uruchomienia blittera.</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="BL_ADDR0">$Dx50 (W)</td><td>BL_ADDR0</td><td> | ||
+ | <p>Bity 0-7 adresu [[BlitterList]] w pamięci [[VRAM]].</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="BL_ADDR1">$Dx51 (W)</td><td>BL_ADDR1</td><td> | ||
+ | <p>Bity 8-15 adresu [[BlitterList]] w pamięci [[VRAM]].</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="BL_ADDR2">$Dx52 (W)</td><td>BL_ADDR2</td><td> | ||
+ | <p>Bity 16-23 adresu [[BlitterList]] w pamięci [[VRAM]]. Z tej wartości bity 19-23 są ignorowane (VBXE ma tylko 512k [[VRAM]]-u pokrywającego zakres adresowy od $000000 do $07FFFF), jednak powinno się je ustawiać na 0 dla zgodności w przód.</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="BLITTER_BUSY">$Dx53 (R)</td><td>BLITTER_BUSY</td><td> | ||
+ | <p>Wartość tego rejestru wynosi $00, gdy [[Blitter VBXE|blitter]] nie pracuje (stan IDLE), lub różną od $00, gdy przetwarza [[BlitterList]] lub wykonuje zdefiniowaną tam operację (stan BUSY).</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="BLITTER_START">$Dx53 (W)</td><td>BLITTER_START</td><td> | ||
+ | <p>Bit 0 = 0 - [[Blitter VBXE|blitter]] stop (stan domyślny)</p> | ||
+ | <p>Bit 0 = 1 - [[Blitter VBXE|blitter]] start</p> | ||
+ | <p>Pozostałe bity powinny być wyzerowane.</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="IRQ_STATUS">$Dx54 (R)</td><td>IRQ_STATUS</td><td> | ||
+ | <p>Bit 0 = 1 - zostało zgłoszone przerwanie IRQ ustawione w IRQ_CONTROL.</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="IRQ_CONTROL">$Dx54 (W)</td><td>IRQ_CONTROL</td><td> | ||
+ | <p>Rejestr kontroli przerwania IRQ, które może zostać zgłoszone w momencie zakończenia pracy przez [[Blitter VBXE|blitter]] (przy przejściu blittera ze stanu BUSY do stanu IDLE). Wykorzystany jest tylko bit 0: ustawienie na 0 powoduje zabronienie przerwania (jest to stan domyślny), a na 1 - zezwolenie na przerwanie. Dodatkowo zapis dowolnej wartości powoduje skasowanie żądania przerwania, które już wystąpiło.</p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="P0">$Dx55 (W)</td><td>P0</td><td> | ||
+ | <p></p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="P1">$Dx56 (W)</td><td>P1</td><td> | ||
+ | <p></p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="P2">$Dx57 (W)</td><td>P2</td><td> | ||
+ | <p></p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="P3">$Dx58 (W)</td><td>P3</td><td> | ||
+ | <p></p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="MEMAC_B_CONTROL">$Dx5D (W)</td><td>MEMAC_B_CONTROL</td><td> | ||
+ | <p></p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="MEMAC_CONTROL">$Dx5E (RW)</td><td>MEMAC_CONTROL</td><td> | ||
+ | <p></p> | ||
+ | </td></tr> | ||
+ | |||
+ | <tr><td id="MEMAC_BANK_SEL">$Dx5F (RW)</td><td>MEMAC_BANK_SEL</td><td> | ||
+ | <p></p> | ||
+ | </td></tr> | ||
+ | |||
+ | </table> | ||
+ | |||
+ | {{stub}} | ||
[[Kategoria:Programowanie Atari 8-bit]] | [[Kategoria:Programowanie Atari 8-bit]] | ||
[[Kategoria:VBXE]] | [[Kategoria:VBXE]] |
Aktualna wersja
Rejestry sprzętowe VBXE znajdują się na stronie $D6 lub $D7 w zależności od konfiguracji karty. Sposób stwierdzenia ich lokalizacji w przestrzeni adresowej opisany jest w haśle Wykrycie VBXE.
Rejestry, które są tylko do zapisu (W), przy odczycie zwracają wartość $FF (255).
Rdzeń GTIA
Adres | Etykieta | Opis |
$Dx40 (R) | CORE_VERSION |
Zawiera kod typu rdzenia. Dla rdzeni GTIA jest to $11. |
$Dx41 (R) | MINOR_REVISION |
Zawiera nr wersji rdzenia. Najstarszy bit, jeśli jest ustawiony, sygnalizuje obecność emulacji rozszerzenia pamięci RAMBO 256k. Np. wartość $06 tutaj sygnalizuje rdzeń GTIA v.1.06a/g, a wartość $86 - rdzeń GTIA v.1.06r. |
$Dx44 (W) | CSEL |
Nr koloru (z palety 256 kolorów Atari), od którego zacznie się modyfikacja palety kolorów przy użyciu rejestrów CR, CG i CB. |
$Dx46 (W) | CR |
Składowa czerwona (R) koloru wybranego w rejestrze CSEL. Wartość składowej jest 7-bitowa, pod uwagę brane są tylko bity 7-1, a bit 0 jest ignorowany.Zmiana składowej następuje natychmiast po zapisie wartości do tego rejestru. |
$Dx47 (W) | CG |
Składowa zielona (G) koloru wybranego w rejestrze CSEL. Wartość składowej jest 7-bitowa, pod uwagę brane są tylko bity 7-1, a bit 0 jest ignorowany. Zmiana składowej następuje natychmiast po zapisie wartości do tego rejestru. |
$Dx48 (W) | CB |
Składowa niebieska (B) koloru wybranego w rejestrze CSEL. Wartość składowej jest 7-bitowa, pod uwagę brane są tylko bity 7-1, a bit 0 jest ignorowany. Zmiana składowej następuje natychmiast po zapisie wartości do tego rejestru. Ponadto po zapisie do tego rejestru następuje automatyczne zwiększenie wartości rejestru CSEL. Jeśli bieżącą wartością CSEL jest $FF, jego wartość zmieni się na $00. |
Rdzeń FX
Adres | Etykieta | Opis | ||||||||||||||||||
$Dx40 (R) | CORE_VERSION |
Zawiera kod typu rdzenia. Dla rdzeni FX jest to $10. | ||||||||||||||||||
$Dx40 (W) | VIDEO_CONTROL |
Używane są tylko bity 0-3, pozostałe powinny być wyzerowane. Funkcje bitów:
| ||||||||||||||||||
$Dx41 (R) | MINOR_REVISION |
Zawiera nr wersji rdzenia. Najstarszy bit, jeśli jest ustawiony, sygnalizuje obecność emulacji rozszerzenia pamięci RAMBO 256k. Np. wartość $26 tutaj sygnalizuje rdzeń FX v.1.26a/g, a wartość $A6 - rdzeń FX v.1.26r. | ||||||||||||||||||
$Dx41 (W) | XDL_ADR0 | |||||||||||||||||||
$Dx42 (W) | XDL_ADR1 | |||||||||||||||||||
$Dx43 (W) | XDL_ADR2 |
Bity 16-23 adresu XDL w VRAM. Z tej wartości bity 19-23 są ignorowane (VBXE ma tylko 512k VRAM-u pokrywającego zakres adresowy od $000000 do $07FFFF), jednak powinno się je ustawiać na 0 dla zgodności w przód. | ||||||||||||||||||
$Dx44 (W) | CSEL |
Nr koloru (z palety 256 kolorów Atari), od którego zacznie się modyfikacja palety kolorów wybranej rejestrem PSEL przy użyciu rejestrów CR, CG i CB. | ||||||||||||||||||
$Dx45 (W) | PSEL |
Wybór palety z zakresu 0-3. Palety 0 nie należy przedefiniowywać, o ile nie zachodzi ku temu naprawdę uzasadniona konieczność, bo a) jest ona używana przez system (toteż powinna pozostać zgodna z kolorami zdefiniowanymi przez Atari), b) palet nie da się przywrócić bez wyłączenia zasilania komputera (rejestry palet są tylko do zapisu). | ||||||||||||||||||
$Dx46 (W) | CR |
Składowa czerwona (R) koloru wybranego w rejestrze CSEL w palecie wybranej rejestrem PSEL. Wartość składowej jest 7-bitowa, pod uwagę brane są tylko bity 7-1, a bit 0 jest ignorowany.Zmiana składowej następuje natychmiast po zapisie wartości do tego rejestru. | ||||||||||||||||||
$Dx47 (W) | CG |
Składowa zielona (G) koloru wybranego w rejestrze CSEL w palecie wybranej rejestrem PSEL. Wartość składowej jest 7-bitowa, pod uwagę brane są tylko bity 7-1, a bit 0 jest ignorowany. Zmiana składowej następuje natychmiast po zapisie wartości do tego rejestru. | ||||||||||||||||||
$Dx48 (W) | CB |
Składowa niebieska (B) koloru wybranego w rejestrze CSEL w palecie wybranej rejestrem PSEL. Wartość składowej jest 7-bitowa, pod uwagę brane są tylko bity 7-1, a bit 0 jest ignorowany. Zmiana składowej następuje natychmiast po zapisie wartości do tego rejestru. Ponadto po zapisie do tego rejestru następuje automatyczne zwiększenie wartości rejestru CSEL. Jeśli bieżącą wartością CSEL jest $FF, jego wartość zmieni się na $00. Rejestr PSEL nie ulega zmianie. | ||||||||||||||||||
$Dx49 (W) | COLMASK |
Rejestr służący do konfiguracji detekcji kolizji pomiędzy obiektami trybów VBXE (OVERLAY - tak graficznym, jak tekstowym) a dowolnym z kolorów GTIA (COLPM0/1/2/3, COLPF0/1/2/3) lub polem mapy atrybutów z ustawionym bitem CATT. Jeśli bit COLMASK z kolumny lewej jest ustawiony na 1, VBXE będzie sygnalizować (w rejestrze COLDETECT) kolizje obiektów OVERLAY z obiektami GTIA, gdy nieprzezroczysty kolor obiektu OVERLAY zawiera się w przedziale wskazanym w kolumnie prawej (nr palety jest tu nieistotny):
Kolizje wykrywane są automatycznie podczas wyświetlania obrazu przez VBXE. Uwaga: tego mechanizmu nie należy mylić z wykrywaniem kolizji pomiędzy obiektami OVERLAY oferowanym przez Blitter VBXE. | ||||||||||||||||||
$Dx4A (R) | COLDETECT |
Kod kolizji ustawionej w rejestrze COLMASK. Jeśli bit z kolumny lewej jest ustawiony na 1, wykryto kolizję obiektu OVERLAY z kolorem z kolumny prawej:
| ||||||||||||||||||
$Dx4A (W) | COLCLR |
Wpisanie dowolnej wartości powoduje wyzerowanie rejestru COLDETECT. | ||||||||||||||||||
$Dx50 (R) | BLT_COLLISION_CODE |
Kod kolizji pomiędzy obiektami trybu VBXE (OVERLAY) wykrytej podczas pracy blittera. Wykrycie kolizji sygnalizuje wartość BLT_COLLISION_CODE różna od zera. Kod kolizji odpowiada niezerowej wartości koloru piksela nadpisanego przez blitter. BLT_COLLISION_CODE jest zerowany automatycznie w momencie uruchomienia blittera. | ||||||||||||||||||
$Dx50 (W) | BL_ADDR0 |
Bity 0-7 adresu BlitterList w pamięci VRAM. | ||||||||||||||||||
$Dx51 (W) | BL_ADDR1 |
Bity 8-15 adresu BlitterList w pamięci VRAM. | ||||||||||||||||||
$Dx52 (W) | BL_ADDR2 |
Bity 16-23 adresu BlitterList w pamięci VRAM. Z tej wartości bity 19-23 są ignorowane (VBXE ma tylko 512k VRAM-u pokrywającego zakres adresowy od $000000 do $07FFFF), jednak powinno się je ustawiać na 0 dla zgodności w przód. | ||||||||||||||||||
$Dx53 (R) | BLITTER_BUSY |
Wartość tego rejestru wynosi $00, gdy blitter nie pracuje (stan IDLE), lub różną od $00, gdy przetwarza BlitterList lub wykonuje zdefiniowaną tam operację (stan BUSY). | ||||||||||||||||||
$Dx53 (W) | BLITTER_START |
Bit 0 = 0 - blitter stop (stan domyślny) Bit 0 = 1 - blitter start Pozostałe bity powinny być wyzerowane. | ||||||||||||||||||
$Dx54 (R) | IRQ_STATUS |
Bit 0 = 1 - zostało zgłoszone przerwanie IRQ ustawione w IRQ_CONTROL. | ||||||||||||||||||
$Dx54 (W) | IRQ_CONTROL |
Rejestr kontroli przerwania IRQ, które może zostać zgłoszone w momencie zakończenia pracy przez blitter (przy przejściu blittera ze stanu BUSY do stanu IDLE). Wykorzystany jest tylko bit 0: ustawienie na 0 powoduje zabronienie przerwania (jest to stan domyślny), a na 1 - zezwolenie na przerwanie. Dodatkowo zapis dowolnej wartości powoduje skasowanie żądania przerwania, które już wystąpiło. | ||||||||||||||||||
$Dx55 (W) | P0 | |||||||||||||||||||
$Dx56 (W) | P1 | |||||||||||||||||||
$Dx57 (W) | P2 | |||||||||||||||||||
$Dx58 (W) | P3 | |||||||||||||||||||
$Dx5D (W) | MEMAC_B_CONTROL | |||||||||||||||||||
$Dx5E (RW) | MEMAC_CONTROL | |||||||||||||||||||
$Dx5F (RW) | MEMAC_BANK_SEL |
Ten artykuł to tylko zalążek. Możesz pomóc rozwojowi Atariki poprzez rozszerzenie go o więcej informacji.