C 128 için Püf Noktaları (42)

Yazımızın son bölümünün konusu ESC tuşu ile neler yapılabileceği hakkında. ESC tuşu klavyede en sol üst köşede bulunuyor. ESC tuşu ile başlayan 27 ayrı kontrol sayesinde değişik ekran kontrolleri kazanıyoruz. ESC tuşu ile başlayan bir komut kullanmak için, ilk olarak ESC tuşuna, bu tuşu bıraktıktan sonra da kullanacağımız komutu belirten tuşa basmamız gerekir. Unutmamamız gereken bir şey, komutun tuşuna basarken ESC tuşunu artık bırakmış olmamız gerektiğidir. Bu noktada ESC tuşu CTRL tuşundan ayrılıyor. ESC tuşu ile kullanılan kontrol komutlarını, Program içinde kullanmak da mümkündür. BASIC'te ESC tuşunun karşılığı CHR$(27)'dir. Bundan sonra kullanmak istediğimiz komutun karşılığını yazarız. 27 ESC komutunu üç gruba ayırıyoruz: 1) Yazılımında kolaylık sağlayan komutlar. 2) Ekran kontrol komutları. 3) Çeşitli Komutlar. Yazılım komutları Yazılım için olan ESC komutları sayesinde ekranın üzerinde çok kolay hareket edilebilinir. Yazmakta olduğumuz programa ekleme-çıkarmalar, kolay veri girişi sağlanır. Yazılımda kullanılan ESC komutları:

ESC A : Otomatik eklemeyi açar. ESC C : Otomatik eklemeyi kapar. ESC D : O anki satırı siler. ESC I : Boş bir satır açar. ESC J : O anki satırın başına gider. ESC K : O anki satırın sonuna gider. ESC O : Tırnak işareti açıldığında girilen modu kapar. ESC P : Bulunduğunuz satırı kursora kadar siler. ESC Q : Kursordan satırın sonuna kadar siler. ESC & : Kursordan ekranın sonuna kadar siler.

ESC A komutu otomatik eklemeyi açtıktan sonra programınızın herhangi bir satırına ekleme yaparken kursordan sonraki kısım silineceğine kaydırılır. Bu şekilde programınızın herhangi bir satırının ortasına ekleme yapacağınızda ekleme yapacağınız yere SHIFT INST tuşları ile yer açmak zorunda kalmazsınız. Ekleme işiniz bittiğinde otomatik eklemeyi ESC C ile kapatın. Çünkü otomatik eklemede işler oldukça yavaş ilerler. Commodore 128 SYSTEM kitabında ESC C komutunun tırnak işareti açıldığında girilen modu kapattığını yazıyor. Ancak bu komutun işlevi otomatik ekleme modunu kapatmaktır. ESC D komutunu kullanarak bulunduğumuz satırı sileriz. Ancak eğer bulunduğumuz program satırı bir ekran satırından daha uzunsa tüm program satırı silinir. Bulunduğumuz yere bir satır açmak için ESC I komutunu kullanıyoruz. Kursor yeni açılan satırda bulunuyor. Komutunu vermeden evvel kursoru yeni satır açılmasını istediğiniz yere getirmeyi unutmayın. ESC J ve ESC K komutları bir program satırında kolay hareket edebilmenizi sağlar. Burada unutmamanız gereken, bu komutların etkilerinin bir ekran satırında değil, bir program satırı üzerinde olduğudur. İki ekran satırı uzunluğundaki bir program satırında ESC K komutu verdiğinizde kursor bir alt satıra, program satırının sonuna gider. Özellikle ESC K komutu program satırına bir şey ekleyeceğimizde işimize yarar. Kursor tuşu ile satırın sonuna gitmek yerine ESC K komutunu kullanabiliriz. Tırnak işareti açtıktan sonra kursor tuşlarını veya diğer kontrol tuşlarını kullandığınızda grafik şekillerin yazıldığını görürsünüz. Tırnak açtıktan sonra kontrol tuşlarının eski işlevlerini yerine getirmelerini isterseniz ESC O tuşunu kullanmanız gerekiyor. Bundan başka SHIFT INST tuşları ile açtığınız boşluklarda da kontrol tuşları işlevlerini yerine getirmezler. ESC O komutu burada da işe yarıyor. SYSTEM GUIDE kitabında ESC O komutu için otomatik eklemeyi kapatır yazıyor. Gerçekte kitapta ESC O ve ESC C komutlarının açıklaması ters yazılmış. Ayrıca kitapta yazılmamış bir özellik daha var. ESC O komutunu ESC ESC tuşlarına basarak da yapmak mümkün. ESC P komutu bir program satırını başından kursorun bulunduğu yere kadar siler. Mesela kursoru satırın ortasına getirip komutu verirseniz program satırının ilk yarısı silinir. Silinen kısma satır numarası da dahildir. ESC Q komutu ESC P komutunu tamamlar nitelikte. Kursordan program satırının sonuna kadar olan bölümün silinmesini sağlar. Silinen kısımlar boşlukla dolar, kursor ve satırın kalan kısmı oldukları yerde kalırlar. Daha evvel söylediğimiz gibi bu komutların etkisi program satırı üzerindedir. ESC & komutu, ESC Q komutunun biraz daha gelişmiş halidir. Kursorun bulunduğu yerden ekranın sonuna kadar her şeyi siler. Ekran kontrol komutları,

ESC B : Ekranın sağ köşesini belirler. ESC L : Ekran akışına izin verir. ESC M : Ekran akışını kapar. ESC T : Ekranın sol üst köşesini belirler. ESC V : Ekranı bir satır yukarı kaydırır. ESC W : Ekranı bir satır aşağı kaydırır. ESC X : 40 ve 80 kolon modları arasında geçiş yapar.

ESC L ve ESC M komutunu açıklarken ekran akışından bahsettik. Bir programı LIST ettiğinizde satırların aşağıdan yukarıya geçmesini ekran akışı olarak tanımlıyoruz. Normalde tüm ekran dolduğunda yeni bir satırın ekrana yazılması için en üstteki satır kaybolur. Ancak ESC M komutunu verirsek, ekran dolduktan sonra yeni yazılacak satır en üste yazılır. Mesela bir ekrana sığmayacak kadar uzun bir program listesi alırsanız, program listesinin sayfa sayfa geçtiğini görürsünüz. Ancak bir program çalışırken PRINT komutu noktalı virgülle bitiyorsa işler biraz karışır. Mesela şu program satırını çalıştırın. (ESC M komutunu kullandıktan sonra). FOR I=1 TO 5000:PRINT "64 ";:NEXT Bu program çalıştığında ekran dolduktan sonra yazılar en üst satırda yazılacağına, yazılar sağ alt köşede çıkmaya devam eder. Çıkan yazılar bir evvelki yazıyı siler. Normal hale dönmek için ESC L komutunu vermek yeterli olur. Bu komutlara Ekran Kontrol Komutları demiştik. Ancak ilk olarak ekran derken neyi kastettiğimizi belirleyelim. Normalde ekran 40*25'lik bir alandadır. Ancak bu alanı tanımlayarak daha küçük bir ekranda çalışabiliriz. Normal ekrandan daha ufak bir ekran tanımlamak için ESC B ve ESC T komutlarını kullanıyoruz. Bu komutlar yeni ekranın koordinatlarını tanımlamada kullanılıyorlar. ESC T komutu yeni ekranın sol üst köşesini tanımlar. CLR/HOME tuşlarına basıldığında kursor buraya gelir. ESC B komutu yeni ekranın sağ alt köşesini tanımlar. Bir ekranın boyutlarını değiştirdiğinizde içindekiler silinmez ancak ekranın yeni boyutlarına göre yeniden ayarlanırlar. ESC V ekrandaki yazıları bir satır yukarı, ESC W bir satır aşağı kaydırır. Bu işlemi yaparken ekranın en üstüne veya en aşağısına bir boş satır eklerler, kullanıcıya 40-kolon veya 80-kolon görüntü ile çalışma imkanı tanıyor. Ancak bunlardan birini kullanabiliyoruz. İstediğimiz anda bir görüntü modundan diğerine geçmek için ESC X komutunu kullanıyoruz. ESC X tuşuna bastığımızda kullanmakta olduğumuz ekran aktifliğini kaybeder. Diğer ekran aktif duruma geçer. Çeşitli Komutlar ESC E : Kursorun yanıp sönerliğini kapar. ESC F : Kursoru yanıp söner duruma geçirir. ESC G : Zil sesini açar. ESC H : Zil sesini kapar.

ESC N : Normal 80-kolon gösterim. ESC R : 80-kolon ekranda karakter rengini ve arka plan rengini ters çevirir. ESC S : 80-kolon kursorunu blok haline getirir. ESC U : 80-kolon kursorunu çizgi haline getirir. ESC Y : TAB duruşlarını ilk haline getirir. ESC Z : Tüm TAB duruşlarını iptal eder. C128 kursorun görünüşünü istediğiniz şekilde ayarlamanıza izin verir. Eğer yanıp sönen kursordan hoşlanmıyorsanız ESC E komutuyla yanıp sönmeyi kapayabilirsiniz. Artık kursor sadece bir bloktan ibarettir. Kursoru eski haline getirmek için ESC F komutu yeterli olur. Eğer 80-kolon ekranda çalışıyorsanız bir seçeneğiniz daha var. ESC U komutu ile kursoru çizgi haline getirebilirsiniz. Bu komuttan 40-kolondaki kursor etkilenmez. ESC S komutu 80-kolon kursorunu blok haline getirir. 80-kolonda iken ESC E ve ESC F komutlarını kullanarak kursoru blok veya yanıp söner hale getirebiliriz. Birçok bilgisayarda olan ancak C64'te bulunmayan zil sesi çıkarma özelliğine sahiptir. Bunun için CHR$(7) veya CTRL G komutlarını kullanabilirsiniz. Bu sesi programlarda kullanıcıyı uyarmak için kullanırlar. Ancak bazı programlar bu sesi çok fazla kullanırlar. Eğer sesten rahatsız olursanız ESC H komutu ile zil sesini kapayabilirsiniz. ESC G komutu tekrar zil sesini açar. 80-kolon ekranda karakterlerin arka plan rengi video-chip'teki değerle belirlenir. Her karakterin rengi renk hafızasındaki değere göre belirlenir. 80-kolon gösterimde renkler ters çevrilebilir. ESC R komutundan sonra karakterler arka plan rengini alırlar. Karakterlerin arka planları da karakterlerin rengini alır. ESC N tuşu ile normal duruma döneriz. TAB tuşu ESC tuşunun yanındadır. TAB tuşunu BASIC'te CHR$(9) komutu ile ifade edebiliriz. TAB tuşuna basıldığında kursor önceden tayin edilmiş yere gider. Eğer başka gidilecek TAB yoksa kursor ekranın sağına gider. TAB tuşu işe yarar. C128 ilk açıldığında TAB duruşları 8 kolon aralıklıdır. ESC Z komutu ile tüm TAB duruşlarını silebilirsiniz. Bu durumda TAB tuşuna basıldığında kursor ekranın sağına gider. Eğer kursorun o anda bulunduğu kolonu TAB duruşu olarak belirlemek isterseniz, SHIFT TAB veya CTRL TAB tuşlarına basın. Eğer daha önce bu kolonda bir TAB duruşu varsa bu iptal edilir, yoksa bu kolona bir TAB duruşu konur. Bu işlemi program içinde yapmak için CHR$(24) komutunu kullanmak gerekir. TAB duruşlarını bilgisayar ilk açıldığındaki haline getirmek için ESC Y komutu gerekir. ESC Y ve ESC Z komutları sadece aktif ekranı etkiler. 40-kolon gösteriminde, 80-kolon gösteriminde kendine özgü TAB tuşları vardır. ESC komutlarının program içinde kullanımı: ESC komutları ile yaptıklarımız BASIC programlarında veya makine dili programlarında yapmak mümkündür. Ancak bu komutların bazılarının programın çalışması esnasında görülür etkileri olmaz. Mesela kursoru değiştirirseniz, bunun etkisini INPUT komutu dışında göremezsiniz. Program Döküm Eki'ndeki PROGRAM1 bazı ESC komutlarını BASIC programlarda nasıl kullanabileceğinizi gösterir. ESC tuşunun makine dilinde karşılığı $1B'dir. ESC komutunu kullanmak için $FFD2'deki rutini kullanarak $1B'yi yazın. Tekrar $FFD2'yi kullanarak kullanacağınız

nız komuta ait harfin kodunu yazdırın. Buna bir
örnek verelim: Mesela ekranı bir satır yukarı kaydıra-
lim:
LDA # $1B
JSR SFFD2
LDA # $56
JSR SFFD2

ESC komutlarını kolay olarak kullanmanın bir yolu da komutları KEY fonksiyonu ile tanımlamaktır. Mesela:

KEY 4,CHRS(27)4 “1”

tuşuna bastığınızda boş bir satır eklenecektir. Program Döküm Eki'ndeki sekiz fonksiyon tuşuna ESC komutları yüklüyor. Ekran iki satır azaltılıp son iki satırın bilgi vermek amacı ile kullanılması sağlanıyor. Bu amaçla ayrılmış iki satırda fonksiyon tuşlarının işlevleri yazıyor. ESC komutlarını ihtiyacınıza göre değiştirebilirsiniz. PROGRAM2'deki ESC komutları şunlar:

F4: Otomatik eklemeyi açar. F2: Otomatik eklemeyi kapar. F3: Boş bir satır açar. F4: Bir program satırını siler. F5: Kursoru satır başına götürür. F6: Kursoru satır sonuna götürür. F7: Satırın başına kadar siler. F8: Satırın sonuna kadar siler.

Hoşçakalın...