atarionline.pl Altirra dla MacOS, Linux i Android - 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: CommentAuthorilmenit
      • CommentTime6 Apr 2026 08:22
       
      Podjęłem się przeportowania Altirry z WinAPI, więcej tutaj:
      ->link<-
      To na razie wczesna wersja Alpha. Ponieważ nie mam macOS, przyjmę logi z buildowania na tym systemie, oraz dowolną inną pomoc - głównie testowania niezliczonej liczby opcji Altirry.
      • 2: CommentAuthorzbyti
      • CommentTime6 Apr 2026 10:06
       
      WoW! jak Ci się uda to to będzie krok milowy :]
      • 3: CommentAuthorilmenit
      • CommentTime6 Apr 2026 11:33
       
      Sam tego nie zrobię. Głównie potrzeba testerów, ponieważ Altirra oprócz "core" wiele ma zaimplementowane bezpośrednio w UI, a to są setki opcji do przetestowania.
      • 4: CommentAuthorkrap
      • CommentTime6 Apr 2026 12:10
       
      Hej.

      Dziala juz na Macu, jest super!

      Wielkie dzieki, mega mega robota!

      Tu fiksy, pusznalem tez do glownego repo: ->link<-
      • 5: CommentAuthorilmenit
      • CommentTime6 Apr 2026 14:50
       
      Do przetestowania wersja na Androida: ->link<-
      Ale uwaga, Altirra to bardzo dokładny emulator i wymaga sporo mocy obliczeniowej, więc prawdopodobnie na większości telefonów nie będzie się wyrabiać w ramce.
      • 6: CommentAuthorzbyti
      • CommentTime6 Apr 2026 14:52
       
      @ilmenit - ja chętnie potestuję jak skonfigurujesz github by ci AppImage robił z automatu - głupio może to zabrzmi ale nie cierpię kompilować ;)

      Vega robi gry taśmowo, więc zanosi się, że będzie w testach kolejna, przy okazji mogę na Ubunut testować Twój fork ale proszę nie każ mi tego kompilować ;)
      • 7: CommentAuthorilmenit
      • CommentTime6 Apr 2026 14:56
       
      @zbyti - zobaczę jak to się robi :)
      • 8:
         
        CommentAuthorjhusak
      • CommentTime6 Apr 2026 16:21
       
      NO PIĘĘĘĘĘĘĘKNIE!!!!!!

      Zawsze Cię podziwiałem Ilmenit, że robisz na Atari i w okół Atari to, na co inni nawet nie wpadną, że można.
      • 9:
         
        CommentAuthorinsert
      • CommentTime6 Apr 2026 16:22
       
      dzięki, build na mac os, dzwięk szarpie, ale chyba większy problem to nie działa joy na usb, wrzuciłem Ci issue na githuba
      • 10:
         
        CommentAuthorjhusak
      • CommentTime6 Apr 2026 16:41 zmieniony
       
      Jak sobie poradzić z tym? (uruchamiam ./build.sh):

      CMake Error at src/system/CMakeLists.txt:63 (find_package):
      By not providing "FindSDL3.cmake" in CMAKE_MODULE_PATH this project has
      asked CMake to find a package configuration file provided by "SDL3", but
      CMake did not find one.

      Could not find a package configuration file provided by "SDL3" with any of
      the following names:

      SDL3Config.cmake
      sdl3-config.cmake

      Add the installation prefix of "SDL3" to CMAKE_PREFIX_PATH or set
      "SDL3_DIR" to a directory containing one of the above files. If "SDL3"
      provides a separate development package or SDK, be sure it has been
      installed.
      -------------------
      Dobra, brew install sdl3 (czeba czytać BUILD.md)
      • 11:
         
        CommentAuthorinsert
      • CommentTime6 Apr 2026 16:49
       
      jhusak, ja doinstalowalem brew sdl3 po prostu chyba brew install sdl3, potem mialem jeszcze na macu error bo nie widzial cerrno, w pliku src/ATCore/source/propertyset.cpp dodalem #include <cerrno>
      • 12:
         
        CommentAuthorjhusak
      • CommentTime6 Apr 2026 16:53 zmieniony
       
      Dzięki :) Zmieniać pliku u mnie nie trzeba było :) Ventura.
      • 13: CommentAuthorzbyti
      • CommentTime6 Apr 2026 16:56
       
      świetnie jabłeczniki! ;) dlatego mam nadzieję na AppImage :]
      • 14:
         
        CommentAuthorinsert
      • CommentTime6 Apr 2026 16:58
       
      ... dobrze że nie Jabole ;)
      • 15:
         
        CommentAuthorjhusak
      • CommentTime6 Apr 2026 17:07 zmieniony
       
      Ja bole ję nad tym wszystkim... :D
      • 16:
         
        CommentAuthorpirx
      • CommentTime6 Apr 2026 18:01
       
      KUDOS!!!!! najlepszy prezent na święta od lat!!!
      • 17:
         
        CommentAuthorPeri Noid
      • CommentTime6 Apr 2026 18:58 zmieniony
       
      Kapitalnie! Zbudowałem na swoim Linuksie - bez problemów (trochę warningów podczas budowania - ale błędów żadnych). Uruchomiło się. Muszę tylko teraz dograć sobie ROM-y i zobaczyć w boju.
      • 18: CommentAuthorRocky
      • CommentTime6 Apr 2026 19:13
       
      Czyli w końcu szansa na porządną wersję na RPi400... czekam :)
      • 19: CommentAuthorilmenit
      • CommentTime7 Apr 2026 10:19 (7 dni temu) zmieniony
       
      Co znaczy zrobić wersję na RPi400? Jakiś specjalny Linux build?

      Btw, Phaeron nie jest chętny angażować się w przenośny build (w pełni rozumiem), ani też przenieść Altirrę na publiczny version control system, przez co nie da się zrobić automatyzacji synchronizacji Altirra core z AltirraSDL. Ja niestety nie będę miał czasu ręcznie śledzić wszystkich zmian, które Phaeron będzie publikował w ramach postów na AtariAge. Dlatego też obawiam się, że projekt AltirraSDL nie będzie długoterminowo poprawnie utrzymywany i synchronizowany z główną Altirrą, i wkrótce zacznię się "rozchadzać" z punktu widzenia jakości emulacji. Postaram się dociągnąć aktualną wersję do sensownego stanu, ale raczej projekt długoterminowo obawiam się, że skończy "martwy".
      • 20: CommentAuthorzbyti
      • CommentTime7 Apr 2026 10:26 (7 dni temu)
       
      @ilmenit jak jeszcze Ci nie przeszło (ze względu na postawę autora) to pozostaje to dociągnąć do jakiegoś miejsca swoim przemysłem i tokenami ;) a później zrobisz agenta co będzie pilnował spójności CORE ;)
      • 21: CommentAuthorilmenit
      • CommentTime7 Apr 2026 10:35 (7 dni temu) zmieniony
       
      @zbyti - to by można, ale sam core już teraz też wymagał zmian ( ->link<- ) aby się dało skompilować przenośną wersję, a tych zmian będzie z czasem więcej i więcej.
      • 22: CommentAuthorzbyti
      • CommentTime7 Apr 2026 10:42 (7 dni temu)
       
      @ilmenit no to w sumie nie wiem... ja bym chyba odpuścił skoro ma to być wieczna łatanina. to miało by sens jakby Phareon w końcu swoją wersję przeportował na SDL korzystając z Twojej pracy ale on jasno napisał jak widzi ten projekt, więc według mnie szkoda czasu - ale to jak już Ty uważasz.
      • 23: CommentAuthorilmenit
      • CommentTime7 Apr 2026 10:58 (7 dni temu) zmieniony
       
      też tak uważam, dociągnę do stanu używalności, ale potem projekt prawdopodobnie pójdzie na freeze i skończy jak core Atari800 w RetroArch - nie będzie synchronizowany, po pewnym czasie mainline zrobi breaking changes i dalsza synchronizacja będzie już zbyt problematyczna.
      • 24: CommentAuthortebe
      • CommentTime7 Apr 2026 12:41 (7 dni temu)
       
      poproszę przykład jak wykorzystać taki AltirraSDL do przykładowego programu graficznego, wrzucam pod adres w pamięci 64k dane, ustawiam rejestry ANTIC-a, GTIA, wywołuję SDL i otrzymuję bitmapę z rezultatem
      • 25: CommentAuthorilmenit
      • CommentTime7 Apr 2026 13:13 (7 dni temu)
       
      @tebe - AltirraSDL to nie SDK, ale standalone emulator
      • 26:
         
        CommentAuthorJacques
      • CommentTime7 Apr 2026 14:11 (7 dni temu)
       
      Używam na Linux Mint z użyciem Wine i działa bardzo dobrze, ale wersja natywna byłaby super.
      • 27: CommentAuthorzbyti
      • CommentTime7 Apr 2026 14:20 (7 dni temu)
       
      AppImage z AltirraSDL odpaliła się, gry na ATR dziłają - dobry poczatek :]

      car chyba wieszają emu, przynajmniej 2 jakie mu zapodałem, Flob jest ogólnie dostępny więc można sprawdzić.
      • 28: CommentAuthorstreak
      • CommentTime7 Apr 2026 14:46 (7 dni temu)
       
      @ilmenit
      "też tak uważam, dociągnę do stanu używalności, ale potem projekt prawdopodobnie pójdzie na freeze i skończy jak core Atari800 w RetroArch - nie będzie synchronizowany, po pewnym czasie mainline zrobi breaking changes i dalsza synchronizacja będzie już zbyt problematyczna. "

      tez tak mysle, ale to nic nie szkodzi. W batocerze/retropie a800 lezal latami bez zadnych zmian i (mimo problemow) wszyscy sie cieszyli ze byl. Tak bedzie pewnie i z portem alttirry. Nie bede musial jej juz odpalac przez wine w BATOCERZE. :)
      • 29: CommentAuthorzbyti
      • CommentTime7 Apr 2026 15:26 (7 dni temu) zmieniony
       
      dobra... Flob mi nie poszedł bo plik miał spacje w nazwie :D

      przyszło mi to do głowy to zmienić bo @Ilmenit gdzieś pisał, że po przejściu na Linucha zaczął mieć problem z wielkością liter w nazwach - pomyślałem, że ze spacjami może być podobnie ;)

      === EDIT ===

      jednak chodziło o `+` w nazwie pliku a nie o spacje
      • 30:
         
        CommentAuthorpirx
      • CommentTime7 Apr 2026 16:52 (7 dni temu)
       
      skomplikowałęm projekt na swoim linuxie na arm64, trzeba było dodać opcję -flax-vector-conversions do compile_options CMake, bo inaczej się wykładało. mój ejaj mówi, że to niedobra opcja i lepiej poprawić konwersje, ale to było głównie w obcych libkach jak Kasumi (?), więc bez sensu poprawiać jak sądzę.

      dołączam się do chóru wujów dziękujących za ten port, nawet jeśliby nie było później updatów to i tak ogromna sprawa. nie udało mi się odpalić altiry na wine na arm64, miałem win10 w qemu, ale ostatnio przestało działać, łapię bluescreena, pewnie trzeba windę przeszorować czy coś. brak altiry był głównym powodem, dla którego się nie przesiadłem na nowego kompa i wciąż szarpię stareńkiego amdka.
      teraz mogę o windzie zapomnieć.


      @ilmenit - nawet, jeśli to będzie jednorazowy strzał, to warto. nawet jeśli nie będzie działać każdeńka opcyeńka, to warto. żeby tylko debug w miarę chodził i nawet za siedem i pół roku ta wersja będzie użyteczna, jak swojego czasu Atari800Win.
      • 31: CommentAuthorilmenit
      • CommentTime7 Apr 2026 17:34 (7 dni temu)
       
      @pirx - wrzuć błąd kompilacji proszę, nie mam linuxa arm64
      • 32:
         
        CommentAuthorpirx
      • CommentTime7 Apr 2026 18:33 (7 dni temu) zmieniony
       
      [ 54%] Building CXX object src/ATCore/CMakeFiles/ATCore.dir/source/fft_neon.cpp.o
      /home/pirx/projects/tmp/AltirraSDL/src/Kasumi/source/resample_stages_arm64.cpp: In function ‘void {anonymous}::FilterColumnsLerp_NEON(void*, const uint8* const*, const sint16*, uint32)’:
      /home/pirx/projects/tmp/AltirraSDL/src/Kasumi/source/resample_stages_arm64.cpp:765:58: note: use ‘-flax-vector-conversions’ to permit conversions between vectors with differing element types or numbers of subparts
      765 | uint8x8_t accum2 = vqrshrun_n_s16(accum, 7);
      | ~~~~~~~~~~~~~~^~~~~~~~~~
      /home/pirx/projects/tmp/AltirraSDL/src/Kasumi/source/resample_stages_arm64.cpp:765:59: error: cannot convert ‘uint16x8_t’ to ‘int16x8_t’
      765 | uint8x8_t accum2 = vqrshrun_n_s16(accum, 7);
      | ^~~~~
      | |
      | uint16x8_t
      In file included from /home/pirx/projects/tmp/AltirraSDL/src/h/vd2/system/math.h:39,
      from /home/pirx/projects/tmp/AltirraSDL/src/h/vd2/system/vectors.h:34,
      from /home/pirx/projects/tmp/AltirraSDL/src/Kasumi/h/uberblit.h:6,
      from /home/pirx/projects/tmp/AltirraSDL/src/Kasumi/h/stdafx.h:21,
      from /home/pirx/projects/tmp/AltirraSDL/src/Kasumi/source/resample_stages_arm64.cpp:17:


      i 100 więcej tego typu, nie tylko w kasumi ale też w ATIO i ATCore, itp.


      fix w CMakeLists.txt

      # ALTIRRA_RELAX_VECTOR_CONVERSIONS — temporary bring-up aid for compilers
      # that reject implicit NEON vector lane reinterpretations accepted by other
      # toolchains. Default OFF: prefer explicit source fixes over build-wide
      # relaxation. Intended for local testing only.
      option(ALTIRRA_RELAX_VECTOR_CONVERSIONS
      "Allow lax vector conversions on GCC/Clang for local bring-up testing"
      OFF)


      i
      if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
      add_compile_options(-Wno-multichar -Wno-attributes)

      if(ALTIRRA_RELAX_VECTOR_CONVERSIONS)
      add_compile_options(-flax-vector-conversions)
      message(STATUS "ALTIRRA_RELAX_VECTOR_CONVERSIONS=ON -- enabling -flax-vector-conversions for local testing")
      endif()
      endif()


      jak widać gepetto na pełnej petardzie. klaudia się na mnie obraziła, więc gepetto robi co może...

      buildowanie:
      ./build.sh --cmake -DALTIRRA_RELAX_VECTOR_CONVERSIONS=ON
      • 33: CommentAuthorilmenit
      • CommentTime7 Apr 2026 18:38 (7 dni temu)
       
      tzn. się skompilowało, czy wywala takie błędy? Albo skompilowało się z -flax-vector-conversions a bez wywala takie błędy?
      • 34:
         
        CommentAuthorpirx
      • CommentTime7 Apr 2026 18:57 (7 dni temu)
       
      z -flax-vector-conversions się komplikuje i działa (odpala skorcza, hehehe).
      bez -flax-vector-conversions nie komplikuje się

      podczas komplilacji z -flax widzę b. dużo warningów w rodzaju
      ```
      /home/pirx/projects/tmp/AltirraSDL/src/Altirra/source/aviwriter.cpp:642:31: warning: ‘%02x’ directive writing between 2 and 8 bytes into a region of size 4 [-Wformat-overflow=]
      642 | sprintf(buf, "%02x", i);
      | ^~~~
      ```
      ale to chyba ok.
      • 35: CommentAuthorilmenit
      • CommentTime7 Apr 2026 19:05 (7 dni temu)
       
      ok, już widzę. Kasumi to biblioteka Phaerona do niskopoziomowych operacji, chyba z jego VirtualDub, to jeden z tych elementów, które można by przerobić/poprawić/wywalić, ale to będzie już breaking change odnośnie otrzymywania kompatybilności z aktualną Altirrą. Więc jak działa z -flax-vector-conversions to raczej tak teraz
      • 36: CommentAuthorilmenit
      • CommentTime7 Apr 2026 20:40 (7 dni temu) zmieniony
       
      btw, polecam przetestować wersję mobilną na Androida, wprowadziłem sporo zmian, znacznie poprawiłem też płynność działania. Na moim starym telefonie z Androidem się wyrabia:
      ->link<-
      • 37: CommentAuthorszeryf
      • CommentTime8 Apr 2026 12:54 (6 dni temu)
       
      Teraz działa super płynnie na moim starym fonie. Wielkie dzięki ilmenit! :)
      • 38: CommentAuthorstreak
      • CommentTime8 Apr 2026 12:59 (6 dni temu)
       
      Pytanie czy supportuje zewnetrzne pady pod USB? jesli tak to na dniach przetestuje wersje androidowa..
      • 39: CommentAuthorilmenit
      • CommentTime8 Apr 2026 13:01 (6 dni temu) zmieniony
       
      Miałoby być wsparcie dla gamepadów, ale jeszcze nie miałem czasu przetestować. Jak działa, dajcie proszę znać.
      • 40:
         
        CommentAuthorWolfen
      • CommentTime8 Apr 2026 13:27 (6 dni temu)
       
      Ja tylko chcialem napisac @ilmenit - kawal zajebistej roboty!
      • 41:
         
        CommentAuthorgienekp
      • CommentTime8 Apr 2026 18:49 (6 dni temu) zmieniony
       
      @ilmenit

      No mam uśmiech od ucha do ucha :D
      Oczywiście dołączam do grupy testerów MacOS.

      Poniżej wynik kompilacji w homebrew i Tahoe 26.4

      testuję...

      EDIT1
      Pierwsze testy:
      - dźwięk przerywa, ale wygląda jakby sama emulacja się rwała mimo zapasu mocy procka; puściłem równolegle atari800 z riverraid i widać po scrolu planszy
      - nie działa mi /HELP/ w "SELF TEST" (F1 przyspiesza emulację? )
      - nie działają mi klawisze kursora jako JOY1

      EDIT2
      Wygląda jakby wszystko kompilowało się statycznie oprócz SDL3:
      /opt/homebrew/opt/sdl3/lib/libSDL3.0.dylib (compatibility version 401.0.0, current version 401.4.0)

      Dałoby się i SDL3 statycznie wepchnąć do binarki?
      • 42: CommentAuthorilmenit
      • CommentTime8 Apr 2026 23:48 (5 dni temu) zmieniony
       
      - Jaka by była zaleta statycznego linkowania? (nie znam się na macOS, ale na Win czy Linux nie jest problemem dostarczenie .exe + .dll/.so).
      - Dźwięk i rwanie emulacji - zakładam, że to jakiś nowy Mac?
      - W Altirra F1 to fast-forward.
      - Czy klawisze kursora jako Joy 1 ustawiłeś w Input -> Port 1 ?

      Btw, ma ktoś dev account na macOS, aby zrobić builda na iOS?
      • 43:
         
        CommentAuthorgienekp
      • CommentTime9 Apr 2026 09:20 (5 dni temu)
       
      Przy statycznym możesz dać jeden plik. Przy bibliotekach musisz zrobić instalkę. Jak w windowsie. No chyba, że zakładasz że ktoś faktycznie ręcznie porobi foldery i powgrywa w odpowiednie miejsca co brakuje.

      Jest jeszcze druga zaleta, że tak powiem dalekodystansowa. Jeżeli zakładamy że ktoś będzie pilnował cały czas kodu z zależnościami to OK. Ale jeżeli odkładamy kod i za 5 lat ktoś to odpali to na bank się coś pogryzie. Ostatnio kompilowaliśmy najnowszy emulator atari800 z max statycznym linkowaniem. Udało się go odpalić od wersji Windows98 :). Przy dynamicznych bibliotekach nie ma szans skleić stare z nowymi.

      Podobnie jest z kompilowaniem dla rPi. Tak mieszają ze środowiskiem, że AI wymięka mimo, że mieli na bierząco cały net.

      A w retro 5 lat to jedno pstryknięcie palcem :)

      Co do tego dźwięku. Im szybciej działa emulacja tym dźwięk mniej zrywa. Wygląda to tak, jakby emulacja w prędkości 1.0 wymuszała jakieś 0.9. I te 10% to softowo robi przerwę.
      • 44: CommentAuthorilmenit
      • CommentTime9 Apr 2026 09:42 (5 dni temu)
       
      Przy statycznym możesz dać jeden plik. Przy bibliotekach musisz zrobić instalkę. Jak w windowsie. No chyba, że zakładasz że ktoś faktycznie ręcznie porobi foldery i powgrywa w odpowiednie miejsca co brakuje.

      do tego jest --package przy buildowaniu, powinno zrobić spakowany folder ze wszystkim co jest potrzebne.
      Przy dynamicznych bibliotekach nie ma szans skleić stare z nowymi.

      Ale biblioteki są kompilowane i dostarczane razem z głównym .exe . Nie widzę róznicy, czy w katalogu jest 1 plik exe statycznie linkowany czy 1 plik exe + 2 .dll. AltirraSDL nie musi korzystać z bibliotek instalowanych w systemie, domyślnie package dostarcza potrzebne pliki.

      Odnośnie dźwięku i nie wyrabiania się w ramce - przyznam, że nie wiem gdzie problem, jeżeli to relatywnie nowy komputer. Kompilacja nawet na Android na starym telefonie nie powoduje zrywania dźwięku. Inni użytkownicy macOS też problemu nie reportowali.
      • 45:
         
        CommentAuthorgienekp
      • CommentTime9 Apr 2026 09:47 (5 dni temu) zmieniony
       
      Z dźwiękiem sprawdziłem na M1 i M3,
      Teraz sprawdziłem na M4. Wszędzie identycznie. Natomiast w NTSC jest dużo lepiej niż w PAL.

      Gdzie w Altirrze jest HELP? Wiem, głupie ale...
      • 46: CommentAuthorzbyti
      • CommentTime9 Apr 2026 09:55 (5 dni temu)
       
      HELP? F6
      • 47:
         
        CommentAuthorgienekp
      • CommentTime9 Apr 2026 09:57 (5 dni temu) zmieniony
       
      Próbka z nagranym wideo i dźwiękiem i obciążeniem procka
      • 48: CommentAuthorilmenit
      • CommentTime9 Apr 2026 10:04 (5 dni temu)
       
      Możesz spróbować, czy inne ustawienie w System -> Configuration -> Computer - Speed -> Frame rate:
      - Hardware
      - Broadcast
      - Integral
      albo Lock speed to display refresh rate

      poprawią sytuację? Jeżeli tak, daj znać, które opcje. Pomoże to zdebugować problem.
      • 49:
         
        CommentAuthorJacques
      • CommentTime9 Apr 2026 12:20 (5 dni temu)
       
      A jest już do testowania wersja na Linuxa?
      • 50:
         
        CommentAuthorPeri Noid
      • CommentTime9 Apr 2026 12:26 (5 dni temu)
       
      A jest - jak sobie zbudujesz ;-) Buduje się bezproblemowo (mi właśnie się mieli).