atarionline.pl HAM_CONVERT wspiera również małe ATARI - 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: CommentAuthorTrachu
      • CommentTime15 Jun 2023 07:06
       
      W programie HAM_Convert 1.92 zaimplementowano tryb konwersji obrazków do 5kolorów w linii przy użyciu palety ALTIRRA. Została ona wybrana ze wzgledu na najbardziej równe rozłożenie barw w przestrzeni RGB, ale bedzie mozna tez wybrac inne palety.

      ->link<-
      Uwagi i sugestie mile widziane.
      Jako przyklad tej konwersji podalem żabę :D
      • 2: CommentAuthorkraczaj
      • CommentTime15 Jun 2023 08:06
       
      Bardzo ładna żaba
      • 3: CommentAuthorTrachu
      • CommentTime15 Jun 2023 09:06
       
      a tak wyglada oryginal. Notabene wygenerowany przez AI ;-)
      • 4:
         
        CommentAuthorDracon
      • CommentTime15 Jun 2023 09:06
       
      @Trachu. Niezły wynik. Ten obrazek ma 87 kolorów i ciekawi mnie w jakim trybie jest to wyświetlane na A8 ?
      • 5: CommentAuthortebe
      • CommentTime15 Jun 2023 11:06
       
      i co trzeba zainstalować aby to ruszyło

      uwielbiam te wynalazki, znajdź źródło na bezludnej wyspie, na północ od najdalszej palmy pochylającej się nad największym kamieniem rzucającym cień na podwodną jaskinię z której wystaje ...
      środkowy palec prawej ręki :P
      • 6: CommentAuthorTrachu
      • CommentTime15 Jun 2023 11:06 zmieniony
       
      Program jest napisany w JAVA i wymaga jedynie jej instalacji.
      Program dokonuje konwersji zrodlowego obrazka (jakiegokolwiek) na obrazek PNG symulujac ograniczenia malego ATARI:
      1. Piec kolorów w jednej linii (tryb znakowy)
      2. Paleta 256kolorów ALTIRRA.
      Czyli jest to standardowy tryb graficzny, ale z modyfikowanymi przez Displayliste kolorami w zaleznosci od potrzeby. Zadne duszki do podkolorowania nie sa wykorzystane i moga byc osobno inaczej wykorzystane.
      Program jako taki jest uniwersalny i oferuje konwersji do grafik wielu komputerów a jego sila tkwi w dopracowywaniu algorytmów konwersji i ditheringu. Niemniej jednak to tylko uniwersalny kombajn konwersyjny.

      To zeby zobaczyc dany obrazek na malym Atari, trzeba by wczytac taki PNG w inny program który wygenerowałby XEXa.
      Nie jestem pewien czy G2F wystarczy. Prosilbym o pomoc bardziej doswiadczonych...
      • 7: CommentAuthortebe
      • CommentTime15 Jun 2023 12:06
       
      wynikiem działania programu jest plik IFF

      dlaczego tak wolno działa? co za "rocket science" tam używa...
      • 8:
         
        CommentAuthorlaoo
      • CommentTime15 Jun 2023 12:06
       
      Te 5 kolorów w linii uwzględnia ograniczenia trybu znakowego? Bo to nie mogą być dowolnie rozłożone 5 kolorów.
      Może to, że tak długo liczy, świadczy że uwzględnia, albo wynika z tego, że to Java ;)
      • 9: CommentAuthorTrachu
      • CommentTime15 Jun 2023 12:06
       
      IFF w wersji z naglowkiem PCHG jest dodatkowa opcja. PNG jest zawsze obok.
      Jego szybkosc jest zalezna od opcji które wybierzesz. PRzy niektorych jest po prosto wiecej obliczen.
      Przykladowo accurate mode przypasowuje 256kolorow do kazdej linii by wybrac najlepsze 5.
      • 10: CommentAuthortebe
      • CommentTime15 Jun 2023 12:06
       
      przy 4ech kolorach też tak wolno działa, ~10 min
      • 11: CommentAuthorTrachu
      • CommentTime15 Jun 2023 12:06 zmieniony
       
      hmm, po pierwsze nie ma jeszcze trybu 4 kolorowego atari, natomiast 4colory OCS u mnie konwersja tej zaby trwa sekunde...

      laoo: Tak nie ma ograniczen zaimplementowanego trybu znakowego, ale z drugiej strony biorac pod uwage to jak on dziala nie jest problem.
      To ograniczenie w praktyce jest znikome, bo polega na tym ze w danej linii w obrebie kolejnych blokow 4pixeli kolor 4 musi byc stosowany zamiennie z 5.
      • 12:
         
        CommentAuthorCyprian
      • CommentTime15 Jun 2023 12:06
       

      Trachu:

      Przykladowo accurate mode przypasowuje 256kolorow do kazdej linii by wybrac najlepsze 5

      ten tryb nie ma palety 256 kolorów (16 jasności) tylko 128 (8 jasności). Dodatkowo z tego co pamiętam to na TV jest widocznych mniej bo część z nich jest niemalże identyczna.
      • 13: CommentAuthortebe
      • CommentTime15 Jun 2023 12:06
       
      Java Rulez, pewnie trzeba dysponować specjalnym sprzętem "Java Ready"
      • 14:
         
        CommentAuthorlaoo
      • CommentTime15 Jun 2023 12:06
       
      Ale znikome pod względem efektu wizualnego, czy zmian wymaganych do zaimplementowania? Zgaduję, że to pierwsze, ale jeśli to drugie, to poprosimy, bo tylko wtedy 5 kolorów w linii ma sens.
      • 15: CommentAuthorTrachu
      • CommentTime15 Jun 2023 13:06
       
      Ten program nie dokonuje konwersji do ATARI w sensie stricte tego slowa. On dokonuje symulacji jak efekt takiej konwersji wygladalby i do jego przedstawienia wykorzystuje palete ALTIRA.
      Atari nie operuje na RGB i kazda paleta jest swego rodzaju matryca konwersji z/do RGB. A to oznacza ze kazda daje efekt koncowy inny.
      Ja sobie zdaje sprawe ze akurat w tym trybie znakowym jest polowa tych kolorow, ale na potrzeby konwersji lepiej jest uzywac pelnej palety i pozniej niech sobie wlasciwy konwerter przytnie te odcienie. Po prostu dithering jest wtedy mniej agresywny.
      Niemniej jednak jakby ktos mogl przyciac altirre do 128odcieniow to mozna sprawdzic jak sie zachowuje.
      • 16: CommentAuthorEagle
      • CommentTime15 Jun 2023 22:06 zmieniony
       
      Ponad 2 lata temu uzywalem tego programu dla A7800
      Polecam
      • 17: CommentAuthorTrachu
      • CommentTime16 Jun 2023 11:06
       
      Tebe: Ty jestes autorem Graph2fonta. Wynik konwersji zostal pomyslany tak by twoj program go przyjal tak jak leci w w trybie DLI 2x1 i wyplul wersje Atarowska. Niestety tak nie jest i nie wiem do konca dlaczego.
      W zalaczniku jest zyrafa ktora dla ulatwienia ma wspolny kolor tla, ale ona tez inaczej wyglada w g2f.
      • 18: CommentAuthortebe
      • CommentTime16 Jun 2023 16:06 zmieniony
       
      do G2F potrzebny jest plik MIC i COL

      plik COL (5*256 bajtów)

      256 BYTE Bitmap Colors - Background
      256 BYTE Bitmap Colors - Color 0
      256 BYTE Bitmap Colors - Color 1
      256 BYTE Bitmap Colors - Color 2
      256 BYTE Bitmap Colors - Color 3

      na podstawie jakiegokolwiek PNG, BMP, GIF etc. nie uda się powtórzyć tej samej ścieżki postępowania którą używa HAM

      obraz Atari jest w pewien sposób "zaszyfrowany" musisz znać klucz wg którego przyznałeś kolory kolejnym rejestrom BAK, COL0, COL1, COL2, COL3. Jeśli są to tylko 4 kolory to nie ma problemu, ale z 5-ym sprawa się komplikuje.
      • 19: CommentAuthorEagle
      • CommentTime16 Jun 2023 17:06 zmieniony
       
      HAM generuje plik _pallettes.png
      Ja pobieralem dane zmiany kolorow z pliku IFF
      Na podstawie tego tworzylem DLI na caly ekran

      ztcp zapis byl jakos tak:
      0x,00,pR,GB,pR,GB ...

      x ile kolorow do zmiany w lini
      p ktory kolor do zmiany
      RGB 4 bitowe R,G,B (12bit razem)
      • 20:
         
        CommentAuthorgienekp
      • CommentTime16 Jun 2023 19:06 zmieniony
       
      A czy to dobre jest podejście, żeby algorytmy (w tym ditheringu) bazowały na modelu RGB?
      Bo w początkowej fazie wygląda to nawet nawet, ale im bliżej ATARI tym gorzej.
      Może jakby od razu podejść do sprawy, że jest HSV, gdzie:
      H w systemie PAL daje tylko 14 barw (w NTSC jest 15)
      S to "gałka w TV" czyli trzeba na stałe coś dobrać
      V tylko 8 poziomów

      To by takie "przewidywania" były bardziej trafne i dawały pogląd o potencjale danego obrazka.

      Ja na tym RGB to się parę razy przejechałem :/

      EDIT:
      Poniżej, żaba w oryginale i obok przepuszczona przez model HSV przy stałym "S".
      i RAW z bajtami kolorów atari 0-255
      • 21: CommentAuthorilmenit
      • CommentTime16 Jun 2023 21:06
       
      Polecam model kolorów CIEDE2000 lub YUV - te są wykorzystywane w RastaConverter, ponieważ przy modelu RGB zbyt wiele jest mapowanych do szarości.
      • 22:
         
        CommentAuthorBca
      • CommentTime17 Jun 2023 01:06 zmieniony
       
      ... a ten frogger to już jest poza skalą ...
      Ja wszystkie żaby miałem na zielono - taki monitor ;)
      • 23: CommentAuthorTrachu
      • CommentTime17 Jun 2023 08:06
       
      tebe: plik PNG ma 5 kolorów w linii i problem polega na tym ze G2F ich wszystkich nie rozpoznaje. Sa funkcje Sort colors i smart colors ktore nie dzialaja jak powinny.
      Program powinien rozpoznawac palete kazdej linii i ja przydzielac, a tego nie robi.
      Dodatkowo chyba rzeczywiscie trzeba konwersje docelowo robic do 128kolorów i w zwiazku z tym mam pytanie. Czy wlasciwe i zgodne z tym co robi G2F jest usuniecie co drugiej barw. PRzykladowo dla odcieni szarosci w ALTIRRA
      0 0 0 zostawiamy
      17 17 17 usuwamy
      34 34 34 zostawiamy
      itd.
      PRzyklad takiej palety jest w zalaczniku.
      Jezeli G2F mialby polknac ta zabe, PNG musi zawierac dokladnie te same barwy co jego wlasna matryca konwersji, a jak w G2F daje mu palete ALTIRRA to on widzi pelne 256 kolorów, wiec nie wiem ktore z nich przycina w trybie znakowym.

      gienekp: To co piszesz bylo rozwazane i jest z tym podstawowy problem. To co zrobiles to przerobiles plik zrodlowy tak by byl blizej palety ATARI. Dostepne sa gotowe kody konwersji RGB na HSV ale po konwersji dalej mamy do czynienia z okreslona liczba kolorow w linii ktora trzeba skwantyzowac do 5, a dla algorytmu nie ma znaczenia skad pochodza liczby na ktorych pracuje. Liczby to liczby, zas proces przygotowania obrazka pod konwersje jest czyms zupelnie innym. Zdaje sie ze na Youtube jest caly odcinek poswiecony rastaconverter i temu jak przygotowac obrazek pod niego. Niemniej jednak sa tamopisane doswiadczenia na zasadzie prob i bledow, nie ma technicznych uwarunkowan na ktorych moznaby bazowac. Dyskusja o paletach sprowadza sie do walki czy zielony jest brazowy a nie jak wewentrzenie atari traktuje te kolory.
      Konwersja bedzie rozwijana, jednak na ta chwile uwazam ze priorytetem jest to by ham_convert generowal takie PNG ktore potem wlasicwy konwerter (G2F)przyjal od reki.
      • 24:
         
        CommentAuthorAlex
      • CommentTime17 Jun 2023 11:06
       
      A nie prościej generować od razu pliki w formacie G2F?
      • 25: CommentAuthortebe
      • CommentTime17 Jun 2023 13:06
       
      prościej generować MIC tak jak generuje RastaConverter, do tego plik z informacją o kolorach i po zawodach
      • 26: CommentAuthorTrachu
      • CommentTime18 Jun 2023 08:06
       
      Juz znalazlem w samym programie i potwierdzilem ze moje powyzsze 128kolorow Altirra jest przycieciem ktore faktycznie uzyje G2F, czyli palety sie pokryja, jesli HAM_CONVERT skonwertuje obrazek do nich.

      Jak nalezy rozumiec plik COL (5*256 bajtów)?

      256 BYTE Bitmap Colors - Background
      256 BYTE Bitmap Colors - Color 0
      256 BYTE Bitmap Colors - Color 1
      256 BYTE Bitmap Colors - Color 2
      256 BYTE Bitmap Colors - Color 3

      Czy dajmy na to pierwsza linia to piec kolejnych bajtow, kazdy zawierajacy numer z indeksu palety?
      Jesli tak to czy to numer z oryginalnej 256palety czy z przycietej 128kolorowej?
      Czy kolejne 5 bajtów to kolejna linia?
      Jesli tak by bylo generacja pliku COL bylaby do zrobienia.
      A czym charakteryzuje sie plik MIC. Probowalem szukac dokumentacji ale nie znalazlem.
      • 27: CommentAuthortebe
      • CommentTime18 Jun 2023 10:06 zmieniony
       
      bmp2mic

      bmp2mic -p altirra.act -c file_palettes.png file_output.png

      otrzymujemy 3 pliki: MIC, COL, INV

      wczytujemy je do G2F -> MIC -> INV -> COL

      !!! UWAGA !!!
      pliki PNG tylko 8 bits per pixel, najlepiej szerokości 160 pixeli

      sama konwersja RGB 24bits -> 8 bits już wprowadza zaokrąglenia, np. 24bits (R = 13), 8bits (R = 12)
      • 28: CommentAuthortebe
      • CommentTime18 Jun 2023 10:06 zmieniony
       
      przykład WonderBoy

      wydaje się że HAM zakłada możliwość zmiany 5-koloru co linię i nie uwzględnia że włączenie 5-koloru w lini 0 automatycznie włącza go w liniach 1..7

      tryb z wierszami 1 liniowymi w teorii jest możliwy do uzyskania, tyle że wymaga to dla 240 linii 240 zestawów znakowych w najgorszym przypadku

      albo źle interpretuję paletę kolorów którą generuje HAM

      od lewej COL0, COL1, COL2, COL3, BAK ?
      • 29: CommentAuthorTrachu
      • CommentTime18 Jun 2023 12:06
       
      tebe: Pozwole sobie wytlumaczyc jak ja rozumiem ograniczenie trybu znakowego Atari.
      Kazdy znak obejmuje obszar 4x8pixeli, a kolor pojedynczego pixela jest ustalany na podstawie 2 bitów.
      Tych znaków moze byc 128, jednoczesnie istnieje mapa znaków gdzie dla kazdego znaku istnieje 8my bit który okresla ze w obrebie calego znaku kolor 4 jest zamieniony przez kolor 5.
      Jednoczesnie ATARI ma przerwanie DLI ktore umozliwia w kazdej linii zmiane wartosci rejestru wszystkich 5 kolorów.
      Te ograniczenia wydaja sie byc duze, ale w praktyce jak sie zrozumie je to wychodzi ze sa prawie ze nie istotne w praktyce.
      Po pierwsze skoro znak ma w linii tylko 4 pixeli, zawsze mamy do czynienia z 4 kolorami. To czy dany kolor bedzie od strony sprzetowej widziany jak rejestr 4 czy jako rejestr 5 nie ma znaczenia dla konstrukcji obrazu, to co jest prawdziwym ograniczeniem dla trybu znakowego mozna strescic w jeednym zdaniu.

      W obrebie jednej linii w kazdych kolejnych 4 pixelach nie moze wystapic jedna i ta sama para kolorów, wybranych wczesniej z 5 wspolnych dla calej linii.

      Aby unaocznic ograniczenie umowmy sie ze mamy do czynienia z 5 kolorami RGBYM (umownymi gdzie kazdy reprezentuje inny rejestr)

      W linii moze wystapic taka sekwencja:
      RGBYRGBMRRGYGGRM (gdzie Y to kolor 4 a M to kolor 5)

      natomiast nie moze wystapic
      RGYMRGBYRYMYRGBY (gdzie Y to kolor 4 a M to kolor 5)

      Jednak gdy zrobimy mala podmiane rejestrów to powyzszy uklad kolorów jest równiez mozliwy
      RGYMRGBYRYMYRGBY (gdzie B to kolor 4 a M to kolor 5)

      HAM_Convert jest darmowym kombajnem do konwersji wspolczesnych obrazków do ograniczen retro sprzetu. Dla osiagniecia celu korzysta z najnowszych osiagniec matematycznych i stad jego wyniki sa tak dobre. Zmuszenie go do wypluwania od razu formatu Atari jest teoretycznie mozliwe, ale w praktyce wymagaloby od autora skupienia sie na niuansach architektury co pochloneloby zbyt duzo czasu. Lepiej niech skupi sie na algorytmach, a niech ktos inny ogarnie ostatni etap konwersji.
      • 30: CommentAuthortebe
      • CommentTime18 Jun 2023 14:06 zmieniony
       
      Trachu?

      czy w pliku xxx_palettes.png wygenerowanym przez HAM kolory reprezentują od lewej strony (708..712)

      COL0, COL1, COL2, COL3, BAK

      co oznacza 'Colors per line' | '4 modif' | '1 locked'

      aktualnie nie widzę aby HAM respektował ograniczenia 5 koloru, potrafi ustawić obok siebie oba kolory COL2 ; COL3

      sugeruję dodać opcję 4 kolory na linię, 5 kolorów to już "rocket science" i nawet JAVA tu nie pomoże
      • 31: CommentAuthorTrachu
      • CommentTime18 Jun 2023 17:06
       
      Na razie kolejnosc kolorów jest dowolna jaka wynika z obliczen oraz by zminimalizowac ilosc zmian kolorow co linie. Na razie nie sugeruj sie ich kolejnoscia w zaden sposob.
      4 kolory tez beda.
      • 32: CommentAuthorEagle
      • CommentTime18 Jun 2023 22:06 zmieniony
       
      Frog 4 kolory z paleta Atari

      Tebe jesli ustawisz 3 modif i 0 locked to co linie bedzie zmieniac dowolne 3 kolory z tych 5.
      Przy 3 modif i 2 locked - zmiany 3 kolorow co linie, ale pozostale 2 nie beda zmieniane.
      • 33: CommentAuthortebe
      • CommentTime18 Jun 2023 23:06
       
      • 34: CommentAuthorEagle
      • CommentTime19 Jun 2023 00:06 zmieniony
       
      Dzieki Tebe
      Uzywalem Mode: Amiga OCS Dynamic Hires/PCHG software mode
      Colors per line: 4
      Nie wiem po co autor zrobil tryb 5 kolorowy specjalnie dla Atari
      Watpie zeby to dzialalo, ale ja sie tam nie znam :D
      • 35: CommentAuthormarok
      • CommentTime19 Jun 2023 10:06
       
      Jednak gdy zrobimy mala podmiane rejestrów to powyzszy uklad kolorów jest równiez mozliwy


      Przypuszczam że:
      Podmiana rejestrów jest równie czasochłonna jak załadowanie ich dowolnymi wartościami (a to daje paletę kolorów >5).

      Jednak, jeśli kolor przypisany rejestrowi koloru 4 lub 5 miałby "nadpisywać" jeden z rk 0-3 na jakąś niezbędną chwilę (aby potem to nadpisanie cofnąć) to może to by dawało jakiś handicap (w stylu: łatwiej dawałoby się policzyć przygotowanie obrazka na Atari z tych 5 kolorów, niż >5, i być może nawet mogłyby one być łączone swobodniej, choć nadal z ograniczeniami).
      • 36:
         
        CommentAuthorgienekp
      • CommentTime19 Jun 2023 11:06
       
      @Trachu
      raczej chodziło mi o zwrócenie uwagi na to, że paleta ATARI w ogóle nie obejmuje nasycenia. Czyli jak jest brzuch żaby, to algorytmy ditheringu RGB automatycznie chcą stawiać pixel szary/pixel kolor/pixel szary itd. Żeby oko uśredniło do mniejszego nasycenia. Przy rozdzielczości 160 można by powiedzieć, że oko musi wygładzić na poziomie "80". A to już GR10 i często dylemat, czy nie zmienić trybu graficznego. 160 piksli jest fajne do pokazania detali a dithering to niszczy.

      Gdy podczas szukania najbliższego koloru polecimy inną metodą powstanie nam plik od razu w palecie ATARI. Czyli jak jest np. bajt $25 to jest to kolor ATARI $25. Nie ma znaczenia jak on wygląda w jakimś emulatorze z daną paletą lub konkretnym modelu ATARI. Ważne, że już wiadomo że to jest ten 25-ty. Ta degradacja jakości wydaje się być duża jak na pierwszy krok, ale za to efekt końcowy będzie mocno przewidywalny. Mało tego jeżeli obok jest piksel $34. To tak naprawdę jasność 5 i 4 w palecie 128 to jest to samo a kolor 2 i 3 jest tak bliski, że można to zrobić jednym. Algorytm "Amigowy" tego nie wyłapie, bo widzi 5 kolorów po Amigowemu. Dodatkowo przy RGB oba bazowe kolory mogły polecieć w inną stronę i na czymś potencjalnie gładkim zacznie się dithering wyżywać. I gdy dobieranie ostatecznych 5 kolorów jest na ostatnim etapie to z tej sieczki ditheringowej wyjdzie dziwadło.

      A wydaje mi się, że łatwiej jest zrobić z linii gotowych kolorów ATARowskich (czyli kolejnych bajtów 0-255) 5 docelowych dominujących. Ale algorytmu który by tak robił to nie widziałem.

      Do konwersji bajtów RRGGBB (czyli 3 bajtów dla piksela) na bajt atari zrobiłem kiedyś:
      ->link<-

      Żabę przepuściłem "w te i nazad" czyli jeszcze:
      ->link<-
      • 37: CommentAuthortebe
      • CommentTime19 Jun 2023 15:06
       
      ->link<-

      HAM_Converter świetnie sobie radzi z obrazkami FWA (Fun With Art), po zamianie na '8 bits per pixel' trafność doboru kolorów 99%
      • 38: CommentAuthorEagle
      • CommentTime19 Jun 2023 20:06 zmieniony
       
      @Trachu jesli masz kontakt z autorem to czy mozesz go zapytac o dodanie trybu 13 oraz 25 kolorowego?
      Dotychczas uzywalem np trybu 16 z 4 kolorami locked
      Atari 7800 ma palete 256 kolorow.
      Ponizej pierwszy lepszy rysunek z Amigi po konwersji w HAM

      edit: dolozylem zabe w 13 kolorach ze zmiana 3 kolorow co linie
      edit2: zaba 25 kolorow, zmiana 3 kolorow co linie
      • 39: CommentAuthormono
      • CommentTime19 Jun 2023 21:06 zmieniony
       

      Eagle:

      Atari 7800 ma palete 256 kolorow.
      Atari z Sophią lub z VBXE też ma paletę 256 kolorów w każdym trybie.

      Edit: Piękna żaba. Industrialna.
      • 40: CommentAuthorTrachu
      • CommentTime20 Jun 2023 12:06 zmieniony
       
      Do wszystkich: Ja autorem tego programu nie jestem. Ja sluze juz od paru lat za wsparcie techniczne i to jest moja cegielka w nim. Autor pisze go hobbistycznie, jest raczej mlody, nie mial Atari czy tez Amigi, a ja go od roku probuje namowic na wsparcie malego Atari. Kontakt z nim bezposredni moze kazdy miec, ale uwazam ze lepiej by przedyskutowac tutaj wlasne pomysly i podac mu gotowe rozwiazania niz zawracac mu gitare. Wierzcie mi tak bedzie dla wszystkcih lepiej.

      GienekP: twoja zaba po konwersji na HSV ma tylko 176kolorów, wiec ty nie tylko zmieniles przestrzen barw RGB na HSV, ale ja zmniejszyles bitowo na takiej samej zasadzie jak Amiga uzywa ograniczonej przestrzeni RGB12bitow.
      To co napisales ja tez zaproponowalem autorowi, ale odpowiedzial ze wlasciwa konwersja RGB na HSV nie zmniejsza ilosci barw w linii , wiec nie ma znaczenia dla algorytmu.
      Z kolei z moich doswiadczen ci moge powiedziec, ze twoja zaba po kwantyzacji do 5 kolorów w linii wyglada gorzej co zalaczam. Z praktyki wiem ze proba zmniejszania calkowitej ilosci kolorow obrazka zrodlowego celem ulatwienia konwersji do 4 czy 8 kolorów w linii rzadko bywa uzyteczna. Czesciej psuje finalny efekt.

      tebe: po przemysleniu ograniczen trybu znakowego, widze jeszcze jeden problem, ktory prawdopodobnie miales na mysli. Otoz o ile dane graficzne poszczegolnych znaków sie nie zmienia wiec zmiana kolrów nie wplywa na calkowita ilosc uzytych tablic znakowych, to jednak wplywa na indeks znaków opisujaca obszar 4x8 pixeli. Jesli 8-my bit bedzie 1 to w calosci tego obszaru czyli w calosci 8 linii bedzie uzyty aktualny rejestr 5 zamiast rejestru 4. Podobnie jest w przypadku pozostalych 39-ciu obszarów 4x8. Jesli w kolejnej linii zmienimy wartosci tych rejestrow to wplywamy na wszystkie 40 bloków i tu juz musza pojawic sie bledy. Zamiast wymyslac rocket science chyba najprosciej umozliwiac zmiane 4 i 5 koloru jedynie co 8 linii.

      eagle: twoje obrazki wynikowe maja wiecej niz 5 kolorów w linii wiec niewlasciwie obslugujesz ten program. Musisz ustawic na sztywno pierwsze 4 kolory np. kolorem tla i probowac trybu 8kolorowego z 4 zmianami co linie, ale to i tak bedzie paleta RGB12. Musisz wczesniej przygotowac plik zrodlowy
      • 41: CommentAuthorEagle
      • CommentTime20 Jun 2023 12:06
       
      Dlatego ze Atari 7800 moze wyswietlic 25 kolorow w lini bez zadnych ograniczen.
      • 42: CommentAuthorTrachu
      • CommentTime20 Jun 2023 13:06
       
      eagle: tak dziwnie jakos. Dlaczego 25 a nie 32 (2^5bitow)?

      Czy ktos moglby wyjasnic jak zapisywac konkretne kolory w pliku COL?
      Mysle ze generacja palety jest jak najbardziej mozliwa skoro juz PNG robi, kwestia wytlumaczenia autorowi struktury tego pliku.
      • 43: CommentAuthormono
      • CommentTime20 Jun 2023 13:06 zmieniony
       
      8 palet * 3 kolory + 1 tło
      • 44: CommentAuthortebe
      • CommentTime20 Jun 2023 13:06
       
      COL:
      256 wartości dla rejestru COLBAK ($d01a), linie 0..255
      256 wartości dla rejestru COLOR0 ($d016), linie 0..255
      256 wartości dla rejestru COLOR1 ($d017), linie 0..255
      256 wartości dla rejestru COLOR2 ($d018), linie 0..255
      256 wartości dla rejestru COLOR3 ($d019), linie 0..255

      ogólnie tylko wartości 0..239 są wykorzystywane, ale prościej było zgrać całą tablicę 5*256 do pliku niż pisać kod dla każdego rejestru
      • 45: CommentAuthorTrachu
      • CommentTime20 Jun 2023 14:06 zmieniony
       
      co reprezentuja soba te wartosci? Czy numer koloru w palecie?
      Czy jesli wpisze w pierwszy bajt hexadecymalnie 01 to bedzie to znaczylo ze w pierwszej linii COLBAK ma przyjac wartosc z 2 koloru palety?
      Jak podejsc do tego ze kolorów jest tylko 128???
      • 46: CommentAuthorilmenit
      • CommentTime20 Jun 2023 14:06
       
      @Trachu - "Jak podejsc do tego ze kolorów jest tylko 128???" - dla każdego nieparzystego indeksu koloru bierzesz kolor tego niżej.
      • 47: CommentAuthortebe
      • CommentTime20 Jun 2023 14:06 zmieniony
       
      do rejestrów zapisuje się wartośći 0..255 and $FE, jest to indeks do palety kolorów (numer koloru w palecie)

      czyli jeśli nie używasz trybów GTIA, to z palety 256 kolorów wybierasz kolory 0,2,4,8,10,12,14.... (stąd 16 kolorów w 8 odcieniach)
      • 48: CommentAuthormono
      • CommentTime20 Jun 2023 14:06 zmieniony
       
      Panowie. Po co tak? Używając pełnej palety 0..255 na Sophia i VBXE obraz będzie wierniejszy. A GTIA i tak samo zrobi AND $FE.
      • 49: CommentAuthorTrachu
      • CommentTime20 Jun 2023 15:06
       
      tebe: Ja sie pytam o to jak ma wygladac plik COL generowany przez HAM_Convert jesli autor zaimplementuje ta funkcje.
      Wypowiadasz sie dwuznacznie, mieszajac pojecia hardware i software.
      • 50: CommentAuthormarok
      • CommentTime20 Jun 2023 17:06
       
      Ja zrozumiałem to tak (z tego wielogłosu), że lepiej żeby numery kolorów dla rejestrów były "pełnoskalowe" (z 256 palety), a ponieważ GTIA zrobi to automatycznie, lub jakiś program zewnętrzny (nie na Atari) obsługujący te obrazy (który chciałby odwzorować "zwykłe" Atari) miałby potem je wyświetlić, to ten mógłby (default-owo? , najlepiej jako opcja 1 z 2) "zaokrąglać" indeksy kolorów (and #$fe) do palety 128 (odworowując tak zachowanie "normalnego" GTIA).