Commodore sayı 15, sayfa 39

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 39

Yukarıda gördüğünüz açıklamalar COMMODORE 64'ün içinde bulunan elemanları, sinyalleri ve yürüyen işlemlerin önemli olanlarını anlatıyor. Şimdi ise bu ufak eleman ve sinyallerin bir bütün olarak nasıl bir işin üstesinden geldiklerini, bu arada hangisinin devreye girip ne kadar süre ile ne yaptığını ve sonuç olarak gözle görülür bir işlemin ortaya çıkışını göreceğiz. Bu anlatım sırasında da eleman adının yanında parantez içinde bir rakam bulabilirsiniz. Bu rakam yukarıda bahsettiğimiz gibi hâlâ elemanın fotoğrafımız üzerindeki yerini gösteriyor. Fonksiyonları en başından ele alalım ve konuya öyle yaklaşalım. Diyelim bilgisayarın ON/OFF düğmesini açtık, bilgisayarın içinde neler olmakta? İlk olarak bütün elemanlar şok geçirecek kadar çok akım çekerler. Tüm elemanların hayata geçebilmeleri için sakinleşmeleri beklenir. Bu yüzden hemen tüm elemanlara uygulanan RESET sinyali belli bir süre şase seviyesinde kalır. Bu sinyal bilhassa bilgisayarımızın beyni sayılan ana işlem ünitesinin uyanıp çalışır vaziyete gelebilmesi için hayati önem taşır. Sistemin bir parçası olan TİMER (25) devresi yalnız bu anda aktif olarak görev yapar. Yaptığı iş ise belli bir zaman (bilgisayarın içindeki voltaj seviyesi normal seviyesine ulaşıp tüm devreler aşırı akım çekme durumundan kurtulana kadar) beklemektir. Daha sonra tüm elemanları serbest bırakır, ana işlem ünitesi de bu elemanlara dahildir. Bilgisayarımız donanım olarak uyandı ve şu anda çalışabilecek durumda olan bir ana işlem ünitemiz var. Fakat o şimdi ne yapacak? Nereden başlayacak? İşte böyle bir durumda ana işlem ünitesinin içgüdüsel hareketinden söz edebiliriz. Ana işlem ünitesi RESET işlemine her defasında aynı şekilde başlaması gerektiğinden bu çip üretilirken içine sabit bir emir konur ve bu emir yalnızca böyle bir durumda kullanılır. COMMODORE 64'ümüzün ana işlem ünitesi 6502/6510 tipindedir ve bu aileye ait ana işlem ünitelerinin hepsinin standart başlama noktası $FFFC (65532)'deki göstergecin gösterdiği adrestir.

Gerek bu göstergeç, gerek onun gösterdiği adres, işletim sistemi ROM'unun (5) içindedir. KERNAL ROM'u da denilen bu bölgenin içindeki programlar kalıcı olduğu için buradaki program güvenilirlikle yürütülebilir. COMMODORE 64'te $FFFC'deki göstergeç 64738'deki RESET altprogramını göstermektedir. Bu altprogramı biz de dışarıdan çağırabiliriz. Bu işi SYS64738 yazarak yapabilirsiniz. Göreceksiniz alet ilk açılış durumuna dönecektir. İlk önce ana işlem birimi için hayati önemdeki işlemler yürütülür. Bunlar ana işlem ünitesinin çalışma modunu belirlemek ve içindeki yısonra ekran için ayrılmış olan hafıza bölgesi silinir. Burada RESET işleminin işletim sistemi ile ilgili kısmı bitmiştir. Daha sonra ana işlem ünitesi $A000 (40960)'da bulunan göstergeç yardımıyla BASIC-WARMSTART'a gider. (Burada ise bildiğimiz BASIC INTERPRETER ROM'u başlamaktadır.) Ana işlem ünitesi artık INTERPRETER (yorumlayıcı) döngüsüne girmiştir; artık bizden BASIC'te emir alabilir ve yürütebilir. Bilgisayarın bu duruma geldiğini şuradan anlarız: ekran görünür vaziyette açılmıştır ve açılış mesajı görünmektedir, CURSOR yanıp sönmektedir ve tuş takımından yazdıklarımızı alabilmektedir.

Commodore 64'ünüzü açtınız ve mavi zemin üzerinde alışageldiğiniz yazıların oluştuğunu gördünüz. Bu duruma gelmek için bilgisayarınızın içinde neler oldu, haberiniz var mı?

ve mavi zemin üzerinde alışageldiğiniz yazıların oluştuğunu gördünüz. Bu duruma yığın göstergecini sıfırlamaktır (aslında sıfırlamanın tam tersi yapılmakta, çünkü 6502/6510 ana işlem ünitesinin yığını yukarıdan aşağıya prensibiyle çalışmaktadır). Bundan sonra belli bir şifreye göre modül takılı olup olmadığı kontrol edilir ve modül varsa sistemin kontrolü modüldaki programa devredilir. (Merak edenler için belirtelim, bu şifre $8004'te CBM80 yazılı olmasıdır). Şayet modül yoksa diğer aktif elemanların inisyalizasyon işlemleri yapılır. Bu, şu demektir: Bazı sabit değerler CIA'lere (1,2), VIC'e (19) ve SID'e (20) yazılır ve belli bir çalışma disiplinine sokulurlar. Daha sonra yapılan işlem ise RESET sırasında en fazla zaman alan işlemdir. Bu işlem RAM'in (24) test edilmesi ve çalışma alanı olarak daimi ve kesiksiz ne kadar hafızanın bulunduğunun tespit edilmesidir. Bundan sonra ise RAM'in işletim sistemi tarafından kullanılacak bölgesi ROM'dan bazı değerlerin kopya edilmesiyle ilk açılış değerlerine getirilir. Bu işlemler yerine getirildikten

Artık bilgisayarımız uyanmış ve günlük yaşamına dönmüştür. Artık bizden emirler alabilir ve bunları uygulayabilir. Şimdi iş daha da ilginçleşiyor. Acaba bilgisayar bizim istediklerimizi yerine getirirken ara işlemler olarak bize göstermeden neler karıştırıyor? Diyelim ki CURSOR'umuz bir bölgede yanıp sönüyor. Ve biz bir tuşa bastık. CURSOR bastığımız tuşa ait karakteri yazarak bir ilerliyor. Tam detayları göz önünde tutulduğunda acaba bu olay nasıl gerçekleşiyor?.. Önce tuş takımını inceleyerek başlayalım. Tuş takımındaki her tuş elektriksel bir anahtar vazifesi görmektedir. Biz bir tuşa bastığımızda elektriksel devreyi kapatırız ve bilgisayar arabirim ünitesi yardımıyla o tuşa bastığımızı algılar. Bu sefer başka bir sorun çıkıyor. COMMODORE 64'ün üzerinde tamı tamına 66 tane tuş bulunmakta. Bu 66 tuşun bilgisayar tarafından algılanabilmesi için 66 hat artı bir adet de ortak şase sinyali için bir hat, yani toplam 67 hat gerekiyor. Tabii üretim sırasında

Klavyeyle gezinmek için ← ve → tuşları.