[Atari] AtariOnLine: Dodatkowe kolory duszków

[5] # AtariOnLine | Czwartek, 25 Lutego 2021 20:46CET

[Atari] AtariOnLine: Dodatkowe kolory duszków

Program Multicolor Sprites autorstwa Kski, to taki drobny, pomocniczy programik napisany w języku Java, który może się bardzo przydać programistom i grafikom Atari. Był wykorzystany również przy produkcji "Alberta". Co robi? Zanim to wyjaśnię, trochę wstępu.



Na Atari duszki mogą nie tylko mieć własny kolor, ustawiany w odpowiednich rejestrach duszków, o czym wie każdy, ale również uzyskać dodatkowe kolory w wyniku nakładania koloru jednego duszka z kolorem innego duszka (lub nałożenia koloru duszka na kolor grafiki). Realizuje się tę magię przez włączenie w mocarnym rejestrze PRIOR/GPRIOR bitu odpowiadającego za graczy wielokolorowych. Nie jest to zbyt często wykorzystawaną właściwością w grach i demach, ponieważ początkujący mają problem ze zrozumieniem jak to działa i jakie kolory można uzyskać, a bardziej zaawansowani unikają utrudniania i spowalniania sobie pracy, bo uzyskiwane kolory zależą od kilku czynników, które trzeba wziąć pod uwagę.

Zacznijmy od najprostszego przykładu. Jeżeli na ekranie nałożymy na siebie duszka 0 i 1, to w miejscu nałożenia pikseli obu duszków, powstanie dodatkowy kolor. Kolor ten wyliczany jest poprzez działanie funkcji bitowego OR, stąd potocznie nazywa się to "OR-owaniem koloru". Uwaga! Ta nazwa może być trochę myląca. Może sugerować, że OR-owana jest wartość składowych koloru, a to nieprawda. OR-owany jest indeksu koloru czyli jego pozycja w palecie! A więc pamiętajmy, że zmienia się numer koloru, a nie składowe koloru. Technicznie realizuje to układ GTIA, który wylicza nowy kolor w palecie swoją wewnętrzną funkcją.

W przykładzie powyżej nowe kolory uzyskamy po nałożeniu na siebie duszków 0 i 1. Ale można uzyskać nowy kolor również po nałożeniu na siebie drugiej pary - duszka 2 i 3. Te dwie pary duszków pozwalają uzyskać nowe kolory. Inne kombinacje, na przykład nałożenie duszka 0 i 3 albo 1 i 2 nie dadzą żadnego nowego koloru. Wyjaśnię, że terminem "duszek" określam tu zarówno gracza (ang. player), jak i pocisk (ang. missile), czyli nazwy występujące w terminologii firmy Atari (stąd "grafika graczy i pocisków", co jest kalką ang. Player/Missile Graphics, PMG). Gdy więc piszę o duszku, to piszę zarówno o graczach, jak i pociskach. Tutaj zadziała każda kombinacja gracza i pocisku 0 z graczem i pociskiem 1. Tak samo każda kombinacja gracza i pocisku 2 z graczem i pociskiem 3.

Ponadto jest możliwe, po włączeniu priorytetu 0 dla grafiki PMG, aby duszek 0 i 1 dawały nowe kolory po nałożeniu na dwa kolory grafiki (kolory w rejestrach COLPF0 i COLPF1), a duszek 2 i 3 dawały nowe kolory w interferencji z grafiką z rejestrów COLPF2 i COLPF3. Co więcej, można nałożyć tak uzyskany kolor, pochodzący ze zmieszania duszków 0 i 1 (lub duszków 2 i 3), na kolory grafiki - i uzyskać jeszcze inne kolory, bo w wyniku podwójnego OR-wania!


rys 1. Tak z jednego duszka można wycisnąć 3 kolory w linii (a z dwóch duszków 6 kolorów w linii). Tutaj kolory nie są ułożone w linii, ale to przykład, zależy jak sobie ułożymy piksele w duszkach.


rys 2. Tak z pary duszków można wycisnąć 9 kolorów w linii (a z dwóch par duszków 18 kolorów w linii).


rys 3. Po dodaniu 5 kolorów grafiki mamy 23 kolory!

Maksymalnie możemy więc na ekranie dysponować 23 kolorami, bez specjalnych sztuczek, wykorzystując jedynie standardowe możliwości komputera (o czym Mono pisał tutaj):

  • kolor grafiki COLBAK
  • kolor duszka 0
  • kolor duszka 1
  • kolor nałożonego duszka 0 i 1

  • kolor grafiki COLPF0
  • kolor duszka 0 nałożony na grafikę COLPF0
  • kolor duszka 1 nałożony na grafikę COLPF0
  • kolor nałożonego duszka 0 i 1 nałożony na grafikę COLPF0

  • kolor grafiki COLPF1
  • kolor duszka 0 nałożony na grafikę COLPF1
  • kolor duszka 1 nałożony na grafikę COLPF1
  • kolor nałożonego duszka 0 i 1 nałożony na grafikę COLPF1

  • kolor duszka 2
  • kolor duszka 3
  • kolor nałożonego duszka 2 i 3

  • kolor grafiki COLPF2
  • kolor duszka 2 nałożony na grafikę COLPF2
  • kolor duszka 3 nałożony na grafikę COLPF2
  • kolor nałożonego duszka 2 i 3 nałożony na grafikę COLPF2

  • kolor grafiki COLPF3
  • kolor duszka 2 nałożony na grafikę COLPF3
  • kolor duszka 3 nałożony na grafikę COLPF3
  • kolor nałożonego duszka 2 i 3 nałożony na grafikę COLPF3

    Od takiej listy może rozboleć głowa, ale ona pokazuje, co możemy OR-ować, a nie jaki efekt uzyskamy z samego OR-owania. Wyliczenie, jaki kolor uzyskamy przez OR-owanie, możemy oczywiście przeprowadzić "ręcznie". Z tym, że jest to żmudna robota, no i potem trzeba jeszcze "ręcznie" sprawdzić wynik czyli ustawić i wyświetlić odpowiednie kolory we własnym programie, żeby zobaczyć efekt. I tu dochodzimy do początkowego pytania - do czego służy ten program? Do tego, by nie wyliczać tego wszystkiego na piechotę. Mamy tu podgląd efektu mieszania wybranego koloru od razu z wszystkimi pozostałymi stu dwudziestoma siedmioma kolorami.

    Po uruchomieniu programu widzimy trzy obszary: po lewej wyświetlana jest paleta 128 kolorów, dostępna we wszystkich trybach graficznych i tekstowych Atari (przypomnę, że paletą 256 kolorów dysponujemy tylko w jednym trybie, GR.9). Każdy kolor ma tu swoją stałą pozycję i wartość, podaną szesnastkowo. Wystarczy kliknąć którykolwiek kolor po lewej, by wybrany kolor pojawił się w środkowej części. A po prawej będziemy widzieli efekt mieszania tego koloru z innymi. Pierwsza kolumna to dany kolor z palety, z którym będziemy mieszać nasz wybrany kolor, a druga kolumna to efekt tego mieszania. Wygląda to skomplikowanie, ale jest banalnie proste w używaniu. Dzięki temu możemy od razu zobaczyć, które składowe nam się przydadzą do mieszania kolorów duszków i jaki efekt mieszania uzyskamy.



    Program pokazuje kolory dla pojedynczego OR-owania, a nie podwójnego, które daje dodatkowe 4 kolory, ale w razie potrzeby można sobie i z tym poradzić. Wystarczy zrobić OR w dwóch krokach. Na przykład w pierwszym kroku ze zmieszania koloru o numerze $5A z kolorem o numerze $6E uzyskujemy z-OR-owany kolor $7E. Teraz wybieramy ten kolor $7E z panelu po lewej i odczytujemy wynik drugiego OR-owania z panelu po prawej.



    Na moją prośbę autor dodał jeszcze możliwość załadowania palety w formacie ACT, znanym z emulatorów. To przydatna funkcja. Raz, że palety w systemach kolorów PAL, NTSC i SECAM są odmienne, dwa, że nawet w ramach jednego systemu kolorów powstały różne przybliżenia palety prawdziwego Atari (znam ich kilkanaście dla samego PAL). Bywa też, że koderzy i graficy upierają się przy jakiejś konkretnej, swojej ulubionej palecie, więc program daje im możliwość jej wczytania i używania.



    Warto też dodać, że ponieważ paleta PAL czy NTSC różnią się wartościami kolorów palety, to mimo, że OR-owanie jest identyczne dla obu systemów, to uzyskujemy inny efekt. Planując nakładanie kolorów w swoich duszkach warto pamiętać o tych różnicach, żeby nie być zaskoczyć, że gra wykorzystująca mieszanie duszków lub duszków z tłem inaczej wygląda kolorystycznie po uruchomieniu na NTSC, a inaczej na PAL. Na przykład kolory brązowe w PAL wyświetlą nam się jako zielone w NTSC... Można się przekonać o tym porównując na przykład paletę laoo.act (PAL) z larry.act (NTSC):



    Program multicolor sprites.jar do ściągnięcia stąd. Za pomoc przy opracowaniu artka dziękuję koledze Mono, który przygotował obrazek z nakładaniem się kolorów. Do dyskusji na temat arcyciekawy temat kolorów odsyłam do wspomnianego wątku kolegi Mono.

    2021-02-25 20:46 by Kaz
    komentarzy: 4
  • → NOWSZY [Atari] AtariOnLine: Nowości w świecie Atari
    → [Atari] AtariOnLine: Środowisko prasowe z nowymi "Bajtkami"
    → [Atari] AtariOnLine: "Albert" poprawiony
    → [Atari] AtariOnLine: Światowa premiera "Uprchlý vekslák"
    → [Atari] AtariOnLine: Czy nowa edycja "Bajtka" jest coś warta?
    → [Atari] AtariOnLine: Światowa premiera "Alberta"
    → [Atari] AtariOnLine: "Rainer" uwolniony!
    → [Atari] AtariOnLine: Jeszcze nowszy "Recoil"
    → [Atari] AtariOnLine: Niezwykła historia pewnej kasety

    Tagi: Atari, Atarionline.pl, Atari Xe, Atari Xl, Retroserwisy, Ataionline, Fusik

    wstecz25/02/2021 20:46
    Inne treści związane z tematem
    [Atari] AtariOnLine: Nowości w świecie Atari [Atari] AtariOnLine: Nowości w świecie Atari
    Kamil "Gorgh" Trzaska napisał:Z racji tego, że miałem trochę czasu, to postanowiłem skrobnąć krótki artykuł o tym, co aktualnie dzieje się w świecie Atari.1. Problemy ze stroną klubu ABBUCSasha Kriegel, obecny prezes klubu, wysłał do osób związanych z organizacją maila wyjaśniającego zawieszenie działania strony ...
    [Atari.Area] Mountain, czyli obrób sobie film na Atari z 68030 [Atari.Area] Mountain, czyli obrób sobie film na Atari z 68030
    Masz Duże Atari z procesorem 68030? To teraz możesz za darmo ściągnąć sobie edytor filmów Mountain. Jest to super gratka dla pasjonatów, polecam zajrzeć pod wspomniany link.
    [Atari.Area] Materiał z Giełdy Komputerowej w lubelskim Staszicu [Atari.Area] Materiał z Giełdy Komputerowej w lubelskim Staszicu
    Dziś prezentujemy materiał z giełdy komputerowej, która odbywała się w Lublinie w Liceum im. Stanisława Staszica. Nagranie miało miejsce 1 stycznia 1993, była to nietypowa giełda z uwagi nowego roku, więc wyjątkowo znajdowało się wtedy mało ludzi, dlatego pewnie też powstał ten materiał - był to czas kiedy wchodziło prawo autorskie i niedługo potem giełda została ...
    [Atari.Area] Adam Dyba - Orko [Atari.Area] Adam Dyba - Orko
    Zapraszamy do przeczytania rozmowy z Orko, protoscenowym koderem z Lublina, autorem m.in. Syf-On Demo, The MTV Demo, a także programu Master SAM. Przy okazji, komu się udało otrzymać poniższy easter egg z Master SAM? "Jest w Master SAM także smaczek, bo co około 10 ładowanie programu demo, zamiast demo ładuje się programik wirus, który pokazuje animację wirusa, który wypowiada ...
    [Atari.Area] Wywiad z Krzysztofem Kobusem (K.K. / WFMH ^ Quartet) [Atari.Area] Wywiad z Krzysztofem Kobusem (K.K. / WFMH ^ Quartet)
    Z przyjemnością zapraszamy do przeczytania wywiadu z Krzysztofem Kobusem, ówcześnie znanym jako K.K./WFMH^Quartet, jednym z pionierów atarowskiej protosceny. Członkiem WFMH, później również Quartetu, autorem takich kultowych dem z końca lat 80. jak First Try, Yo Every Lamer, The Last Scroll. Rozmowa jest dostępna w dziale Wywiady.
    Komentarze

    T-shirt "Dyskretny urok duplikacji"

    Retro T-Shirt Dyskretny urok duplikacji - męski podkoszulek
    Newsy Linkownia Emulatory na PC Wideoteka Screenshoty Bajtek Reduks Ready.Run

    © Try2emu 1999 - 2021 | Krzysztof 'Faust' Karkosza Google+Kontakt