atarionline.pl Liczniki poly w POKEY - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1: CommentAuthorgolomolo
    • CommentTime9 Aug 2018
     
    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.
    • 2: CommentAuthormono
    • CommentTime9 Aug 2018
     
    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...
    • 3: CommentAuthorgolomolo
    • CommentTime11 Aug 2018
     
    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?
    • 4: CommentAuthormono
    • CommentTime12 Aug 2018
     
    Znane są. Autorem jednego jest Candle (SimpleStereo), autorem drugiego jest Pasiu (Evie).
    • 5: CommentAuthor0xF
    • CommentTime12 Aug 2018 zmieniony
     
    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?

    ->link<-
    • 6: CommentAuthorantrykot
    • CommentTime12 Aug 2018
     
    pełny, godny zaufania schemat

    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ę.
    • 7: CommentAuthor0xF
    • CommentTime12 Aug 2018
     
    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.
    • 8: CommentAuthorantrykot
    • CommentTime12 Aug 2018 zmieniony
     
    POKEY potrafi produkować impulsy, których czas trwania nie jest całkowitą liczbą cykli - jak to wyjaśnić na podstawie tych schematów?

    W załączniku mały przykład.
    • 9: CommentAuthor0xF
    • CommentTime13 Aug 2018
     
    Jak długo trwają te impulsy?
    • 10: CommentAuthorantrykot
    • CommentTime13 Aug 2018 zmieniony
     
    (2n+1)/2 cykli, czyli 0.5, 1.5, 2.5 itd...

    To można by wyjaśnić zegarem dwufazowym, ale wg schematu obydwa sygnały na wejściu bramki XOR zmieniają się w tej samej fazie.
    • 11: CommentAuthoremkay
    • CommentTime14 Aug 2018
     
    antrykot

    Not sure, if I understand this sentence correctly. Could you write it in other words?

    "POKEY potrafi produkować impulsy, których czas trwania nie jest całkowitą liczbą cykli - jak to wyjaśnić na podstawie tych schematów? "
    • 12: CommentAuthoremkay
    • CommentTime14 Aug 2018
     
    Btw: this tune is full of playing with the "two phase" effect. Listen particular at 35 seconds.



    • 13: CommentAuthorantrykot
    • CommentTime14 Aug 2018 zmieniony
     
    Hi, emkay

    I am talking about this discovery by phaeron:
    It appears that the high-pass takes effect about a half cycle off from the output flip/flop.

    ->link<-
    • 14: CommentAuthoremkay
    • CommentTime14 Aug 2018
     
    OK, I see. I thought the thread was about the tone generators.
    You're about digitizing.
    • 15: CommentAuthorgolomolo
    • CommentTime16 Aug 2018
     
    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...
    • 16: CommentAuthorgolomolo
    • CommentTime20 Aug 2018
     
    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ł?
    • 17: CommentAuthorantrykot
    • CommentTime20 Aug 2018 zmieniony
     
    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.
    • 18: CommentAuthoremkay
    • CommentTime20 Aug 2018
     
    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.
    • 19: CommentAuthorgolomolo
    • CommentTime21 Aug 2018
     
    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ę?
    • 20: CommentAuthorantrykot
    • CommentTime21 Aug 2018
     
    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)