forum speccy.pl
ZX Spectrum => HARDWARE => Wątek zaczęty przez: KWF w 2017.06.16, 23:53:06
-
Skończyły się mi AY-ki, a w pudełku poniewierało się jedno Arduino oraz wolna ATmega8. Zamawiałem AY-ki z różnych źródeł, ale zawsze było czekanie, albo sprzedawca opóźniał, albo nawet odwoływał wysyłkę. Do tego projektu natchnął mnie @Skinner, wspominając przy okazji jakiejś rozmowy o fejsie z AYkiem, że jest emulator na ATmedze, wymieniliśmy kilka wiadomości w tej sprawie i od pomyślu do prototypu minęły prawie 2 miesiące.
Ad rem, cały emulator jest rosyjskim pomysłem, moim wkładem jest jedynie płytka, aby zamontować go zamiast oryginalnego AY-ka w trzewiach Spectrum. Od razu zaznaczę, że emulator nie emuluje portów I/O, a jedynie część odpowiedzialną za generację dźwięku. Emulator w tym stanie nie nadaje się jako zamiennik AY-ka w Toastracku, +2 czy +3, ale można go wykorzystać w klonach tj. JS128K, HQ128K, ZX Nuvo czy częściowo w Chromie (o ile nie korzysta się z porów I/O). Sama płytka jest wymiarów niewiele większych niż AY-3-8912, ma wyprowadzone złączę ICSP, aby można przeprogramować ATmegę, bez wyrywania jej z płytki.
(http://fatla.eu/pub/ZXSpeccy/AYEmul/AY-ATmega8.png)
Na chwilę obecną mam działający prototyp z zegarem 20MHz oraz wgranym 3-kanałowym emulatorem z zegarem 1.75MHz. Pierwsze testy w Chromie poszły dość dobrze, poza tym że dwa połączenia musiałem wykonać kynarem.
Płytka prototypu w Chromie wygląda tak:
(http://fatla.eu/pub/ZXSpeccy/AYEmul/AY-ATmega8_prot_01.jpg)
Zostały mi dodatkowe dwie płytki, czas rozpędzić ATmegę do 27-32MHz i zobaczyć co to cudo potrafi. Tym razem ATmege wlutuję prosto w płytkę i dam niższy kondensator, aby nie budować wieży Babel.
Docelowo w planach jest wersja SMD o wymiarach, jak chip AY.
Jeżeli ktoś szuka więcej informacji o emulatorze, wszystko możne znaleźć na http://www.avray.ru (http://www.avray.ru).
Jakby ktoś polecił jakieś demo w którym AY poci się i wchodzi na wyżyny swoich możliwości, będę zobowiązany.
-
Że tak zapytam, taką jedną płytkę to można u Ciebie nabyć ?
-
Tylko gotowca, po kosztach komponentów na chwilę obecną. Chcesz tę "kynarową" czy poczekasz na finalną?
-
Jak dla mnie, może być i kynarowana.
Nawet w wersji KIT :) to się zlutuje.
-
Dwie mam już w pełni zlutowane (20 i 24MHz), trzecia czeka na kwarc 27MHz. Będziesz "beta testerem" :D
-
Nie nie nadaje sie, toto gra jak gra, a gra jak dziurawe wiadro. Trzeba chyba nie miec sluchu za grosz zeby tego uzywac.
-
Ale to jest ciekawostka.
Zawsze można sobie porównać dźwięki z oryginalnego AY-ka i z takiego "emulatora" w ramach testów muzycznych.
Oby nie zabrakło w Chinach AY-ków, puki my żyjemy :)
Jak to ruski "wynalazek" to przed odsłuchem trzeba coś "łyknąć", to może wtedy tony się złagodzą a harmoniczne wyprostują :P
-
Prędko nie zabraknie, bo AY robiło 6 firm do wykorzystania nie tylko w komputerach, ale też w masowej produkcji automatów do gier i prostych instrumentów. Tylko nie wzięli pod uwagę, jak elektronika się szybko rozwinie i jak dzisiejszy hit stanie się szybko starociem.
A jak gra ten emulator można posłuchać na stronie autora. Gra bardzo źle - Zaxon ma rację. Szkoda zachodu, ale kto zabroni hobbyście lub bogatemu.
-
No dobra, to ja jestem ten "hobbysta" :)
-
W sumie my tu wszyscy jesteśmy hobbystami...:D
-
Zasadniczo :D
-
Yny i hobby to hobby ale poziom jakis trzeba jednak trzymac, to na atmedze zrobilem juz pare lat temu, posluchalem , otrzasnalem sie z wrazenia i szybko zamowilem kolejne 30 prawdziwych AY ;)
-
Czy jak chcemy np. zakończyć jakieś party, puszczamy w ruch emulator AY-ka na Atmega :)
Ew. chcemy się szybko otrząsnąć z sennego stuporu.
-
Sorry, ale czysto to gra Ludovico Einaudi na fortepianie na żywo, a nie 8-bitowy "piździk" z 3 kanałami z głośnika TV :P
-
Klaud,hmm.. sa ludzie ktorzy graja na czystych AY , tych "pizdzikach" , ot przykład ;) , https://www.youtube.com/watch?v=FOx9InNtU3A,
-
Nie mówię, że nie, ale zauważ, że są też tacy co wolą analogowe instrumenty z ich dobrodziejstwem inwentarza. Mnie osobiście "nie jara" muzyka z tego filmiku. Chwała im za twórczość, mają swoich odbiorców, niszę. Z całym szacunkiem, ale Tangerine Dream, Kraftwerk czy Klaus Schulze to nie jest, moje skromne zdanie.
De gustibus non est disputandum.
Hobby to hobby, lepsze lub gorsze pomysły, swoje realizuję dla siebie. Powiedzmy sobie szczerze, ten emulator to takie "bele co", substytut i tyle.
-
Wiesz, Yerzmyey i Ay - Riders to jest nisza w/g ciebie ??
Na AY potrafi cuda zagrac, miedzy innymi dlatego tez go do Tokyo zaprosili zeby zagral koncert, ci, ktorych brzmienie prawdziwego AY jednak jara ;) No ale inni wola udawac ze blaszane wiadro na Atmedze zagra tak samo ;)
O tempora o mores ;)
-
Japońce mają dziwne gusta :P im coś bardziej odjechanego tym bardziej im pasuje, łącznie z automatami z używaną bielizną, a na wjeździe do ich kraju za Playboya musisz tłumaczyć się. :P
Poza tym wyciągasz daleko idące wnioski, z czegoś czego nie napisałem.
-
Do tego projektu natchnął mnie @Skinner, wspominając przy okazji jakiejś rozmowy o fejsie z AYkiem, że jest emulator na ATmedze, wymieniliśmy kilka wiadomości w tej sprawie i od pomyślu do prototypu minęły prawie 2 miesiące.
Drobna poprawka nie @Skinner tylko @Silenter - chyba, że o czymś nie wiem.
Ja jestem zajarany muzyką 8-bitową ale nie w stylu Yerz'a.
Mój projekt trochę przystopował bo @ZAXON zrobił niespodziewanie wznowienie TSFMów i część funduszy odpłynęła, a potem trzeba było obadać co to jest ten TSFM. W między czasie trochę elektroniki mi odparowało bo zasilacz breadboardowy puścił 12V na układy.
Właśnie się pozbierałem i idę dalej.
-
Do tego projektu natchnął mnie @Skinner, wspominając przy okazji jakiejś rozmowy o fejsie z AYkiem, że jest emulator na ATmedze, wymieniliśmy kilka wiadomości w tej sprawie i od pomyślu do prototypu minęły prawie 2 miesiące.
Drobna poprawka nie @Skinner tylko @Silenter - chyba, że o czymś nie wiem.
Tak, Ty Sławku, przepraszam. Mea culpa, późno w noc, 3 wiadomość od osób o podobnych nickach.
Swoją drogą nie zdziwę się, jak dobrze Wam znana osoba w swojego klona HQ128K/laptopa na smd dla każdego, wsadzi ATmege:) Pytał o zastąpienie oryginału AY na rosyjskim forum:
DJORDJE MITIC
Thursday December 24th, 2015 at 03:36 PM
Dear!
Need two things:
1. To replace AY-3-8912 in my Spectrum Sinclair 128K your solution
(...)
-
Parę plików audio, dla różnych zegarów (od 20 do 27MHz) oraz różnych układów:
Pliki Audio (http://fatla.eu/pub/ZXSpeccy/AYEmul/Audio/)
Miłej zabawy w zgadywanie co jest co :D
Mam nadzieję, że @Tygrys i spółka wybaczą mi, używanie ich dema do testów :)
-
Jak na moje ucho, to dwa brzmią tragicznie, a dwa bardzo dobrze!
-
Które? Proszę napisz nazwy plików, które są przyzwoite, a te które są tragiczne.
-
Zakładając, że to ten sam plik źródłowy:
file_1.m4a - drewno,
file_2.m4a - lepiej, nawet całkiem dobrze,
file_3.m4a - jakby brakowało polowy voiców,
file_4.m4a - soczyście, ładnie
-
Tak wszystkie przykłady są z tego samego emulatora w wersji 24.6. Mam 3 prototypy z zegarami: 20, 24 i 27MHz, z dwoma układami ATmega8 i ATmega328P. Płytki zmontowane według tego samego schematu i listy elementów biernych.
Na chwilę obecną wszystkie mają wgraną emulację AY-ka, ale właśnie zmieniam ją na Yamahe. Za platformę testową robi Chrome od @peara, z którego wyjście analogowe podpiąłem do wejścia liniowego makówki. Tam tylko QT i zapis, tego co wychodzi analogowo z Chroma, a jest odgrywane przez BigThings. Zapisuję pierwszą minutę ścieżki dźwiękowej tego dema w m4p i te pliki wystawiłem na swoim serwerze.
Dorzucę jeszcze, co robi emulator z tabelą głośności YM.
Ostatecznie spróbuję rozpędzić AVRa do 30MHz, powyżej może nie pójść w wersji THT.
-
plik 6 gra najwierniej - ktory to ?
Edit: By the way - dla ATMega328p w THT wszystko co wiecej niz 20Mhz to juz duzo, a co dopiero 30 :)
-
Poczekaj do końca tygodnia, wtedy dam znać co jest co. Ankieta zaczyna wyglądać ciekawie. Nie będę psuł zabawy, dopiero zaczęła się.
-
Ale koniec tygodnia już był!!! ;)
-
Zeszłego na bank :)
-
Ok, porobie za adwokata diabła ;)
Czyli zamiast AY-Greka za 1,5 dolara (no dobra, w hurcie ;) ) , robimy i zamawiamy płytki, lutujemy, dajemy Atmegi, programujemy je .. Zaraz, zaraz , dajemy przetaktowane i to o sporo Atmegi ...recht? I mamy kolejny piecyk.
Gdzie tu sens i logika? No chyba ze na zasadzie "bo mozna" no to nie mam wiecej pytan ;)
-
@ZAXON - nie wszystko musi być robione dla kasy czy praktyczności. Dla mnie w tym wszystkim ważniejsza jest frajda.
np. ja sobie kupiłem uszkodzone fdd 3000.
Nie wysłałem go do PEAR'a (pewnie dawno by już w pełni sprawne wróciło). Czeka sobie grzecznie spakowane, czeka na jesienne wieczory. Frajda odkrywania go i naprawiania na pewno będzie większa niż późniejsze używanie.
Zresztą twoje +D wydaje mi się obecnie wygodniejszym rozwiązaniem.
:)
-
@Zaxon, cena jednego AY-3-8912 w jUKej od sprawdzonego sprzedawcy ... 6-7 funtów + przesyłka. W Twoim przypadku nie ma sensu, kupujesz po 1.5 dolca po 100szt. :P
ATmega8 można dostać za 1.5 funta z przesyłka w detalu.
-
EEE nawet taniej - mega8 w pakietach po 5 sztuk z Azji kosztuje 3 funciaki z darmowa przesylka.
-
@screemer: Zapomniałeś dodać, że nie jest z wylutów :D Swoją drogą pisałem o lokalnych dostawcach.
-
Silenter, alez oczywiscie, sam robie sporo roznych dupereli ot tak dla frajdy i zobaczyc gdzie sie tym razem zadymi ;) D+ nie jest moje, to tylko odswieżony stary projekt .
Klaud, i mam pewnosc ze to co zalozylem mi sie nagle nie wygruzi z powodu przegrzania czy bledow w sofcie ;) Atmega8 za 1,5 funta tez moze sie wcale nie chciec krecic na 24,27,czy 30 MHZ ;)
-
o, będę słuchał jutro w dzień :)
-
Dziękuję tym co wzięli udział w głosowaniu.
Przykłady były generowane przez następujące układy:
- file_01 - ATmega328P z zegarem 20MHz, emulator AYka z zegarem 1.75MHz
- file_02 - GI AY-3-8912, segar 1.79MHz
- file_03 - ATmega328P z zegarem 27MHz, emulator AYka z zegarem 1.75MHz
- file_04 - ATmega8-16PU z zegarem 24MHz, emulator AYka z zegarem 1.75MHz
- file_05 - ATmega328P z zegarem 20MHz, emulator YMka z zegarem 1.75MHz
- file_06 - GI AY-3-8912, segar 1.79MHz
- file_07 - ATmega328P z zegarem 27MHz, emulator YM z zegarem 1.75MHz
- file_08 - ATmega8-16PU z zegarem 24MHz, emulator YM z zegarem 1.75MHz
Podsumowując, trzy osoby na 7 głosujących poprawnie wskazały pliki ze ścieżką odtwarzana przez oryginalny układ AY-3-8912 (pliki 2 i 6).
Tak na marginesie, odpaliłem AVR Studio i przeglądnąłem plik źródłowy w ASM, ponieważ byłem zaskoczony tragicznym dźwiękiem z ATmega328P. Skompilowałem pliki i wyszło, że coś nie tak było z tymi pobranymi ze strony autora projektu. Pliki wynikowe różniły się w 80%, jednak nawet nowa kompilacja niewiele pomogła. Mam jeszcze ATmega48 i nie ma wielkiej różnicy pomiędzy dźwięk generowany przez ten układ a przez ATmega8. Także nie ma większych róźnic pomiędzy emulacją AY and YM. Mogę napisać, że tylko układy ATmega8 i ATmega48 dają zadawaląjące rezultaty przy taktowaniu od 20 do 25MHz. Kręcenie AVR w obudowie DIP powyżej 25MHz nie ma sensu.
-
Szóstki byłem pewien. Co do dwójki się wahałem. Za bardzo eksploatowane były efekty szumowe ;)
Gdyby nie wsłuchiwanie się w każdy egzemplarz AmpY nie usłyszałbym żadnej różnicy :D
-
@pear: miałeś łatwiej, ponieważ Chrome wg. Twojego projektu robił za poletko doświadczalne :D
-
Jak do mnie dotrze, to sobie potestuję :)
-
Będzie co testować, ponieważ autor emulatora pracuje nad nowszą wersja ;)
http://www.avray.ru/news/new-version-coming-soon/ (http://www.avray.ru/news/new-version-coming-soon/)
-
To miłe ze strony autora emulatora, że docenił Twój wkład w testowanie jego projektu.
Poczekamy, zobaczymy, co tam nowego powstanie.
-
Pojawiła się nowa wersja emulatora (24.7) z porawkami generatora szumu. Do tego, otrzymałem informację od autora, jak zmieni konfigurację emulacji na AY/YM z dowolnym zegarem, np. 1.79MHz.
Niestety chwilowo, nie będę miał czasu posiedzieć nad tym. Może w przyszły weekend.
-
Kopalnia roku, ale jest nowa wersja wsadu do Atmegi o numerze 25.0 (https://www.avray.ru/ru/ay_ym_emulator/).
Zmiany w poziomach sygnałów wyjściowych dla generatora szumu i tonów. Chyba będę musiał odgrzebać Chroma 128 i sprawdzić jak to bzyczy.
-
Masz może jeszcze płytki do tego emulatora ?
-
Chyba mam do SMD. Poszukam.
-
Ok.
I'am waiting
-
https://oshpark.com/shared_projects/Jp0BUGlk
-
Dzięki :)
Zamówię sobie.
-
Prośba do posiadaczy emulatora o puszczenie programu z załącznika. Pochodzi ze strony http://hypr.ru/blog/747.html Głównie chodzi mi o część gdzie testowane są rejestry AY.
Tak przy okazji to genialna apka do testowania pojedynczych AY i TurboSound.
-
skoti: niezły programik :) do testowania chińskich malowanek
:) Ukazała się nowa wersja (26.0) emulatora: https://www.avray.ru/ay_ym_emulator/ (https://www.avray.ru/ay_ym_emulator/)
-
Schemat emulatora, co wisi na OSHPark.
-
Wgrywanie emulatora to ATmegi8.
Używałem do tego celu programatora TL866A ze złączem ICSP. Aby go wgrać poprawnie emulator należy zwrócić uwagę na:
- skompilowany kod emulatora
- konfigurację emulatora
- bity konfiguracyjne MCU
1. Kod emulatora
W paczce z emulatorem znajdują się skompilowany pliki z kodem emulatora pod kilka układów serii ATmega: 8, 48, 88, 168 i 328. Dodatkowo dla każdego typu MCU są wersje dla 2 kanałów lub 3 kanałów audio oraz wersje z tabelami głośności do emulacji układów typu AY-3-891x lub YM. Do zamiennika rzeczywistego PSG w wersji AY-3-891x na ATmega8 należy wybrać wersję 3 kanałową, dedykowaną do tego MCU i z tabelą głośności np. AY. Kod emulatora wgrywa się do pamięci flash MCU (Code):
(http://fatla.eu/pub/ZXSpeccy/AYEmul/ATmega8_code_flash.png)
2. Konfiguracja emulatora
Plik konfiguracyjny emulatora jest uzależniony od trzech czynników:
- trybu pracy emulatora - w tym przypadku tryb pracy równoległej, ponieważ dane przesyłane są po szynie danych o szerokości 8 bitów
- częstotliwości zegara MCU, np. 24MHz
- częstotliwości zegara podanego na PSG, np. 1.75MHz
Plik konfiguracyjny wgrywamy do pamięci EEPROM MCU (Data):
(http://fatla.eu/pub/ZXSpeccy/AYEmul/ATmega8_data_config.png)
3. Bity konfiguracyjne MCU
Ostatnią rzeczą jest poprawne ustawienie fuse-bitów, a one mają inne wartości dla każdego typu MCU, np, dla ATmega8 odpowiednio:
- fuse low byte = 0xCE
- fuse high byte = 0xCF
Lock-bitów nie ustawiamy (!!!) i bajt je opisujący powinien mieć wartość 0xFF.
(http://fatla.eu/pub/ZXSpeccy/AYEmul/ATmega8_fuses.png)
Wszystkie powyższe informacje są zawarte w pliku tekstowym załączonym do paczki z emulatorem. W tym pliku jest też zawarta instrukcja, w jaki sposób zaprogramować MCU przy użyciu AVRDUDE.
-
Hahaha: R.I.P. AY (https://www.youtube.com/watch?v=Ii5gcyprhAg)
Swoją drogą zmajstrowałem zamiennik w SMD ponad 3 lata temu:
(http://fatla.eu/pub/ZXSpeccy/AYEmul/AY-ATmega8_smd_prot_02.jpg)
-
Raczej wątpię, żeby ktoś uruchomił linię produkcyjną AY-3-89xx, dlatego sprzętowy emulator wydaje się atrakcyjnym rozwiązaniem.
Problemem jest tylko brak portów I/O.
Układy WD 1770 i WD 1772 też się już kończą - ceny powoli robią się na nie kosmiczne.
Więc być może i tu będzie pole do popisu dla emulatora sprzętowego.
-
https://github.com/alexanderk23/ayx - co prawda na STM, ale z portami I/O.
Swoją drogą prawie 2 lata temu Rosjanie rozrysowali całą wewnętrzną strukturę układu AY-3-8910.
Istnieje też niezła implementacja AY/TS w HDL.
Moim zdaniem "emulowany" AY, to tylko kwestia czasu oraz wielkości rynku. Swoją drogą kilka firm nadal nadal robi zamienniki pełnowymiarowego AYka i w sumie nie są one gorsze od oryginału.
-
A tej implementacji AY-ka nie widziałem.
Ciekawe, jak to gra.
-
Trochę odkopię temat, bo jakiś czas temu pojawiła się nowsza (chyba finalna) wersja softu do tego.
Jest też na Github'ie podobny projekt: https://github.com/Yevgeniy-Olexandrenko/avr-ay-board
W porównaniu z wersją Klaudiusza ma to jeszcze dołożone filtry RC na wyjściach ABC, ale z nimi to gra strasznie cicho jednak można jeszcze poeksperymentować zmniejszając rezystory i dobierając kondensatory.
Zmontowałem akurat z nudów na szybciora to cacko na Atmega88-20AU i "ćwierka" mi to w miarę poprawnie przy 30MHz, bo taki kwarc akurat znalazłem. ;)
BTW, zostało mi jeszcze kilka gołych płytek gdyby ktoś się chciał pobawić.