GÜÇLENDİRİCİLER
Bugün C-64 ve C-128 bilgisayarları, tasarımcılarının akıllarından bile geçirmedikleri görevleri yerine bilecek kapasitesi, çeşitli donanım, aksesuar ilaveleriyle ulaşmış durumda, Şimdi bunlardan söz edecek ve örnekler vereceğiz.
ZOR BİR KARAR
1541 diskat s ünün birçok durumda yetersiz kalacağı ortada. Bunu telafi etmek için Xetec şirketi tarafından Lt. Kernal geliştirilmiş. Bu 20 megabaytlık sürücü hiç de ucuz değil, ama 120 floppy diskte buluna-
C-64 artık hem daha hızlı, hem daha güçlü. Hem bellek kapasitesini hem de çalışma hızını arttıran birçok güçlendirici ve kartuş üretildi. İşte size çeşitli örnekler.
bilecek informasyonu depolayabiliyor. Hem onu hem de güç kaynağını kapsayan metal bir gövdeye yerleştirilmiş. Üzerine monitör yerleştirilebilecek kadar da sağlam. Sürücünün arabirimi 64 ya da 128 kartuş portuna takılıyor. Bu işlem sırasında iç değişiklikler de yapılması gerekiyor. İki kablonun 64'teki özel bir çipe bağlanması gerekiyor. 128'de ise bir çipin çıkarılıp yeniden yerleştirilmesi gerekiyor. Lt. Kernal'ın depolama alanı 11 mantıksal üniteye, onlar da 15 ayrı alt directory'ye ayrılabiliyor. Dosya ve programları sürücüde herhangi bir yere depolamaktansa, benzeri programları bir arada toplamanıza olanak sağlıyor. Örneğin bir ünitede kelime işlemcileri, bir diğerinde database'lar, bir başkasında ise oyunlar muhafaza edilebilir. Alt directory'ler olmadan 20 megabaytlık bir diskte listelerin ve dökümünün ne kadar uzun olacağını insan hayal etmek bile istemiyor. Çok fazla data depolanmakla birlikte, bunlara ulaşmak oldukça kolay. Sürücü programları 1541 sürücüsünden 65 kere daha hızlı yükler ve kaydeder. 64 belleğine transfer hızı saniyede ortalama 38.000 bayt, bu hız 1280'de saniyede 65.000 bayta çıkıyor. Disk işletim sistemi 42 sistem komutna sahip. Bir dosyayı silmek için artık uzun komutlar ezberlemenize gerek kalmıyor. Örneğin delete (silme) işlemi için DEL yazıp dosya adını vermeniz yeterli oluyor. Eğer bu model yetersiz geliyorsa, şirket hard disk sürücünün 40 megabaytlık bir versiyonu da geliştirmiş.
BELLEK | GÜÇLENDİRİCİLERİ
Daha güçlü ve hızlı bir sürücü isteyenlerin daha fazla bellek ve RAM istemesi de doğaldır. Ekstra bellek kapasitesi daha geniş databaseler ve kelime işlem dökümanlarıyla çalışmanıza olanak sağlar-tabii daha da hızlı olarak. İlave RAM, 64 ya da 128'in kendi belleğinde muhafaza edebilmek için fazla geniş olan programlar için ekstra bir disket sürücüsü gibi çalışır. Programın ayrı bir rutin ya da dosyayı çağırması gerektiğinde, disket sürücüsü yerine ilave RAM'den çağıtır. RAM bu şekilde kullanıldığı zaman “ramdisk” diye adlandırılır. Commodore'un 1764 RAM Genişletme ünitesi (REU) 256K RAM ilave eder. Onunla birlikte 1764'ü bir ramdisk ya da hızlı bir sürücü olarak kullanmanızı sağlayan RAM-DOS'da bulunmaktadır. GEOS programlarını hızlandıran bu genişleticiyi çok iyi değerlendirmektedir
EPROM
Ramdisk hızlıdır ama bilgisayar kapatılır kapatılmaz tüm belleği silinir. Bir data ya da programı korumak için, ya disk ya da kasede kaydetmek ya da onu ROM'a depolamak gerekir. ROM'a kaydedilen program hiç silinmez ve hemen ulaşılabilir. Programcılar yazdıkları programlar için kendi ROM kartuşlarını yaratabilirler. Bunlar için EPROM çipleri vardır. EPROM aynı ROM gibidir. Çipi ültraviole ışığı maruz bırakıp silmeye karar verene kadar, oradaki data sabittir.
PARALEL HATLAR
Bir hard disk çok pahalıya geliyorsa, 1541'inizi güçlendirmek için başka yollar da bulabilirsiniz. Seri bağlantı yerine, bilgisayarınızla yüksek hızlı bir paralel data hattıyla bağlantı kurabilirsiniz. Chip Level Designs tarafından üretilen RapiDOS Professional, bilgisayarı ve sürücüyü programların altı saniyeden daha çabuk yüklenebileceği şekilde değiştiren bir kit. Yalnız kit yerleştirilirken, iki ünite içindeki birkaç parçayı değiştirmek gerekeceğinden dikkatli olmanızı öneririz. Belli bir hız kazandıran daha basit bir değişiklik ise, sürücü ve bilgisayardaki Kernal ROM'u' değiştirmek. Bu şekilde disk formatlanması on saniyede tamamlanır ve programlar öncekine göre altı kere daha hızlı kaydedilebilirler.
GÜÇLÜ YAZICILAR
9-pin dot-matrix yazıcı, hâlâ 64 ve
128 pazarındaki en temel yazıcıdır. En önemli eksikliği yetersiz çözünürlüğüdür. -inç kareye 72 dot- Bu yüzden her harfi oluşturan noktalar aşikar bir şekilde görünür. 24 pin modeller daha gelişmiştir ama onlar da yeterli değiller. Daha gelişmiş bir teknolojiyi talep edenler için geriye tek bir seçenek kalıyor: Lazer yazıcılar. Bunlar dakikada 8-12 sayfa çıkarabiliyor, (300 dpi.lik) yüksek bir çözümürlüğe sahip ve eski yazıcılara göre çok daha sessiz çalışıyor.
ARABİRİMLER
Hiçbir Lazer yazıcı, direkt olarak Commodore ile çalışmayacağından, bağlantı için arabirime gereksinme duyacaksınız. Yazılım ve diğer durumlara bağlı olarak, seri ya da paralel bir arabirime gereksinme duyulabilir. Arabirimler köprü oluşturmanın yanı sıra, buffer gibi başka yardımcı özelliklere de sahiptirler. 64 ve 128 metin ve grafikleri mekani bir yazıcının onları kağıda basma hızından çok daha hızlı bir biçimde elektronik olarak işleyebilirler. Yazıcınıza uzun bir dosya gönderdiğinizde, bilgisayar data transferini bekleyerek uzun süre bağlı kalabilir. Arabirimde buffer varsa, bilgisayar metni derhal bu özel alana aktarabilir. Burada yazıcı yetişene kadar beklerler. Böylelikle bilgisayar başka işlerle uğraşmak üzere serbest kalabilir. En popüler yazıcı arabirimlerinden birisi Xetecs şirketi tarafından üretilen Super Graphix Gold'dur. 32 K'lık buffer 20 sayfalık bir metni muhafaza edebilir. Bilgisayar güçlendiricileri arasında önemli bir yer tutan kartuşları ise ayrı bir bölümde inceleyeceğiz. 59
KARTUŞ
GÜCÜ
C-64 bilgisayarı, BASIC 2.0 ve 1541 disket sürücüsünün her birinin çeşitli eksiklik ve yetersizlikleri olduğu bilinen bir şeydir. Bunları gidermek için çeşitli yazılım ve donanım çözümleri geliştirilmiştir. Problemlerin en başta gelenleri arasında disket sürücü: nün düşük hızı, bilgisayar ve sürücü arasında iletişim güçlüğü kendiliğinden bir makine dili monitörünün bulunmaması sayılabilir. Son yıllarda çeşitli takılabilen kartuşlar ve ilave ROM çipleri bu eksikliklere karşı geliştirildi. Bunların bazılarının neredeyse beşinci versiyonları üretilmiş durumda.
Yardımcı Program (Utility)
Yardımcı program kartuşları program yüklenişini hızlandırmak amacıyla tasarlanmış olan hızlandırıcı kartuşların devamıdır. Bu kartuşların, hızla yüklemeyi sağlamanın yanı sıra birçok yararlılıkları vardır. Kaybetme ve formatlama gibi belli başlı disk fonksiyonlarını hızlandırır ve bir hamlede diskete ulaşabilmeyi sağlayan komutlar içerirler. Yalnız piyasadaki tüm yardımcı programlar bu özelliklerin bütününe sahip değiller.
YENİ ROM
Ulaşılabilir disk turbo özellikleri, DOS wedge (kaması), programlanabilir fonksiyon tuşları istiyorsanız ROM ilave ürünlerini de düşünmeniz gerekecektir. ROM ilaveleri paralel ya da seri olabilir. İkisi de bilgisayarınızın içini açıp bir şeyler yerleştirmenizi gerektiriyor. Bunun için çip parçalarının ve devre panellerinin takılıp çıkartılması gerekiyor ama lehimleme gibi işler değil. En iyi disk turbo hızını paralel ROM ilavesi sağlamaktadır. Ama paralel portu sürekli olarak dolduracak (modem kullanamazsınız) ve disket sürücünüze sürekli olarak bağlı bir kablo olacaktır. Buna karşılık bunlar bazı yardımcı program kartuşlarıyla uyumludurlar. Seri sistemler daha yavaş olmakla birlikte ekstra kablo gerektirmez ve paralel portunuzu kapatamazlar. Ayrıca çok daha ucuzdurlar.
SÜPER KARTUŞLAR
Birçok kullanıcı bir kartuşu, ROM ilavesine yeğler. Kartuşları çıkartıp takmak kolaydır ve değişik 64, 128 ve disket sürücüsü versiyonlarında kullanılabilirler. Bilgisayar ya da sürücünün değiştirilmesini gerektirmezler. Süperkartuşlar BASIC ilaveleri, makine dili monitörleri gibi özellikler de içerirler. Bunlarda bulunan iki ilave özellik de reset düğmesi ve bilgisayarınız yoldan çıkarsa bir BASIC programını kurtarmanıza olanak sağlayan old (unnew) komutu. Bu süperkartuşlardan bazılarını inceleyip özelliklerini karşılaştıracağız. Çok fonksiyonlu süperkartuşların son neslini Final Cartridge III, Super Snapshot 4 ve Action Replay 5 oluşturuyor. Bunlar piyasaya göre pahalı görünmekle birlikte aslında aralarındaki fark çok fazla değil. Bu kartuşlar daha önce saydığımız özelliklerinin yanısıra, oyunlarda değişiklik yapmalarına olanak veren araçlara sahipler. Dondurucu (freezer) aracılığıyla oyunlarda sınırsız yaşam ya da ateş gücü sağlanabiliyor ya da sprite'lar elimine edilebiliyor.
FINAL CARTRIDGE III
Bu kartuş 65K ROM kapasitesine sahip tek kartuştur. Bu, diğerlerinden 32K daha fazla bir kapasitesi var demektir. Bu ROM kapasitesi benzersiz bir masaüstü yayın aksesuarına ayrılmış. AMIGA ve Macintosh'taki gibi yerleri değiştirebilen pencereler, aşağı çekilebilen menüler, klavye joystick ve mouse kontrolü seçenekleri var. Bunlara ek olarak DOS için arabirim, dondurucu arabirimi, not defteri, hesap makinesi ve alarmlı bir saat var. Tercih menülerinde, pointer hızı, sınır rengi ve tuş tekrarı gibi seçenekler var. Kartuşun en önemli avantajlarından fonksiyon tuşlarını anımsamak kolay. BASIC haznesinde neredeyse 30 kadar komut bulunuyor. Monitörü datanın beş farklı formatta gösterilmesine olanak sağlıyor ve sprite ve karakter editörleri bile mevcut. Diğer bir olumlu özellik de BASIC program dökümlerinin ekranda otomatik olarak aşağı yukarı akabilmesi. Bu özellik başka kartuşlarda bulunmuyor.
SUPER SNAPSHOT 4
Bu kartuşta ROM ve 8K RAM var. RAM en çok bazı turbo fonksiyonlarını hızlandırmaya ve bazı oyunları arşivlemekte işe yarıyor. Kartuşun son versiyonunda bazı yenilikler var. Birincisi diskten autoboot yeteneği. Ayrıca kolaylıkla yeniden tanımlanabilecek programlanabilir fonksiyon tuşları var. Yalnızca 14 komutu var ve bunlar yalnızca diskte mevcut, Find ve Change komutlarının bulunmaması önemli bir eksiklik. Diskte sprite editörü de bulunuyor. Bu kartuşun diğer bir dezavantajı da kullanılmasının zor, tasarımının da karmaşık olması. Kullanım kılavuzu yeterince bilgi vermekle birlikte, iyi düzenlenmemiş ve aradığınız konuyu bulmanız zor oluyor. Burada hiçbir kartuşun çok mükemmel bir kullanım kılavuzuna da sahip olmadığını belirtmek gerek. Kartuşun çekici yönleri arasında dosya ve disk kopyalama rutinleri yer alıyor. Turboda program yükleme ve kaydetme hızı çok iyi olmakla birlikte Action Replay 5'ten birkaç saniye daha yavaş.
ACTION REPLAY 5
Bu kartuş turbo fonksiyonu en hızlı olanı. Hatta kartuş olmaksızın hızlı yüklemeye olanak sağlayan bir disk turbosu var. Dosya kopya rutini dosyalardan çok kopya yapılmasına olanak sağlar. Kartuşun en ilginç özellikleri, kullanıcının donmuş bir programda (monitör girmek gerekmeksizin) BASIC'e POKE'lar girebilmesini sağlaması ve Poke bulma rutini. Bu rutin size oyunlarda sonsuz can almanızı sağlayacak POKE adreslerini bulma olanağı verir. Makine dili monitörü eksiksiz ve iki yönde akışı var. BASIC haznesi 12 komuttan oluşuyor ve aralarında linesave gibi programın belli bir kısmını save eden az rastlanan komutlar var. Kopyalama komutlarına BASIC'ten ulaşılabiliyor ki bu diğer kartuşlarda mümkün değil. Ne yazık ki “renumber”, “find”, “change” gibi birtakım önemli komutlar eksik. Kartuşun ayrı bir sprite monitör/editörü mevcut ve metin temelli ekranlar için metin editörüne de sahip. Diğer bir iyi yönü de F1 tuşunun diskin ekran dökümünden her programı yükleyip çalıştırabilmesi. Makine dili programları için boot yeteneği de ayrı bir özellik.
WARP SPEED
Süperkartuşlardan bir gömlek aşağıda ilk hızlandırıcı kartuşların soyundan gelen 1K'lik Warp Speed var. Hemen hemen tüm disk fonksiyonlarına turbo hızı sağlıyor ve 128 moduna da sahip. Yalnız BASIC komut haznesi ve programlanabilir fonksiyon tuşları bulunmuyor. Dosya kopya rutinleriyle bir seferde birden fazla kopya yapmak mümkün değil. Kullanım kılavuzu kısa ama yeterli.
SUPER EXPLODE 5
Bu kartuş esas olarak bir grafik kartuşudur. Ekranları yakalamak, manipüle etmek ve düzenlemek daha sonra print etmek amacına yöneliktir. Renk basma yeteneklerine yeniden renklendirme de sahiptir. Grafik manipüle etmek yeteneğinin çok gelişmiş olması onu grafik meraklıları için vazgeçilmez kılıyor. Yardımcı program repertuarında, kompleks disk turbo özelliği, ekrana döküm listesi gönderebilmesi, tek hamlede ulaşılabilen disk komutları var. Kullanım kılavuzu diskin üzerinde ve çok iyi hazırlandığı söylenemez. Bu kartuşu özellikle grafikle ilgileniyorsanız edinmelisiniz.
GEOS KURSU-2
Burada GEOS Kernal rutinlerinin programcı tarafından nasıl kullanıldığını kısaca anlatacağız. Bu konuda yapılan bir uygulama da bazı değişkenleri zpage (sıfırıncı sayfa)da depolamaktır. Çünkü bu sayfada 6502 direktifleri daha az yer kaplar ve daha hızlı çalışır. Bu amaçla sıfırıncı sayfada, yer 2'den başlamak üzere 30 bayt pseudo (sahte) kütükler olarak kullanılmak üzere ayrılır. Bu bellek yerleri 15 kelime uzunluğundaki değişkenlere ayrılırlar. GEOS Kernal rutinlerine bu sahte kütüklerle mesajlar iletilir. Bu kütükler GEOS Kernal rutinlerine parametre geçirmenin tek yolu değildir. Bazen a, x, y ve carry flag bile bu amaçla kullanılabilir. Bir GEOS programı hazırlamakta aşamalar: Bu aşamaları üç evreye ayırabiliriz: Olayları (events) seçmek: Programın hangi menü ve ikonlara sahip olacağına karar vermek. Olayları tanımlamak: Olayları tanımlayan tabloları oluşturmak ya da tabloları yüklemek. Örneğin menü yapıları basit bir tablo yapısıyla tanımlanabilir.
Ez
:
bi a
RUTİNLERİ YAZMAK:
Ana döngü tarafından tanımladığınız olayları gerçekleştirmek için gereken rutinleri oluşturmak. Şimdi de GEOS'un yapısal bir betimlemesine girişeceğiz. Yani programlandığı grafik moduna, bellekteki yerine, Kernal'ın hangi versiyonu çalıştırdığını anlamaya, donanım kontrol kütüğünün neye ayarlı olduğuna ve bellek haritasının Kernal ya da BASIC ROM rutinlerini kullanmak üzere nasıl değiştirileceğini incelemeye, Yüksek Çözünürlük Bit-Mapped Mod: GEOS C-64'ün bit-mapped grafik modunu, 320x200 piksellik bir çözünürlükte kullanır. Bu mod ekranı göstermek için 8000 bayt kullanılır. GEOS Kernal ile programlama uygulamalarını daha kolaylaştırmak için, genellikle ekran datasının bir yedek kopyasını tutmak üzere kullanılan 8000 baytlık bir buffer vardır. Arka plan buffer'ında depolanmış olan görüntüleri ekrana kopyalayan rutin, penceresinin önüne bir menü indirildiğinde ya da bir diyalog kutusu belirdiğinde yararlıdır. Ekranda daha önce bulunanları kurtarmak için, menüler ve diyalog kutuları arkaplan ekranını ön ekrana kopyalar ve programı ekranı yeniden yaratmaya çalışmak zahmetinden kurtarır.
leri kullanılır. Bu özellikle program
BELLEK HARİTASI GEOS BELLEK HARİTASI
GEOS Kernal Bellek Haritası tablosu, GEOS Kernal tarafından kulla-
Bayt no. adres Alanı | nılan ve program uygulamaları için | bırakılan bellek alanlarını Desimal Heksadesimal TANIM | gösterir. Uygulamalar $0400'den 1 0000 6510 Data Yön Kütüğü $FFFF'e kadar 22K'ya sahiptir. Ba- 2 0001 6510 I/O Kütüğü zı durumlarda 8k ilave ile 30k'ya ula- 110 0002-006F- Geos ve program tarafından kullanılan 0. şırlar. Bu ilk bakışta sınırlı bir bellek sayfa gibi görünebilir ama menü, ikon, di- 16 Programda kullanılan 0. sayfa (küt. a2-a9 yalog kutuları, disk, dosya sistemi ve
123 0080-00FA 4 1 256 0100-01FF 512 23552 0400-5FFE 8000 6000-7F3F 192 7F40-7FFE 8000-89FFE $A000-8BEF
C-64 Kernal ve Basic tarafından kul. 0 prog. kullanılan 0. sayfa (küt. a0-a1) Kernal ROM ve Basic rutinler değişik buffer desteklerinin GEOS Kernal'e dahil olduğunu unutmamak gerek. Bu programcıya bırakılan 222 6510 stack ile 30k'lık alanın artması ve program- Kernal ROM rutinleri için ROM cı için daha az iş demektir. Uygulama programı ve data | Uygulama kodunun yeri ve RAM Arkaplan ekran RAM programcıların GEOS Kernal Bellek Uygulama RAM Haritası hakkında bilmeleri gereken- GEOS disk buffer ve dı leri oluşturuyor. RAM üç ayrı yerde Sprayt resim datası ve programcının onu kullanmak isteken RAM
| 1000 8C00-8FD7 Video renk matrisi | diği yerde bulunabiliyor. 16 8FD8-8FF7 GEOS RAM 8 pointer'ları 4096 9000-9FFF OS kodu 8000 A000-BE3F Ekran RAM ya da BASIC ROM
192 BF40-BFFF GEOS Tabloları
4288 C000-CFFF 4k GEOS Kernal kodu 4096 4k GEOS Kernal ya da 4k I/O alanı 7808 E000-FE74 8k GEOS Kernal ya da C-64 Kernal ROM 370 FE80-FF Input Sürücüsü
6 6510 NMI, IRQ ve reset vektörleri
Tüm I/O, ekran çizimleri ve interrupt kontrolleri GEOS Kernal tarafından yürütülebilir. Kernal rutinlerini kullanmak son derece kolaydır ve program uygulaması onları kullansa da kullanmasa da bellekte yer işgal ederler
BANK DEĞİŞTİRME VE KONFİGÜRASYON
GEOS Kernal'in en önemli kısmı $BF40 ve daha yukarısında bellek işgal eder. Bu da GEOS Kernal aslında başka amaçlar için kullanılan adres alanlarındaki RAM'i kullanıyor demektir. Buna benzer bir şekilde C-64 Kernal ROM ve BASIC ROM kapatılıp, onlar yerine 8K'lık RAM açılabilir. Normal işletim sırasında, BASIC, C-64 Kernal ROM ve I/O alanı çıkartılır ve GEOS Kernal bankları devreye girer. Tüm I/O işlemciliği interrupt düzeyinde GEOS Kernal tarafından halledilir. Seçilen bank $0001 sayılı yerin içerikleri ve kartuşla dış ROM portlarından gelen iki hat tarafından belirlenir. Ekran RAM ve ROM karakter setinin yeri adresi $D018'in içerikleri tarafından belirlenir. Aşağıda GEOS Kernal'ın kullandığı default yerlerini gösteren bir tablo görüyorsunuz.
Gelecek ay Assembler direktifleri, ikonlar ve menüler ile devam edeceğiz.
GEOS KONTROL REGİSTER YERLERİ
Kontrol Bellek Yeri
Fonksiyonu
Bank Seçimi 0001
VIC Çip DD00 Yerinin Seçimi
$D018'de üst dört bit
Ekran Belleği
Karakter Belleği $D018
1.2.3. bitler
Xxxx0Üx xxxx0l0x
1000XxxxXx
Depolanmış Tanım Değer
Hangi ROM banklarının adres alanında görüneceğini belirler
VIC çipinin hitap edeceği 16K'lık adres çer. GEOS $F adresinde bank 2'yi seçer.
Video RAM'in yerini belirler. GEOS $A000-$BE3F arasını kullan.
Seçilen bankta hangi yerde C-64 karakter ROM'unun görüneceğini seçer. GEOS onu $9000-$97FF arasına koyar.