Rejestry ANTIC-a

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 17:18, 20 gru 2005
KMK (Dyskusja | wkład)
(Lista rejestrów)
← Previous diff
Wersja z dnia 17:59, 20 gru 2005
KMK (Dyskusja | wkład)
(Lista rejestrów)
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)
-* bity 1-0: szerokość obrazu (00 - brak obrazu, 01 - 32 kolumny, 10 - 40 kolumn, 11 - 48 kolumn)+ 
 +<p>Bity 0 i 1 wybierają szerokość obrazu (bit 0 od prawej):</p>
 +* 00 - brak obrazu
 +* 01 - wąski obraz (32 kolumny, 256 pikseli)
 +* 10 - normalny obraz (40 kolumn, 320 pikseli)
 +* 11 - szeroki obraz (48 kolumn, 384 piksele)
<p>Normalnie ustawianą tu przez system operacyjny wartością jest $22 (34).</p> <p>Normalnie ustawianą tu przez system operacyjny wartością jest $22 (34).</p>
</td></tr> </td></tr>

Wersja z dnia 17:59, 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 0 i 1 wybierają szerokość obrazu (bit 0 od prawej):

  • 00 - brak obrazu
  • 01 - wąski obraz (32 kolumny, 256 pikseli)
  • 10 - normalny obraz (40 kolumn, 320 pikseli)
  • 11 - szeroki obraz (48 kolumn, 384 piksele)

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 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