Bu sayfadaki yazılar
Sayfanın metni
Sayfa 31
CLK: 68000, Amiga'da 7.16 MHz frekansında işler. Çalışması için tek clock girişi vardır.
Data Bus D0-D15: 16 bitlik data bus, bir seferde 16 biti işleyebilir. 8 bitlik byte işlemlerinde databus'un sadece bir yarısı kullanılır. Bu byte'ın bulunduğu adrese göre üst veya alt yan olarak değişir.
Adres Bus A1-A23: Adres Bus 16 Megabyte adresleyebilir. UDS ve LDS sinyalleri A0 adres yolunun görevini üstlenmiştir.
Asenkron Bus Kontrol Sinyalleri AS, R/W, DTACK: 68000 hafıza ulaşımında iki değişik mod kullanır. Bunlardan asenkron modda, işlemci sinyali AS (adres strobe/ adres geçerli) o anda adresbus'ındaki bilginin geçerli olduğunu, R/W (Read/Write) sinyali ise 8 veya 16 bitlik datanın hafızaya yazılacağını mı, yoksa hafızadan okunacağını mı belirler. Bu işler bittikten sonra işlemci, DTACK girişini kontrol eder. Bu giriş 0'sa, hafızadaki datanın hazır olduğu anlaşılır ve işlemci bir sonraki işlemine dallanır. Asenkron modda, işlemci kendisini hafızanın hızına uydurmaya çalışır.
Senkron Bus Kontrol Sinyalleri E, VPA, VMA: E çıkışı işlemci frekansının 1/10'u kadarlık (716 KHz) bir frekans yayar. Bu Peripheral Chip'lerin çalışması için gereklidir (8520'ler). Asenkrondan senkron moda geçiş için, VPA (Peripheral adresi geçerli) girişi 0'a çekilir. 68000 buna VMA (Memory adresi geçerli) çıkışını 0'a çekerek cevap verir. Bunu algılayan Peripheral chipler işlerini yaparlar. Bu E'nin bir periyodunda meydana gelir. Bundan sonra işlemci bir sonraki VPA sinyaline kadar senkron modu terk eder.
Sistem Kontrol Sinyalleri RESET, HALT, BERR: RESET ve HALT girişleri aynı anda 0'a çekildikten sonra, sistem kendini resetler ve $4'te bulunan adrese atlar. BERR girişine, herhangi bir Bus hatası olduğunda 0 bilgisi gelir; bu da 68000'i belirli bir adres bölgesine atlamaya zorlar (Örneğin Guru Meditation). HALT girişinin diğer bir fonksiyonu işlemciyi durdurmaktır. Bu giriş 0'a çekilirse işlemci durur, 1'e çekildiğinde işleme kaldığı yerden devam eder. Amiga'yı yavaşlatma devreleri, bu girişe frekansı ayarlanabilen bir karedalga gönderilmesi prensibiyle çalışmaktadırlar.
Interrupt girişleri IPL0, IPL1, IPL2: 68000'de yedi interrupt bulunmaktadır, bunlar numara sırasına göre önceliğe sahiptirler. 7 no'lu interrupt en yüksek seviyeli interrupttır ve maskelenemez. Yani diğer altı interrupt programlar tarafından kapatılabilir ama 7 no'lu interrupt kapatılamaz. IPLx'ler üç bitlik interrupt anahtarıdırlar. Kombinasyonları 0'dan 7'e kadar değişir. 0 değeri hiçbir interrupt'ın çağrılmadığını belirtir.
Bus Kontrol Sinyalleri BR, BG, BGACK: Bu sinyaller başka bir Chip'in Bus kontrolünü eline almasını ayarlar. Örneğin Harddisk Kontroller'in, Dataları harddiskten direk hafızaya yazması sırasında kullanılırlar.
Buraya kadar anlattıklarımız 68000'in sinyalizasyonunu gösteriyordu. Bu kadar elektronik bilgiden sıkıldıysanız, bunu ufak bir assembler programla eğlenceli hale dönüştürelim ve bu ayki konumuzu sona erdirelim.
Aşağıda geçen assembler programı, Amiga'nın Peripheral chip registerlarını kullanarak drive ve power ledlerini belli bir kombinasyonla yakıp söndürür. Bu programı yazmak için Seka assembler programını kullanabilirsiniz. Program içinde bilinmeyen terimler kısaca açıklanmıştır. Ama daha geniş bilgiyi Peripheral chipleri incelediğimizde vereceğiz.
move.l$4,A6 ;Execbase jsr -132(A6) ;forbid main:
bsr led
bsr bekle bsr diskyak bsr bekle bsr disksöndür btst #6,$bfe001 bne main
jsr -138(A6) ;permit its led:
bchg #l,$bfe001 its bekle:
move, w #$ffff,Dl döngü: dbf D1,döngü
its diskyak:
move.b #$7d,$bfdl00 ;bütün drive'lar seçildi nop nop
bclr #7,$bfdl00 ;motoron bclr #4,$bfdl00 ; df0: seçildi its disksöndür:
move.b #$7d,$bfd100 nop nop bset #7,$bfd100 ;motoroff bclr #4,$bfd100 ;df0: seçildi rts Merak ettiğiniz hardware, elektronik, assembler sorularınızı bu köşeye gönderebilirsiniz. Sorularınız itina ile cevaplanacaklardır. Geçen ayki yazımızda bazı teknik sebeplerden dolayı, 1MB chip ram yapımı yazısında önemli bir bölüm okunamaz olarak çıkmıştı. Bu aksilik için özür diliyoruz ve çıkmayan bölümü yeniden yayınlıyoruz. Ayrıca ses devresinin malzeme listesi bölümünde kondansatörler 10 F olarak çıkmış. Lütfen bunu 10 microF olarak düzeltiniz.
Bu ayki yazımı, yaz sıcaklarının maximum düzeye çıktığı bu günlerde, tatile gitmeyip, kendini dergiye adayan yazar ve yapımcı arkadaşlarıma ithaf ediyorum. Eğer soğuk vişne suyunuz hala bitmediyse, onu founddeep yapıp bunun serinliği içerisinde yepyeni bir günde, cıvıl cıvıl kaynaşan hormonlarınızın sesini dinleyip, hayatın tadını çıkarmaya bakın. Nasıl olsa elektronik devreleri akşama da yapabilirsiniz.
Sağlık ve esenlik içinde tüm mutlulukların sizin olması dileğiyle.
14. SAYIDA HATALI ÇIKAN PARAGRAF: İlk iş olarak, RAM entegrelerini, Sayı: 8'deki açıklamayı örnek alarak yerlerine monte ediniz. Bu işlem bittikten sonra, bu sayıdaki şemamıza bir göz atınız. Dikkat edilirse, ROM entegresinin üzerinde, bir JUMPER bulunmaktadır. JP2 isimli bu jumper, üç kutucuktan oluşmaktadır. Orijinalde bu kutucuklardan, alttaki ile ortadaki birbirlerine bağlı, üstte bulunan kutucuk ise bunlardan ayrıdır. Yapmamız gereken, alttaki ve ortadaki kutucukların bağını kesmek ve üstteki kutucukla ortadaki kutucuğu birbirlerine lehimlemektir. Şemaya bakarsak, 1. ile 2.'nin arasını dikkatlice kesip, 2. ile 3.'nün arasını lehimlememiz gereklidir. Bunların dışında, Internal RAM konnektörünün yanında bir başka jumper daha bulunmaktadır (JP7A). Bu jumper da üç kutucuktan oluşmaktadır. Eğer üzerinde bir değişiklik yapılmamışsa, alttaki iki kutucuk birbirlerine bağlı, üstteki ile ortadaki kutucuklar, birbirlerinden ayrıdırlar. Bunları olduğu gibi bırakın. Bazı modellerde, üç kutucuk da birbirinden ayrıdır. Eğer bu tip bir makinaya sahipseniz, alttaki iki kutucuğu birbirlerine lehimleyiniz. Yani şekildeki b ve c kutucuklarını lehimleyip, a kutucuğunu bunlardan ayırınız.
Not: Dergimizin 8. sayısında anlatılan, 1 Mbyte yapımında, RAM konnektörünün yanındaki JP7A jumper'ının lehimlenmesi gerekmektedir. Eğer bunu yapan okurlarımız varsa, bu sayıda anlatmakta olduğumuz 1 Mbyte Chip RAM'i yapmak için, bu jumper'ı anlatılan şekilde düzeltmeleri gerekmektedir.
Amiga'yı açtık, RAM entegrelerini yerleştirdik, jumper'ları ayarladık, kapağını kapatıp güç kaynağına bağladık. Peki Amiga'da neler değişti bir bakalım.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 30
Modemle
ilgilenenler için RS232 Serial port kablosu
Gerekli Malzeme: 1 adet 25'li erkek DB-tipi soket 1 adet 25'li dişi DB-tipi soket Bunların kapakları
ŞEKİL 2- MODEM KABLOSU
"Bir işe girişmek için iyi bir gerekçemiz yoksa, ona başlamamak için iyi bir nedenimiz var demektir." Sir W. Scott
Yukarıdaki sözün şimdi ne alakası var diyebilirsiniz. Yalnız modem hatlarının milyonlarla konuşulduğu bir ortamda böyle bir işe başlamadan önce, modem kablosuna cidden gereksinmeniz olup olmadığını baştan bir düşününüz. Ama, ben yapayım, evde bulunsun diyorsanız, bu sizin bileceğiniz bir konudur.
Modem modası, Türkiye'nin gündemine ne kadar geç gelmiş olsa da, çok büyük bir hızla çoğalma ve gelişme göstermektedir. Eğer gelecek telefon faturalarını karşılamaya hazırsanız, modem almak için hiç beklemeyiniz. Tabii alacağınız modemi ne amaçla alacağınız ikinci bir soru olarak kalıyor. Eğer Türkiye sınırları içinde arkadaşlarınızla konuşmak ve yerel BBS'lere bağlanmak istiyorsanız, 2400 Baud bir modem işinizi yeterince görecektir. 2400 Baud modemler yurtdışında 100-150$ arasında değişmekle birlikte, Türkiye'de fiyatı 250-300$'a kadar çıkabilmektedir. Böyle bir modem aldığınızda dikkat etmeniz gereken, modeminizin full duplex ve aynı zamanda 1200/75 Baud, half duplex çalışabilmesidir. Bu sizin PTT'nin teletext servisine, TURPAK'a ve THY'ye bağlanabilmenizi kolaylaştırır. Ayrıca, İstanbul içinde halen faaliyet göstermekte olan BBS'ler bulunmaktadır. Gerektiği takdirde bunlarla da bağlantı kurabilirsiniz. Bu BBS'lerden Avrupa'daki en yeni programları ve piyasada bulunmayan çeşitli utility programları temin edebilirsiniz. Bunun yanında BBS'lerin Mailbox'larına mesaj bırakarak, Türkiye içindeki diğer modem kullanıcıları ile bağlantı kurma imkanına kavuşabilirsiniz.
Diğer tercih, 2400 Baud'un üstünde bulunan modemleri kullanmaktır. Bu tür modemlerin çalışma prensipleri, diğerlerine göre daha değişik ve daha zor olduğu için maliyetleri artmakta, bu da fiyatlarına yansımaktadır (4800 Baud'un altında bulunan modemler, telefon hattını ses sinyali göndererek kullanırlar. 4800 Baud ve üstünde bulunanlar ise faz modülasyonu ile çalışırlar.). Bu modemler içinde kullanılabilecek üç grup vardır. Bunlar 9600, 14400 ve 19200 baud'luk modemlerdir. Fiyatları ise 850$'dan başlayıp çok daha yukarılara uzanmaktadır. Bu tip modemlerin büyük avantajları vardır. Yurtdışındaki BBS'lere girişinizde büyük kolaylık sağlar. Genelde 9600 Baud altındaki modemlerle yurtdışındaki modem servislerine girmeye çalıştığınızda, (eğer daha önceden tanışmıyorsanız) kabul edilmeme olasılığınız çok yüksektir. Çünkü düşük hızlı modemler servisi çok daha fazla meşgul edeceğinden bu tip cihazlara karşı soğuk durmayı tercih ederler. Yüksek hızlı modemlerle ABD'deki eyaletlere parasız olarak bağlanabilirsiniz. Sonuç olarak bu iş Phone Card'ların yasadışı olarak kullanılmasıyla yapılıyor. Yurtdışında daha yeni çıkmış programlara günü gününe sahip olabiliyor ve Amiga'nın şu ana kadar çıkmış bütün program kütüphanesini hükmünüz altına alabiliyorsunuz. Harika bir fantezi değil mi?
Bizim devremizin amacı, bilgisayar ile modemi birleştirecek bir modem kablosudur. Genelde modem kablosu, modem ile birlikte verilmez. Verilen kabloların bazılarıysa standart dışı olurlar. Bizim vereceğimiz bu kablo ile, Amiga'nıza RS232 girişi olan herhangi bir modemi bağlayabilirsiniz.
Kablomuzun yapımının, Kick off portu yapmaktan farkı yoktur. Dikkat etmeniz gereken şeyler aynıdır. Devrenin açık şeması Şekil 2'de verilmiştir.
"İnsan aklının sınırlarını zorlamadıkça, hiçbir şeye ulaşamaz" A.Einstein
Bu aydan itibaren, biz de sınırları zorluyor ve konularımızın ufkunu bir parça daha genişletiyoruz. Yazı dizimizin bu yeni bölümünde kendinizi yepyeni bir serüven içinde bulacaksınız. Sonsuz yaratıcılığa merdiven dayayan sihirli bir makinanın yapısını yakından incelerken, öğreneceğiniz yöntemlerle siz de bu yapıya katkıda bulunabileceksiniz. İlerleyen bölümlerde bir hardware programcısının neler oluşturmaya muktedir olduğunu hissedecek ve verilen örneklerin de yardımıyla, en güzeli ortaya koyacaksınız.
Yolculuğumuzun bu bölümünde, Amiga'nın en önemli bölümü olan MC68000 kapılarını aşındıracak, öğreneceğimiz şifrelerle
Amiga'nın normal programlarla ulaşılamayan bölgelerinde at koşturacağız. Maceramız bu kadarla da bitmeyecek. Ses, Grafik, Drive vs. chiplerinin işlevlerini ve registerlerini öğrenip onların hepsini birer köleye dönüştüreceğiz. Bunlar bizim için, Amiga içinde katıldığımız safarinin rehberleri olacaklar.
Bu ay bahsedeceğimiz entegre, en gelişmiş en güçlü ve en esnek 16 bit mikroişlemcilerden biri: 68000 !...
68000 işlemcisi, 1979 yılından beri piyasada bulunmaktadır. İlk zamanlarda fiyatı Amiga'nın fiyatına yaklaşık olan bu chip, Amiga'nın kalbidir. 68000'in assembler'ından burada bahsetmeyeceğiz, zira 68000 assembler yazısını izlemeniz ve komutlarını öğrenmeniz yeterlidir. Şimdilik 68000'in giriş ve çıkışlarını ve sinyal yapısını kısa olarak anlatmaya çalışacağız.