Wyjmuję kotlet z zamrażarki.
Jak wiadomo, syntezą układu AY zajął się z sukcesem mono. Mnie natomiast przyszło do głowy pytanie, czy nie dałoby się wartości rejestrów AY (np. zawartych w plikach PSG) jakoś w miarę prosto przełożyć na wartości rejestrów może nie tyle Pokeya, ile dwóch Pokeyów. "W miarę prosto", to znaczy tak, żeby się to z zapasem zmieściło w player grający raz na ramkę.
Założenia są następujące:
1) kanały 1-2 i 3-4 w obu Pokeyach łączymy w pary uzyskując cztery 16-bitowe kanały syntezy.
2) mapujemy je następująco:
a) kanał A = Pokey 1, audf1-2
b) kanał B = Pokey 1, audf3-4 i Pokey 2, audf3-4
c) kanał C = Pokey 2, audf1-2
3) przełączamy wszystko na 1,773 MHz
4) gdy mikser AY-greka wskazuje, że w danym kanale należy generować czysty ton, generujemy takowy we wskazanym kanale, przeliczając wartości rejestrów AY->Pokey wg odpowiedniej tabelki
5) gdy mikser AY-greka wskazuje, że w danym kanale należy generować szum, pobieramy częstotliwość szumu, ładujemy ją wg tabelki do wskazanego kanału i w audc odpowiednim dla danej pary kanałów wybieramy szum $8x.
6) gdy mikser AY-greka wskazuje, że w danym kanale należy generować i czysty ton i szum, generujemy czysty ton, a do tego w młodszym bajcie audc dla danej pary wybieramy szum $8x i ustawiamy połowę głośności czystego tonu (dlaczego połowę? Bo już 2/3 głośności powoduje, że ten szum jest zbyt głośny w stosunku do reszty instrumentów).
7) obwiednie układu AY są nie do zaemulowania, ale instrumenty ich używające muszą się jakoś różnić, bo inaczej w niektórych utworach w ogóle nie słychać linii melodycznej. Przeto dzielmy je (obwiednie) na trzy grupy i przydzielamy im różne głośności: $0f, $0b i $07.
8) resztę olewamy.
Wynik tych eksperymentów jest tutaj:
http://drac030.krap.pl/ay/
Pliki nazywające się *_ay.mp3 są nagrywane na żywym AY-greku, konkretnie na Evie.
Pliki nazywające się *_pokey.mp3 to efekt działania playera napisanego wg powyżej wyszczególnionych założeń.
Rezultaty są oczywiście różne, tj. dobre, średnie i takie sobie.
PS. W torze nagrywania coś mi gdzieś buczy, nie umiem tego namierzyć ani wyeliminować, nawet nie wiem, czy źródłem jest Atari czy pecet używany do nagrywania. W każdym razie sample są zgrywane z żywego sprzętu :)
EDIT: buczenie zlikwidowane :)