Bu sayfadaki yazılar
Sayfanın metni
Sayfa 36
gi, register'lara gitmeden önce bir adres decoder'dan geçer.
Clock Girişleri CCK, 7M: Denise'in zamanlaması CCK clock girişiyle sabitlenmiştir. CCK clock Fat Agnus'ta üretilir. Buradan da Denise'e gelir. 7M hattındaki sinyal 7 MHz'dir (7.15909 MHz). Denise bu saat girişlerine, pixelleri ekrana düzenli bir şekilde sürebilmek için ihtiyaç duyar.
Çıkış Sinyalleri RO-3, GO-3, BO-3, ZD ve BURST: Bu çıkış sinyalleri, Denise'in RGB çıkışını belirtir. Bu çıkışlar dijitaldir. Daha sonra bunlar bir bufferdan geçer ve dijital analog dönüştürücülerle Analog RGB sinyaline dönüştürülüp, RGB port'a gönderilirler. Bazı video mixerler, bu RGB renkleri tek bir hat üzerinden isterler. Bunun için BURST denilen sinyale ihtiyaç duyarlar. Burst yine Denise tarafından üretilen bir frekans olup, CCK clockla eşdeğerdir (3.58 MHz). Son çıkış ise ZD sinyalidir. Bu, Amiga'nın Genlock'la beraber kullanılmasında o andaki görüntünün video mu yoksa Amiga görüntüsü mü olacağını belirleyen çıkıştır.
Mouse/Joystick girişleri MOH, MIH, MOV, MIV: Bu dört giriş, doğrudan mouse ve joystick portlarına bağlıdır. Buradan mouse'un yatay ve dikey hareketleri, Denise içindeki sayıcılara iletilir.
8364 PAULA
Paula'nın başlıca görevi, giriş/çıkışları kontrol altında tutmaktır. Bu giriş çıkışlar; Disket I/O, Serial I/O, ve ses çıkışları olarak ana bir temel altında toplanabilir. Ayrıca bunlara ilave olarak, Paula bütün interrupt'ları kendi kontrolü altında tutar. System içinde oluşan interrupt'lar, Paula'dan geçerler. Normalde ondört adet olan interrupt'lar Paula tarafından 6 seviyeye ayrılırlar. Bunlar 68000'e bağlı IPL hatlarına iletilen 3 seviyeli interrupt'lardır. Ayrıca Paula kullanıcıya bu interrupt'ları istediği gibi işleme ve maskeleme imkanını da sağlar. Paula'nın disk data transferi ve ses çıkışları DMA kontrolündedir. Datalar diskten transfer edileceği zaman, bir sonraki data word'ünün Agnus'un oluşturduğu DMA transferi için hazır olup olmadığı her zaman belli olmayabilir. Bu genelde drive'ların hızlarındaki değişimden kaynaklanan bir olgudur. Aynı şey ses çıkışı içinde geçerlidir. Agnus bir sonraki ses datasının, yumuşak bir ses geçişi yapmak için, ne zaman gerekli olduğunu bilemez. İşte bu hataları önlemek için Paula disk ve ses bilgilerinin kontrolünü elinde tutar ve Agnus'a DMA hattının hazır olduğunu bildirmek için DMAL hattından bir sinyal gönderir. Serial iletim haberleşmesi için Paula içinde bir UART bileşeni bulunmaktadır. (Universal Asynchronous Receive Transmit). UART'ın ses kanallarının ve analog port'ların incelenmesini daha sonra, Custom chiplerin programlanması ve Hardware Assembler bölümlerinde ele alacağız.
Şimdi Paula'nın pinlerinin işlevlerini inceleyelim. Data Bus D0-15: Öteki chiplerde olduğu gibi, bunlar da Chip Data Bus'ına bağlanmıştır.
Register Adres Bus RGA1-8: Denise'da olduğu gibidir. Clock Sinyalleri ve Reset CCK, CCKQ, RES: Paula, Agnus'la aynı clock sinyallerine sahiptir. Reset hattı RES chip'e başlangıç durumu almasını haber verir.
DMA isteği DMAL: Bu hatla Paula Agnus'a DMA transferi yapması gerektiğini bildirir. Ses çıkışları AUDL, AUDR: AUDL ve AUDR (AUDIO Left, AUDIO Right), Paula'nın oluşturduğu ses sinyallerini yerleştirdiği analog çıkışlardır. AUDL, 0 ve 3 no'lu ses kanallarını, AUDR ise 1 ve 2 nolu ses kanallarını taşırlar.
Serial Arabirim Hatları TXD, RXD: RXD (Receive Data) serial giriş. TXD (Transmit Data) ise serial çıkıştır. Bunlar direk olarak UART'a bağlıdırlar. Normalde bu hatlar TTL uyumludurlar, yani seviyeleri 0-5 volt arasındadır. Ancak daha sonra bir çevirici vasıtasıyla +12/-5 volt seviyelerine çevrilerek RS-232 standardına uygun hale getirilirler.
Analog Girişler POT0X, POT0Y, POT1X, POT1Y: POT0X ve POT0Y girişleri, 0 nolu Joystick portuna, POT1X ve POT1Y girişleri ise 1 nolu Joystick portuna bağlanmıştır. Paddle'lar ve Analog Joystickler bu girişlere bağlanırlar. Bu araçlar Potansiyometre denilen, değişken dirençli elemanlardan oluşurlar ve çıkışları Joystick portundaki 5 volt ve POT girişlerine bağlanır. Paula bu direnç değişimlerini ölçer ve içindeki registerlara yazar. POT girişleri, ayrıca software üzerinden çıkış olarak da belirlenebilirler.
Disk Hatları DKRD, DKWD, DKWE: Paula, DKRD (DisKette ReaD) hattı vasıtasıyla diskten gelen bilgiyi okur ve DKWD (DisKette Write) hattıyla da hafızadaki bilgiyi, diskete yazar. DKWE (DisK Write Enable) hattı drive'a bilgi yazılmasına izin verir.
Interrupt Hatları INT2, INT3, INT6 ve IPL0, IPL1, IPL2: Paula gerekli interrupt isteklerini, INT hatlarından alır. Buradan gelen bilgilere göre o seviyede bir interrupt yaratır. INT2 hattı normalde CIA-A-8520'ye bağlıdır. Bu hat ayrıca Expansion Port'a ve serial port'a da bağlıdır. Eğer bu hatlardan herhangi biri Low seviyede olursa, Paula 2. seviyeden bir interrupt yaratır. INT3 hattı Agnus'a ve INT6 hattı ise CIA-B ve Expansion port'a bağlıdırlar. Diğer seviyedeki interrupt'lar, Paula'nın içinde üretilmektedir.
IPL0-IPL2 hatları, direk olarak 68000'e bağlıdır. Paula bu hatları, 68000'den istediği seviyede interrupt almak için kullanır.
Custom chiplerin işlevleri genel olarak bu kadar. Gelecek aydan itibaren Hardware programlamayı öğrenmeye geçeceğiz.
Bu ay size ufak bir Hardware programı sunuyoruz. Bu program Agnus, Denise ve Peripheral register'ları kullanarak ekranda renk değişimi olmasını sağlıyor. Programı Seka, MasterSeka veya AsmOne serisi assembler'lardan herhangi biri vasıtasıyla yazabilirsiniz. Başla:
Move.l $4.a6 ;ExecBase Jsr -132(a6) ;Forbid RasterBekle:
Cmpi.b #$ff,$dff006 ;256 nolu satırda elektron ışınını Bne RasterBekle ;bekle (agnus) Move.w#$0f0f,$dffl80;Arkaplan rengini değiştir.(Denise) Move.l #1000,d0 Gecikme:
Dbra d0,Gecikme ; 1000 birim bekle Move.w #$0000,$dff 180 ;ArkaPlan rengini siyah yap. Btst #6,$bfe001 ;Mouse basılı mı ? Bne RasterBekle ;Hayır, Rasterbekleye dön. Jsr -138(a6) :Permit Clr.l d0 Rts Bu programda Exec.Library'den iki adet komut kullandık; bun- lar Forbid ve Permittir. Forbid Bütün taskları ve interruptları ka- patır ve sistemi bizim himayemize bırakır. Permit komutu ise sis- teme geri döneceğimiz zaman taskların ve interruptların eski du- rumlarını almasını sağlar.
$dff006 adresi, VHPOSR (Vertical And Horizontal Beam Position) bir Agnus register'ıdır. Bu register ekranı tarayan elektron ışınının o anda yatay ve dikey olarak hangi konumda olduğu bilgisini içerir. Biz, son satır olan 256'ya kadar bekliyoruz. Bu sırada copper ekran düzenlemesini yapıyor. Bu satırdan sonra, elektron ışını tekrar 0 nolu satıra dönüyor. Biz bu ikisi arasında geçen süre içinde, bir Denise renk register'ı olan $dff180 (COLOR00 Color Palette Register 0) vasıtasıyla ekran rengini değiştiriyoruz. Burada girilen bilgi $0RGB formatındadır. Biz Red ve Blue bileşenlerini maksimum yapıp, eflatun rengini elde ediyoruz. Daha sonra bu rengin ekranda belli bir süre kalması için 1000'e kadar sayıyoruz. Aynı şekilde COLOR00 register'ına siyah ($0000) girerek ekranı karartıyoruz. $bfe001 Peripheral register'ının 6 nolu bitinden, mouse'un sol tuşunun basılı olup olmadığını öğreniyoruz. Tuş basılı değilse işlemlere baştan başlayıp devam ediyoruz. Eğer basılıysa interrupt'ları eski haline döndürüp programdan sisteme geri dönüyoruz. Bu programın, custom chiplerin register'larına nasıl ulaşılacağı ve bunların nasıl programlanacağı konusunda bir parça olsun genel bilgi verdiğini umuyoruz.
Yine aynı sayfada görüşmek dileğiyle, sevgilerimizi sunuyoruz.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 37
İşte yine sizlerle beraberiz. Merhaba. Bu ay açıklamalarımıza kaldığımız yerden devam ediyoruz. Bu arada sizden hala resim, animasyon ve obje datalarınızı bekliyorum. Şimdiye kadar bu köşeye tek data gönderen Orkun Pekşen. Daha önce bu köşede kendisine ait bazı animasyonların resimlerini yayınlamıştım. Fakat kendisine teşekkür edememiştim. Bu yüzden burada kendisinden özür diliyor ve gönderdiği üç disket dolusu data için de teşekkür ediyorum. Göndermiş olduğun resimler ve animasyonlar iyi. Bunların ne kadar sürelerde hesaplandığını ve bilgisayar donanımlarını da (RAM, hızlandırıcı kart vb.) bana bildirirsen sevinirim.
Bu ay bu köşeye ek olarak genlock'lar konusunu inceledik. Umarım piyasada bulunan çoğu genlock'un çalışma prensiplerini ve kısaca testlerini anlatan bu yazı genlock alacağınız zaman yardımcı olur. Uzun zamandır Avrupa'daki yeniliklerden bahsetmiyordum değil mi? İşte size yine birkaç yenilik:
* CSA firması Amiga 2000 için bir 68040 işlem hızlandırıcı kartı üretmiş. Microprocessor hızı 25 MHz olan bu kart ile 20 MIPS'lik ('Million Instructions Per Second' = saniyedeki komut işleme hızı, milyon olarak) bir hıza ulaşabiliyorsunuz. Normal bir Amiga'nın 0.8 MIPS hızda çalıştığını düşünürsek, epey hızlı... Kart üzerindeki aritmetik işlem biriminin işlem hızı ise 3,5 MFlops ('Millions of Floating Point Operations Per Second' = saniyede yapılabilen floating point işlem adedi, milyon olarak) kadar. Kartın takıldığı yer A2000 içindeki CPU slotu. Kart üzerinde 1 MByte 32 bitlik statik RAM de mevcut. Ayrıca SCSI kontrol devresi, bir paralel ve iki seri port da kart üzerine eklenmiş. Bu sayede birçok işlevi yerine getiren bu kartın maksimum genişleme kapasitesi 64 MByte!
* Geçenlerde ASDG Inc. firması yeni bir resim sıkıştırma sistemi ('JPEG' - Joint Photographic Expert Group) keşfettiğini duyurmuştu. Kendilerinin hazırladığı sıkıştırma algoritmaları kullanıldığında 1,1 MByte yer kaplayan 24 bit modundaki bir resim (768*480 piksel) 40 KByte kadar gülünç bir uzunluğa düşürülmüştür. İstenildiğinde firmanın hazırladığı sıkıştırıcı program, resmin başına özel bir yükleme programı da ekleyebilmekte. Standart olarak JFIF resim standardı kullanılmış durumda. Bu standart yardımıyla, Amiga ile Macintosh ve PC arasında resim transferi yapmak gayet kolay.
* Almanya'daki Memphis firması Intelligent Memory iflas ettikten sonra bu firmanın ürünlerini devralmış durumda. Bildiğiniz gibi Impulse firması, hazırladıkları Firecracker kartının Imagine ile çalışmadığını görünce kapatılmıştı. Nedeni de herhalde büyük stüdyoların açtığı tazminat davaları olsa gerek. Memphis firması ayrıca Kronos II SCSI Controller'larının ve Stormbringer hızlandırıcı kartlarının da tüm haklarını devralmış durumda. Bu firma ilk iş olarak hızlandırıcı kartların fiyatlarını düşürmekle işe başladı. Artık 68030/68882 (16 MHz) ve 2 MB'ı almak için sadece 2000 DM ödemeniz gerekmekte. * HS&Y firması ADORAGE programıyla video titler programlarında yeni bir çığır açtı. 700 efektten fazlasını kullanabilen bu programda sayfa çevirme, patlama ya da mozaik gibi efektler çocuk oyuncağı. Programın fiyatı 199 DM.
* Vista ve VistaPro programlarını üreten Amerikan firması Virtual Reality şimdi de dünyadaki tüm kara parçalarını data olarak yaratmakla meşgul. Firma şimdiye kadar bütün Kuzey Amerika ve Avrupa'yı Amiga'ya aktarmış durumda.
* Dünya'da en iyi CAD programlarından biri sayılan MaxonCAD programı çok daha geliştirilmiş durumda piyasaya tekrar sürüldü. Yeni versiyonda en ilgi çekici fonksiyon gerçekçi görüntü olsa gerek. Hazırlanan çizimin ray-trace edilmiş şeklini ekranda gösteriyor!
* Video konusunda bir diğer yenilik de Avrupa'dan. Pek animasyonla ilgisi olmasa da ilgi çekici olduğu için değinmek gereğini buldum. Alman RossMoeller firması videoya değişik bir backup sistemi geliştirmiş durumda. Amiga'nıza takılan bir hardware ve özel bir software yardımıyla tüm Amiga disketlerini herhangi bir normal video kasedinde saklayabilirsiniz. Bunun için video ya da Amiga içinde bir şey değiştirmeniz gerekmiyor. Kaset olarak da videonuza göre ister VHS, isterseniz de beta kullanabilirsiniz. Bu hardware'in fiyatı 200 DM. Sonunda yaptığınız dataları çok ucuz bir cihazla saklayabilirsiniz.
Eh, bu aylık bu kadar yenilik yeter. Dönelim esas konumuza.
Geçen ay kaldığımız yer Settings/Transformations (<F6>) parametre penceresiydi. İşte devamı... Buradaki parametreler, seçilen objenin grubunu/noktaların 3 boyuttaki koordinatlarını ve boyutlarını etkiler. Bu fonksiyonu kullanabilmek için tabii ki önceden koordinat ve/veya boyutları değiştirilecek noktalar kümesini/objeleri seçmemiz gerekmekte. Bu işlemi daha önce görmüştük. Hemen Transformations penceresindeki parametrelerin anlamlarına geçelim dilerseniz.
ALIGN parametre üçlüsü (x, y ve z) yardımıyla seçilen kümenin sahne içinde-
… yaratıcılığıma sınır tanımam!