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
     
    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
     
    ten SAP type R to nie jest przypadkiem zapis 9 wartości dla rejestrów POKEY-a
    • 3:
       
      CommentAuthorbocianu
    • CommentTime6 Mar 2021
     
    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
     
    @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
     
    @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
     
    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
     
    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
     
    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
     
    @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
     
    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 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
     
    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
     
    @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
     
    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
     
    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
     
    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 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 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 zmieniony
     
    prostokąt pyka na moim łubudubuntu
    • 20: CommentAuthorilmenit
    • CommentTime12 Mar 2021
     
    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 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 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
     
    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 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
     
    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 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
     
    O! Brawo za update, czekamy na kolejne! :D
    • 28:
       
      CommentAuthorKrótki
    • CommentTime9 Sep 2021
     

    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
     
    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
     
    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
     
    czyli drzwi do trackerów WEB-owyh zostały otwarte
    • 32: CommentAuthormrk
    • CommentTime25 Sep 2021 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
     
    Bardzo ładnie gra.
    • 34: CommentAuthortatqoo
    • CommentTime25 Sep 2021 zmieniony
     
    Bionic Commando bardzo miodne jest.
    • 35:
       
      CommentAuthorpirx
    • CommentTime25 Sep 2021
     
    ależ niesamowita robota, KUDOS!!!
    • 36:
       
      CommentAuthorDracon
    • CommentTime26 Sep 2021
     
    Genialnie brzmi ale byłoby super aby odtwarzało także SAPy innych typów, w tym digitki. :)
    • 37: CommentAuthormrk
    • CommentTime26 Sep 2021
     
    @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
     
    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
     
    Potwierdzam. Działa spoko. Gratuluję! :)
    • 40: CommentAuthormrk
    • CommentTime3 Oct 2021
     
    @tatqoo wygląda na to że na Twoich kawałkach też testowałem ;)

    ->link<-
    • 41: CommentAuthormrk
    • CommentTime3 Oct 2021 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
     
    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
     
    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 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 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
     
    Oba. Safari i Chrome też.
    • 47:
       
      CommentAuthorjhusak
    • CommentTime3 Oct 2021
     
    Dlaczego ja tu nie gram?
    • 48: CommentAuthormrk
    • CommentTime3 Oct 2021 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 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
     
    @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