atarionline.pl Emulacja ANTIC'a na GPU - 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: CommentAuthormrk
    • CommentTime12 Dec 2020
     
    Prawie! ->link<-

    Dla porównania wersja sprzed doby: ->link<- :P
    • 2:
       
      CommentAuthorsun
    • CommentTime12 Dec 2020
     
    Hehe, nieźle. Przez moment myślałem, że również sam program wykonuje się normalnie, znaczy wolniej (LaserDemo), ale przypadkiem miałem odpalone pakowanie upxem i to spowodowało znaczne zwolnienie głównego wątku dema :)
    • 3:
       
      CommentAuthorAlex
    • CommentTime12 Dec 2020
     
    U mnie niestety tnie potwornie tak, że prawie nic nie widać :/
    • 4: CommentAuthorgorgh
    • CommentTime12 Dec 2020
     
    fajne, brawo! U mnie spadł FPS jak miałem YT włączone, 8gb ram, firefox
    • 5:
       
      CommentAuthorgalu
    • CommentTime13 Dec 2020
     
    @mrk: Obie wersje już w ogóle nie działają pod Safari (nie chcę śmiecić w wątku, ale są errory w konsoli - mogę podesłać).
    Przy okazji - widziałeś nowe narzędzie w Chrome: ->link<- ?

    Alex:

    U mnie niestety tnie potwornie tak, że prawie nic nie widać :/

    Podzielisz się wynikiem ->link<- ?
    • 6:
       
      CommentAuthormav
    • CommentTime13 Dec 2020
     
    U mnie wszystko śmiga z odpowiednią prędkością na chromie
    • 7: CommentAuthormrk
    • CommentTime14 Dec 2020
     

    galu:

    Obie wersje już w ogóle nie działają pod Safari (nie chcę śmiecić w wątku, ale są errory w konsoli - mogę podesłać)

    może zrób issue na stronie projektu (o niedziałaniu na Safari) i wrzuć tam logi / opis tego co się dokładnie dzieje, możemy przyszłą dyskusję na ten temat przenieść tam. Dzisiaj uaktualniłem też bevy_webgl2 by działało z najnowszą wersją bevy i przebudowałem wszystkie examples: ->link<- - dobrze by było sprawdzić jak one się zachowują.
    • 8:
       
      CommentAuthormiker
    • CommentTime14 Dec 2020 zmieniony
     
    @mrk jeszcze się przyczepię do jednego dźwięku. W muzyce brakuje brzmienia "2" lub "6". To takie metaliczne, tak jak tutaj: ->link<-
    • 9: CommentAuthormrk
    • CommentTime14 Dec 2020
     
    @miker wiem, wiem, na tyle mnie to drażni, że wreszcie zrobię te 'filtry górnoprzepustowe' w POKEY'u :]

    BTW kolorowe bary działają: ->link<- :)

    - wspierana jest więc zmiana kolorów w ramach pojedynczego trybu ANTIC'a (dalej z dokładnością do jednej linii ekranu, większej dokładności nie przewiduję). Dalej GPU renderuje całą linię ANTIC'a na raz, dostarczam mu jednak dumpy rejestrów kolorów per scan_line
    - wymieniłem emulator CPU na inny (poprzeni mi wykonywał jedną instrukcję / cykl, co tłumaczy te zbyt szybkie animacje w LaserDemo)
    - liczę cykle CPU w linii w miarę dokładnie (po stablicowaniu tych kolorowych wykresów z Altirra Hardware Manual, strona 75)
    • 10:
       
      CommentAuthorsun
    • CommentTime14 Dec 2020 zmieniony
     
    No tak, teraz prędkość wygląda ok. Wydaje mi się, że w demie Magnusa szarpie scroll, ale to jeszcze przyjrzę się dokładnie. Tak, szarpie (ffox, edge). W edge widać kreskę na logosie, w ffox nie - a niby endżin ten sam.
    • 11:
       
      CommentAuthorDracon
    • CommentTime14 Dec 2020
     
    U mnie na fajerfoksie działa całkowicie nieźle. :)

    Czy będzie można przejść do drugiej części tego demosa
    (z kulą ziemską) ??? ;)
    • 12: CommentAuthormrk
    • CommentTime14 Dec 2020
     
    @Dracon to jest pierwsza część tego demka - ominąłem celowo - coś nie chodziło tam jak należy. Zerknę, może się naprawiło po ostatnich zmianach.
    • 13: CommentAuthormrk
    • CommentTime14 Dec 2020 zmieniony
     
    Kolejny fragment z ulubionego dema działa prawie dobrze: ->link<- - znacie? ;)
    • 14:
       
      CommentAuthorAlex
    • CommentTime15 Dec 2020
     
    @galu - nie wytrwałem, bo dokończyć te benchmarki...

    Natomiast ostatnia wersja w końcu nie tnie i normalnie widać i słychać. Jest znacznie szybciej.
    • 15: CommentAuthormono
    • CommentTime15 Dec 2020
     
    Czyli wszystkie zniekształcenia już grają poprawnie?
    Drobna uwaga jeszcze - w LaserDemo w dolnym scrollu masz znaki w inverse. W trybie $02 ANTIC-a te znaki mogą być wyświetlane w kilku trybach zależnie od stanu bitów rejestru CHACTL:
    %001 - 0: znaki w inverse wyświetlane normalnie, 1: znaki z inverse wyświetlane jako spacja $00
    %010 - 0: znaki w inverse wyświetlane jako bez inverse, 1: znaki w inverse jako inverse
    %100 - 0: znaki wyświetlane normalnie, 1: znaki odwrócone w pionie (numer linii znaku XOR %111)
    • 16: CommentAuthormrk
    • CommentTime15 Dec 2020
     
    @mono nie, filtrów górnoprzepustowych dalej nie ma, w powyższym demku najwyraźniej nie są używane po prostu. O CHACTL wiem, proste do poprawienia i niski priorytet na razie.
    • 17: CommentAuthormono
    • CommentTime15 Dec 2020
     
    Nie, nie. Filtrów nie ma, ale wydaje mi się że zniekształcenia (AUDC) grają chyba poprawnie.
    • 18: CommentAuthorastrofor
    • CommentTime15 Dec 2020
     
    To ja trochę nie w temacie, ale zastanawiam się czy dało by się użyć rusta żeby stworzyć coś takiego jak mad pascal, albo CC65, coś czytałęm że ktoś coś próbował próbował na procesor 6502, ale to chyba język za wysoko poziomowy...
    • 19: CommentAuthormrk
    • CommentTime15 Dec 2020 zmieniony
     
    @astrofor pewnie mówisz o backendzie LLVM dla 6502 - szukałem dzisiaj informacji na ten temat :) Jeżeli istniałby sensowny backend LLVM dla 6502, to nie tylko RUST'a, C/C++ ale i masę innych języków dało by się kompilować do 6502. Było kilka prób:
    * ->link<-
    * ->link<-
    * ->link<-

    Ten ostatni wygląda obiecująco (bo projekt jest aktualnie aktywny) - ale jak pisze autor "This effort is incomplete and does not compile C code yet."
    • 20: CommentAuthorastrofor
    • CommentTime16 Dec 2020 zmieniony
     
    @mrk: z tego co czytalem to madpascal i cc65 to crosskompilatory, czyli kompiluja kod do innej architektury, LLVM to maszyna wirualna niskiego poziomu , czyli rozumiem ze ze z rusta jak i innych kompiluje sie do kodu bajtowego.
    Z tego co wiem to madpascal kompiluje sie do mad assemblera.
    Fajnie by bylo jakby ktos kiedys napisal jakis artykul o tym, albo chociaz dluzszy wpis.
    • 21:
       
      CommentAuthorgalu
    • CommentTime16 Dec 2020
     
    W odróżnieniu od aktualnych wersji Safari gdzie nawet nie startuje emulacja, pod Safari Technology Preview dla macOS (taka ich wersja "rozwojowa", wydanie sprzed paru dni) wszystkie przykłady chodzą.
    • 22: CommentAuthormrk
    • CommentTime18 Dec 2020 zmieniony
     
    Początki debuger'a: ->link<-
    • 23:
       
      CommentAuthorjhusak
    • CommentTime19 Dec 2020 zmieniony
     
    Dzięki, @galu, nawet nie wiedziałem, że jest coś takiego.
    • 24: CommentAuthormono
    • CommentTime19 Dec 2020
     
    T1000 :)
    • 25: CommentAuthormrk
    • CommentTime19 Dec 2020
     
    @mono coś w tym jest :) Pamiętam jak oczy przecierałem widząc mnemoniki 6502 na OSD u T1000
    • 26:
       
      CommentAuthorgalu
    • CommentTime19 Dec 2020 zmieniony
     
    Ciekawe zastosowanie Rusta / wasm: ->link<- ("ruffle is a Flash Player emulator built in the Rust programming language.")

    Ciekawe zastosowanie Web Audio: ->link<- :)
    • 27: CommentAuthorilmenit
    • CommentTime1 Oct 2021
     
    Hej. Gdybym mógł mieć prośbę, to bym poprosił o:
    1. Możliwość wyboru palety (.ACT), która będzie używana, ponieważ aktualna (chyba wciąż ta z Atari800) nie jest najlepszą.
    2. Informację, czy masz coś przeciwko, aby emulator wrzucić na jakąś stronę (myślałem o ->link<- ), aby można było zagrać w grę.
    • 28:
       
      CommentAuthorgalu
    • CommentTime1 Oct 2021
     
    W nawiązaniu do dyskusji w wątku o llvm-mos:

    mrk:

    Ciężko będzie mi to debugować bo brak Mac'a pod ręką.

    Są już usługi "Mac mini w chmurze na godziny", chwilowo niedostępne (Scaleway) ale mogę w razie potrzeby zasponsorować :)

    Emulator od początku nie działał poprawnie na Safari (problem z wyświetlaniem / scrollowaniem - już nie pamiętam, ale pisałem w tym wątku i chyba wrzucałem filmik), ale te najstarsze wersje się odpalały a od dłuższego czasu przy ładowaniu zawiesza / crashuje się karta w przeglądarce.
    • 29: CommentAuthorbruno_j
    • CommentTime1 Oct 2021 zmieniony
     
    @mrk T800, to Arnold popyla na 6502. T1000 to był ten płynny.
    • 30: CommentAuthormrk
    • CommentTime1 Oct 2021 zmieniony
     

    ilmenit:

    1. Możliwość wyboru palety (.ACT), która będzie używana, ponieważ aktualna (chyba wciąż ta z Atari800) nie jest najlepszą.


    Tak, można to zrobić analogicznie jak ładowanie innych binariów do emulatora (nawet łatwiej, bo można totalnie w locie, bez zatrzymywania / resetowania). Jaką paletę sugerowałbyś jako default? BTW właśnie zdałem sobie sprawę że łamię chyba GPL używając palety z Atari800, eh

    ilmenit:

    2. Informację, czy masz coś przeciwko, aby emulator wrzucić na jakąś stronę (myślałem o ->link<- ), aby można było zagrać w grę.

    Jasne, trzeba by się tylko zastanowić jak to zrobić najsensowniej (całość jest średnio przystosowana do embed'owania na razie - sam core emulatora to wasm, ale w javascript jest całkiem spora część 'frontendowa' (na dodatek nie wydzielona na razie do oddzielnych plików js tylko wrzucona bezpośrednio w html :D) która odpowiada za ładowanie binarek do emulatora, oraz emulacja POKEY'a (to jest zrobione na razie najsensowniej, przynajmniej jest w oddzielnym module js).
    Wydaje mi się że trzeba wcześniej jakiś porządny cleanup było by zrobić, by dało się to łatwo osadzić na innej stronie. Na razie chyba proponowałbym po prostu dać link do strony emulatora (ładujący od razu grę) i w międzyczasie można popracować nad refaktorem by dało się emulator łatwo 'osadzić' na innej stronie.
    • 31: CommentAuthor0xF
    • CommentTime1 Oct 2021
     
    W RECOIL używam palet z Altirry. Ale starej Altirry, gdzie jasności były liniowe (#00000, #111111, #222222, ... #FFFFFF). Nie jestem przekonany do nowej (#000000, #010101, ... #FFFCFF).
    • 32: CommentAuthormrk
    • CommentTime18 Oct 2021 zmieniony
     
    Pomożecie? Przepisuję GoodEnough Emulator do nowego bevy / wgpu i chcę sprawdzać od razu jak działa renderowanie webgl2 na różnych platformach.

    Trzeba kliknąć w tego linka: ->link<- i wkleić User Agent / Vendor / Renderer z informacją czy renderuje się tak jak na załączonym obrazku
    • 33:
       
      CommentAuthorpancio
    • CommentTime18 Oct 2021
     
    User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:93.0) Gecko/20100101 Firefox/93.0

    Vendor: NVIDIA Corporation

    Renderer: GeForce GTX 980/PCIe/SSE2

    Jak na powyższym obrazku.
    • 34:
       
      CommentAuthorpebe
    • CommentTime18 Oct 2021
     
    Chyba dobrze :)
    • 35: CommentAuthorilmenit
    • CommentTime18 Oct 2021
     
    Dobrze:
    User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36

    Vendor: Google Inc. (Intel)

    Renderer: ANGLE (Intel, Intel(R) UHD Graphics 620 Direct3D11 vs_5_0 ps_5_0, D3D11-26.20.100.7926)
    • 36:
       
      CommentAuthormav
    • CommentTime18 Oct 2021
     
    Dla chrome wynik jest taki:
    User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36
    Vendor: Google Inc. (NVIDIA)
    Renderer: ANGLE (NVIDIA, NVIDIA GeForce RTX 2060 SUPER Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.6192)

    Dla Firefoxa:
    User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
    Vendor: Google Inc.
    Renderer: ANGLE (NVIDIA GeForce GTX 980 Direct3D11 vs_5_0 ps_5_0)

    Edge:
    User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36 Edg/94.0.992.50
    Vendor: Google Inc. (NVIDIA)
    Renderer: ANGLE (NVIDIA, NVIDIA GeForce RTX 2060 SUPER Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.6192)

    - wszystkie wyświetliły dobrze
    • 37:
       
      CommentAuthorCOR/ira4
    • CommentTime18 Oct 2021
     
    @ bruno_j
    W jedynce był Terminator CSM 101 -wiem bo to jeden z moich ulubionych filmów jedyna warta część,kolejne to kino familijne.Od drugiej części coś się po pitoliło z nazewnictwem modeli i powstał T 800 który był niby tym samym modelem co cyborg z jedynki później nazwany "T" 101,a dalej to ludzi poniosła w dodatku za mocno fantazja i z fajnego trzymającego w napięciu filmu zrobiło się Amerykański syf .
    • 38: CommentAuthormrk
    • CommentTime18 Oct 2021 zmieniony
     

    galu:

    Emulator od początku nie działał poprawnie na Safari


    Możesz sprawdzić na Safari ->link<- ?
    • 39:
       
      CommentAuthorjhusak
    • CommentTime18 Oct 2021 zmieniony
     
    Firefox/Mojave:
    User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:93.0) Gecko/20100101 Firefox/93.0

    Vendor: Intel Inc.

    Renderer: Intel 945GM

    Renderuje OK.

    Safari/Mojave:
    User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15

    Vendor: Intel Inc.

    Renderer: Intel Iris Pro OpenGL Engine


    [Log] User Agent – "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15" (bevy-atari-antic, line 11)
    [Log] Vendor – "Intel Inc." (bevy-atari-antic, line 11)
    [Log] Renderer – "Intel Iris Pro OpenGL Engine" (bevy-atari-antic, line 11)
    [Log] INFO Vendor: Intel Inc. log.target = "wgpu_hal::gles::adapter"; (atari_antic.js, line 377)
    log.module_path = "wgpu_hal::gles::adapter";
    log.file = "/home/mrk/private/wgpu/wgpu-hal/src/gles/adapter.rs";
    log.line = 185;
    [Log] INFO Renderer: Intel Iris Pro OpenGL Engine log.target = "wgpu_hal::gles::adapter"; (atari_antic.js, line 377)
    log.module_path = "wgpu_hal::gles::adapter";
    log.file = "/home/mrk/private/wgpu/wgpu-hal/src/gles/adapter.rs";
    log.line = 186;
    [Log] INFO Version: WebGL 2.0 log.target = "wgpu_hal::gles::adapter"; (atari_antic.js, line 377)
    log.module_path = "wgpu_hal::gles::adapter";
    log.file = "/home/mrk/private/wgpu/wgpu-hal/src/gles/adapter.rs";
    log.line = 187;
    [Log] INFO SL version: WebGL GLSL ES 1.0 (4.10) log.target = "wgpu_hal::gles::adapter"; (atari_antic.js, line 377)
    log.module_path = "wgpu_hal::gles::adapter";
    log.file = "/home/mrk/private/wgpu/wgpu-hal/src/gles/adapter.rs";
    log.line = 196;
    [Log] INFO Adapter GL AdapterInfo { name: "Intel Iris Pro OpenGL Engine", vendor: 32902, device: 0, device_type: IntegratedGpu, backend: Gl } log.target = "wgpu_core::instance"; (atari_antic.js, line 377)
    log.module_path = "wgpu_core::instance";
    log.file = "/home/mrk/private/wgpu/wgpu-core/src/instance.rs";
    log.line = 682;
    [Log] ERROR Error in Adapter::request_device: Limit 'max_uniform_buffer_binding_size' value 16384 is better than allowed 0 log.target = "wgpu::backend::direct"; (atari_antic.js, line 377)
    log.module_path = "wgpu::backend::direct";
    log.file = "/home/mrk/private/wgpu/wgpu/src/backend/direct.rs";
    log.line = 817;

    panicked at 'called `Result::unwrap()` on an `Err` value: RequestDeviceError', /home/mrk/private/rust/bevy/pipelined/bevy_render2/src/renderer/mod.rs:71:10
    (atari_antic.js, line 398)

    -------------------
    Jak mam nie sprawdzać na tym, bo za stare, czy coś, to powiedz :)
    • 40: CommentAuthormrk
    • CommentTime18 Oct 2021
     
    @jhusak sprawdzać, sprawdzać, jak nie będzie rokowało to najwyżej wrzuci się potem UA na listę nie wspieranych przeglądarek :] błąd w miarę konkretny poleciał, spróbuję później wybadać co to jest.
    • 41:
       
      CommentAuthorjhusak
    • CommentTime18 Oct 2021 zmieniony
     
    Uważam, że Mojave jest wartym uwagi systemem, bo jest ostatni, co wspiera 32 bitowe aplikacje i ludzie tacy jak ja go używają z tego powodu (długoletnie projekty) i nie przesiadają się na Big Siur czy coś nowszego. To idzie zbyt szybko. Teoretycznie rozwój systemów operacyjnych powinien zwalniać, a przyspiesza...
  1.  
    Jest ok.

    User Agent: Mozilla/5.0 (Linux; Android 11; SM-G991B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.85 Mobile Safari/537.36

    Vendor: ARM

    Renderer: Mali-G78
    • 43: CommentAuthormrk
    • CommentTime18 Oct 2021 zmieniony
     
    @jhusak Dobrze że da się nowego Firefox'a na tym zainstalować. Jak z Chrome? Z tego co pamiętam z drugiego wątku WebPokey nie ma prawa działać na tej wersji Safari, więc pewnie też nie ma sensu bardzo walczyć z WebGL'em.
    • 44: CommentAuthormrk
    • CommentTime18 Oct 2021
     
    Dzięki wszystkim za testy, jak na razie wygląda to obiecująco :) Jak ktoś lubi życie na krawędzi to wrzucam jeszcze to samo w wersji natywnej dla windows (wersja 64-bit)
    • 45: CommentAuthormrk
    • CommentTime18 Oct 2021 zmieniony
     
    I dla linuksa (też 64-bit)


    Kross-kompilacja dla mac'a się sypnęła niestety z niewiadomego na razie powodu, ale też będzie :)
    • 46:
       
      CommentAuthorgalu
    • CommentTime18 Oct 2021
     
    Logi z konsoli Safari 15.4 (Apple M1).
    • 47:
       
      CommentAuthorgalu
    • CommentTime18 Oct 2021
     
    Logi z Chrome 94.0.4606.81 (Official Build) (arm64) - również Apple M1. Tutaj działa.
    • 48: CommentAuthorbarf31
    • CommentTime19 Oct 2021
     
    • 49: CommentAuthorelvis
    • CommentTime23 Oct 2021
     
    U mnie są w rogach ekranu szybko zmieniające się znaki. Na zrzucie poniżej widać "T" w negatywie. Nie wiem czy tak miało być.

    User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:93.0) Gecko/20100101 Firefox/93.0
    Vendor: AMD
    Renderer: Radeon R9 200 Series
    • 50: CommentAuthormrk
    • CommentTime24 Oct 2021 zmieniony
     

    elvis:

    U mnie są w rogach ekranu szybko zmieniające się znaki. Na zrzucie poniżej widać "T" w negatywie. Nie wiem czy tak miało być.

    Tak, zmieniłem nieco test. Dzięki.