Rejestry ANTIC-a

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 18:03, 20 gru 2005
KMK (Dyskusja | wkład)
(Lista rejestrów)
← Previous diff
Wersja z dnia 18:04, 20 gru 2005
KMK (Dyskusja | wkład)
(Lista rejestrów)
Next diff →
Linia 16: Linia 16:
* bit 2: DMA dla pocisków (1 = włączone) * bit 2: DMA dla pocisków (1 = włączone)
-<p>Bity 0 i 1 wybierają szerokość obrazu (bit 0 od prawej):</p>+<p>Bity 0 i 1 wybierają szerokość obrazu jak następuje:</p>
<table border = 1 cellpadding = 5> <table border = 1 cellpadding = 5>
<tr><td><b>Bit 1</b></td><td><b>Bit 0</b></td><td><b>Znaczenie</b></td></tr> <tr><td><b>Bit 1</b></td><td><b>Bit 0</b></td><td><b>Znaczenie</b></td></tr>

Wersja z dnia 18:04, 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 jak następuje:

Bit 1Bit 0Znaczenie
00Brak obrazu.
01Wąski obraz (32 kolumny, 256 pikseli).
10Normalny obraz (40 kolumn, 320 pikseli).
11Szeroki 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