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 21:08
       
      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 22:08
       
      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 21:08
       
      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 00:08
       
      Znane są. Autorem jednego jest Candle (SimpleStereo), autorem drugiego jest Pasiu (Evie).
      • 5: CommentAuthor0xF
      • CommentTime12 Aug 2018 09:08 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 15:08
       
      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 19:08
       
      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 21:08 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 19:08
       
      Jak długo trwają te impulsy?
      • 10: CommentAuthorantrykot
      • CommentTime13 Aug 2018 22:08 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 09:08
       
      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 09:08
       
      Btw: this tune is full of playing with the "two phase" effect. Listen particular at 35 seconds.



      • 13: CommentAuthorantrykot
      • CommentTime14 Aug 2018 13:08 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 19:08
       
      OK, I see. I thought the thread was about the tone generators.
      You're about digitizing.
      • 15: CommentAuthorgolomolo
      • CommentTime16 Aug 2018 18:08
       
      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 21:08
       
      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 22:08 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 22:08
       
      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 18:08
       
      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 20:08
       
      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)