Bu sayfadaki yazılar
Sayfanın metni
Sayfa 118
Amiga için Kickstart ROM yazma
Merhaba arkadaşlar,
Bu yazımızda Amigalar için Kickstart ROM konusunu ele alacağız. İlk bölümde hazır bir ROM dosyasının nasıl gerçek çipe yazılabileceğini anlatacağım. İkinci bölüm ROM dosyaları üzerinde değişiklikler yaparak kendi amaçlarınıza uygun ROM dosyaları hazırlamak üzerine olacak. Üçüncü ve son bölümde ise normalde Amigalarda kullanılmayan 1 MB büyüklüğündeki ROM dosyalarını hazırlama ve yazmayı göreceğiz.
Yazacağınız ROM dosyalarını hazırlamak için Amiganızdan grab edeceğiniz ROM dosyası, upgrade edeceğiniz patch'ler ve eğer güncellenmiş ROM paketleri kullanacaksanız, Boing Bag paketlerine ihtiyacınız olacak. ROM hazırlama işlemini WinUAE üzerinde veya gerçek Amiganızda gerçekleştirebilirsiniz. Bu ROM'ları gerçek çiplere yazmak için ise uygun bir ROM yazıcıya ihtiyacınız olacak.
Şekil 1. 23C2100 Pinout
Şekil 2. 23C4100 Pinout
Öncelikle Amiga'da kullanılan ROM yapısını tanıyalım. Amiga ROM'ları, Kickstart 1.* serisinde 256 KB iken, 2.0 ve üzerinde 512 KB yer kaplar. Bu bilgi, Amiga 500, 600, 2000 modellerinde 512 KB'lık tek bir ROM'da toplanırken, Amiga 1200, 3000 ve 4000 modellerinde 256 KB'lık iki ROM'a bölüştürülmüştür. Bunun sebebi 500, 600 ve 2000 modellerinin 16 bit bus'a sahip olup Kickstart'a 16 bit'lik bölümler halinde ulaşırken, 1200, 3000 ve 4000 modellerinin 32 bit bus üzerinde 32 bit'lik parçalar halinde ROM'a ulaşmasıdır. Kullanılan çipler 23C serisi silinemeyen, yeniden yazılamayan ROM'lardır. 512 KB ROM kullanan Amigalarda 23C4100 serisi ROM'lar kullanılırken, 256 KB'lık çift ROM kullanan Amigalarda 23C2100 serisi ROM'lar kullanılmıştır. Yukarıda bahsi geçen ROM'ların pinoutlarını görebilirsiniz.
Yapmamız gereken, büyüklük ve pinout olarak bu çiplerle uyumluluk gösteren bir çip bulup yazmaktır. Pinout'u uymayan çipleri de gerekli sinyalleri ilgili yerlere gönderecek bir adaptör hazırlayarak kullanabilirsiniz, ama tabii yapacağınız iş artar. Tabii çipleri bulduktan sonra bu ROM'ları programlayabilecek bir EPROM programlayıcı da temin etmeniz gerekiyor.
Şu anda piyasada Amiga ROM'ları ile uyumluluk gösteren ROM'lar 27C400 ve 27C200 ROM'larıdır. 27C200 256 KB olup Amiga 1200, 3000, 4000 ROM'ları yerine kullanabilirsiniz. 27C400 ise 512 KB'tır. Aslında bu ROM'lar oldukça eski olup bulunması gitgide zorlaşmaktadır. Özellikle 27C200 bulması çok zor olduğundan bunun yerine 27C400 kullanacağız. Pinoutlara dikkat ederseniz ikisinin arasında sadece pin 1'in farklı olduğunu görürsünüz. Bu pin 27C200'de NC (Not Connected) olduğundan kullanılmamaktadır. 27C400'lerde bu pin A17 (adres 17) pini olup, 27C400'ün üst 256 KB kısmını adreslemede kullanılmaktadır. O yüzden 32 bit ROM'larda 27C200'deki datayı üst üste iki kez yazarak 27C400 çipini kullanacağız.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 119
Şekil 3. 27C400 Pinout
ROM'larımızı seçtiğimize göre bu ROM'ları programlayabilecek bir ROM yazıcı bulmamız gerekiyor. Eskiden bu programlayıcılar oldukça pahalı aletlerdi. Ama artık 50$ civarına bu aletleri edinmemiz mümkün. Bu yazıda ele alınan programlayıcı, Willem EPROM programlayıcısıdır. Bunun dışında 27C400 destekleyen herhangi bir programlayıcı deneyebilirsiniz. Ancak programlayıcının açıklamasını mutlaka iyi okuyun. Mesela Willem, aslında 32 pin ROM'lar düşünülerek hazırlanmış bir yazıcı olduğundan 40 pinlik 27C'leri yazmak için bir adaptöre ihtiyaç duyuyor. Programlayıcınızı alırken mutlaka 27C400 yazıp yazamayacağınızı, ekstra bir donanıma ihtiyacınız olup olmadığını araştırın. Willem EPROM programlayıcı almak isterseniz de mutlaka 40 pin adaptörüyle birlikte alın.
Eğer programlayacağınız EPROM'ları ve EPROM yazıcınızı temin ettiyseniz her şeyiniz hazır demektir. Bu noktada ihtiyacınız olabilecek tek şey, yanlışlıkla yazdığınız veya değiştirmek istediğiniz EPROM'ları silecek bir EPROM silici. Kullanacağımız EPROM'lar güneş ışığına hassas olmakla birlikte maalesef tam olarak silinmeleri güneş gören bir yerde iki üç hafta sürebiliyor. ROM yazarken siliciniz yoksa bunu da aklınızda bulundurun. Herhangi bir hata size iki haftaya veya ROM silici almanıza neden olabilir.
Şekil 4. Willem'de ROM seçimi
Şekil 5. EPROM yazıcı üzerindeki ayarlar
512 KB'lık tek parçalı ROM'ları (A500-600-2000) 27C400'lere yazmak oldukça basit bir işlem. Öncelikle ROM yazıcınızı yazacağınız ROM'a göre ayarlamanız gerekiyor. Willem programlayıcıda yazacağınız ROM olarak 27C400'ü seçtiğinizde ekrana gelen görüntüden programlayıcı üzerindeki switchleri düzgün bir şekilde ayarlayın. Çipi adaptöre takıp adaptörü ZIF sokete yerleştirin. 27C400, 40 pin olduğundan Willem'in 42 pin adaptöründe en üstteki sırayı boş bırakmanız gerekiyor. Bundan sonra ROM'unuzun tamamen boş olup olmadığını test etmenizi tavsiye ederim (blank test). Bu işlem aynı zamanda ROM yazıcınızı doğru olarak ayarlayıp ayarlamadığınızı da gösterecektir. Bundan sonra yazmak istediğiniz ROM dosyasını yükleyip, bir swap byte işlemi yapmanız gerekiyor. Bu sanıyorum PC ile Amiga arasındaki endianness (http://en.wikipedia.org/wiki/Endianness) probleminden kaynaklanan bir işlem. Bunu yaptıktan sonra ROM'unuzu yazabilirsiniz. Birkaç dakika içinde işlemin tamamlanmış olması gerekiyor. Eğer ROM tam boş değilse sorun çıkabilir. Eğer başka bir
114 problem çıkarsa, yazıcınızı yazacağınız ROM'a göre tam olarak ayarlayıp ayarlamadığınızı ve yazılımda doğru ROM tipini seçip seçmediğinizi kontrol etmenizi öneririm. Yazma işlemi bittikten sonra ROM'umuzun içindeki bilgilerin silinmemesi için penceresini bir etiketle kapayıp kullanabilirsiniz!