Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
POKEY - Wikipedia, wolna encyklopedia

POKEY

Z Wikipedii

Atari POKEY (C012294) pin-out
Atari POKEY (C012294) pin-out

Pokey stworzony w latach 80. przez firmę Atari Inc. to układ wejścia, wyjścia montowany w całej rodzinie 8-bitowych atari i różnych konsolach. Układ pokey oznaczony został CO12294, ma 40 końcówek i jest odpowiedzialny za generowanie dźwięku, obsługę klawiatury, port szeregowy, obsługę potencjometrów, generację liczb pesudolosowych. Nazwa POKEY pochodzi od słów POtentiometer and KEYboard chip – potencjometr i klawiatura.

Spis treści

[edytuj] Generowanie dźwięku za pomocą pokey-a

Pokey posiada cztery kanały audio, z których każdy posiada własną regulację częstotliwości, szumu i siły głosu.

Każdy kanał ma 8-bitowy dzielnik częstotliwości i 8-bitowy rejestr do wyboru szumu i głośności.
AUDIOF1 do AUDIOF4 – rejestry częstotliwości (AUDio Frequency)
AUDC1 do AUDC4 – rejestr głośności i szumów (AUDio Control)
AUDCTL – wspólny rejestr do sterowania generatorami (AUDio ConTroL)

[edytuj] Opis rejestrów AUDIOC1-4

Bit 0-3 – Sterowanie siłą dźwięku od 0 do F.
4 – Kontrola dzielnika częstotliwości "1" włączony, "0" wyłączony. Kiedy dzielnik częstotliwości jest wyłączony, generowane są stałe dźwięki o sile głosu zapisanej w bitach 0-3.
5-7 – Rejestry przesuwające odpowiedzialne za szumy – distortion:

    000 = rejestr 5-bitowy i 17-bitowy
    001 = rejestr 5-bitowy
    010 = rejestr 5-bitowy i 4-bitowy
    011 = rejestr 5-bitowy – dubluje się, nie jest używany
    100 = rejestr 17-bitowy
    101 = bez rejestru przesuwającego – pure tones
    110 = rejestr 4-bitowy
    111 = bez rejestru przesuwającego – dubluje się, nie jest używany

Generacja losowych szumów odbywa się poprzez odczyt górnych 8 bitów rejestru przesuwającego 17-bit. Rejestry te taktowane są częstotliwością 1,79 MHz NTSC a 1,77 MHz PAL. Jednak ich wyjścia mogą być próbkowane niezależnie przez cztery kanały audio w tempie dzielnika częstotliwości danego kanału.

[edytuj] Opis rejestru AUDIOCTL

"1" oznacza włączony, chyba, że napisane jest inaczej:
Bit 0 (15KHz) – wybór taktowania dzielników częstotliwości "0" – 64KHz, "1" – 15KHz 1
Bit 1 (FI2+4) – filtr górnoprzepustowy dla kanału 2 taktowany częstotliwością kanału 4,
Bit 2 (FI1+3) – filtr górnoprzepustowy dla kanału 1 taktowany częstotliwością kanału 3,
Bit 3 (CH4+3) – połączenie dzielników 4+3 dla uzyskania dokładności 16-bitowej,
Bit 4 (CH2+1) – połączenie dzielników 2+1 dla uzyskania dokładności 16-bitowej,
Bit 5 (1,79CH3) – taktowanie kanału 3 częstotliwością "0" – 1,77 MHz PAL, "1" – 1,79 MHz NTSC
Bit 6 (1,79CH1) – taktowanie kanału 1 częstotliwością "0" – 1,77 MHz PAL, "1" – 1,79 MHz NTSC
Bit 7 (POLY9) – służy do przełączania rejestru przesuwającego "0" – 17-bit, "1" – 9bit

Wszystkie cztery dzielniki częstotliwości (AUDIOF) mogą być równocześnie taktowane 64 KHz lub 15 KHz. Dzielniki częstotliwości 1 i 4 mogą być taktowane na przemian zegarem CPU (1,79 MHz NTSC a 1,77 MHz PAL). Dzielniki częstotliwości 2 i 4 mogą być taktowane na przemian wyjściem dzielników 1 i 3. Dzięki temu układ Pokey umożliwia łączenie ze sobą kanałów 8-bitowych tak by uzyskany dźwięk miał dokładność 16-bitową. Poniżej, możliwości konfiguracji kanałów: - cztery kanały 8-bitowe - dwa kanały 8-bitowe i jeden kanał 16-bitowy - dwa kanały 16-bitowe

[edytuj] Dodatkowe inforamacje

Każda operacja wejścia wyjścia powoduje zmianę wartości rejestrów sterujących generatorami, dlatego kiedy korzystamy z układu Pokey do generowania dźwięku to po każdej takiej operacji powinno się go od nowa inicjować. Należy wpisać wartość 3 do rejestru $D20F oraz 0 do rejestru $D08

[edytuj] Szeregowy port wejścia wyjścia

Składa się na niego:
- szeregowa linia wejścia
- szeregowa linia wyjścia
- szeregowa linia zegara wyjścia
- dwukierunkowa szeregowa linia danych zegara
- rejestry SKRES, SEROUT, SERIN, SKCTL, SKSTAT

[edytuj] Osiem przerwań IRQ

BREAK – Break (przerwanie klawisza BREAK)
K – Keyboard (przerwanie klawiatury)
SIR – if Serial Input Ready (przerwanie odczytu z szyny szeregowej)
ODN – if Output Data Needed (przerwanie zapisu na szynę szeregową)
XD – if eXmitend Data (przerwanie końca transmisji szeregowej)
T1 – Timer 1, przerwanie licznika nr 1
T2 – Timer 2, przerwanie licznika nr 2
T4 – Timer 4, przerwanie licznika nr 4
Przerwania mogą zostać włączone lub wyłączone programowo za pomocą rejestru IRQEN.
Rejestr IRQSTAT zawiera status przerwań.

[edytuj] Klawiatura

Sześcio klawiszowy rejestr aktualnie wciśniętych klawiszy (K0 K5), który przechowuje wartości od 00 do 3F. Znajdują się tutaj 2 wartości sterujące. Jedna z nich pełni rolę deszyfratora wszystkich 6 wartości. Druga wartość sterująca jest przeznaczona do dekodowania znaków specjalnych CTRL, SHIFT i BREAK.

[edytuj] Potencjometry

Osiem portów do mierzenia czasu narastania wejścia. Każde wejście ma 8-bitowy licznik, odmierzający czas przy wyświetlaniu każdej kolejnej linii telewizyjnej. Każde wejście ma także tranzystor zrzutu, który można włączyć lub włączyć programowo.

[edytuj] Ponadto pokey oferuje

- Trzy timery, które używają kanałów audio. Jeżeli timer zostanie użyty kanały audio zostaną zresetowane. - Generator liczb losowych.

[edytuj] Tabela rejestrów pokey-a

16 rejestrów pokey-a – $D200–$D20F
Rejestr Zapis Odczyt
Nazwa Opis Nazwa Opis
$D200 AUDF1 częstotliwość kanału 1 POT0 potencjometr nr 0
$D201 AUDC1 generator kanału 1 POT1 potencjometr nr 1
$D202 AUDF2 częstotliwość kanału 2 POT2 potencjometr nr 2
$D203 AUDC2 generator kanału 2 POT3 potencjometr nr 3
$D204 AUDF3 częstotliwość kanału 3 POT4 potencjometr nr 4
$D205 AUDC3 generator kanału 3 POT5 potencjometr nr 5
$D206 AUDF4 częstotliwość kanału 4 POT6 potencjometr nr 6
$D207 AUDC4 generator kanału 4 POT7 potencjometr nr 7
$D208 AUDCTL kontrola nad kanałami audio POTSTAT odczyt wszsytkich 8 linii portu potencjometrów
$D209 STIMER uruchomienie timera KBCODE kod ostatnio wciśniętego klawisza
$D20A SKRES reset statusu portu szeregowego RANDOM wartość generatora liczb losowych
$D20B POTGO rozpocznij sekwencje skanowania portu
$D20C
$D20D SEROUT rejestr wyjściowy portu szeregowego SERIN rejestr wejściowy portu szeregowego
$D20E IRQEN aktywacja przerwań IRQ IRQSTAT statusu przerwań IRQ
$D20F SKCTL kontrola nad portem szeregowym SKSTAT status portu szeregowego

[edytuj] Zobacz też

[edytuj] Linki zewnętrzne

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com