Rejestry ANTIC-a
From Atariki
Wersja z dnia 16:56, 21 gru 2005 KMK (Dyskusja | wkład) (→Lista rejestrów) ← Previous diff |
Wersja z dnia 05:35, 3 sty 2006 KMK (Dyskusja | wkład) Next diff → |
||
Linia 15: | Linia 15: | ||
* bit 3: DMA dla graczy (1 = włączone) | * bit 3: DMA dla graczy (1 = włączone) | ||
* bit 2: DMA dla pocisków (1 = włączone) | * bit 2: DMA dla pocisków (1 = włączone) | ||
- | + | <p>Przy rozdzielczości dwuliniowej graczy i pocisków dane dla obiektów pobierane są podczas tworzenia co drugiej linii obrazu. Wynika z tego, że jeden piksel PM/G ma w tej rozdzielczości wysokość dwóch linii skaningowych obrazu. Rozdzielczość jednoliniowa jest dwa razy większa - jeden piksel PM/G ma wysokość jednej linii skaningowej.</p> | |
<p>Bity 0 i 1 wybierają szerokość obrazu jak następuje:</p> | <p>Bity 0 i 1 wybierają szerokość obrazu jak następuje:</p> | ||
<table border = 1 cellpadding = 5> | <table border = 1 cellpadding = 5> | ||
Linia 47: | Linia 47: | ||
<tr><td>$D406</td><td>-</td><td> </td></tr> | <tr><td>$D406</td><td>-</td><td> </td></tr> | ||
- | <tr><td id="PMBASE">$D407 (W)</td><td>PMBASE</td><td> </td></tr> | + | <tr><td id="PMBASE">$D407 (W)</td><td>PMBASE</td><td> |
+ | <p>Player/Missile Base, wskaźnik obszaru pamięci przeznaczonego na [[Player/Missile Graphics|grafikę graczy i pocisków]]. Przy rozdzielczości dwuliniowej graczy i pocisków (zob. [[Rejestry ANTIC-a#DMACTL|DMACTL $D400]] zawiera pięć, a przy jednoliniowej sześć najstarszych bitów adresu. Wynika z tego, że obszar danych dla grafiki graczy i pocisków musi zaczynać się odpowiednio na granicy dwóch lub jednego kilobajta.</p> | ||
+ | </td></tr> | ||
<tr><td>$D408</td><td>-</td><td> </td></tr> | <tr><td>$D408</td><td>-</td><td> </td></tr> |
Wersja z dnia 05:35, 3 sty 2006
Układ ANTIC, 15 rejestrów.
Lista rejestrów
Adres | Etykieta | Opis | |||||||||||||||
$D400 (W) | DMACTL |
Rejestr kontroli dostępu do pamięci (DMA Control register). Ma cień DMACTLS pod adresem $022F, skąd procedura SYSVBL przepisuje stan rejestru za każdym wystąpieniem przerwania VBL. Znaczenie bitów:
Przy rozdzielczości dwuliniowej graczy i pocisków dane dla obiektów pobierane są podczas tworzenia co drugiej linii obrazu. Wynika z tego, że jeden piksel PM/G ma w tej rozdzielczości wysokość dwóch linii skaningowych obrazu. Rozdzielczość jednoliniowa jest dwa razy większa - jeden piksel PM/G ma wysokość jednej linii skaningowej. Bity 0 i 1 wybierają szerokość obrazu jak następuje:
Normalnie ustawianą tu przez system operacyjny wartością jest $22 (34). | |||||||||||||||
$D401 (W) | CHRCTL |
Rejestr kontroli wyświetlania znaków (Character control register). Ma cień CHACT pod adresem $02F3, skąd procedura SYSVBL przepisuje stan rejestru za każdym wystąpieniem przerwania VBL. Znaczenie bitów:
Pozostałe bity są niewykorzystane. Normalną wartością CHRCTL jest $02. | |||||||||||||||
$D402 (W) | DLPTR |
Wskaźnik pierwszego rozkazu Display List (Display List Pointer). Ma cień DLPTRS pod adresem $0230-$0231, skąd procedura SYSVBL przepisuje stan rejestru za każdym wystąpieniem przerwania VBL. DIsplay List jest zazwyczaj ulokowana bezpośrednio przed pamięcią obrazu. | |||||||||||||||
$D403 (W) | |||||||||||||||||
$D404 (W) | HSCROL | ||||||||||||||||
$D405 (W) | VSCROL | ||||||||||||||||
$D406 | - | ||||||||||||||||
$D407 (W) | PMBASE |
Player/Missile Base, wskaźnik obszaru pamięci przeznaczonego na grafikę graczy i pocisków. Przy rozdzielczości dwuliniowej graczy i pocisków (zob. DMACTL $D400 zawiera pięć, a przy jednoliniowej sześć najstarszych bitów adresu. Wynika z tego, że obszar danych dla grafiki graczy i pocisków musi zaczynać się odpowiednio na granicy dwóch lub jednego kilobajta. | |||||||||||||||
$D408 | - | ||||||||||||||||
$D409 (W) | CHBASE | ||||||||||||||||
$D40A (W) | WSYNC |
Wait for horizontal synchronization. Zapis dowolnej wartości do tego rejestru powoduje uaktywnienie przez ANTIC sygnału RDY, czym zatrzymuje on 6502 do chwili wystąpienia impulsu synchronizacji poziomej. | |||||||||||||||
$D40B (R) | VCOUNT |
Licznik generowanych przez ANTIC linii skaningowych (Vertical line counter). Licznik ten jest dziewięciobitowy, z czego w rejestrze VCOUNT widać osiem najstarszych bitów. Zlicza on więc co drugą wyświetlaną linię, w systemie PAL znajdują się tu wartości od 0 do 155, natomiast w systemie NTSC - od 0 do 130. | |||||||||||||||
$D40C (R) | LPENH |
Współrzędna X pozycji pióra świetlnego (Light Pen Horizontal position). | |||||||||||||||
$D40D (R) | LPENV |
Współrzędna Y pozycji pióra świetlnego (Light Pen Vertical position). | |||||||||||||||
$D40E (W) | NMIEN |
Rejestr kontrolujący występowanie przerwań NMI (NMI enable register). Znaczenie bitów:
System operacyjny normalnie ustawia tu wartość $40 (DLI wyłączone, VBL włączone). Pozostałe bity są niewykorzystane. | |||||||||||||||
$D40F (R) | NMIST |
Rejestr statusu przerwań NMI (NMI status register). Znaczenie bitów:
Pozostałe bity są niewykorzystane. Skasowania bitów NMIST dokonuje się przez zapis rejestru NMIRES $D40F. Ponadto bit DLI jest kasowany w momencie wystąpienia przerwania VBL. | |||||||||||||||
$D40F (W) | NMIRES |
Zapis tego rejestru (dowolną wartością) powoduje skasowanie bitów statusu NMI w rejestrze NMIST $D40F. |
Ten artykuł to tylko zalążek. Możesz pomóc rozwojowi Atariki poprzez rozszerzenie go o więcej informacji.