Rejestry POKEY-a
From Atariki
(Różnice między wersjami)
Wersja z dnia 01:26, 22 wrz 2005 KMK (Dyskusja | wkład) ← Previous diff |
Wersja z dnia 01:36, 22 wrz 2005 KMK (Dyskusja | wkład) (→Lista rejestrów) Next diff → |
||
Linia 38: | Linia 38: | ||
<tr><td id="STIMER">$D209 (W)</td><td>STIMER</td><td> </td></tr> | <tr><td id="STIMER">$D209 (W)</td><td>STIMER</td><td> </td></tr> | ||
- | <tr><td id="KBCODE">$D209 (R)</td><td>KBCODE</td><td>Kod klawiaturowy ostatnio wciśniętego klawisza. Zawartości tego rejestru nie zmienia naciśnięcie następujących klawiszy: START, SELECT, OPTION, RESET, BREAK, SHIFT oraz CONTROL.</td></tr> | + | <tr><td id="KBCODE">$D209 (R)</td><td>KBCODE</td><td><p>Kod klawiaturowy ostatnio wciśniętego klawisza. Zawartości tego rejestru nie zmienia naciśnięcie następujących klawiszy: START, SELECT, OPTION, RESET, BREAK, SHIFT oraz CONTROL. Klawisze konsoli patrz [[Rejestry GTIA#CONSOL|CONSOL $D01F)]]. Klawisz SHIFT patrz [[Rejestry POKEY-a#SKSTAT|SKSTAT ($D20F)]].</td></tr> |
<tr><td id="SKSTRES">$D20A (W)</td><td>SKSTRES</td><td> </td></tr> | <tr><td id="SKSTRES">$D20A (W)</td><td>SKSTRES</td><td> </td></tr> | ||
Linia 85: | Linia 85: | ||
<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> | ||
- | <tr><td id="SKSTAT">$D20F (R)</td><td>SKSTAT</td><td> </td></tr> | + | <tr><td id="SKSTAT">$D20F (R)</td><td>SKSTAT</td> |
+ | <td><p>Rejestr statusu transmisji szeregowej i klawiatury (Serial and Keyboard Status register). Znaczenie bitów:</p> | ||
+ | * bit 7 - framing error (0 - wystąpił) | ||
+ | * bit 6 - serial overrun (0 - wystąpił) | ||
+ | * bit 5 - przepełnienie bufora wejściowego klawiatury (0 - wystąpiło) | ||
+ | * bit 4 - kopia wejścia szeregowego | ||
+ | * bit 3 - klawisz SHIFT (0 - wciśniety) | ||
+ | * bit 2 - dowolny klawisz (0 - wciśnięty) | ||
+ | * bit 1 - transmisja danych (0 - w toku) | ||
+ | * bit 0 - nieużywany, zawsze 1. | ||
+ | </td></tr> | ||
</table> | </table> |
Wersja z dnia 01:36, 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
Adres | Etykieta | Opis |
$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 | Kod klawiaturowy ostatnio wciśniętego klawisza. Zawartości tego rejestru nie zmienia naciśnięcie następujących klawiszy: START, SELECT, OPTION, RESET, BREAK, SHIFT oraz CONTROL. Klawisze konsoli patrz CONSOL $D01F). Klawisz SHIFT patrz SKSTAT ($D20F).</td></tr> |
$D20A (W) | SKSTRES | |
$D20A (R) | RANDOM | Liczba pseudolosowa z zakresu od 0 do 255. |
$D20B (W) | POTGO | |
$D20C | - | Rejestr nieużywany. |
$D20D (W) | SEROUT | Rejestr wyjściowy dla transmisji szeregowej. |
$D20D (R) | SERIN | Rejestr wejściowy dla transmisji szeregowej. |
$D20E (W) | IRQEN | <p>Rejestr zezwoleń na wygenerowanie przerwań IRQ. Ma cień IRQENS pod adresem $0010. Przypisanie bitów jest w obydwu identyczne (0 - przerwanie zabronione):</p>
<p>Przy blokowaniu przerwań IRQ należy raczej korzystać z cienia. Np. zablokowanie klawisza BREAK uzyskuje się przez:</p> lda irqens and #$7f sta irqens |
$D20E (R) | IRQST | <p>Rejest statusu przerwań IRQ. Cień IRQSTAT pod adresem $0011. Przypisanie bitów (0 - przerwanie wystąpiło):</p>
|
$D20F (W) | SKCTL | |
$D20F (R) | SKSTAT | <p>Rejestr statusu transmisji szeregowej i klawiatury (Serial and Keyboard Status register). Znaczenie bitów:</p>
|