atarionline.pl RastaConverter by Jakub Dębski - 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:
         
        CommentAuthorgienekp
      • CommentTime14 Aug 2025 18:44 zmieniony
       
      Wiersz poleceń oraz CMake to super sprawa, bo GUI zawsze można dorobić. RC może też zostawiać pliki RAW/DAT/BIN z aktualnym statusem i GUI spokojnie może to odmalować. Samo GUI może być przecież w innym miejscu, a konsolę może mielić jakiś serwer.
      • 2: CommentAuthorilmenit
      • CommentTime14 Aug 2025 22:11
       
      Nowa wersja do testowania (kompilacja 64 bit):
      ->link<-
      • 3:
         
        CommentAuthorgienekp
      • CommentTime15 Aug 2025 08:17 zmieniony
       
      Na MacOS Sequoia 15.6 kompilacja w trybie "arm64-os" przerywa się na:

      In file included from /Users/grzegorz/Downloads/RastaConverter-master/src/main.cpp:11:
      In file included from /Users/grzegorz/Downloads/RastaConverter-master/src/app/RastaConverter.h:5:
      In file included from /Users/grzegorz/Downloads/RastaConverter-master/src/io/ImageProcessor.h:11:
      In file included from /Users/grzegorz/Downloads/RastaConverter-master/src/raster/Program.h:7:
      In file included from /Users/grzegorz/Downloads/RastaConverter-master/src/cache/InsnSequenceCache.h:8:
      /Users/grzegorz/Downloads/RastaConverter-master/src/cache/../utils/LinearAllocator.h:6:10: fatal error: 'malloc.h' file not found
      6 | #include <malloc.h>
      | ^~~~~~~~~~
      1 error generated.
      ninja: build stopped: subcommand failed.
      Build finished. Artifacts under out/build/macos-clang/Release/


      <malloc.h> chyba jest już "deprecated"? Może <stdlib.h> to ogranie na wszystkich systemach?

      edit:
      po podmiance malloc na stdlib staje na:
      /Users/grzegorz/Downloads/RastaConverter-master/src/main.cpp:30:5: error: use of undeclared identifier 'RegisterUnhandledExceptionLogger'
      30 | RegisterUnhandledExceptionLogger();
      | ^
      /Users/grzegorz/Downloads/RastaConverter-master/src/main.cpp:31:5: error: use of undeclared identifier 'RegisterSignalHandlers'
      31 | RegisterSignalHandlers();
      | ^
      2 errors generated.
      [12/32] Building CXX object CMakeFiles/rasta.dir/Release/src/raster/Program.cpp.o
      ninja: build stopped: subcommand failed.
      • 4: CommentAuthorilmenit
      • CommentTime15 Aug 2025 09:24
       
      dzięki za testy, sprawdzę gdy będę przy domowym kompie
      • 5: CommentAuthorVidol
      • CommentTime15 Aug 2025 10:33
       
      Na win7 64bit się nie odpala. Od razu wyskakuje:"Program przestał działać..."
      • 6: CommentAuthorilmenit
      • CommentTime15 Aug 2025 11:03 zmieniony
       
      Win 7 jest niestety niewspierany - nie mam możliwości, aby na nim testować.
      EDIT: może z powodu AVX2 który był włączony do optymalizacji, a jak czytam były z tym problemy na Win 7. Spróbuję przygotować build bez, jak będziesz mógł potestować.
      • 7:
         
        CommentAuthorgienekp
      • CommentTime15 Aug 2025 12:12
       
      Z jakich innych bibliotek korzysta RC? Bo widzę, że skrypt coś tam ciągnie z gita.

      Nie tak dawno udało nam się przekompilować najnowszą wersję emulatora atari800 tak, że odpala się od Windowsa2000 w górę (czyli wszystkie 32/64) . Zrobił to cross compiler MXE. Była tylko jedna DLL (od SDLa bo już nie szło tego ominąć, choć ponoć się da), resztę wsadziło wszystko w EXEka. Może tutaj też ten numer przejdzie?
      • 8: CommentAuthorilmenit
      • CommentTime15 Aug 2025 13:03 zmieniony
       
      FreeImage, SDL2, SDL2_ttf
      Starałem się, aby kompilacja była co najbardziej user-friendly, wieloplatformowa + CMake + dependency resolving (gdy to możliwe), ale to pierwsza wersja z takim nowym build systemem i testowałem tylko na Win 11 i Linux Mint.

      @gienekp - wrzuciłem na GitHub poprawioną wersje - możesz sprawdzić, czy się skompiluje na MacOS?
      • 9: CommentAuthorilmenit
      • CommentTime15 Aug 2025 13:42
       
      @Vidol - możesz sprawdzić, czy odpali się na Windows 7 taka kompilacja?
      • 10: CommentAuthorVidol
      • CommentTime15 Aug 2025 14:02
       
      Dalej się wywala :(
      • 11: CommentAuthorilmenit
      • CommentTime15 Aug 2025 14:19 zmieniony
       
      Która jest ostatnia wersja konwertera, która u Ciebie działa? Jeżeli już jest na SDL2, możesz skopiować stare pliki DLL z niej i spróbować? Może problem jest w DLLkach. Jak nie, to będę jeszcze kombinował, czy jakoś inaczej da się skompilować, aby działało na Win7 (może gcc pod Win nie ma takich ograniczeń).
      • 12: CommentAuthorVidol
      • CommentTime15 Aug 2025 15:44 zmieniony
       
      Mam na dysku rasta beta 4 i beta 7 i obie działają.
      Edit:
      Przegrałem dll'ki z wersji 7 i pojawia się komunikat, że aplikacja nie została właściwie uruchomiona.
      • 13:
         
        CommentAuthorgienekp
      • CommentTime15 Aug 2025 17:36 zmieniony
       
      FreeImage, SDL2, SDL2_ttf to bez problemu się mielą na MacOS.

      Tymczasem doszło do linkowania i:
      ld: symbol(s) not found for architecture arm64
      clang++: error: linker command failed with exit code 1 (use -v to see invocation)
      ninja: build stopped: subcommand failed.


      tych "symboli" to jest kila ekranów więc coś gdzieś brakuje.

      Tymczasem na Ubuntu jest jeszcze inaczej:
      Configuring with CMake preset linux-clang-make ...
      CMake Error: The source directory "/home/grzegorz/Pobrane/RastaConverter/linux-clang-make" does not exist.
      Specify --help for usage, or press the help button on the CMake GUI.
      Configure failed


      EDIT:
      Na MacOS jak przerwało to dałem ręcznie:
      cmake --preset linux-gcc-make-nogui
      cmake --build out/build/linux-gcc-make-nogui --config Release

      i wyszło to co w załączniku

      EDIT2:
      ręcznie doinstalowałem "brew install sdl2_ttf"
      i poszło:
      cmake --preset macos-clang-make
      cmake --build out/build/macos-clang-make --config Release


      P.S. dla rPi Zero w trakcie kompilacji...
      • 14: CommentAuthorilmenit
      • CommentTime15 Aug 2025 19:13
       
      dzięki, zerknę jak można dodać automatyczne doinstalowanie dependencies.
      Gdyby ktoś jeszcze próbował kompilować i będzie wyrzucało błędy zależności, wrzućcie proszę pełne logi z kompilacji, pomoże to poprawić skrypty.
      • 15:
         
        CommentAuthorgienekp
      • CommentTime15 Aug 2025 19:24
       
      Puściłem na macos, ale nie wiem jak zatrzymać.
      Wcześniej dawałem sobie "save" więc co jakiś czas zapisywało, teraz chyba jakoś to inaczej działa i jedynie pomogło max_evals. No ale to totalnie przerwało.

      Pytanie jak zrobić, żeby sobie to mieliło w tle i co jakiś czas zapisywało aktualny status?

      Na razie mam tak:
      rasta -i=temp.png -pal=altirra.act --save=1000 -max_evals=100000 -threads=4
      • 16: CommentAuthorilmenit
      • CommentTime16 Aug 2025 14:44
       
      @vidol - wersje 4 i 7 też są archaiczne, jeszcze na bibliotece Allegro 4. Niestety, nie mam aktualnie jak testować aby dodać wsparcie dla Win 7.
      @gienekp - --save powinno zapisywać automatycznie samo, zerknij na help, nie zapisuje?
      • 17: CommentAuthorVidol
      • CommentTime16 Aug 2025 15:23
       
      wersja 9 tez działa na win7
      • 18:
         
        CommentAuthorgienekp
      • CommentTime16 Aug 2025 18:36
       
      Dałem save tak jak w "poprzedniej" wersji RC. Tam działało, a tu nie.
      • 19: CommentAuthorilmenit
      • CommentTime19 Aug 2025 14:45
       
      nowa wersja - ->link<-
      Powinno działać teraz szybciej i bez memory leaku, który był w poprzedniej.
      • 20:
         
        CommentAuthorgienekp
      • CommentTime19 Aug 2025 21:16
       
      ./build.sh: line 51: ${config,,}: bad substitution


      Co to może być?
      • 21: CommentAuthorilmenit
      • CommentTime19 Aug 2025 21:40 zmieniony
       
      nie masz starego basha?
      "${config,,}: This is a Bash 4+ feature that lowercases a variable. Shells like sh/dash/BusyBox ash and older Bash (3.x) don’t support it and throw “bad substitution”.
      Spróbuj ten z załącznika i daj znać czy lepiej, proszę.
      • 22: CommentAuthorilmenit
      • CommentTime20 Aug 2025 00:50
       
      btw, w kolejnej wersji będzie już "dual mode"
      • 23: CommentAuthortebe
      • CommentTime20 Aug 2025 17:42
       
      będzie w zestawie monitor CRT?

      nie lepiej zająć się tymi poziomymi liniami, które zdradzają skąd pochodzi obrazek
      • 24:
         
        CommentAuthorgienekp
      • CommentTime20 Aug 2025 21:25
       

      ilmenit:

      nie masz starego basha?

      Pracuje na MacOS (najnowszy), ale skrypty to przetwarza SH.

      A dałoby się tak zrobić, żeby był zwykły MAKE albo ewentualnie przed tym ./configure? Wtedy nawet crosscompilery by to zmieliły.

      Z nowym "build.sh" zatrzymuje się na:
      alloc.h' file not found
      4 | #include <malloc.h>
      | ^~~~~~~~~~
      3 errors generated.
      ninja: build stopped: subcommand failed.
      • 25: CommentAuthorilmenit
      • CommentTime20 Aug 2025 22:43 zmieniony
       
      @tebe - nie tylko CRT, ale i Atari musi być w zestawie ;-) A jak pozbyć się poziomych linii - wszystkie dobre pomysły mile widziane, serio.
      Kolega podesłał z LCD po kablu euro rpg (w załączniku).

      @gienekp - wrzuciłem poprawkę na Githuba, zerknij, czy teraz kompilacja przejdzie.
      Odnośnie MAKE i ./configure to tak było wcześniej, i było sporo requestów, aby przejść na coś bardziej współczesnego, czyli CMake. Myślę, że to dobra decyzja, ale odnośnie MacOS to robię "na ślepo", bo tego systemu nie mam, więc albo mogę reagować na informacje od użytkowników, ale najlepiej by było robić bezpośrednio pull requesty na Githubie. Podobnie ze wsparciem dla Windows 7 - aktualnie nie wiem czemu nie działa, a nie mam jak przedebugować nie mając tego systemu.
      Jak chodzi o bezpośrednie wywołanie kompilacji bez skryptu to oczywiście też można. Przykłady w BUILD.md.
      • 26: CommentAuthorilmenit
      • CommentTime23 Aug 2025 17:13
       
      Nowa wersja z dual mode - ->link<-
      • 27: CommentAuthorilmenit
      • CommentTime24 Aug 2025 00:57 zmieniony
       
      I jeszcze kolejna usprawniona wersja:
      ->link<-
      • 28:
         
        CommentAuthorgienekp
      • CommentTime24 Aug 2025 13:09 zmieniony
       
      Skompilowało na MacOS. Uruchamia się ale coś o jakieś fonty się czepia.

      Próbuje uruchomić bez GUI ale coś mi nie wychodzi.
      dałem "--quiet"

      Taki raport po uruchiomieniu
      [MAIN] Args parsed. input='temp.png' dual=0 threads=1 quiet=1
      [MAIN] Calling ProcessInit() ...
      [RASTA] ProcessInit start (dual=0 quiet=1)
      [SDL] Init start. cmdline='-i=temp.png -pal=altirra.act --dither=none --save=100000 --max_evals=1000000 --threads=1 --quiet'
      [SDL] Window=0x6000008145a0 Renderer=0x122e29b10
      [SDL] TTF path '/Users/grzegorz/bin/atari/clacon2.ttf' -> font=0x0
      SDL_Init: Cannot load font clacon2.ttf
      TTF_OpenFont: Couldn't open /Users/grzegorz/bin/atari/clacon2.ttf: No such file or directory
      [SDL] TTF_OpenFont failed:
      [RASTA] LoadAtariPalette
      [RASTA] LoadInputBitmap
      [RASTA] InitLocalStructure
      [SDL] DisplayText called with null font
      [SDL] DisplayText called with null font
      [SDL] DisplayText called with null font
      [RASTA] SetDistanceFunction(pre)
      [RASTA] SetDistanceFunction(post)
      [RASTA] GeneratePictureErrorMap
      [RASTA] Create 1 evaluator(s)
      [MAIN] ProcessInit OK. Entering MainLoop (dual=0)
      [RASTA] MainLoop start (dual=0)
      [SDL] DisplayText called with null font
      [SDL] DisplayText called with null font


      Edit1:
      Przy kompilacji MADsem do XEX wyskakuje błąd:
      no_name.asq (7) ERROR: Cannot open or create file 'out_dual_A.opt.h'
      • 29: CommentAuthorilmenit
      • CommentTime25 Aug 2025 07:13 zmieniony
       
      1. Skopiuj tam font, jest w repo. 2. Do generowania xex są dwa generatory. Dual jest do trybu /dual i potrzebuje pliki out_dual*
      • 30:
         
        CommentAuthorgienekp
      • CommentTime25 Aug 2025 11:40
       
      MacOS Status:
      1) Kompilacja: działa (środowisko homebrew)
      2) GUI: działa (po skopiowaniu fontu), liczy, boczne obrazki lewy i prawy coś dziwnie migają tak ze dwa razy na sekundę.
      3) noGUI: nie działa, mimo, że pokazuje że program odczytał parametr "quiet", otwiera się normalne okno (dopisałem w kodzie main.cpp, żeby wymusić bez gui ale program olał to, więc gdzieś dalej to nie styka)
      4) XEX: nie kompiluje, domyślnie DUAL jest wyłączony, a mimo tego coś dziwnie tego ASM robi
      • 31: CommentAuthorilmenit
      • CommentTime25 Aug 2025 19:07
       
      Dzięki za testy. Mruganie obrazków poprawię. Wygląda na to, że SDL2 na różnych platformach zachowuje się troszkę inaczej.
      no gui - potrzebuje przekazany parametr NO_GUI - poprawię skrypty, bo widzę że teraz jest tam BUILD_NO_GUI.
      XEX - które pliki do jakiego folderu kopiujesz?
      Ten jest dla single frame: ->link<-
      A ten dla dual mode: ->link<-
      • 32: CommentAuthorilmenit
      • CommentTime19 Sep 2025 01:22
       
      Nowa wersja ->link<-
      • 33:
         
        CommentAuthorgienekp
      • CommentTime19 Sep 2025 21:01 zmieniony
       
      MacOS Status:
      1) Kompilacja: działa (załącznik)
      2) GUI: działa (1 kolumna o jeden wiersz chyba za wysoko i jest na obrazku)
      3) noGUI: działa
      4) XEX: działa

      Brawo! :)
      • 34: CommentAuthorilmenit
      • CommentTime20 Sep 2025 14:06
       
      Rate 40K na threads=1 to niezły wynik! Ile masz na największej liczbie dostępnej na Twojej maszynie?
      • 35:
         
        CommentAuthorjhusak
      • CommentTime20 Sep 2025 23:09 zmieniony
       
      To Mac M1 (prawda?), jest szybki.

      Na moim waha się w granicach 43+- na jednym wątku.

      Jak się doda threadów, to...
      • 36:
         
        CommentAuthorgienekp
      • CommentTime21 Sep 2025 12:18 zmieniony
       
      Tak, M1.

      Jutro sprawdzę na M4. No szybkie są. Ostatnio wypuścili Cyperpunka i też procek daje radę.
      • 37:
         
        CommentAuthorgienekp
      • CommentTime22 Sep 2025 17:37 (7 dni temu)
       
      MacBook Air z M4 ma to co poniżej.
      • 38: CommentAuthorilmenit
      • CommentTime23 Sep 2025 23:51 (6 dni temu)
       
      Nowa wersja, teoretycznie powinna dawać lepsze rezultaty:
      ->link<-
      • 39: CommentAuthorxbx
      • CommentTime24 Sep 2025 12:11 (5 dni temu)
       
      Czy jest gdzieś gotowa binarka na Maca?
      • 40: CommentAuthorilmenit
      • CommentTime24 Sep 2025 13:14 (5 dni temu) zmieniony
       
      @xbx - post powyżej ->link<-
      Najnowszej wersji - jak ktoś skompiluje, ja nie mam Maca :-)