SimCovox
From Atariki
| Wersja z dnia 17:05, 25 wrz 2022 Jhusak (Dyskusja | wkład) ← Previous diff  | 
				Wersja z dnia 17:06, 25 wrz 2022 Jhusak (Dyskusja | wkład) Next diff →  | 
			||
| Linia 7: | Linia 7: | ||
| 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ć. | 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]] MOVPLAY 2022. | + | 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 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. | ||
Wersja z dnia 17:06, 25 wrz 2022
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)
 
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.
Adresowanie przetwornika odbywa się przez zapis rejestru wartością próbki:
- $D300 (PORTA) dla urządzenia podłączonego do portów joysticka,
 - $D1FB dla IDE+ rev.S.
 
Aby taki SimCovox działał, trzeba ustawić PORTA do zapisu:
               lda     #$ff 
               sta     $d300 
               lda     $D302 
               and     #$fb 
               sta     $D302 
               lda     #$ff 
               sta     $D300 
               lda     $D302 
               ora     #$4 
               sta     $D302 
Po całej operacji,przy wyjściu z programu trzeba przywrócić domyślny stan PORTA- do odczytu:
               lda     #$ff 
               lda     $D302 
               and     #$fb 
               sta     $D302 
               lda     #$00 
               sta     $D300 
               lda     $D302 
               ora     #$4 
               sta     $D302 
