Hardware Dersanesi
Retro bilgisayar
HARDWARE DERSANESİ
En sonunda bu yaz da sona erdi. Zaten yazları hiç sevmem. İşin gücün yokmuş gibi git denize gir, denizden çık güneşlen, dikkatsizce güneşlenip güneş yanıklarıyla uğraş, akşamları kumsalda yakılan ateşin etrafında toplanıp gitar eşliğinde şarkılar söyle, yepyeni arkadaşlıklar kurup bütün hepsinin isimlerini aklında tutmaya çalış. Ufff! Bir de işin yolculuk kısmı var. Motosikletin arkasını eşyayla yükle, sonra karşıdan esen meltemin ılıklığında, dağ yollarında dolaş, uçurumların yanından geçerken dağ keçilerini selamla, mis kokulu çamlar arasından coşarcasına akan buz gibi kaynak sularını içip hayatına on yıl daha eklemenin zevkini yaşa, Gökova'nın betona değmemiş bakir koylarında yüzmenin ve dalmanın tadını çıkar vs... Tanrım! İşte ben bunların hepsinden nefret ediyorum. İyi ki okullar açıldı. Ne kadar mutluyum. Ayrıca sonbahar geldi. Ben sonbaharı çok severim. İnsan oturup evine kapanır, ders çalışır, dergiye yazı yetiştirir. Zaten ben dergiyi de çok seviyorum. Hayır efendim! Bugün yalan moda değil. Zaten ben hayatımda hiç yalan söylemedim! Bunların tatile çıkamamamla da hiçbir alakası yok. Mahmure Abla kafama disket fırlatacağına Kommodor Abiye söyle de projelerimi herkese açıklamasın. Niye el kol işaretleri yapıyorsunuz ya! Nee yayına mı girdik. Bütün bunlar çıktı mı yani şimdi. Aman Tanrım rezalet, yayıncılık fiyaskosu!
Evet
Yukarıdaki paragrafta da açıklamaya çalıştığım gibi, bu ay sizlere external bir disk drive'ı Amiga'ya nasıl uyarlayacağınızı açıklayacağız. Ayrıca Amiga'nın hardware'ini öğretmeye yönelik yazımız da devam ediyor. Lütfen bu sayfamızı okuyunuz. Çünkü bir bilgisayarı en iyi şekilde kullanmanın yolu, onun iç yapısını bilmekten geçer. EXTERNAL BİR DISK DRIVE AMİGA'YA NASIL BAĞLANIR?
Amiga'da tek bir disk drive ile çalışmak, birçok zorluğu da yanında getirmektedir. Örneğin Workbench disketinden bir başka disketteki bir programı çağırdığımızı varsayalım. Eğer program sorunlu bir programsa, habire Workbench disketiyle programın bulunduğu disketi değiştirmek zorunda kalacaksınız. Bunun yanında bazı programlar iki, üç disketten oluşmaktadır (ProPage gibi). Bu gibi programları tek disk drive üzerinden çalıştırmak kabir azabı gibi bir şeydir. Fakat ikinci bir drive almak, düşüncesi başka düşünceleri de yanında getiriyor: Acaba dışarıdan bir tane satın mı alsam, yoksa kendi drive'ımı kendim mi yapsam? Normal bir iki yüzlü 3.5 inch drive'ın fiyatının orijinal A1010 drive'ına göre daha ucuz olması, benim için büyük bir avantaj değil mi?
NEC FD1035 veya FD1036 tipi bir 3.5 drive'ın standart 34 pinli konnektörü, aşağıdaki düzen yardımıyla Amiga'ya çok rahat bir şekilde uyum sağlamaktadır. FD1035 tipinde bir drive'ı Amiga'ya bağlamak için yapmanız gereken, motor flipflop'unu devreye sokmaktır. Şema bunun nasıl yapılacağını göstermektedir.
Devrede Amiga'nın disk drive portundan çıkan 21 no'lu uç SEL1 yani "select 1" dir. Bu uç, external drive'ı Amiga'ya DF1: olarak tanıtır. Eğer 21 yerine 9 no'lu ucu (SEL2) bu hatta bağlarsanız, drive DF2: olarak tanınır. Şemada Fİ Data flipflop; N1, N2 ise iki girişli NAND kapılarıdır. (Bkz. ŞEMA 1)
Konu external drive yapımından açılmışken, burada Amiga'nın external disk konnektöründen bahsetmekte fayda görüyorum. Amiga'nın disk drive konnektörü Shugart Bus tipine uygun olarak dizayn edilmiştir. Bu sayede Amiga biri internal, üçü external olmak üzere dört shugart tipi disk drive'ı sürebilir. Bu drive'lar dört drive seçme sinyali SELx tarafından seçilirler. Burada x hangi drive'ın seçileceğini belirtir. SEL1, SEL2, SEL3 external drive'ları, SEL0 ise Amiga'nın içindeki drive'ı sürer.
Shugart Bus Sinyalleri: SELx: Amiga, SELx hattını dört drive'dan birini seçmek için kullanır. SELx hattı aktif olduğu zaman, MTRX ve DRES hattı hariç, bütün hatlardaki sinyaller aktif olur.
MTRX: Normalde bu hattaki sinyal, bütün bağlı bulunan drive'ların motorlarını çalıştırmasını sağlar. Fakat bütün drive'ların aynı anda çalışması ideal bir durum değildir. Bu yüzden, Amiga her drive için bir flipflop'a sahip olmak zorundadır. Bu flipflop, seçilen drive'daki SEL hattı low'a düşünce MTRX hattındaki sinyali saklar. Flipflop'un çıkışı, drive'ın MTR girişine bağlıdır. Bu sayede, Amiga istediği drive'a hükmedebilmektedir. Internal drive için bu flipflop Amiga'nın board'u üzerinde bulunmaktadır. Fakat dışarıdan eklenecek drive'ların her biri için bu devreden yapılmalıdır (Bizim verdiğimiz devre bu anahtarlamayı sağlıyor).

RDY: Seçilen drive'ın MTR hattı low olduğunda, RDY (READY) hattı Amiga'ya drive motorunun maksimum hıza ulaştığını ve drive'ın transfer için hazır olduğunu belirten bir sinyal yollar.
DRES: DRES hattı (Drive Reset) Amiga'nın standart resetine bağlıdır. Makine resetlendiğinde, drive'ların motor flipfloplarını resetler ve motorları kapatır.
DKRD: Seçilen drive'dan datanın okunduğu hattır (Disk Read Data). Bu hat, PAULA entegresinin DKRD girişine direkt olarak bağlıdır.
DKWD: PAULA entegresinin DKWD pini bu hatta bağlıdır. Diskete bilgi yazılmasını sağlar. (Disk Write Data).
DKWE: Bu hat (Disk Write Enable), drive'ı okuma veya yazmaya şartlar. Eğer hattaki sinyal high ise, disketten bilgi okunur. Eğer hat low ise, diskete bilgi yazılır.
SİDE: Bu hat, transfer halindeki bilginin disketin hangi yüzüne yazılacağına veya okunacağına karar verir. Eğer sinyal High ise side0 (alt yüz), Low ise side 1 aktif olur.
WPRO: WPRO hattı Amiga'ya drive'ın içinde bulunan disketin write protect'li olup olmadığını belirtir. Eğer hattan gelen sinyal low ise, disket write protect'lidir.

STEP: Bu hattaki pozitif bir darbe, drive'ın okuma/yazma kafasını DIR hattının durumuna göre, bir adım ileri veya geri götürür. DIR: DIR hattı (Direction), kafanın hangi yöne doğru hareket edeceğini belirtir. Low sinyali, kafayı diskin iç kısımlarına doğru hareket ettirir. High ise, diskin dış yüzeyine doğru bir ilerleme sağlar. Bu hat STEP hattıyla beraber fonksiyon gösterir.
TK0: TK0 hattına (Track 0) low sinyali geldiğinde, bilgisayar okuma/yazma kafasının 0. track'e ulaştığını anlar. Track 0, diskin en dış yüzeyinde bulunan track'tir.
INDEX: INDEX sinyali, track'in başının ve sonunun belli olması için konulmuş bir datadır. Kısa darbelerden oluşan bir sinyaldir.
CHNG: (CHANGE) hattı sayesinde, drive içindeki disketin değiştirildiğini bilgisayara haber verir. Disket drive'dan çıkarıldığında, bu hattaki sinyal low olur. Bu hattaki sinyal, bilgisayar bir step darbesi gönderinceye kadar low'da kalır. Eğer drive'a disket konulursa step darbesinden sonra, hat tekrar high konumuna geri döner. Dikkat ettiyseniz drive'ınızda disket yokken drive'dan click sesleri duyarsınız. İşte bu sesler, bilgisayarın kontrol için gönderdiği step darbelerinin sesidir.
INUSE: Bu çıkış, sadece Amiga'nın external disk portunda bulunmaktadır. Eğer hattaki sinyal low ise, drive'ın led'i yanar. Fakat genelde bu hat MTR hattına bağlanmaktadır.
AMİGA'NIN HAYAT DAMARLARI: CUSTOM CHİPLER
Bu ay Amiga'nın hardware bölümünde, Custom Chip'ler ilk sıraları alıyorlar. Custom Chip'ler de neyin nesi? Benim Amiga'mda canavar gibi çalışan 68000 tüm işleri görüyor diyenlerden olabilirsiniz. Belki düşünceniz açısından haklı olabilirsiniz, çünkü 68000 şu anda piyasada bulunan en güçlü ve en esnek mikroişlemcilerden biri. Sonuçta hız olarak bu işin üstesinden gelebilecek bir işlemci. Ama biraz durun, iş ekranda beliren Broadcast kalitesinde bilgisayar grafiklerine ve hoparlörlerden gelen dijitize edilmiş orkestra tipinde müziğe gelince durum biraz değişiyor. Tahmin edersiniz ki, 68000 tek başına bu işlerin altından kalkamaz. İşte bu işlerin üstesinden gelen şey, üreticiler tarafından Amiga için özel üretilmiş, üç entegredir. Numaraları 8351, 8362 ve 8364'tür. Fakat bu numaralar entegrelere yeterince kişilik kazandıramamış olacak ki, üreticiler bunlara ayrıca birer isim de vermişler: Agnus (8351), Denise (8362) ve Paula (8364). Aslında bu custom chipler ses, grafik, disk kontrolü ve bunun gibi birçok şeyle uğraşmakla birlikte, herbiri ayrı bir işi üstlenmemiştir. Bu üç entegre bir bütün gibi çalışmaktadır. Fakat bunları tek bir chip haline getirmek çok karmaşık ve daha pahalı olduğu için, üreticilerin tercihi bu işlemleri üç adet chip üzerinde bölüştürmek yönünde olmuştur. Agnus, Denise ve Paula'nın nasıl işlediğine geçmeden önce, Amiga'nın işleyişi üzerinde kısa bilgiler vermek istiyorum.
Eğer basit bir bilgisayar sistemini tarif etmek istersek; bir işlemci, işletim sistemi için bir ROM, biraz RAM ve giriş çıkış için de bir tutam peripheral register'dan söz etmek yeterli olur. Bütün bunlar Adres ve Data yoluna bağlıdır. Adreslemeyi ve diğer ekstra bütün işlemleri işlemci kontrol altında tutar.
Fakat iş Amiga'ya gelince durum karışıyor. ROM ve peripheral register'lar (CIA'ler) 68000'in kontrolü altında olmakla birlikte, 68000 ile Chip RAM ve custom chipler arasında bir tampon bulunmaktadır. Custom chipler ve RAM aynı adres ve data yoluna sahiptir. DMA (Direct Memory Access), bu olayı üstlenen sistemdir. Örneğin bir High Resolution grafik 64 Kbyte'tan fazla ekran hafızası istemektedir. PAL sistemde saniyede 50 kare göstermek gerektiğinden, bilgisayarın hafızaya saniyede 50x64 Kbyte'lık bir ulaşımı olması gerekmektedir. Bu, saniyede yaklaşık olarak 3 milyon!! hafıza işlemine rast gelmektedir. Eğer işlemci bu işi yapmaya kalkarsa aşırı yüklenir ve başka iş yapamaz duruma gelir. Ayrıca 68000 bu işlem hızına ulaşamaz. Buna ayrıca dijital ses efektleri ve disket işlemleri de katılınca, durum içinden çıkılmaz bir hale dönüşüyor. Burada yardıma ikinci bir işlemci giriyor. Bu işlemci ayrıca DMA kontrolörü olarak da çağrılmaktadır. Amiga'da DMA işlemini AGNUS devralmıştır. Ayrıca Paula, Denise ve bu adres hattında bulunan 256 register da Agnus tarafından kontrol edilmektedir. Tahmin edeceğiniz üzere, bu chip register'lar sesi, ekranda görüntü ve renklerin belirlenmesini, disket işlemlerinin bir çoğunu halleden register'lardır ve DMA yardımıyla 68000 üzerinden programlanabilmektedirler. 68000 Chip RAM'a direk olarak ulaşamamaktadır. Ayrıca Chip RAM DMA kontrolünde olduğundan, custom chipler tarafından ortaklaşa kullanılmaktadır. Bunun sonucu olarak Chip RAM'da yapılacak işlemler çok yavaş olmaktadır. Fast RAM, DMA hattının ulaşamaması ve 68000'in adres ve data yoluna direk bağlı olması nedeniyle çok hızlı çalışabilme olanakları vermektedir.
Gelecek aya Custom Chip'leri incelemeye devam edeceğiz. Saygılarımla.
