New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
POKEY - Wikipedia, wolna encyklopedia

POKEY

Z Wikipedii

Spis treści

Uwaga: artykuł nie został ukończony i prawdopodobnie zawiera wiele niedomówień a i niewykluczone, że błędów.


Pokey stworzony w latach 80-siątych 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.

[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 AUDIOF1-4

Tutaj ktoś kiedyś doda opis rejestrów częstotliwości AUDIOF układu POKEy

[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 5-7 – rejestry przesuwające odpowiedzialne za szumy

    000 = rejestr 5-bitowy i 17-bitowy
    001 = rejestr 5-bitowy
    010 = rejestr 5-bitowy i 4-bitowy
    011 = rejestr 5-bitowy
    100 = rejestr 17-bitowy
    101 = bez rejestru przesuwającego
    110 = rejestr 4-bitowy
    111 = bez rejestru przesuwającego

Generacja losowych szumów odbywa się za pomocą trzech rejestrów przesuwających 17-bit, 5-bit, 4-bit. Przy czym rejestr 17-bitowy może zostać ustawiony do pracy jako 9-bitowy. 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

Bit 0 wybór taktowania dzielników częstotliwości, 0 - 64KHz, 1 - 15KHz 1 filtr górnoprzepustowy dla kanału 2 taktowany częstotliwością kanału 4, 1 włączony 2 filtr górnoprzepustowy dla kanału 1 taktowany częstotliwością kanału 3, 1 włączony 3 połączenie dzielników 4+3 dla uzyskania dokładności 16-bitowej, 1 włączony 4 połączenie dzielników 2+1 dla uzyskania dokładności 16-bitowej, 1 włączony 5 taktowanie kanału 3 częstotliwością 1,79 MHz NTSC a 1,77 MHz PAL, 0 jak w bit 0 6 taktowanie kanału 1 częstotliwością 1,79 MHz NTSC a 1,77 MHz PAL, 0 jak w bit 0 7 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 Odczyt Zapis
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 lini 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

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu