Rejestry POKEY-a

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 01:17, 22 wrz 2005
KMK (Dyskusja | wkład)
(Lista rejestrów)
← Previous diff
Wersja z dnia 01:20, 22 wrz 2005
KMK (Dyskusja | wkład)
(Lista rejestrów)
Next diff →
Linia 53: Linia 53:
<tr><td id="IRQEN">$D20E (W)</td><td>IRQEN</td> <tr><td id="IRQEN">$D20E (W)</td><td>IRQEN</td>
-<td><p>Rejestr zezwoleń na wygenerowanie przerwań [[IRQ]]. Ma cień IRQENS pod adresem $0010. Przypisanie bitów jest w obydwu identyczne:</p>+<td><p>Rejestr zezwoleń na wygenerowanie przerwań [[IRQ]]. Ma cień IRQENS pod adresem $0010. Przypisanie bitów jest w obydwu identyczne (0 - przerwanie zabronione):</p>
* bit 7 - przerwanie klawisza BREAK * bit 7 - przerwanie klawisza BREAK
* bit 6 - przerwanie klawiatury * bit 6 - przerwanie klawiatury
Linia 70: Linia 70:
</td></tr> </td></tr>
-<tr><td id="IRQST">$D20E (R)</td><td>IRQST</td><td> </td></tr>+<tr><td id="IRQST">$D20E (R)</td><td>IRQST</td>
 +<td><p>Rejest statusu przerwań [[IRQ]]. Cień IRQSTAT pod adresem $0011. Przypisanie bitów (0 - przerwanie wystąpiło):</p>
 +* bit 7 - przerwanie klawisza BREAK
 +* bit 6 - przerwanie klawiatury
 +* bit 5 - odczyt z łącza szeregowego
 +* bit 4 - zapis na łącze szeregowe
 +* bit 3 - koniec transmisji szeregowej
 +* bit 2 - licznik nr 4
 +* bit 1 - licznik nr 2
 +* bit 0 - licznik nr 1
 + 
 +</td></tr>
<tr><td id="SKCTL">$D20F (W)</td><td>SKCTL</td><td> </td></tr> <tr><td id="SKCTL">$D20F (W)</td><td>SKCTL</td><td> </td></tr>

Wersja z dnia 01:20, 22 wrz 2005

Układ POKEY, 25 rejestrów.

Główny zegar POKEY-a ma częstotliwość 1773446,25 Hz w systemie PAL oraz 1789772,5 Hz w systemie NTSC.

Lista rejestrów

AdresEtykietaOpis
$D200 (W)AUDF1
$D200 (R)POT0
$D201 (W)AUDC1
$D201 (R)POT1
$D202 (W)AUDF2
$D202 (R)POT2
$D203 (W)AUDC2
$D203 (R)POT3
$D204 (W)AUDF3
$D205 (W)AUDC3
$D206 (W)AUDF4
$D207 (W)AUDC4
$D208 (W)AUDCTL
$D208 (R)POTST
$D209 (W)STIMER
$D209 (R)KBCODE
$D20A (W)SKSTRES
$D20A (R)RANDOMLiczba pseudolosowa z zakresu od 0 do 255.
$D20B (W)POTGO
$D20C-
$D20D (W)SEROUTRejestr wyjściowy dla transmisji szeregowej.
$D20D (R)SERINRejestr wejściowy dla transmisji szeregowej.
$D20E (W)IRQEN

Rejestr zezwoleń na wygenerowanie przerwań IRQ. Ma cień IRQENS pod adresem $0010. Przypisanie bitów jest w obydwu identyczne (0 - przerwanie zabronione):

  • bit 7 - przerwanie klawisza BREAK
  • bit 6 - przerwanie klawiatury
  • bit 5 - odczyt z łącza szeregowego
  • bit 4 - zapis na łącze szeregowe
  • bit 3 - koniec transmisji szeregowej
  • bit 2 - licznik nr 4
  • bit 1 - licznik nr 2
  • bit 0 - licznik nr 1

Przy blokowaniu przerwań IRQ należy raczej korzystać z cienia. Np. zablokowanie klawisza BREAK uzyskuje się przez:

    lda irqens
    and #$7f
    sta irqens
$D20E (R)IRQST

Rejest statusu przerwań IRQ. Cień IRQSTAT pod adresem $0011. Przypisanie bitów (0 - przerwanie wystąpiło):

  • bit 7 - przerwanie klawisza BREAK
  • bit 6 - przerwanie klawiatury
  • bit 5 - odczyt z łącza szeregowego
  • bit 4 - zapis na łącze szeregowe
  • bit 3 - koniec transmisji szeregowej
  • bit 2 - licznik nr 4
  • bit 1 - licznik nr 2
  • bit 0 - licznik nr 1
$D20F (W)SKCTL
$D20F (R)SKSTAT

Ten artykuł to tylko zalążek. Możesz pomóc rozwojowi Atariki poprzez rozszerzenie go o więcej informacji.

Personal tools