SHIMC EDITOR 1.0

program: Sero/Samar

  • INFORMACJE OGÓLNE

    Jest to nowy program graficzny do trybu SHIMC (SAMAR Hi-res Interlace with Map of Colours). Jak sama nazwa wskazuje tryb oferuje rozdzielczość hi-res (GRAPHICS 8 - 320*192), z dużą ilością kolorów i olbrzymią paletą 16384 barw. Niestety, wykorzystanie wszystkich możliwości jest dość trudne i wymaga pewnej wprawy. Dodatkowo SHIMC Editor daje ograniczony dostęp do rozdzielczości Super Hi-res (640*192).

    Pełen pakiet zawiera pliki:

    SHIMCED.COM - SHIMC Editor 1.0
    SHIMCED.DOC - ten plik
    SHIMCVW.ASM - procedury wyświetlające obrazek w SHIMCu
    NEW*   .SHC - obrazki skonwertowane z trybów GRAPHICS 8 i 15 (sorrki dla autorów, że nie pytałem o zgodę,
                  ale konwertowałem co mi w łapy wpadło). Oczywiście te obrazki nie wykorzystują mapy kolorów!!!
    
  • OPIS TRYBU SHIMC

    Tryb ten jest modyfikacją mojego dawnego NEWGMa (niektórzy widzieli go na Ornecie'96). Zasadniczo opiera się na z'interlace'owaniu dwóch rysunków w GRAPHICS 8. Jeśli oba tak otrzymane bitplane'y będą miały ten sam kolor to powstanie wrażenie wyższej rozdzielczości (punkty nieparzyste są z bitplanu 1, zaś punkty parzyste z bitplanu 2) - jest to tryb Super Hi-res:

     bitplane1:  * ** *
     bitplane2: * ** ***
    
     bitplenes: 1212121212121212121
     NEWGM    :  **  ****  *** *
    

    Natomiast jeśli bitplany bedą miały różne kolory to otrzymamy cztery kolory w rozdzielczości 320*192, przy czym kolor 1 to kolor bitplanu 1, kolor 2 to kolor bitplanu 2, kolor 3 to kolor bitplanu 1 zmieszany z bitplanem 2 (interlace), kolor 0 to kolor tła bitplanu 1 w interlace z kolorem tła bitplanu 2. Kolor danego punktu określa się w ten sposób, że starszy bit jest z bitplanu 2, zaś młodszy z bitplanu 1 (identycznie jak przy kolorowych sprite'ach):

     bitplane2: * ** ***
     bitplane1:  * ** *
    
     bitplanes: 21 21 21 21 21 21 21 21 21
     NEWGM    : *   * *  **  * *  ** *
     colours  :  2  1  2  3  1  2  3  2  0
    

    Tak otrzymany tryb daje już dość duże możliwości (wystarczy obejrzeć obrazki NEW*.SHC otrzymywane tylko w ten sposób). Jednak SHIMCowi dodałem jeszcze mapę kolorów. Jest to rzecz dobrze znana ludziom którzy pracowali kiedyś na Spectrumnie lub na Comodzie.

    W SHIMCu mapa kolorów ma postać 11 obszarów na jedną linię obrazu. Otrzymuje się je przez odpowiednio docyklowane rytmiczne wpisywanie odpowiednich wartości do rejestru koloru. Jednak w trybie GRAPHICS 8 kolor punktów przyjmuje barwę rejestru tła, więc wpisywanie wartości do rejestru $d017 powodowałoby tylko zmianę jasności punktów. Dlatego wartości wpisuje się do rejestru tła ($d018), a oba bitplany są w negatywie, chociaż i to rozwiązanie ma wadę - tło przejmuje barwę punktów. Dodatkowo tak otrzymane obszary są za szerokie (6 na linię obrazu),więc inaczej docyklowałem wpisywanie podczas wyświetlania bitplanu 2 - wartości są wpisywane równo w połowie obszarów z bitplanu 1, co daje 11 różnych obszarów na linię, przy czym obszary 1 z 2,3 z 4 itd. mają taki sam kolor 1 punktów, a obszary 0 z 1, 1 z 2 itd. mają wspólny kolor 2 punktów. Niestety obszary z lewej strony obrazu są szersze niż te z prawej strony, ale nie da się tego zmienić (podczas wyświetlania lewej strony obrazu procesor jest zatrzymywany przez Antica).

    obszary1: _0_  ____1___  ___2__  __3__
             /   \/        \/      \/
    obraz   :* * * *** * ** * ** * ** * **
             \_________/\_______/\____/\__
    obszary2:     0         1      2     3
    

    Podsumowując:

  • mamy 11 obszarów na linię

  • co drugi obszar zmieniamy kolor 1, a więc możemy użyć sześć różnych kolorów 1 w lini (oczywiście po jednym na obszar), każdy z palety 128 barw

  • identycznie, co drugi obszar (na przemian kolor1 i kolor2) zmieniamy kolor 2 (paleta również 128 barw)

  • w każdym z 11 obszarów mamy kolor 3 powstały ze zmieszania kolorów 1 i 2 (interlace), a więc paleta wynosi 128*128=16384 barw (pełne 16384 bo np. kolory $24 z $ae nie wyglądają tak samo jak $ae z $24 - oko widzi tą samą barwę, ale rozróżnia ich naprzemienność w interlace)

  • w każdym z 11 obszarów kolor tła przejmuje barwę (przy jasności równej 0) kolorów 1 i 2 w tym obszarze (w interlace). Wygląda to paskudnie, więc należy stawiać jak najwięcej pixeli (aby było widać jak najmniej tła), albo nie bawić się barwami i rysować za pomocą 64 jasności (a to i tak nie mało), ustawiejąc wszystkie kolory na tę samą barwę (np. $5e $52 $54 $5a itd.)

    UWAGA!!! O ustaleniu jednolitej barwy powinni pamiętać zwłaszcza posiadacze monitorów monochromatycznych, ponieważ na mono nie widać "błędu tła" i może to prowadzić do syfienia się obrazka na monitorze kolorowym!!!

  • OPIS SHIMC EDITORA

    Po uruchomieniu program zgłasza się w trybie ZOOM. U góry znajduje się powiększony fragment rysunku z siatką zaznaczającą obszary mapy kolorów. Jeśli pionowa linia tej siatki składa się z "jakby-wykrzykników" to znaczy to, że oddziela ona obszary, gdzie zmienia się kolor 1 (wspólny kolor 2), jeśli zaś składa się z "jakby - wykrzykników do góry nogami" to odziela obszary, ze zmienianym kolorem 2 (wspólny kolor 1). Siatkę włącza i wyłącza się klawiszem <G>.

    Na dole ekranu znajduje się okno z nazwą i autorem programu, informacją o krótkiej instrukcji (po angielsku) pod klawiszem HELP oraz z linią statusu:

    X:$aa Y:$bb c:$dd e:$ff COLOR:g CHNG:h
    
     aa - pozycja x kursora (hex)
     bb - pozycja y kursora (hex)
      c - numer obszaru (bitplane 1) mapy kolorów w danej lini
     dd - wartosc koloru 1 (bitplane 1) w danym obszarze (hex)
      c - numer obszaru (bitplane 2) mapy kolorów w danej lini
     dd - wartosc koloru 2 (bitplane 2) w danym obszarze (hex)
      g - numer rejestru koloru
      h - stan zmieniania mapy kolorów
    

    Kursorem porusza się przy pomocy joya. Jeśli dojdzie on do brzegu ekranu to przesuwa się powiększany fragment. Jego aktualną pozycję można zobaczyć przy pomocy klawisza <TAB>. Natomiast gdy chcemy zobaczyć cały rysunek, to przytrzymujemy klawisz <SHIFT>.

    Ponieważ, program oferuje olbrzymią ilość kolorów to stworzyłem 10 rejestrów (klawisze <0>-<9>) podzielonych na trzy grupy (1-2-3, 4-5-6, 7-8-9) i rejestr tła (0). W rejestrach można przechowywać aktualnie używane kolory, przy czym pierwsze rejestry grupy określają kolory typu kolor 1, drugie typu 2 itd. Kolory grupy są współzależne tzn. zmieniając np. rejestr 5 zmieniamy drugą składową (kolor 2) rejestru 6. Oczywiście są to tylko rejestry programowe i po zmianie ich wartości nie zmieni się wartość kolorów już postawionych punktów.

    Czasami po zmianie wartości rejestru będzie ona jeszcze potrzebna (np. w celu dorysowania jakiegoś elementu tym samym kolorem). Wówczas najeżdzamy na potrzebny fragment i naciskamy <CONTROL>+<G> - wybrana grupa rejestrów przybierze wartości pobrane z obszaru mapy kolorów wskazanego kursorem.

    Wartości rejestrów koloru można modyfikować po naciśnięciu <SPACE>. Wówczas przejdziemy do trybu zmiany kolorów. Pojawi się nowy ekran z linią:

    Set color:a Type:b Col1:$cc Col2:$dd
    
     a  - aktualny rejestr koloru
     b  - typ rejestru (kolor 1,2,3,0-tło)
     cc - wartość składowej 1 (koloru 1) rejestru (hex)
     dd - wartość składowej 2 (koloru 2) rejestru (hex)
    
     Jeśli dany rejestr nie używa danej składowej to na jej miejscu pojawia się "--".
    

    Poniżej tej linii znajdują się cztery inne, ukazujące barwę (COLOUR) i jasność (BRIGHT) składowych. Przy pomocy joya można przesunąć podświetlenie i zmienić daną wartość. Jeszcze niżej jest ukazany dany kolor tak jak będzie się prezentował na rysunku (kolory typu 1 i 2 w interlace z kolorem tła). Po ustawieniu rejestru można wybrać inny (<0>-<9>) lub wrócić do ZOOMa (<SPACE>).

    Podczas rysowania czasami przydaje się możliwość postawienia punktu bez zmiany mapy kolorów. Osiąga się to poprzez naciśnięcie <C> w trybie ZOOM (zmieni się stan h w linijce statusu).

    W trybie ZOOM można też wypełnić całą mapę kolorów wybraną grupą rejestrów (<CONTROL>+<M>) lub wykasować rysunek (<CONTROL>+<E>).

    Naciśnięcie <S> daje możliwość nagrania rysunku (powrót - <ESC>), zaś naciśnięcie <L> jego wgrania. Nie trzeba podawać pełnej nazwy - w razie czego program wyświetla katalog (wybór podświetleniem) lub dodaje końcówkę (*.SHC). Struktura pliku typu *.SHC to:

     7680 bajtów - 1 bitplan
     7680 bajtów - 2 bitplan
     1152 bajty  - 1 mapa koloru
     1152 bajty  - 2 mapa koloru
    

    Istnieje też możliwość wgrania obrazka w GRAPHICS 8 (*.GR8) do pokolorowania (<T>). Wówczas jego rozdzielczość jest nie zmieniana, a wszystkie punkty są zamieniane na typ 3. Jednak obrazek w GRAPHICS 8 można również wgrać i skonwertować na Super Hi-res (<P>). Należy wówczas pamiętać o ustawieniu identycznych kolorów dla obu bitplanów (kolory typu 1 i 2). W identyczny sposób można skonwertować obrazki w trybie GRAPHICS 15 (*.MIC). W obu przypadkach program pyta się na którą stronę konwertować (<L>eft/<R>ight) i czy zrobić negatyw (Negative-<Y>es/<N>o).

    UWAGA!!! Należy pamiętać, że rysunki *.GR8 lub *.MIC nie zawierają mapy kolorów, więc po ich wgraniu należy ją wypełnić jakąś niezerową grupą rejestrów (np.<6> i <CONTROL>+<M>).

    Na razie to już chyba wszystko. Mam nadzieję, że powstanie dużo obrazków w SHIMCu...

               SERO/SAMAR^AUP^VP^PT
                  Sławomir Ritter
                ul.Kolorowa 22b/15
              42-606 Tarnowskie Góry
    

    Jeśli chcesz skontaktować się z sekcją atarowską SAMARu pisz do naszego HQ:

                  RAMOS/SAMAR
              Mariusz Rozwadowski
             ul.Goszczy¤skiego 8/96
                41-207 Sosnowiec