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