Poszukuję schematu blokowego POKEYa, kiedyś widziałem taki schemat, w którym były szczegółowo narysowane liczniki "poly". Zaznaczone były bity rejestru przesuwającego z podłaczoną bramką chyba XOR do sprzężenia zwrotnego. Był też schemat filtrów górnoprzepustowych z bramką NAND, multipeksery itp. Niestety schematu nie mogę odnaleźć. A schemat ideowy z atarumuseum jest jak dla mnie nieczytelny. Pozdrawiam.
Kiedyś skądś to ściągnąłem, lecz niestety byłem za młody i za głupi, żeby zapisać adres w jakimś README. Dzisiaj nie mogę tego namierzyć w sieci a niewykluczone że ten dokument jest nadal rozwijany i uzupełniany...
Bardzo dziękuję za przesłane materiały. Ze schematu wynika, że liczniki poly taktowane są zegarem 1,79MHz, i następnie zatrzaskiwane w przerzutniku zegarem o częstotliwości akustycznej. Wydaje się, że przy tak dużej różnicy częstotliwości musi tu być trochę przypadkowości, np. w przypadku gdy oba impulsy z dwóch generatorów występują na granicy przejścia 0 w 1 - raz impulsy mogą przejść, a raz nie.......... Czy znane są dokończone projekty Pokey'a w VHDL, albo jakimś mikrokontrolerze?
Ten adres to: ->link<- - rysowałem ja i już nie rozwijam. Nie jestem elektronikiem, proszę tego nie traktować jako działający schemat. Candle twierdził, że są błędy. Później pojawił się pełny, godny zaufania schemat: ->link<-
Wydaje się, że przy tak dużej różnicy częstotliwości musi tu być trochę przypadkowości, np. w przypadku gdy oba impulsy z dwóch generatorów występują na granicy przejścia 0 w 1 - raz impulsy mogą przejść, a raz nie
Nie ma przypadkowości, bo częstotliwości audio powstają przez podział zegara 1.77MHz. Natomiast niektóre częstotliwości audio "nie stroją" z określonymi zniekształceniami, np. poly 4-bitowy ma okres 15 cykli, więc nie sprawdzi się z dzielnikiem o okresie będącym wielokrotnością 15 cykli. Muzycy mówią, że POKEY wtedy "fałszuje".
Czy znane są dokończone projekty Pokey'a w VHDL, albo jakimś mikrokontrolerze?
Tylko że prawdziwy POKEY zachowuje się inaczej niż by wynikało z tego schematu. I wiem że ten schemat jest praktycznie identyczny z tym z Atari Museum. Może ja te schematy źle interpretuję.
Jakiś przykład, co zachowuje się inaczej? W Atari Museum jest skan oryginalnego projektu układu, na podstawie którego ten układ powstał. Niestety skan jest słabej jakości. Schemat zamieszczony na forum Atari Age, o ile wiem, powstał na podstawie specjalistycznej fotografii wnętrza układu.
Projekty o których mowa (może się mylę) ale, albo zamarzły (2014), albo nie weszły do szerszej produkcji, abo nie są udostępniane. Dla mnie marzeniem jest implementacja POKEYa (najlepiej 4x i w stereo) w ogólnie dostępnym module np. arduino DUE, albo DISCOVERY ST32 z wyjściem audio (mimo wszystko własna produkcja PCB i lutowanie układów w obudowach QFP albo BGA trochę odstrasza szarego hobbistę). Czytając jednak ten post okazuje się, że POKEY ma więcej tajemnic niż by się wydawało...
Analizując liczniki poly wynika, że barwa dźwięku zależy nie tylko od dzielnika częstotliwości, ale również od momentu rozpoczęcia próbkowania. Sekwencja wynikająca z próbkowania co N bitów daje różne sekwencje w zależności od którego bitu rozpoczniemy (A jednak mimo to bas w Draconusie brzmi zawsze tak samo). Czy można mieć wpływ na to od którego bitu rozpocznie się próbkowanie np. przez odliczenie opóźnienia? Umożliwiłoby to utworzenie całkiem nowych tablic jednokanałowych (8-bitowych) basów. Czy ktoś już to próbował?
W przypadku basu Draconusa okres timera jest zawsze wzajemnie pierwszy z liczbą 15. Przez co sekwencja zawsze przebiega przez wszystkie 15 bitów, choć może w różnej kolejności dla różnych okresów timera. To daje różnice w fazach składowych harmonicznych, ale ucho ludzkie nie jest wrażliwe na takie różnice.
Natomiast gdy okres próbkowania nie jest wzajemnie pierwszy z 15, to jak najbardziej dostajesz różne brzmienia i można to kontrolować. Są to znane od lat techniki.
To znaczy, kiedy okres jest podzielny przez 3 i nie przez 5, to masz 3 różne brzmienia, a kiedy jest podzielny przez 5 i nie przez 3, to tylko jedno, bo przypadkiem tak wyszło. A kiedy jest podzielny przez 15, to w ogóle nie gra, bo ciągle trafiasz na ten sam bit.
The bass (?) in Draconus uses 16 bit resolution, one channel clocked at 1,79 MHz . The start of the instrument is as different as in 8 bit and one channel, but the face of the noise doesn't change too much, caused by the higher resolution.
Dziękuję za informacje. Jednak skoro są to znane od lat techniki to w jaki sposób można kontrolować miejsce rozpoczęcia liczenia? Np dla wzorca POLY4 000111011001010 gdybym chciał rozpocząć próbkowanie od 4 bitu? Czy za pomocą resetowania rejestru SKCTL, ale jak odliczyć czas skoro liczniki pędzą z częstotliwością 1,77MHz? Nie zauważyłem tej funkcji w programach muzycznych. Czy są utwory muzyczne wykorzystujące tą technikę?
Liczniki poly można zresetować zapisując zera do bitów 0 i 1 SKCTL, a timery przez zapis do STIMER (lub zapis zera do AUDFx i czekanie przez chwilę). Jak dobierzesz odpowiednie opóźnienia pomiędzy zapisem do SKCTL, a zapisem do STIMER, to uzyskasz różne efekty.
Nie wiem czy są jakieś utwory muzyczne, które to wykorzystują, pewnie nie ma. Ja mam tylko eksperymentalne programiki, które grają proste sekwencje dźwięków. Są w załączniku - możesz sobie przeanalizować (Uwaga: bass10b.com nie działa w Altirzrze)