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
      bity 01 - rejestr COLPF0
      bity 10 - rejestr COLPF1
      bity 11 - rejestr COLPF2 gdy bit 7=0
      bity 11 - rejestr COLPF3 gdy bit 7=1

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