Bu sayfadaki yazılar
Sayfanın metni
Sayfa 16
Karl Heinz Mulla
Commodore 64 ve 1541 Disk Drive ile ilgili çalışmaların büyük
bölümünü, bu gereçleri hızlandırmaya yönelik araştırmalar oluşturuyor. Karl Heinz Mulla'nın bu yazısında da 1541'i beş kat hızlandıracak birkaç makine rutini açıklanıyor. Bu rutinler sayesinde daha hızlı programlar elde edeceksiniz.
Turbo teyp programları bile bu sistemden daha hızlıdır. Halbuki 1541'in donanımı hiç de kötü değil, çünkü birkaç makine dili rutini ilave ederek yükleme zamanını beşte birine indirmek mümkün. Yalnız bu çeşit alt-programların büyük dezavantajı bir RAM bölgesine konmalarıdır. Bugün iyi yazılım © kadar geniştir ki, bazı programların bütün disk hafızasını doldurduğu görülür. Tabii böylece bizim hızlı yükleme programı silinir ve işlemci program silindiği için saçmalar. Bir başka dezavantaj da, bu hızlı yükleme programının önceden yüklenmesinin gerekiyor olması ve böylece zaman kaybedilmesidir. Yani bu şekilde fazla zaman kazanamayız... Velev ki, bir boot programı şeklinde asıl program adreslerini dikkate alarak yazılmış olsun. Bir başka metod ise bu programı bir CBM 80 koduyla bir arada olduğu halde $8004 adresine yazılması ve bir EPROM programlanmasıdır. Bu EPROM'un genişletme yarığına (Expansion port) takılması mümkündür ve böylece program işlemcinin çalışmasıyla birlikte çalışır duruma gelir. Maalesef burada da adreslerle aynı problemler ortaya çıkıyor ve karışık yer değiştirme rutinleri ile pek de yeterli olmayan bir uyumluluk sağlanabiliyor. Yani bize lazım olan, alt programlarımızı diğer yazılımların erişmeyeceği bir yere saklamaktır. Evvela böyle bir alt programın ne yaptığına bakalım. Her kompüterin bir işletim sistemine ihtiyacı vardır. Bazılarında işlemcinin çalışmasıyla hemen yükler, bazılarında ise bir ROM'a (yalnız yazılır bellek) yazılır. ROM'da yazılı bu işletim sistemine Çekirdek (Kernal) denir. Bizim C-64'de de durum böyledir. İşte ROM'daki bu Çekirdek sayesindedir ki bilgisayarı açar açmaz ekranda Commodore 64 BASIC V2.0 vs. yazılarını görürüz. Bir makine dili programıyla işletim sistemini gözden geçirmek mümkündür ama tabii ki ROM'da bir şey değiştirmek mümkün değildir. Bu yüzden 8 KB (kilobyte)'lık işletim sistemini önce RAM'da (yazılır-okunur bellek) bir yere kopya eder ve isteklerimize uydururuz. Şimdi bu yeni kernal (çekirdek)'i gösteren göstergeyi saklarsak bilgisayarı yeniden çalıştırdığımızda (warm start) alet asıl çekirdek rutinine atlayacağına yeni işletim sistemini kullanır. İşte bu hadise bizim hızlı yükleme programını başlatırken olur. Tabii ki aletin açılıp kapanması halinde bütün işin boşuna olacağı da anlaşılıyor. Bu sebepten şimdi bir adım ileri gideceğiz. Demin sözünü ettiğimiz işletim sistemini alıp 8 K'lık bir EPROM'a bu bilgiyi programlayacağız ve Çekirdek ROM'unun yerine (V 4) takacağız. Böylece alt programımızı oraya “yerleştirmiş” olacağız. Bu haliyle programımız hemen kullanılmaya hazır olup ayrıca RAM yüklemesinden daha HIZLI devreye girme üstünlüğüne de sahiptir. Çünkü artık RAM'dan yavaşça okumak durumunda değildir. Yükleme zamanı takriben 6'da birine iner. Bu da 202 blokun 28 saniyede yüklenmesi demektir. Bu iyi bir neticedir, ama bu iş daha hızlı da olur.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 17
1541'in Çekirdeği HERE
1541'imizde de bir işletim sistemi ve RAM olduğunu biliyor muydunuz? Şimdi yeni program yazma ve EPROM programlama ile meşgul olduğunuz şu sırada hemen disket kernal'i (çekirdeği) ile de aynı şeyi yapalım. Başka herhangi bir donanım değişikliği yapmadan 202 blok 17 saniyede yüklenecek. Commodore'un tasarımcının tek günahı yavaş bir işletim sistemi tasarlamak değil, üstelik bunun için çok fazla yer de israf etmek. Hangimiz acaba ciddi olarak F tuşlarını programlamayı düşündü? Bunun için her seferinde bir sonraki reset'e (sıfırlama) kadar kalacak olan bir program yazmak zorunda kalıyoruz. Bu programlamalar için de çekirdekte yer vardır. Ben fonksiyon tuşlarını şu şekilde programladım.