Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Przystawka dźwiękowa AY3-8910 do Commodore+4

SylwekK 17 Mar 2021 18:57 2592 7
  • Przystawka dźwiękowa AY3-8910 do Commodore+4
    Dziś coś dla fanów 8-bitowych retro komputerów :) Jako, że sam do nich należę to pielęgnuję mojego leciwego już C+4 jak tylko mogę. A przygodę tą jako nastolatek rozpocząłem w 1989 roku :)
    Po ostatniej naprawie (po prostu w pewnym momencie zaczął się wieszać i czarny ekran pokazał) stwierdziłem, że co się da to przeniosę na PC żeby chociaż w emulatorze móc uruchomić programy, które napisałem prawie 30 lat temu. Co ciekawego nośnik w postaci taśmy w kasecie okazał się niewiarygodnie wytrzymały. Komputer z kasetami dość długo (kilka lat) był na strychu w zmiennej temperaturze (średnio -30 do +50) i każdy program, który wgrywałem do komputera bez problemu się ładował(!) Czasem tylko była potrzeba niewielkiego przestawienia głowicy - na 25 kaset to i tak niezły wynik :)
    Posiadam też z tamtego czasu bardzo mało popularne rozszerzenie muzyczne dla Commodore (powstało dosłownie kilka sztuk) i bardzo popularne dla ZX Spectrum oparte na AY3-8910. Dla C+4 opracował je świetny programista i elektronik Tadeusz Zawadowski (podpisywał swoje programy - TZ) i nazwał DIGIMUZ. Oprogramowanie do kartridża, które spełni moje oczekiwania musiałem sam napisać - czyli coś co wyda więcej zorganizowanych dźwięków niż tylko pojedyncze tony. Powstało w ten sposób kilka programów demonstracyjnych z melodyjkami i ...jedna gra.
    Niestety pod koniec użytkowania Commodorka byłem już w Amigę zapatrzony i zarzuciłem projekt całkiem fajnego programu (Music Tracker) z zupełnie nowym playerem. Zapowiadał się fajnie i był rozwojowy. Ostatecznie poskładałem części do kupy i opublikowałem jako Program DEMO odtwarzający fragment muzyki, bez możliwości jakiejkolwiek edycji.
    Nietrudno zgadnąć, że przy odzyskiwaniu programów zależało mi najbardziej na tych moich jednocześnie przez przypadek (zgadałem się w komentarzach pod jakimś artykułem z człowiekiem, który prowadzi polską stronę retro commodore) odkryłem zagraniczne forum i całą rzeszę ludzi, którzy cały czas coś piszą na te kompy, zbierają i katalogują wszystko co się nich tyczy. Dzięki temu moje programy wreszcie po prawie 30-latach mogły zobaczyć świat :P I tu dochodzimy do sedna... Prowadzący stronę o rodzinie Commodore 264 byli w szoku, że na wschodniej ścianie Europy był taki wynalazek jak AY do C16. Kiedy podesłałem filmy z działania kartridża w ciągu kilka dni dopisali(!) obsługę tego układu dźwiękowego do chyba najlepszego emulatora C+4/16/116 - Yape 1.1.9- emuluje praktycznie wszystkie triki układu TED z jakimi nie radzą sobie inne emulatory. Bardzo zainteresowani byli też sprzętową wersją przystawki - wiadomo, każdy prawdziwy fanatyk nie będzie bawił się w emulację :D Postanowiłem więc zrobić kopie rozszerzenia i tu zrodził się pierwszy mały problem - oryginał ciężko by było skopiować bo wszystkie układy (4szt.) miały zeszlifowane nazwy. Większy problem był taki, że po opracowaniu swojej TTL'owskiej wersji i konsultacji na forum jeden z użytkowników zwrócił uwagę, że nowe zamienniki (oryginały dostępne tylko z wylutu) są restrykcyjne czasowo i robiąc dekoder adresu na TTL'ach po prostu nie dadzą rady. Sprawdziłem to natychmiast podmieniając takiego zamiennika do mojego oryginalnego Digimuz'a i ...miał rację - fałszują dziwnie. Drugi pomysł był w zasadzie formalnością. Stwierdziłem, że uproszczę konstrukcję na maksa. Rozwiązaniem dekodera adresu okazał się Flash EPROM popularny Winbond 27c512-45. Oczywiście pojawiły się głosy, że tu lepiej już GAL'a wcisnąć, ale postawiłem na swoim, bo na GAL musiał bym się od nowa uczyć i środowisko kompletować, a to przecież tylko dekoder adresu i w zależności od stanu lini A0:15 ma się pojawić coś na D0:7. Jeden dodatkowy układ TTL robi za generator i sumator wejść A15:A14, bo mi jednego pinu brakowało na linię R/W-. Zrobiłem jeszcze wstępne testy dekodera na płycie stykowej i można było zamawiać płytki :) Zamówiłem w chinach, przyszły po tygodniu. Po zmontowaniu układ zadziałał od razu. Obecnie z oryginalnym DIGIMUZ'em właściwie łączą go tylko identyczne adresy rejestrów - $FD21, $FD22, $FD23, które można już potraktować jako standard.
    Oryginał posiadał jeszcze wbudowany EPROM z rozszerzeniem basica o komendy wydające dźwięki na AY, z których nigdy nie korzystałem i turbo magnetofonowe, które z racji przejścia na SD2IEC i nie korzystania z magnetofonu też nie będzie mi już potrzebne. Zrezygnowałem więc z dodatkowego EPROMU.
    Na fotkach jest moja oryginalna wersja ze zmasakrowaną obudową różnymi portami IN/OUT, z których bardzo lubiłem korzystać, że dla łatwiejszego montażu dwa piny wyprowadziłem pod śrubkę:)

    Przystawka dźwiękowa AY3-8910 do Commodore+4 Przystawka dźwiękowa AY3-8910 do Commodore+4 Przystawka dźwiękowa AY3-8910 do Commodore+4 Przystawka dźwiękowa AY3-8910 do Commodore+4

    A tu już moja w pełni autorska wersja przystawki wykonana z dobrodziejstwem jaki daje obecna technika (Eagle, profesjonalne PCB, itd.)

    Przystawka dźwiękowa AY3-8910 do Commodore+4 Przystawka dźwiękowa AY3-8910 do Commodore+4 Przystawka dźwiękowa AY3-8910 do Commodore+4

    I jeszcze porównanie schematów.
    Tak mogła by wyglądać jedna z wersji TTL (mój pierwszy projekt):

    Przystawka dźwiękowa AY3-8910 do Commodore+4

    A tak wygląda docelowo:
    Chyba nie ma wątpliwości, że układ jest dużo prostszy :)

    Przystawka dźwiękowa AY3-8910 do Commodore+4

    Poniższy film to test moich starych programów oraz świeżej konwersji jakiejś muzyczki z dawnych lat z komputera gdzie standardem był AY. Obecnie mój znajomy (też fan retro) wygrzebał coś w sieci pod 6502 i konwertuje muzykę pisaną specjalnie pod AY tak więc druga młodość Commodore chyba zapewniona :)


    Link


    Na tym filmie oryginalny DIGIMUZ i pierwsze odkopanie softu po naprawie komputera.


    Link


    I na koniec przykład zagrania pojedynczego tonu z AY na Commodore :)
    Code: avrasm
    Log in, to see the code

    Cool! Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    SylwekK
    Level 31  
    Offline 
    Tu można zajrzeć www.sylwekkuna.com
    SylwekK wrote 2484 posts with rating 2311, helped 78 times. Live in city Lipsko. Been with us since 2007 year.
  • Computer ControlsComputer Controls
  • Computer ControlsComputer Controls
  • #3
    strucel
    Level 31  
    Dla spectrum były popularne bo spectrum 128 i podobne miały AY fabrycznie montowane, dlatego wszystkie gry ruszały od strzała już z lepszym dzwiękiem na starych gumiakach.Tak z ciekawości można jeszcze AY3-8910 kupić?
    W 1990 tłukłem się pół nocy pociągiem do Warszawy aby na giełdzie zakupć to cudo następnie płytka wg młodego technika i nawet zagrało.
  • #4
    piotr_go
    DIY electronics designer
    strucel wrote:
    Tak z ciekawości można jeszcze AY3-8910 kupić?

    Bywają na ebaju i ali. Ale sporo malowanek jak ta yamaha po środku.
    Nie wiem po co? Działa, ale date code 2013? Serio? Tylko wartość obniżyli.

    Moja kolekcja:
    Przystawka dźwiękowa AY3-8910 do Commodore+4
    Mam gdzieś jeszcze OPL3.

    Tu też wygląda na malowankę. :)
    Przystawka dźwiękowa AY3-8910 do Commodore+4
    Szczęśliwie trafiła się działająca.
  • #5
    SylwekK
    Level 31  
    piotr_go wrote:
    Generator wystarczająco dokładny?
    Jaka częstotliwość?


    Wystarczająco :) To standardowy gen jaki stosowany był przy tej karcie dla ZX Spectrum. Częstotliwość około 1,85Mhz i nie jest krytyczna o ile pamiętam ma się mieścić między 1,5-2MHZ.
    Aha, na schemacie są wartości elementów dla gen jakie ogólnie stosowano w tych kartach, a ja nie miałem 470pF i wstawiłem 220pF+750om :)


    Z zakupem czipów na razie problemów nie ma. Niewątpliwa zaleta - są tanie (w porównaniu z SID'em to przepaść cenowa). Fakt, że oryginały GI to tylko z wylutu, ale zamienniki okazują się dawać radę. Tutaj wstawiłem AY kupiony przez znajomego - zamówił kilka szt. z różnych miejsc (oczywiście u Chińczyka) między innymi GI z wylutu. Wszystkie przetestowaliśmy i bezbłędnie działały. Sam parę dni temu zamówiłem kilka sztuk. Zobaczymy co przyjdzie :)
    A póki co ów znajomy wyczaił gdzieś w sieci player z ORIC'a i po niewielkiej adaptacji (dokonał tego dokładnie wczoraj) odgrywa na C+4 mnóstwo muzyczek napisanych dla AY pod Vortex Tracker'em (format pt3)... tak, więc scena się rozkręca :) Zainteresowanie tematem jest zarówno na zagranicznym forum jak i na rodzimym dlatego postanowiłem napisać też coś na elektrodzie :)
    Jeszcze taka ciekawostka - AY można z powodzeniem np. pod AVR podłączyć i udźwiękowić swoje programy choćby w proste melodyjki, a zużyte na ten cel piny sterujące odzyskać z naddatkiem dzięki dwóm wbudowanym portom 8-bit in/out zawartym w układzie :)

    Dodano po 7 [minuty]:

    I jeszcze jedno... Na YT już testy porównawcze zamienników i oryginałów ktoś robił. Moje odczucia porównawcze są takie, że dźwięk z oryginału jest taki bardziej mięsisty (więcej niskich częstotliwości... harmonicznych... cholera wie, po prostu bardziej mięsisty i tyle :) ). Nie wiem jak to nazwać, ale kusi mnie trochę żeby to kiedyś na oscyloskopie porównać.
  • #6
    Hetii
    Level 16  
    Z racji, że pierwszy raz słyszę o tych układach AY zastanawia mnie jak ten układ AY wypada w porównaniu do SID-a?
    Też ma w swojej budowie analogowe filtry?
    Czy planujesz swojej karcie zrobić tryb pseudo stereo jak robią to ze SIDami?
  • #7
    SylwekK
    Level 31  
    SID to dość zaawansowany syntezator w porównaniu z AY niemniej z użyciem kilku sztuczek na AY też można fajne brzmienia uzyskać choć to tylko 3-kanałowy generator prostokąta + szum z kilkoma predefiniowanymi obwiedniami głośności. Pseudo stereo bez problemu można uzyskać, bo każdy kanał jest osobno wyprowadzony (zobacz schemat).