Rejestry ANTIC-a

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 17:15, 20 gru 2005
KMK (Dyskusja | wkład)

← Previous diff
Wersja z dnia 17:18, 20 gru 2005
KMK (Dyskusja | wkład)

Next diff →
Linia 28: Linia 28:
</td></tr> </td></tr>
-<tr><td id="DLPTR">$D402 (W)</td><td rowspan = 2>DLPTR</td><td rowspan = 2> </td></tr>+<tr><td id="DLPTR">$D402 (W)</td><td rowspan = 2>DLPTR</td><td rowspan = 2>
- +<p>Wskaźnik pierwszego rozkazu [[ANTIC Display List+Display List]]. 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.</p>
 +</td></tr>
<tr><td>$D403 (W)</td></tr> <tr><td>$D403 (W)</td></tr>

Wersja z dnia 17:18, 20 gru 2005

Układ ANTIC, 15 rejestrów.

Lista rejestrów

AdresEtykietaOpis
$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:

  • bit 7: niewykorzystany
  • bit 6: niewykorzystany
  • bit 5: DMA dla Display List (1 = włączone)
  • bit 4: rozdzielcznść graczy i pocisków (0 = dwuliniowa, 1 = jednoliniowa)
  • bit 3: DMA dla graczy (1 = włączone)
  • bit 2: DMA dla pocisków (1 = włączone)
  • bity 1-0: szerokość obrazu (00 - brak obrazu, 01 - 32 kolumny, 10 - 40 kolumn, 11 - 48 kolumn)

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:

  • bit 2: lustrzane odbicie znaków w pionie (1 = włączone)
  • bit 1: interpretacja drugiej połówki generatora znaków (0 = znaki normalne, 1 = inverse video)
  • bit 0: tłumienie znaków w inverse video (1 = niewidoczne)

Pozostałe bity są niewykorzystane. Normalną wartością CHRCTL jest $02.

$D402 (W)DLPTR

Wskaźnik pierwszego rozkazu [[ANTIC Display List+Display List]]. 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
$D408-
$D409 (W)CHBASE
$D40A (W)WSYNC
$D40B (R)VCOUNT
$D40C (R)LPENH
$D40D (R)LPENV
$D40E (W)NMIEN

Rejestr kontrolujący występowanie przerwań NMI (NMI enable register). Znaczenie bitów:

  • bit 7 = 1, DLI włączone
  • bit 6 = 1, VBL włączone
  • bit 5 = 1, NMI RESET włączone (to przerwanie nie jest używane w serii XL/XE)

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:

  • bit 7 = 1, DLI wystąpiło
  • bit 6 = 1, VBL wystąpiło
  • bit 5 = 1, NMI RESET wystąpiło (tylko seria 400/800)

Pozostałe bity sa 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.

Personal tools