SimCovox
From Atariki
| Wersja z dnia 22:39, 13 wrz 2011 KMK (Dyskusja | wkład) ← Previous diff |
Aktualna wersja Jhusak (Dyskusja | wkład) (→Odnośniki - usunięcie duplikatu) |
||
| Linia 1: | Linia 1: | ||
| - | Prosty, jednokanałowy [[Covox]], zbudowany przez [[Simius]]a w 2011 roku według założeń przedstawionych w [http://www.atari.org.pl/forum/viewtopic.php?id=8946 tym wątku] na [[AtariArea]]. Składa się z: | + | Prosty, jednokanałowy [[Covox]], zbudowany przez [[Simius]]a w 2011 roku według założeń przedstawionych w [http://www.atari.org.pl/forum/viewtopic.php?id=8946 tym wątku] na [[Atari Area]]. Składa się z: |
| - | * dwóch wtyków pasujących do [[Gniazdo joysticka|gniazd joysticka] nr 0 i 1 (czyli obu w [[XL]] i [[XE]], lub dwóch pierwszych w [[400/800]]) | + | * dwóch wtyków pasujących do [[Gniazdo joysticka|gniazd joysticka]], a przeznaczonych do wetknięcia do gniazd nr 0 i 1 (czyli obu w [[XL]] i [[XE]], lub dwóch pierwszych w [[400/800]]) |
| * gniazda DIN 5, w którym linia audio jest podpięta w tym samym miejscu, co w [[Gniazdo_monitorowe#NTSC.2FPAL|gnieździe monitorowym]] Atari | * gniazda DIN 5, w którym linia audio jest podpięta w tym samym miejscu, co w [[Gniazdo_monitorowe#NTSC.2FPAL|gnieździe monitorowym]] Atari | ||
| * ośmiu oporników (patrz [http://pl.wikipedia.org/wiki/Covox Covox]) | * ośmiu oporników (patrz [http://pl.wikipedia.org/wiki/Covox Covox]) | ||
| + | * alternatywnie można użyć Arduino z oprogramowaniem SimCovox zamiast oporników w celu osiągnięcia idealnej 8-bit jakości. | ||
| - | SimCovox jest w zasadzie namiastką "prawdziwego" Covoxa, nie tylko ze względu na mniejszą liczbę kanałów, ale też z powodu użycia portu układu [[PIA]] jako wyjścia danych cyfrowych: otóż kondensatory znajdujące się na płycie Atari pomiędzy układem PIA a gniazdami joysticka powodują zniekształcenia dźwięku. W praktyce nie ma sensu odtwarzanie sampli z częstotliwością próbkowania powyżej 16000 Hz, bo jakość dźwięku się nie polepszy, a owszem, może się nawet pogorszyć. | ||
| - | Póki co, posiadaczem jedynego (prototypowego) egzemplarza jest [[KMK]]. SimCovox jest wspierany przez [[D2D]] od wersji 1.4. | + | SimCovox jest w zasadzie namiastką "prawdziwego" Covoxa, nie tylko ze względu na mniejszą liczbę kanałów, ale też z powodu użycia portu układu [[PIA]] jako wyjścia danych cyfrowych: otóż rezystory, kondensatory i dławiki znajdujące się na płycie Atari pomiędzy układem PIA a gniazdami joysticka powodują zniekształcenia sygnału cyfrowego i tym samym dźwięku. W praktyce nie ma sensu odtwarzanie sampli z częstotliwością próbkowania powyżej 16000 Hz, bo jakość dźwięku się nie polepszy, a owszem, może się nawet pogorszyć. |
| + | |||
| + | Póki co, jednym z niewielu posiadaczy SimCovoxów jest [[KMK]], posiadający prototypowy egzemplarz . SimCovox jest wspierany przez [[D2D]] (od wersji 1.4), [[DRUM Machine]], [[PSG Player]], oraz [[MOVPLAY]] | ||
| + | |||
| + | W SimCovox wyposażone są też niektóre wersje [[IDE Plus]] rev. D (oznaczone jako rev. S). Ta wersja, oczywiście, nie ma wspomnianych wyżej wad swojego odpowiednika podłączanego przez porty PIA. | ||
| + | |||
| + | W 2022 [[Jakub Husak]] w ramach wieczornego projektu stworzył w celach testowych SimCovox oparty na Arduino (w praktyce Arduino Mini). Zastosowanie mikrokontrolera pozwoliło odtworzyć cyfrowy sygnał z portów joysticków i puścić go poprzez wbudowany przetwornik cyfrowo-analogowy - na wyjściu dostajemy sygnał PWM o częstotliwości bazowej 62.5 KHz wraz z perfekcyjną liniowością przetwornika, czyli minimum możliwych zniekształceń cyfrowych. | ||
| + | |||
| + | Adresowanie przetwornika odbywa się przez zapis rejestru wartością próbki: | ||
| + | |||
| + | * $D1FB dla IDE+ rev.S, | ||
| + | * $D300 (PORTA) dla urządzenia podłączonego do portów joysticka. | ||
| + | |||
| + | Aby ten ostatni SimCovox działał, trzeba ustawić PORTA do zapisu: | ||
| + | |||
| + | lda #%11111111 | ||
| + | sta PORTA ;$D300 | ||
| + | lda PACTL ;$D302 | ||
| + | and #%11111011 | ||
| + | sta PACTL | ||
| + | lda #%11111111 ;all output | ||
| + | sta PORTA | ||
| + | lda PACTL | ||
| + | ora #%00000100 | ||
| + | sta PACTL | ||
| + | |||
| + | Po całej operacji,przy wyjściu z programu trzeba przywrócić domyślny stan PORTA- do odczytu: | ||
| + | |||
| + | lda #%11111111 | ||
| + | sta PORTA ;$D300 | ||
| + | lda PACTL ;$D302 | ||
| + | and #%11111011 | ||
| + | sta PACTL | ||
| + | lda #%00000000 ;all input | ||
| + | sta PORTA | ||
| + | lda PACTL | ||
| + | ora #%00000100 | ||
| + | sta PACTL | ||
| + | |||
| + | == Odnośniki == | ||
| + | |||
| + | *[https://github.com/jhusak/atari8_simcovox_arduino_mega328p repozytorium SimCovox Arduino] | ||
| + | *[https://github.com/jhusak/avgcart_avfplay AVFPlay dla AVGCart obsługujący SimCovox] | ||
| + | *[https://github.com/jhusak/side-sideII-avfplay AVFPlay dla SIDE/SIDE2/Incognito obsługujący SimCovox] | ||
| [[Kategoria:Peryferia 8-bit]] | [[Kategoria:Peryferia 8-bit]] | ||
Aktualna wersja
Prosty, jednokanałowy Covox, zbudowany przez Simiusa w 2011 roku według założeń przedstawionych w tym wątku na Atari Area. Składa się z:
- dwóch wtyków pasujących do gniazd joysticka, a przeznaczonych do wetknięcia do gniazd nr 0 i 1 (czyli obu w XL i XE, lub dwóch pierwszych w 400/800)
- gniazda DIN 5, w którym linia audio jest podpięta w tym samym miejscu, co w gnieździe monitorowym Atari
- ośmiu oporników (patrz Covox)
- alternatywnie można użyć Arduino z oprogramowaniem SimCovox zamiast oporników w celu osiągnięcia idealnej 8-bit jakości.
SimCovox jest w zasadzie namiastką "prawdziwego" Covoxa, nie tylko ze względu na mniejszą liczbę kanałów, ale też z powodu użycia portu układu PIA jako wyjścia danych cyfrowych: otóż rezystory, kondensatory i dławiki znajdujące się na płycie Atari pomiędzy układem PIA a gniazdami joysticka powodują zniekształcenia sygnału cyfrowego i tym samym dźwięku. W praktyce nie ma sensu odtwarzanie sampli z częstotliwością próbkowania powyżej 16000 Hz, bo jakość dźwięku się nie polepszy, a owszem, może się nawet pogorszyć.
Póki co, jednym z niewielu posiadaczy SimCovoxów jest KMK, posiadający prototypowy egzemplarz . SimCovox jest wspierany przez D2D (od wersji 1.4), DRUM Machine, PSG Player, oraz MOVPLAY
W SimCovox wyposażone są też niektóre wersje IDE Plus rev. D (oznaczone jako rev. S). Ta wersja, oczywiście, nie ma wspomnianych wyżej wad swojego odpowiednika podłączanego przez porty PIA.
W 2022 Jakub Husak w ramach wieczornego projektu stworzył w celach testowych SimCovox oparty na Arduino (w praktyce Arduino Mini). Zastosowanie mikrokontrolera pozwoliło odtworzyć cyfrowy sygnał z portów joysticków i puścić go poprzez wbudowany przetwornik cyfrowo-analogowy - na wyjściu dostajemy sygnał PWM o częstotliwości bazowej 62.5 KHz wraz z perfekcyjną liniowością przetwornika, czyli minimum możliwych zniekształceń cyfrowych.
Adresowanie przetwornika odbywa się przez zapis rejestru wartością próbki:
- $D1FB dla IDE+ rev.S,
- $D300 (PORTA) dla urządzenia podłączonego do portów joysticka.
Aby ten ostatni SimCovox działał, trzeba ustawić PORTA do zapisu:
lda #%11111111
sta PORTA ;$D300
lda PACTL ;$D302
and #%11111011
sta PACTL
lda #%11111111 ;all output
sta PORTA
lda PACTL
ora #%00000100
sta PACTL
Po całej operacji,przy wyjściu z programu trzeba przywrócić domyślny stan PORTA- do odczytu:
lda #%11111111
sta PORTA ;$D300
lda PACTL ;$D302
and #%11111011
sta PACTL
lda #%00000000 ;all input
sta PORTA
lda PACTL
ora #%00000100
sta PACTL
