Rejestry ANTIC-a

From Atariki

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

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

Next diff →
Linia 6: Linia 6:
<tr><td><b>Adres</b></td><td><b>Etykieta</b></td><td><b>Opis</b></td></tr> <tr><td><b>Adres</b></td><td><b>Etykieta</b></td><td><b>Opis</b></td></tr>
-<tr><td id="DMACTL">$D400 (W)</td><td>DMACTL</td><td> </td></tr>+<tr><td id="DMACTL">$D400 (W)</td><td>DMACTL</td><td>
 +<p>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 [[przerwanie|przerwania]] [[VBL]].</p>
 +<p>Znaczenie bitów:</p>
 +* bit 7: niewykorzystany
 +* bit 6: niewykorzystany
 +* bit 5: DMA dla [[ANTIC Display List|Display List]] (1 = włączone)
 +* bit 4: rozdzielcznść [[Grafika graczy i pocisków|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)
 +<p>Normalnie ustawianą tu przez system operacyjny wartością jest $34.</p>
 +</td></tr>
<tr><td id="CHRCTL">$D401 (W)</td><td>CHRCTL</td><td> </td></tr> <tr><td id="CHRCTL">$D401 (W)</td><td>CHRCTL</td><td> </td></tr>

Wersja z dnia 17:03, 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 $34.

$D401 (W)CHRCTL
$D402 (W)DLPTR
$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