Amiga Dünyası sayı 15, sayfa 31

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ı.