JGP po raz drugi... |
W poprzednim numerze SERIOUS'a pisałem o programie Jet Graphics Planer. Zapowiedziałem, albo mnie się tak wydaje, że w pliku ze stuff'em znajdują się dwa pliki demonstrujące na ekranie ten sam efekt. Chodzi o ekran zapełniony tak zwanymi "kafelkami". Niestety w poprzednim wydaniu nie udało mi się umieścić tych plików, czynię to dzisiaj. Tak jak pisałem przy pomocy programu JGP można tworzyć grafikę w tak zwanym trybie 4+. Najpierw jednak zajmijmy się trybem 4. Jest to jak każdy już wie, tryb znakowy. Każdy ze znaków składa się z ośmiu linii po cztery piksele, z których każdy ma szerokość jednego cyklu koloru. A więc w jednej linii mieści się 40 znaków, a maksymalna liczba linii wynosi 24. Do określenia adresu znaku wykorzystywane jest siedem bitów, a więc zestaw składa się ze 128 definicji (znaków of cozia broda!). Jak już wspominaliśmy ANTIC w tym trybie dysponuje paletą pięciu kolorów. Kolor danego pixela jest wybierany przez dwa bity danych znaku oraz przez 7 bit adresu znaku. Każda para bitów służy do wyboru koloru według schematu:
bity 00 - rejestr COLBAK Tryb 4+ powstaje wtedy, kiedy tworzymy jakgdyby znak składający się z szesnastu linii i czterech pixeli, a w rzeczywistości taką wysokość znaku uzyskujemy poprzez definiowanie dwóch zestawów i poprzez wykorzystanie przerwania DLI wymieniamy je co jedną linię trybową. Wielkość poziomą znaku mamy w zasadzie dowolną. W naszym przykładzie operujemy jakby znakiem składającym się z ośmiu pixeli o szerokości jednego cyklu koloru i o wysokości 16 linii a w rzeczywistości na element ten składają się cztery znaki, po dwa z każdego zestawu. Podobny, a nawet można powiedzieć, że identyczny efekt uzyskałem w drugim demonstrowanym przykładzie. Jednak tym razem został użyty tryb bitowy $E. W tym trybie obraz składa się ze 192 linii, w każdej po 160 pixeli o szerokości 1 cyklu koloru. Sprawia to wrażenie identycznej wielkości pixela jak w trybie 4. Chciałbym jednak w tym momencie zwrócić Waszą uwagę na pozorną identyczność demonstrowanych przykładów, to co widzicie na ekranie nie różni się w obydwu przykładach. Jednak wielkość obu plików (jednocześnie ilość pamięci potrzebnej do zademonstrowania przykładów) jest znacząco różna. I słowo znacząco oznacza tu prawie 30 krotną różnicę! Wszystkim dociekliwym złośliwcom, chcę przyznać rację, przykłady zprezentowane przezemnie są oczywiście napisane specjalnie pod kątem wykazania jak największej różnicy w ilości pamięci zużytej do uzyskania wspomnianego efektu. Na czym to polegało? Ano zamiast umieszczać w pamięci dane dwóch fontów odległych od siebie o $400 użyłem tylko po dwie definicje z każdego fontu, a między nimi ulokowałem wszystkie niezbędne dane do zademonstrowania efektu, takie jak program Antic'a, zawartość obszaru pamięci ekranu, procedura przerwania DLI, itd. Zapraszam do obejrzenia przykładów, i jednocześnie przepraszam wszystkich z Jagerem włącznie za spowodowanie tego zamieszania... Zbycho Jabol/DIAL |