atarionline.pl Emulacja POKEY'a w przeglądarce - 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:
         
        CommentAuthorbocianu
      • CommentTime6 Mar 2021 23:03
       
      bład nie wyskakuje, bo nie sprawdzam czy plik jest dobry :) na szybko składałem, czy w ogole zadziała.
      @mav: czy jest type R można podejrzeć wewnątrz pliku. one mają tekstowe nagłówki i jest tam typ podany.

      @Dracon: mrk pisał, że volume-only mode jeszcze nie ma, wiec sample nie chodzą (mam nadzieje, że na razie ;))
      • 2: CommentAuthortebe
      • CommentTime6 Mar 2021 23:03
       
      ten SAP type R to nie jest przypadkiem zapis 9 wartości dla rejestrów POKEY-a
      • 3:
         
        CommentAuthorbocianu
      • CommentTime6 Mar 2021 23:03
       
      Tak, to właśnie ten.
      Surowy strumień danych do rejestrów.
      Dlatego tak łatwo i szybko się dało napisać player :)
      • 4: CommentAuthormrk
      • CommentTime6 Mar 2021 23:03
       
      @jhusak
      Zrobiłem eksperyment w atari800 ustawiając te rejestry: ->link<- jak zasugerowałeś, co daje stuknięcie co 4 sekundy. I faktycznie zmiana częstotliwości na wysoką działa dopiero po skończeniu bieżącej połówki okresu :) czyli brak jest natychmiastowego resetu tych liczników (i okazuje się że moja implementacja jest poprawna). Dzięki za pomoc.

      @bocianu volume-only mode oczywiście będzie, muszę tylko wcześniej zmienić nieco protokół i dodać timestamp (i pozwolić pewnie też przesyłać na raz większe strumienie rejestrów, trzeba przemyśleć jak to ma wyglądać).

      SAP type R bardzo mi się podoba, na pewno dodam opcję zrzucania audio w ten sposób w
      emulatorze.
      • 5: CommentAuthorilmenit
      • CommentTime7 Mar 2021 13:03
       
      @mrk - nie odnośnie Pokeya, ale grafiki - jaką paletę używasz? Podstawową z emulatora Atari800? Co byś powiedział na użycie innej jako podstawowej, np. tej z Altirra?
      • 6:
         
        CommentAuthorKaz
      • CommentTime7 Mar 2021 13:03
       
      Ilmenit - to tak z ciekawości, chociaż to poboczna dyskusja - dlaczego uważasz paletę z Altirry za lepszą od innych?
      • 7: CommentAuthorilmenit
      • CommentTime7 Mar 2021 13:03
       
      nie uważam za najlepszą, ale lepszą od tej z Atari800 ;)
      O ile pamiętam to ta z Altirry jest oparta na tym jak teoretycznie powinna wyglądać, ponieważ jest generowana według algorytmu ze schematów sprzętu.
      Dyskusji o "najlepszej" palecie było wiele i wszystkich się nie zadowoli. Nawet każdy grafik ma swoje preferencje (g2f, laoo, olivierpal, real, jakub).
      • 8:
         
        CommentAuthorKaz
      • CommentTime7 Mar 2021 13:03
       
      Tak, to prawda, że są różne upodobania. PS. OliverPAL i OliverNTSC też są generowane algorytmem, a wyszły zupełnie inaczej niż w AltirraPAL i AltirraNTSC :)
      • 9: CommentAuthormrk
      • CommentTime7 Mar 2021 13:03
       
      @ilmenit @Kaz na razie jest do domyślna paleta z atari800. (mogę łatwo przełączyć na dowolną inną paletę w formacie act, docelowo będzie się dało na pewno ustawić swoją)
      • 10:
         
        CommentAuthorKaz
      • CommentTime7 Mar 2021 16:03
       
      I to jest bardzo dobre rozwiązanie. Zawsze namawiam do tego, by była możliwość załadowania palety, bo tak jak napisał Ilmenit - są różne gusta i przyzwyczajenia wśród grafików, graczy, użytkowników.
      • 11: CommentAuthormrk
      • CommentTime11 Mar 2021 12:03 zmieniony
       
      Wracając do tematu wątku.

      Zainspirowany przez POC'a @bocianu zmodyfikowałem nieco jego player SAP type R:
      * poprawne rozpoznawanie typu (odmówi odtwarzania typów innych niż R zamiast odtwarzać sieczkę)
      * poprawna obsługa prędkości odtwarzania (z wyjątkiem niskich wartości FASTPLAY, na razie maksymalna prędkość odtwarzania to ok 4 / ramkę)
      * kontrolki do sterowania odtwarzaniem (play / pause / stop / ramka do tyłu / ramka do przodu + seek bar)
      * drag & drop rozszerzony na url'e (nie trzeba ściągać pliku lokalnie, można przeciągnąć po prostu URL do odtwarzacza)
      * możliwość przekazania URL'a do odtwarzania w URL'u do playera - w poniższych przykładach odtwarzane są załączniki z tego post'a :)

      Przykłady:

      Fred: ->link<-
      Lasermania#1: ->link<-
      Zybex: ->link<-

      W powyższych przykładach Fred został zrzucony za pomocą Altirry, dwa kolejne SAP'y za pomocą "GoodEnough Emulator"
      • 12: CommentAuthorbruno_j
      • CommentTime11 Mar 2021 18:03
       
      Na PC w Vivaldi działa super. Na tablecie z Adroidem 10, też pod Vivaldi, działa chimerycznie, gubi dźwięki i co najważniejsze nie trzyma tempa i strasznie szarpie, ale ogólnie to raczej zwalnia.
      • 13: CommentAuthormrk
      • CommentTime11 Mar 2021 19:03
       
      @bruno_j - jeżeli nie trzyma templa i zwalnia, to prawdopodobnie CPU nie wyrabia (POKEY jest taktowany zegarem 1.7Mhz i na koniec trzeba całość przesamplować do 48kHz aplikując wcześniej filtr dolnoprzepustowy i to jest najbardziej zasobożerna na razie część, na pewno uda się to jakoś docelowo zoptymalizować)
      • 14: CommentAuthorbruno_j
      • CommentTime11 Mar 2021 19:03
       
      Co prawda procek w tablecie to skromny MediaTek MT8768 2.00 GHz 4 rdzenie, ale z pokeyem to chyba sobie powinien poradzić.
      • 15:
         
        CommentAuthorpirx
      • CommentTime11 Mar 2021 19:03
       
      wspaniała rzecz, dzięmkujemy!
      (raporcik - u mnie na wypasionym linuchu i7, 32GiB RAM, itp tnie na chromium, oprze i firefloxie, więcej browserów nie mam. widzę, że pulseaudio ciumka procka. fyi - cały emulgator działa szybciutko, więc może gdzieś trzeba jakiś sleep wrzucić czy coś)
      • 16:
         
        CommentAuthorbocianu
      • CommentTime11 Mar 2021 20:03
       
      serio Wam tnie? Ja mam jakiegoś starutkiego xeona co ma 8 lat i chodzi jak złoto :D

      Btw, dzięki za poprawienie mojego playera, a w zasadzie napisanie od nowa ;)
      • 17: CommentAuthorbruno_j
      • CommentTime11 Mar 2021 21:03 zmieniony
       
      @bocianu
      Android 10 MediaTek MT8768 2.00 GHz 4 rdzenie - tnie się
      Win 10 Core 2 Duo 2,16 GHz 2 wątki - tnie się, procek popyla na 100%
      Win 10 i5 4 rdzenie 8 wątków 4GHz(boost) - nie tnie się, procek zajęty w 20-30%

      Przeglądarka to najnowsze Vivaldi
      • 18: CommentAuthormrk
      • CommentTime11 Mar 2021 22:03 zmieniony
       
      @bruno_j @pirx - U mnie na dwóch desktopach chodzi ładnie (linux z Intel i7@2.8 GHz oraz Win10 z Intel i5), zarówno chrome jak i firefox (pod win także Edge). Coś jest nie tak natomiast na telefonie OnePlus6 (z dość mocnym procesorem SnapDragon 845@2.8Ghz) - odtwarzając czysty prostokąt słyszę regularne szybkie 'pykanie' ->link<- - możecie sprawdzić też na tym czystym prostokącie?

      Na pewno to będę debugował, jak będę miał coś nowego dam znać (na pewno spróbuję zmienić sampleRate w AudioContext (teraz wymuszam 48kHz, default to chyba 44.1kHz), będę też próbować zoptymalizować zużycie CPU (głównie uprościć jakoś ten downsampling na koniec)

      EDIT: może podpatrzę po prostu jak to robi atari800 / Altirra - samo patrzenie chyba nie zarazi mi kodu GPL'em, nie?
      • 19:
         
        CommentAuthorpirx
      • CommentTime12 Mar 2021 02:03 zmieniony
       
      prostokąt pyka na moim łubudubuntu
      • 20: CommentAuthorilmenit
      • CommentTime12 Mar 2021 09:03
       
      Pyka na Chrome na telefonie (Snapdragon 855), ale nie pyka na telefonie gdy odpalę w Firefoxie.
      Na notebooku pod Windows, zarówno Chrome i Firefox nie pyka.
      • 21: CommentAuthormrk
      • CommentTime12 Mar 2021 13:03 zmieniony
       
      Dzięki!

      To jeszcze jedna prośba. Dodałem możliwość ustawienia tzw. latencyHint w AudioContext: ->link<- - wyświetlam także aktualną wartość latency oraz userAgent z przeglądarki.

      Jeżeli macie to "pykanie" prosiłbym o zanotowanie domyślnej wartości latency i poeksperymentowanie z większymi wartościami wpisywanymi do latencyHint oraz podesłanie mi tych trzech rzeczy - domyślna wartość latency, userAgent oraz wartość dla której dźwięk zaczyna być odtwarzany czysto.

      Przykładowo u mnie:

      Latency: 0.021333333333333333

      UserAgent: Mozilla/5.0 (Linux: Android 10; ONEPLUS A6003) AppleWebKit/537.36 (KIITML, like Gecko) Chrome/88.0.4324.181 Mobile Safari/537.36

      Przestaje pykać od: 0.1

      EDIT: właśnie zauważyłem że to raportowanie latency nie działa w Firefox (ale tam generalnie odtwarzanie wydaje się działać lepiej)
      • 22: CommentAuthorilmenit
      • CommentTime12 Mar 2021 14:03 zmieniony
       
      Chrome mobile:
      test1 - minimalna wartość 0.04 i nie pyka
      test2 - po restarcie - minimalna wartość 0.06 i nie pyka

      Latency: 0.021333333333333333
      UserAgent: Mozilla/5.0 (Linux; Android 11; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.181 Mobile Safari/537.36
      • 23:
         
        CommentAuthorpirx
      • CommentTime12 Mar 2021 19:03
       
      pyka
      Latency: 0.021333333333333333

      UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36


      pyka b. rzadko dla
      Latency: 0.096
      • 24: CommentAuthorbruno_j
      • CommentTime12 Mar 2021 20:03 zmieniony
       
      Tablet o którym wspominałem. UserAgent: Mozilla/5.0 (Linux; Android 10; KOB2-W09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.186 Mobile Safari/537.36

      Po uruchomieniu na domyślnym latency 0.0213333333 nie pyka.
      Przy próbie zmiany pyka na wszystkich wartościach poniżej 0.1 :(

      Na lapku z i5 W10 mogę wstawiać cokolwiek i nie pyka.

      [Edit] Core 2 Duo 2.16 GHz W10 na domyślnych pyka.

      Latency: 0.03
      UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.186 Safari/537.36 - Nie pyka dopóki nie ruszam myszą.
      • 25:
         
        CommentAuthorDracon
      • CommentTime12 Mar 2021 21:03
       
      Nooo, teraz to jest super, odtwarza się praktycznie perfekcyjnie, przynajmniej z tymi załączonymi 3 muzyczkami powyżej. :)
      Na 5-letnim kompie stacjonarnym i7, mam tak:
      Latency: 0
      UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0
      :)
      • 26: CommentAuthormrk
      • CommentTime9 Sep 2021 01:09 zmieniony
       
      Znalazłem nareszcie trochę czasu by podpiąć ten nowy engine POKEY'a do GoodEnough Atari Emulator. Przy okazji okazało się że programy mylnie wykrywają stereo w GEAE (wygląda na to że powodem jest brak obsługi przerwań timer'ów POKEY'a). Zaimplementowanie obsługi przerwań POKEY'a by poprawnie działała detekcja stereo mija się z celem, więc po prostu dopisałem obsługę drugiego POKEY'a :) - I wygląda na to że stereo działa całkiem nieźle:

      ->link<-

      Przy okazji testowania stereo odpaliłem też Yoompa: ->link<- - i niestety chyba filtry górnoprzepustowe brzmią tu jakoś bardzo źle, spróbuję to jakoś podebugować.

      W międzyczasie poprawiła się chyba obsługa WebAudio API w Chrome - wcześniej miałem to nieszczęsne 'pykanie' na słuchawkach bluetooth (na głośnikach laptopa było ok), ostatnia wersja Chrome odtwarza poprawnie także na słuchawkach Bluetooth.
      • 27:
         
        CommentAuthorKaz
      • CommentTime9 Sep 2021 10:09
       
      O! Brawo za update, czekamy na kolejne! :D
      • 28:
         
        CommentAuthorKrótki
      • CommentTime9 Sep 2021 12:09
       

      mrk:

      Przy okazji testowania stereo odpaliłem też Yoompa: ->link<- - i niestety chyba filtry górnoprzepustowe brzmią tu jakoś bardzo źle, spróbuję to jakoś podebugować.

      Dżwięk to mały problem, w porównaniu z rozgrywką, która jest "popsuta" przez to, że tunel przesuwa się za wolno. W tej grze przy każdym odbiciu piłki tunel powinien się przesuwać o długość dokładnie jednego kafelka w przód, a tu tak nie jest.
      • 29: CommentAuthormrk
      • CommentTime9 Sep 2021 15:09
       
      O, to ciekawe, dzięki, w sumie bardzo ciekawe co tu się mogło stać :) Nigdy nie grałem w Yoompa to i nie zauważyłem, odpaliłem go by stereo potestować.
      • 30: CommentAuthormrk
      • CommentTime17 Sep 2021 16:09
       
      Właśnie wydzieliłem emulator pokey'a do oddzielnego repozytorium: ->link<-

      więc powinno być łatwiej teraz użyć tego w innych projektach. Zapraszam do przeklikania przykładów.

      Jeżeli komuś uda się wygenerować tutaj: ->link<- dźwięk znacząco różny od tego w fizycznym Atari / Altirze to bardzo proszę o przykłady (wystarczy przekleić linka)
      • 31: CommentAuthortebe
      • CommentTime18 Sep 2021 13:09
       
      czyli drzwi do trackerów WEB-owyh zostały otwarte
      • 32: CommentAuthormrk
      • CommentTime25 Sep 2021 13:09 zmieniony
       
      Update:

      Web-Pokey przeszedł ostatnio sporo testów na siostrzanym forum AtariAge: ->link<- dzięki czemu udało się poprawić kilka bugów i zaimplementować kilka rzeczy w odtwarzaczu SAP-R (na przykład odtwarzanie plików STEREO)

      Poprawiony web-pokey jest już używany też przez Good-Enough Atari Emulator ->link<- który zyskał możliwość zapisywania dźwięku w SAP-R

      Przykładowe pliki SAP-R stereo:

      Flob - Intro: ->link<-
      Flob - Escape from the Lab: ->link<-
      Yoomp: ->link<-

      Inne przykłady pozbierane z powyższego wątku na AA:

      emkay's hybris mod conversion: ->link<-
      VinsCool's Xenon conversion: ->link<-
      VinsCool's Battle Squadron: ->link<-
      Enderdude's Bionic Commando: ->link<-
      warlocke.sapr by emkay: ->link<-
      Pinky XMAS Edition - Overworld 1: ->link<-
      Stranded on the Surface of Io: ->link<-
      Agent X II (C64) - Level 1: ->link<-
      Corridors of Time: ->link<-
      A Permanent Temporary Solution: ->link<-
      Custom AUDCTL Envelope Test Tune: ->link<-
      • 33: CommentAuthormono
      • CommentTime25 Sep 2021 14:09
       
      Bardzo ładnie gra.
      • 34: CommentAuthortatqoo
      • CommentTime25 Sep 2021 18:09 zmieniony
       
      Bionic Commando bardzo miodne jest.
      • 35:
         
        CommentAuthorpirx
      • CommentTime25 Sep 2021 20:09
       
      ależ niesamowita robota, KUDOS!!!
      • 36:
         
        CommentAuthorDracon
      • CommentTime26 Sep 2021 22:09
       
      Genialnie brzmi ale byłoby super aby odtwarzało także SAPy innych typów, w tym digitki. :)
      • 37: CommentAuthormrk
      • CommentTime26 Sep 2021 22:09
       
      @Dracon - ten player to tylko przykład wykorzystania modułu POKEY'a i raczej nie będę już bardziej go rozbudowywał. Ale może powstanie wersja 'standalone' która pod spodem uruchomi sobie GoodEnough emulator do odtwarzania innych typów - kto wie.

      Obecny player powinien za to odtwarzać bez problemu SAP'R z volume-only i wysokim FASTPLAY - znacie może jakieś? Planuję sam coś zgrać, ale do tego muszę poprawić SAP recorder w emulatorze by potrafił zrzucać z większą prędkością (na razie tylko raz na ramkę).
      • 38: CommentAuthormrk
      • CommentTime3 Oct 2021 01:10
       
      Innych typów SAP nie ma dalej, ale za to całkiem już nieźle działający player RMT: ->link<-

      Nie bijcie tylko za UI ;)
      • 39: CommentAuthortatqoo
      • CommentTime3 Oct 2021 01:10
       
      Potwierdzam. Działa spoko. Gratuluję! :)
      • 40: CommentAuthormrk
      • CommentTime3 Oct 2021 02:10
       
      @tatqoo wygląda na to że na Twoich kawałkach też testowałem ;)

      ->link<-
      • 41: CommentAuthormrk
      • CommentTime3 Oct 2021 02:10 zmieniony
       
      Bierzcie i słuchajcie ;) Że też ja w czasie testów nie wpadłem na to że wygenerowanie tej listy to kilka sekund :)

      30minutes.rmt ->link<-
      4tk35.rmt ->link<-
      astrosphere.rmt ->link<-
      bazalt.rmt ->link<-
      hightide.rmt ->link<-
      ilusia.rmt ->link<-
      m4700rk4.rmt ->link<-
      naue.rmt ->link<-
      shorty_noises.rmt ->link<-
      sunset_on_the_moon.rmt ->link<-
      thrust.rmt ->link<-

      examples/audctl.rmt ->link<-
      examples/bassandnoise.rmt ->link<-
      examples/humblebee.rmt ->link<-
      examples/likeac64.rmt ->link<-
      examples/multiecho.rmt ->link<-
      examples/speedchanges.rmt ->link<-
      examples/trackloops.rmt ->link<-
      examples/volumeonly.rmt ->link<-

      kjmann/actrsr1-3ch.rmt ->link<-
      kjmann/actrsr1.rmt ->link<-
      kjmann/actrsr1-stereo.rmt ->link<-
      kjmann/AXELF.rmt ->link<-
      kjmann/axk8.rmt ->link<-
      kjmann/baby_elephant_walk.rmt ->link<-
      kjmann/battle_march.rmt ->link<-
      kjmann/Battle_Squadron.rmt ->link<-
      kjmann/Battle_Squadron-stereo.rmt ->link<-
      kjmann/BE_store.rmt ->link<-
      kjmann/bmaster1-4ch.rmt ->link<-
      kjmann/bmaster1.rmt ->link<-
      kjmann/bmaster1-stereo.rmt ->link<-
      kjmann/bubble_bobble.rmt ->link<-
      kjmann/crockett.rmt ->link<-
      kjmann/cybernoid_II.rmt ->link<-
      kjmann/Duke_Nuke'Em.rmt ->link<-
      kjmann/elite-mono1.rmt ->link<-
      kjmann/elite-stereo.rmt ->link<-
      kjmann/everybreath.rmt ->link<-
      kjmann/Final_Fantasy.rmt ->link<-
      kjmann/frogger.rmt ->link<-
      kjmann/Hybris.rmt ->link<-
      kjmann/mm3.rmt ->link<-
      kjmann/mm3-stereo.rmt ->link<-
      kjmann/mule-remix4ch.rmt ->link<-
      kjmann/mule.rmt ->link<-
      kjmann/obliterator-mono.rmt ->link<-
      kjmann/obliterator-stereo.rmt ->link<-
      kjmann/outrun/last_wave.rmt ->link<-
      kjmann/outrun/magi-mono.rmt ->link<-
      kjmann/outrun_medley.rmt ->link<-
      kjmann/outrun/OR_Magi-stereo.rmt ->link<-
      kjmann/outrun/passing_breeze-mono.rmt ->link<-
      kjmann/outrun/passing_breeze-stereo.rmt ->link<-
      kjmann/outrun/splash_wave-mono.rmt ->link<-
      kjmann/outrun/splash_wave-stereo.rmt ->link<-
      kjmann/popcorn2-16bit.rmt ->link<-
      kjmann/rtype.rmt ->link<-
      kjmann/Shadows.rmt ->link<-
      kjmann/shot.rmt ->link<-
      kjmann/skidrow.rmt ->link<-
      kjmann/smb2.rmt ->link<-
      kjmann/SPH_Main16.rmt ->link<-
      kjmann/stardust.rmt ->link<-
      kjmann/Tempest/Tempest_Xtrm-Mono3ch_Bonus.rmt ->link<-
      kjmann/Tempest/Tempest_Xtrm-Mono3ch_Sng1.rmt ->link<-
      kjmann/Tempest/Tempest_Xtrm-Mono3ch_Sng2.rmt ->link<-
      kjmann/Tempest/Tempest_Xtrm-Mono3ch_Sng3.rmt ->link<-
      kjmann/Tempest/Tempest_Xtrm-Mono4ch_Sng1.rmt ->link<-
      kjmann/Tempest/Tempest_Xtrm-Mono_Title.rmt ->link<-
      kjmann/Tempest/Tempest_Xtrm-Stereo_Sng1.rmt ->link<-
      kjmann/Tempest/Tempest_Xtrm-Stereo_Title.rmt ->link<-
      kjmann/toobin.rmt ->link<-
      kjmann/toobin_title.rmt ->link<-
      kjmann/trans_Atlantic.rmt ->link<-
      kjmann/unveiled.rmt ->link<-

      lisu/funny.rmt ->link<-
      lisu/gerappaa.rmt ->link<-
      lisu/kurczak.rmt ->link<-
      lisu/przyrada.rmt ->link<-
      lisu/wyjasnijmy_to_sobie.rmt ->link<-

      miker/7_gates_of_jambala.rmt ->link<-
      miker/acidjazzed_evening.rmt ->link<-
      miker/astaroth.rmt ->link<-
      miker/bomb_jack.rmt ->link<-
      miker/disturbance.rmt ->link<-
      miker/easter_chickens.rmt ->link<-
      miker/enchanted_lands.rmt ->link<-
      miker/flimbo.rmt ->link<-
      miker/flowers_mania.rmt ->link<-
      miker/ghosts_n_goblins.rmt ->link<-
      miker/jetboy.rmt ->link<-
      miker/logical_3.rmt ->link<-
      miker/menace_song.rmt ->link<-
      miker/my_first_one_in_rmt.rmt ->link<-
      miker/tempest2000_blue_level.rmt ->link<-
      miker/the_last_ninja_2_central_park.rmt ->link<-
      miker/torvak_level_2.rmt ->link<-
      miker/tyrian_zanac5.rmt ->link<-
      miker/wings_of_death_lv2.rmt ->link<-

      nilsfeske/delight.rmt ->link<-
      nilsfeske/nothing.rmt ->link<-
      nilsfeske/takeoff.rmt ->link<-

      nooly/amelie.rmt ->link<-
      nooly/aoki.rmt ->link<-
      nooly/summer.rmt ->link<-

      pg/against_time.rmt ->link<-
      pg/brainless.rmt ->link<-
      pg/deflektor.rmt ->link<-
      pg/devils.rmt ->link<-
      pg/gpc.rmt ->link<-
      pg/hammastahna.rmt ->link<-
      pg/happy_sundays.rmt ->link<-
      pg/jozin_z_bazin.rmt ->link<-
      pg/kaviar.rmt ->link<-
      pg/krakout.rmt ->link<-
      pg/lcd3cd3.rmt ->link<-
      pg/radixex.rmt ->link<-
      pg/somewhere.rmt ->link<-
      pg/stardust_memories.rmt ->link<-
      pg/strangled_mind.rmt ->link<-
      pg/summerdays.rmt ->link<-
      pg/vietnamska_mise.rmt ->link<-
      pg/xmasmix.rmt ->link<-

      raster/3d.rmt ->link<-
      raster/aspir332.rmt ->link<-
      raster/astro4road.rmt ->link<-
      raster/aurora_m.rmt ->link<-
      raster/aurora_s.rmt ->link<-
      raster/basix.rmt ->link<-
      raster/cervi2.rmt ->link<-
      raster/cubico.rmt ->link<-
      raster/delta.rmt ->link<-
      raster/first.rmt ->link<-
      raster/gearup.rmt ->link<-
      raster/gemx.rmt ->link<-
      raster/glu.rmt ->link<-
      raster/hexxagon.rmt ->link<-
      raster/horror.rmt ->link<-
      raster/imsure.rmt ->link<-
      raster/indianajones4.rmt ->link<-
      raster/itdoesnt.rmt ->link<-
      raster/l45tm1nut3.rmt ->link<-
      raster/mab.rmt ->link<-
      raster/nopromis.rmt ->link<-
      raster/paulthep.rmt ->link<-
      raster/satellit.rmt ->link<-
      raster/threeht.rmt ->link<-
      raster/timett.rmt ->link<-
      raster/turrican2_rev2m.rmt ->link<-
      raster/turrican2_rev2s.rmt ->link<-
      raster/whoknows.rmt ->link<-

      sack_cosine/commando.rmt ->link<-
      sack_cosine/freedom.rmt ->link<-
      sack_cosine/maynoaise.rmt ->link<-
      sack_cosine/monty.rmt ->link<-
      sack_cosine/parallax.rmt ->link<-
      sack_cosine/plasticpop.rmt ->link<-
      sack_cosine/smells.rmt ->link<-

      tatqoo/anmen3_stereo.rmt ->link<-
      tatqoo/byzex.rmt ->link<-
      tatqoo/deluxe8ch.rmt ->link<-
      tatqoo/forgotten_low.rmt ->link<-
      tatqoo/garydenise.rmt ->link<-
      tatqoo/grtfun.rmt ->link<-
      tatqoo/monday.rmt ->link<-
      tatqoo/ninjas.rmt ->link<-
      tatqoo/oldschool.rmt ->link<-
      tatqoo/ramaja.rmt ->link<-
      tatqoo/thermostat7.rmt ->link<-
      tatqoo/white_lamp.rmt ->link<-
      • 42: CommentAuthortatqoo
      • CommentTime3 Oct 2021 20:10
       
      Update. Nie wiem jak u innych, ale na moim Ipadzie (IOS 15) w ogóle to nie chce działać. Startuje z opóźnieniem a gra straznie wolno jakby przeglądarka w ogóle nie wyrabiała. Nie da się słuchać.
      • 43: CommentAuthortatqoo
      • CommentTime3 Oct 2021 20:10
       
      Error report:

      W moim oldskul filink z newer daj na samym początku jest taki zjazd na bębnach w dół. Tutaj to gra jakby zupełnie czystym dźwiękiem.
      • 44: CommentAuthormrk
      • CommentTime3 Oct 2021 20:10 zmieniony
       

      tatqoo:

      Update. Nie wiem jak u innych, ale na moim Ipadzie (IOS 15) w ogóle to nie chce działać. Startuje z opóźnieniem a gra straznie wolno jakby przeglądarka w ogóle nie wyrabiała. Nie da się słuchać.


      Czyżby safari? Niby nie wygląda to źle jak patrzę na ->link<-

      Kawałki mono (4 kanały) też tak samo tną?


      tatqoo:

      W moim oldskul filink z newer daj na samym początku jest taki zjazd na bębnach w dół. Tutaj to gra jakby zupełnie czystym dźwiękiem.


      Dzięki, mam to. Poprawię. Całość powstała dość szybko i pewnie takich kwiatków jest jeszcze sporo.
      • 45:
         
        CommentAuthormav
      • CommentTime3 Oct 2021 21:10 zmieniony
       
      Jak jest stereo, to nie 'debuguje' pozostałych 4 kanałów - a lubię sobie patrzeć na te cyferki :D

      Ogólnie lubię patrzeć w trackerach, jak patterny lecą :D
      • 46: CommentAuthortatqoo
      • CommentTime3 Oct 2021 21:10
       
      Oba. Safari i Chrome też.
      • 47:
         
        CommentAuthorjhusak
      • CommentTime3 Oct 2021 21:10
       
      Dlaczego ja tu nie gram?
      • 48: CommentAuthormrk
      • CommentTime3 Oct 2021 21:10 zmieniony
       

      mav:

      Jak jest stereo, to nie 'debuguje' pozostałych 4 kanałów

      Tak, wiem, poprawię. A jeśli chodzi o debug to polecam włączenie sobie konsoli js w przeglądarce :)
      EDIT: poprawione

      jhusak:

      Dlaczego ja tu nie gram?

      ? Chodzi o linki które wrzuciłem wyżej? to kawałki z katalogu 'songs' z rmt 1.28
      • 49:
         
        CommentAuthorjhusak
      • CommentTime3 Oct 2021 22:10 zmieniony
       
      :D

      Zapuściłem, kawałki tatkoo w stereo grają na 44100 na mim mb pro z 2013. Na wyższych już się tnie. Pod FF. Ale i tak szacun, że w JS to tak zapyzia.

      Na Safari tym od Mojave nie działają, pewnie dlatego: Unhandled Promise Rejection: ReferenceError: Can't find variable: AudioContext
      w linijce 61.

      Może to to? ->link<-
      • 50: CommentAuthormrk
      • CommentTime3 Oct 2021 22:10
       
      @jhusak
      Na razie oczywiście nic jeszcze nie optymalizowałem (no, prawie) - chodzi bez problemu tam gdzie testuję (m.in. leciwy OnePlus6 i kilkuletni lapek (fakt że z i7@2.8GHz)) więc jakoś motywacji nie miałem na razie :]

      Ale sporo można na pewno będzie zrobić jeśli chodzi o wydajność (łącznie z przepisaniem emulacji pokey'a do rust'a). Na razie procka zarzyna głównie chyba downsampling z 1.77Mhz do częstotliwości samplowania - może być to mocno nieoptymalne, bo to jakaś moja autorska implementacja, muszę podejrzeć jak to robi ASAP / Altirra / Atari800