Bu sayfadaki yazılar
Sayfanın metni
Sayfa 25
12. GRAFİK
AMIGA'nın grafikleri, tek kelimeyle nefes kesici; gerek kalite, gerekse hız açısından. Bu yüzdendir ki gerek ülkemizde, gerek dış ülkelerde, birçok reklam veya video-clip AMIGA ile hazırlanıyor. Sistemdeki başlıca grafik elemanları, görüntü alanları (playfield), sprite'lar, Blitter ve ROM'da bulunan animasyon (canlandırma) ve yazı (text) altprogramları.
13. GÖRÜNTÜ ALANI
Bit yüzeyi, bilgisayarın noktalardan oluşmuş dikdörtgen bir bölge olarak algılayabileceği, belleğin bir bölgesidir. Çoğu bilgisayarın, öyle veya böyle belli bir şekilde bit noktalı grafik özelliği vardır. Bunların bazıları, renkleri yanyana gelen birkaç bitin içeriğindeki bilgiyi birleştirip oluştururlar. Bazıları da bambaşka yöntemlere başvururlar. Fakat AMIGA'da olay başkadır; AMIGA her bit yüzeyinden bir nokta için sadece bir bit kullanır. Renkleri oluşturmak için ise birçok bit yüzeyi kullanır. Yani, aynı anda birkaç bit yüzeyi işlenebilir. Bunların üzerinden aynı noktaya karşılık gelen bitler bulunur ve içerikleri birleşir (Görüntü alanı ve bit yüzeyi ile ilgili örnek şekile bakın, daha iyi anlaşılacaktır). Burada seçilen renkler, doğrudan aletin renkleri değil, sadece renk register tablosu veya renk paleti için bir göstergeç. AMIGA'nın 4096 renginden 32 taneye kadarı bu palete alınıyor ve ekran gösterilirken kullanılmaları sağlanıyor.
AMIGA, aynı anda en fazla beş bit yüzeyini işleyebilir (aslında bu rakam altı; ama bu uygulamalar daha özel amaçlı olduğu için şimdilik değinmiyoruz); buradan da maksimum 32 renk sınırlaması çıkar. Renk register tablosu, 4096 rengi simgeleyen 12 bit'lik değerler içerir. Böylece, AMIGA 4096 renginden herhangi 32'sini kullanarak cisimler çizebilir. AMIGA'nın beş türlü çözünürlük tipi vardır. Bunlardan dördü, iki tipte yatay çözünürlük ve iki tipte dikey çözünürlük kombinasyonundan çıkar. Yatay çözünürlük, 320 nokta/satır, yani düşük çözünürlük; 640 nokta/satır, yani yüksek çözünürlük arasında değişir. Dikey çözünürlük, her ekranda 256 satır (noninterlaced), 1/50 saniye tekrarlı, her ekranda 512 satır (interlaced), 1/25 saniye periyodlu olarak tek ve çift satırların dönüşümlü olarak gösterilmesi, arasında değişir. Burada AMIGA'nın monitörünün kalitesi hemen meydana çıkıyor. Gerçekten de AMIGA'nın monitörü 512 satırı birbirinden ayırt edebilecek kadar kaliteli. Ne var ki, bu monitörün ekranının iç tarafında kullanılmış olan yüksek hızlı fosforlar 512 satırlık gösterim hızında zorlanıyorlar ve ekranı stabil tutamıyorlar. Bu yüzden 512 satır modunda, ekran titriyormuş gibi görünüyor. Bu olaya tanık olursanız, kesinlikle bilin ki bu olayda AMIGA'nın bilgisayar olarak hiçbir suçu yok. Başka model ve daha düşük hızda fosfora sahip bir monitörde olumlu sonuç alınabiliyor. Bit yüzeylerinin kullanacağı bellek miktarı da, kullanılan çözünürlük tipine bağlı olarak değişiyor. Bu rakam 8000 Byte'tan (320x200 grafik),
32000 Byte'a (640 x 400 grafik) değişiyor. Beşinci mod, hold-and-modify adını taşıyor ve altı bit yüzeyi kullanıyor. Bu teknikle, ekranda aynı anda 4096 rengi kullanmak mümkün. Bu modda altı bitteki renk bilgisinde üst taraftaki iki bit, alttaki dört bitin yorumunu yapıyor. Bu yoruma göre, alttaki dört bit ya renk paletine bir göstergeç, ya da bir önceki noktanın renginden bir renk komponent farkıyla (RGB: red, green, blue: kırmızı, yeşil, mavi) değişmesi şeklinde raf kalitesinde olduğunu söylememize gerek yok tabii ki. Diğer bir ilginç özellik ise görüntü alanı olarak belirlenmiş alanın, gerek yatay, gerek dikey boyutlar olarak görünen ekrandan daha büyük bilmesi. Birkaç register'ın içeriği ile oynayarak koca bir ekranı, çok az bir zahmetle yatay veya dikey kayıyormuş gibi gösterebilirsiniz. Diğer bir gösterim yöntemi, dual-playfield-mode adını taşıyor. Bu modu kullandığınızda; her biri üç bit yüzeyine kadar büyük olabilen iki görüntü alanını üst üste göstermeniz mümkün. Burada hangi görüntü alanının, diğerine göre üstün olacağını belirtmeniz gerekir. Bu kullanım, genelde çok karışık işlemler gerektiren bazı gösterimleri, çocuk oyuncağı kadar kolaylaştırıyor. Örnek olarak, Flight Simulator oyunlarını verebiliriz. Uçağın pilot kabini bir ekran, dışarısı da ayrı bir ekran olarak tanımlandığında gerçekçilik açısından hiçbir sorun kalmıyor. Çünkü her iki ekran arasında hiçbir ilişki olmadığı için apayrı değerlendirip, bu ekranların sadece kullanıcıya birleşmiş biçimde ulaşması sağlanıyor.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 24
9. MULTITASKING
Başta dedik ki AMIGA 'multitasking' (aynı anda birden çok iş yapabilen) bir alet. Basit olarak ele alındığında bu demek ki, AMIGA aynı anda sprite'ları hareket ettirebilir, diski okuyabilir ve müzik çalabilir. Daha ciddi olarak ele aldığımızda değişik window'larda (pencere) başka başka programların aynı anda çalışmasıdır MULTITASKING. AMIGA'nın multitasking yapabilmesi biraz önce gördüğümüz birkaç özelliğine dayanıyor. Bunlar; interrupt değerlendirme yapısı ve EXEC'te bulunan multitasking'e imkan veren altprogramlar. Çevresel birim/ses çipi tarafından yaratılan ve yönlendirilen interrupt'lar, task'lardan (işlerden) birbirine geçmeyi sağlar. Diyelim ki herhangi bir çevresel birimin sinyali çevresel birim/ses çipine ulaştı, o da bunu 68000'e iletti ve gerekli interrupt oluştu. Böylece o çevresel birime ait interrupt altprogramı yürütülmüş olur. Interrupt altprogramı ya çevresel birimin isteğini hemen yerine getirir, ya da bunun için yeni bir task (iş) belirler, daha sonra da altprogram sona erer. Her iki halde de işlemin sonunda AMIGA “task rescheduler” (işleri yeniden düzene sokma) programını çağırır. Böylece sadece gerekli olan işlerin sistemi kullanabilmelerini sağlamış olur.
10. COPPER
Copper, animasyon (canlandırma) çipinin içinde bulunan ve kendi prog-
AMIGA'nın çeşitli ünitelerinde bilgisayarın donanım kaynaklarının tam kullanılması ve boşa harcanmaması ilkesi gözetilmiş.
Söz konusu programın yürümesi, ekranı çizen elektron ışınına bağlıdır. Bu kabiliyetinden dolayı COPPER, genelde özel işlem ünitelerinin grafik ve ses işlemlerini kontrol etmekte kullanılır. Böylece 68000 ana işlem ünitesi, yorucu ve zaman harcayan bir işten kurtulmuş olur. COPPER'ın programları, bildiğimiz RAM belleğinde (ilk 512 KB'lık bölgede) duruyor ve orada yürüyor. Program yürürken, gerek diğer özel işlem birimlerinin, gerekse kendi register'lerine (yazmaçlarına) bir şey yazması gerektiğinde DMA (Direct memory access - doğrudan bellek erişimi) tekniğini kullanıyor. Copper'ın emirleri sadece üç tipten oluşuyor. Bunlar: veriyi doğrudan register'e yazmak; elektron ışınının belli bir pozisyonu geçmesini beklemek; üçüncü olarak da ışın belli bir pozisyonu geçmişse bir sonraki komutu atlamak (yürütmemek). Elektron ışınının pozisyonu diye bahsedilen parametre, yatay olarak, 4 adet alçak çözünürlüklü grafik noktası, yani 8 adet yüksek çözünürlüklü grafik noktası hassasiyetine kadar kesin. Dikey olarak kesinlik ise yüzde yüz. COPPER'ın geniş kullanım olanakları, yazılan programın akıllıca ele alınması ile daha da genişletilebilir. Örneğin, copper'ın, kendi adres sayaç register'ine yazması sağlanarak, belli bir şarta göre, bambaşka bir adreste bulunan bir altprogramı yürütmesi sağlanabilir. Başka bir örnek de, Copper'ın INTREQ (interrupt request) register'inin 15'inci bitini yakmak suretiyle, 68000'in 6'ncı seviyede interrupt yürütmesi sağlanabilir. Bilhassa bu son örnek, bilgisayarın içinde, oldukça karışık işlemlerin gelişmesini sağlar. (Zaten, bu aletin içinde gerçekleşen olaylardan basit olanına pek rastlanmamıştır.) Önemli bir olay da; COPPER'ın, elektron ışınını beklerken sistemin adres ve veri kanallarını meşgul etmemesi. Böylece birçok başka bilgisayarda olduğu gibi, ışını bekleme sırasında ana işlem ünitesinin birkaç milisaniyesinin boşa harcanması gibi olaylarla karşılaşmıyoruz. Burada, gene bilgisayarın donanım kaynaklarının tam kullanılması ve boşa harcanmaması ilkesinin korunduğunu görüyoruz. COPPER çipi, 68000'le çakışmaksızın, tüm sistemin ana fonksiyonlarından birçoğunu yerine getirir. Örneğin, her ekranın başında bit-plane (bit yüzeyi) ve sprite değerlerini tazeler ve düzenler. Veya, ekranın ortalarında bir yerde, renk paletini değiştirebilir (böylece her ekranda 32 renkten fazlasını kullanmanız mümkün olur.), ve grafik modunu değiştirebilir (hafızadan tasarruf); bunlardan başka ekran hafızasını, titreme ve karışıklıklar yaratmadan değiştirebilir. COPPER programları, görüntü işlemleri ile ilgili tüm olayların maksimum düzeyde kontrolünü sağlar. Fakat bu programları doğrudan yaratmak oldukça zor olduğu için, sistem ROM'unda, her türlü isteğe uygun programı yaratacak altprogramlar mevcut.
11. BELLEK ALANI
Belleğin ilk 512 KByte'lık bölümü çip belleği diye anılıyor (bellek haritası ile ilgili şemayı inceleyin). Özel işlem üniteleri tarafından gerçekleştirilen her türlü fonksiyon, bit yüzeyleri, sprite verileri, Copper programları ve benzeri veriler bu bölgede bulunmak zorunda. Tabii ki standart 256 K'lık (veya genişletilmiş 512 K'lık tipinde) AMIGA 1000'de; çip belleği, aynı zamanda RAM kullanımı gerektiren diğer tüm işlemler için de kullanılıyor. Şu anda dış ülkelerde piyasada rahatça bulunan genişleme kutuları ve bellek genişletme kartları sayesinde belleği 8 MByte daha artırmak mümkün. Böyle bir uygulamada, programlar ve bunlara ilişkin veriler ekstra bellekte saklanıyor ki; hem hız artışı sağlansın, hem de çip belleği çiplerin kendi özel kullanımında yararlanılsın.