64'ler sayı 31, sayfa 27

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 27

Merhaba arkadaşlar, geçen ay başladığımız assembler kursumuz bu ayda bütün hızıyla devam ediyor. Geçen ay oturup bir takım register(yazmaç) ve bazı komutlarla kafaları yemiştik. Bu ay ise sizlerle birlikte bir ekran açmanın nasıl yazılabileceğini anlayacağız. Eğer bu işi iyice öğrenmek istiyorsanız dikkatlice okumanızı ve bilgisayarınızın başına geçmenizi şiddetle tavsiye ederim yok eğer bazıları gibi büyük miktarda para ödeyip, Red Sector'e intro falan yaptırmayı düşünüyorsanız bu size kalmış. Neyse bu incir çekirdeğini doldurmayacak şeyleri bırakıp işimize bakalım. Hepinizin bildiği veya bilmediği gibi Amiga ekran görüntüsü her biri soldan sağa doğru yol alan 262 adet video ışınından oluşur. Bu mantığı anlamak Amiga'nın görüntüsünü anlamak demektir. Eğer anlamadıysanız o kadar korkmanıza gerek yok. Minik yazı dizimizi okumanız yeterlidir. Neyse biraz önce söylediğimiz 262 video ışınımız Amigamızın Display Field yani görüntü alanını oluşturur. Bu görüntü saniyenin altmışta birinde oluşur. Bu tekniğe <<RASTER>> yani tarayıcı tekniği denir. Bildiğinize emin olduğum bir başka konuda görüntü alanımızın minik objeler olan pixellerden oluştuğudur. Bu pixel dediğimiz şeylerde bir araya gelerek o mükemmel resimleri oluşturur. LO-RES de denilen düşük çözünürlükteki resimler 320 pixel genişliğinde, MED-RES deni-

SEKA

Bahadır AKCAN Burak ÖZIŞIK | İlen orta çözünürlükteki resimler 352 pixel genişliğinde, HI-RES dediğimiz yüksek çözünürlükteki resimler ise 640 pixel genişliğindedir. Amiga'nın grafik sisteminde, ekran üzerinde 32'ye kadar renk gösterilebilir fakat HAM (Hold And Modify) yani Seç ve değiştir modu kullanılarak ekranda 4096 adet renk gösterebilirsiniz (İlginç değil mi?) Resimler hafızada bitler halinde bulunurlar bu bitleri değişik varyasyonlarla değiştirerek istediğimiz renkleri elde edebiliriz. BU BİTLER NASIL OLUŞUR Tabii burda bit demek byte'ın 8'de 1 demektir. Amigamız bu görüntüleri oluşturmak için 5 adet hafıza bölgesi kullanır. Bu bölgelere BITPLANE yani BIT yüzeyi denir. Bu bitplane'lerin başlangıç adreslerine ise BITPLANE POINTER'ları yani bitplane yazmaçları denir. Renklerin oluşumu da ilginçtir, çünkü ressam amcalarımızın kullandığı renk elde etme tekniğiyle aynı olaydır. Bunu şöyle açıklayabiliriz: Her bitplane'in rengine farklı bir değer yükleyip bu bitplane'leri üst üste getirirsek renklerinin değeri apayrı bir değer olarak karşımıza çıkar mesela: 2 bitplane'li bir ekran açtık. İlk bitplane'imizi sarı, ikinci bitplane'imizi mavi yaptık. Bir de ne görelim karşımıza bir yeşil renk çıktı. Tabii bu arada ekranda aynı anda iki adet görüntü alanı açabildiğimizi söylemeliyim. Bu iki görüntü alanı 5 bitplane'lik görüntümüzü oluşturur. Bunların sıralanışı büyükten küçüğe doğrudur yani 5-4-3-2-1-0. Bu plane'lerden 0, 2 ve 4 numaralılar ilk görüntü alanında 1, 3 ve 5 numaralı plane'ler ise ikinci alandadır. BİR EKRAN AÇMAK İÇİN YAPMAMIZ GEREKENLER: 1-Görüntü alanımızın yüksekliği ve genişliği. 2-Görüntünün yüksekliği ve genişliği. 3-Görüntü bölgemizdeki her bir pixel'ın rengi. 4-Enlemesine çözünürlük. 5-Boylamasına çözünürlük. 6-Göstereceğimiz resmin hafızada nerde bulunduğu. 7-Göstereceğimiz resmin modülü. (1)Görüntü alanın yüksekliği ve genişliği, açacağımız ekranın boyutlarını vereceğimiz yazmaçlardır. (2)Görüntünün yüksekliği ise göstereceğimiz resmin boyutlarıdır. (3)Resmimizin renklerini göstermek için gerekli olan aşamadır. Fakat bu işin daha kolay yollarının bulunduğunu ve bunu göstereceğimizi söyleyerek içinize soğuk sular serpebilirim. (4)Enlemesine çözünürlük ise ekranımızın enlemesine çözünürlüğünü belirtmeye yarar. (5)Boylamasına çözünürlük ise (4)'üncü maddenin boylamasına olanı. (6)Resmimizin hafızada nerde bulunduğu yani daha önce anlattığım Bitplane pointer yazmaç adresi. (7)Göstereceğimiz resmin modülü: Bu çok önemli bir yazmaçtır. Bu register'la bir Raster çizgisinin üstüne ne kadar veri koyacağımızı sisteme söylediğimiz yegane yazmaçtır. RENK TABLOSU: Renk tablosu dediğimiz şey, göstereceğimiz resmin 32 ren-

Klavyeyle gezinmek için ← ve → tuşları.