64 KLAVYE DESTEK PROGRAMI

Program dökümü: DESTEK 1, PRG 11

Commodore 64 iyi bir ekran editörüne sahiptir fakat harika bir ekran editörünün nasıl olacağını bize C128 gösterdi. 64'ün editörü gerekli olana ve biraz daha fazlasına sahipken 128'in editörünün bilgisayarla iletişimi kolaylaştıran pek çok yararlı özelliği var. Örneğin ESC tuşu çeşitli tuşlarla beraber kullanıldığında 27 düzeltme ve kontrol özelliği sunmaktadır. Ayrıca fonksiyon tuşlarının kolaylıkla programlanabilmesinden ötürü sık kullanılan komutların yazımı basit hale gelmektedir.

'64 Klavye Destek' programı 64'e 128'in 11 ESCape özelliği dahil, dört yeniden programlanabilir fonksiyon tuşu ile 5 renk değiştirme tuşu ve fonksiyonu kullanıcı tarafından belirlenebilen bir tuş özelliklerini sağlıyor. Bu özellikleri 128'deki ESC tuşu gibi önce CTRL tuşuna basıp bıraktıktan sonra diğer ilgili tuşa basarak kullanabilirsiniz.

Program makine dilinde yazıldığından programı bilgisayar girmek için MDE'yi kullanmalısınız. Programın başlangıç ve bitiş adreslerini $C000 ve $C48F olarak verin. Programı yazmayı bitirdikten sonra kaydedin ve bilgisayarı kapatıp tekrar açın. Bundan sonra LOAD"Dosya Adı",8,1 (disket için) veya LOAD"Dosya Adı",1,1 (teyp için) yazarak programı yükleyin. Dosya Adı yerine programı MDE ile hangi isimde kaydettiyseniz o ismi yazın. Program yüklendiğinde önemli hafıza pointerlarını resetlemek için NEW komutunu verin ve SYS49152 ile programı çalıştırın.

KOMUTLAR

Program komutları hem direk modda hem de program modunda kullanılabilir. Direk modda bütün komutlara kontrol tuşunu basıp bırakarak ulaşabilirsiniz. Program modunda ise bütün komutlar SYS-Adres komutuyla kullanılabilir. Bu sistem adreslerini aşağıdaki tabloda bulabilirsiniz. Şimdi her komuta yakından bakalım.

CTRL V ve CTRL W ekranı bir satır yukarı ve aşağı kaydırır. Özellikle CTRL V kombinasyonu normal yukarı kaydırma işlemine iyi bir alternatiftir. Tuşları devamlı basılı tutarak sürekli bir kayma sağlayabilirsiniz ancak bu kaydırma işlemi sırasında ekranın dışına çıkan yazıları zıt yönde kaydırarak geri getiremediğinizi de unutmayın.

CTRL P bulunduğunuz ekran satırının başından kursorun durduğu yere kadar olan kısmı siler. CTRL Q ise bu işin tersini yapar yani bulunduğunuz satırın sonundan kursorun durduğu yer arasını temizler. 128'in program satırlarını silmekte kullanılan ESC P ve ESC Q kombinasyonlarının tersine CTRL P ve CTRL Q yalnızca ekran satırlarında etkilidir. Aradaki farkı anlamak için ekranda iki satır tutan bir program satırı düşünün. Program tarafından iki ekran satırı biçiminde gösterilen satır aslında bir tek program satırıdır.

CTRL @, CTRL Q'nun yaptığını bir adım ileri götürerek kursorun bulunduğu yerden ekranın sonuna kadar olan kısmı siler.

CTRL D kursorun pozisyonunu değiştirmeden bulunduğunuz ekran satırını tamamen siler. CTRL P ve CTRL Q gibi sadece ekran satırlarında da etkilidir.

CTRL J ve CTRL K kursoru bulunduğunuz ekran satırının başına ve sonuna götürme işlemini kolay hale getirir. CTRL J kursoru satırın başına, CTRL K ise sonuna götürür.

CTRL M ekran kaydırma işlemini ortadan kaldırır. CTRL L ise yeniden aktif hale getirir. CTRL M sağ alt kö-

şeye ekranı yukarı kaydırmadan bir şey yazmak istediğinizde işe yarar. Bunun yanında CTRL M, CTRL V ve CTRL W'nun fonksiyonlarını etkilemez. Etkilediği, program tarafından eklenen kaydırma özellikleri değil normal kaydırma fonksiyonudur.

CTRL O kursoru Print komutu içinde tırnak içinde hareket ettirmenize imkân tanır. Normal durumda Print komutu içinde reverse grafik karakterleri yazdığı halde CTRL O verilseniz bu işlem yapılmayacaktır.

CTRL + ve CTRL - sınır renginin değerini artırır ve azaltır. Örneğin sınır rengi beyazsa (1) CTRL +, rengi kırmızı (2), CTRL - ise siyah (0) yapar.

CTRL * ve CTRL ~ ekran rengini ayarlar. CTRL * rengin değerini 1 arttırken CTRL ~ bir değer azaltır.

CTRL X sınır, ekran ve kursor değerlerini orijinal değerlere döndürür. Bu değerler ikinci programla kolayca değiştirilebilir. Program en başta bu renkleri ekran ve sınır rengi için mavi ve kursor için açık mavi olarak tanımlar.

CTRL F1, CTRL F3, CTRL F5 ve CTRL F7 tuşlarının herbiri on karakterlerden oluşan bir yazının (bu bir komut da olabilir) ekrana yazılmasını sağlar. Program kendisi başta fonksiyon tuşlarını tanımlamıyor ancak bu işlemi de ikinci programla yapabilirsiniz.

Son olarak CTRL U kombinasyonundan bahsedelim. Bu kombinasyonun görevi kullanıcı tarafından belirleniyor. Eğer makine dili biliyorsanız yazdığınız kısa makine dili rutinlerini CTRL U ile çağırabilirsiniz. Bunun için rutininizin 50316 adresinden başlayarak bir RTS komutuyla bitmesi gerekiyor. Böylece CTRL U'ya basıldığında program sizin rutininize atlayarak rutininizi çalıştırır.

CTRL U için makine dili rutininizi şu şekilde ekleyebilirsiniz:

* Klavye Destek programını normal şekilde yükleyin (LOAD"Dosya Adı",8,1 (teyp için 1,1) ve NEW komutunu verin.

* Aynı şekilde kendi makine dili rutininizi yükleyip NEW yazın. Bu arada rutinin başlangıç adresi 50316 olmalıdır.

* Şu satırı girin:

POKE 43, 0:POKE 44, 192:POKE 45,A - (INT(A/256)*256):POKE 46, INT(A/256)

Burada A yerine programınızın bitiş adresini yazın.

* SAVE "Dosya Adı",8 (teyp için 1) yazarak programı kaydedin.

* 64'ünüzü kapatıp açın.

* Programı başta olduğu gibi yükleyin ve SYS49152 yazarak programı çalıştırın. Şimdi CTRL U'yu denerseniz rutininizin çalıştığını göreceksiniz.

Programı kullanırken eğer CTRL ile birlikte bastığınız tuşa ayrıca tekrar basarsanız ekrana yazılmadığını göreceksiniz. Buna çare olarak CTRL ile bir tuşa bastıktan sonra başka bir tuşa basın ve bundan sonra CTRL ile basıldığınız tuşa basarak ekranda görünmesini sağlayın. Bu durum programdan kaynaklanan bir hata değil ancak buna katlanmak zorundayız. Zaten genelde bir sorun çıkarmayacaktır.

Programdan çıkmak için Run/Stop-Restore tuşlarına basın. SYS49152 programı yeniden başlatır.

PROGRAM II

Bu program tamamen BASIC ile yazılmış olup ana programda istediğiniz değişiklikleri yapmanıza olanak sağlamaktadır. Programı BDE ile yazın ve kaydedin.

İkinci programı çalıştırmadan önce ana programı normal şekilde yükleyin ve SYS49152 yazarak çalıştırmayın. Bunun yerine NEW komutunu verin.

Bundan sonra ikinci programı yükleyin ve çalıştırın. Hemen ekranda her fonksiyon tuşu için tanımlı yazılar gözükecektir. Bu noktada program size bu yazıları değiştirmek isteyip istemediğinizi soracaktır. Eğer değiştirmek istemiyorsanız RETURN'e basın.

Yazıları değiştirmek için DELete vb. tuşları kullanarak yeni yazıyı girin. Bu yazı LIST, RUN vb. komutlar da olabilir. Burada sola bakan ok tuşu RETURN ve apostrof işareti tırnak işareti yerine geçiyor. Örneğin herhangi bir fonksiyon tuşu için LIST yazarsanız bir daha bu tuşa basarak programınızın listesini alabilirsiniz.

Dört fonksiyon tuşunu da tanımladıktan sonra program sizden orijinal renklerin değerlerini bilgisayar el kitabında bulabilirsiniz.

Böylece ana programda yaptığınız değişiklikler hafızada uygun yerlere yerleşecektir ve program duracaktır. Ana programı yeni şekliyle kaydetmek için şu satırı girin:

POKE 43,0: POKE 44,192: POKE 45,A-INT(A/256)*256: POKE 46, INT(A/256)

Burada A normal olarak 50317 veya CTRL U için makine dili rutini eklediyseniz rutinin bitiş adresidir. Bundan sonra programı SAVE"Dosya Adı",8 (teyp için 1) şeklinde kaydedin.

KLAVYE DESTEK PROGRAMI REFERANS TABLOSU

Kombinasyon | SYS Adresi | Fonksiyonu CTRL V | 49678 | Ekranı bir satır yukarı kaydırma CTRL W | 49500 | Ekranı bir satır aşağı kaydırma CTRL P | 49947 | Satırın başına kadar silme CTRL Q | 49985 | Satırın sonuna kadar silme CTRL @ | 50089 | Ekranın sonuna kadar silme CTRL D | 50043 | Satırı baştan sona silme CTRL J | 49919 | Kursor'u satırın başına götürme CTRL K | 49933 | Kursor'u satırın sonuna götürme CTRL L | 50031 | Kaydırma işlemini mümkün kılma CTRL M | 50037 | Kaydırma işlemini ortadan kaldırma CTRL O | 49912 | Tırnak içinde insert yapmayı durdurma CTRL + | 50081 | Sınır renginin değerini artırma CTRL - | 50085 | Sınır renginin değerini azaltma CTRL * | 50089 | Ekran renginin değerini artırma CTRL ~ | 50093 | Ekran renginin değerini azaltma CTRL X | 50180 | Renkleri orijinal renklere döndürme CTRL F1 | 50196 | Yazı 1'i ekrana yazma CTRL F3 | 50226 | Yazı 2'yi ekrana yazma CTRL F5 | 50256 | Yazı 3'ü ekrana yazma CTRL F7 | 50286 | Yazı 4'ü ekrana yazma CTRL U | 50316 | Kullanıcının belirlediği kombinasyon

Bu yazıdaki programlar

Dergideki dökümlerden çıkarıldı; satırlar derginin kontrol toplamlarıyla doğrulandı ve programlar VICE emülatöründe denendi. Tarayıcıdaki C64'te çalıştırabilir, indirip bir emülatöre sürükleyip bırakabilir ya da gerçek bir C64'te LOAD "AD",8,1 ile yükleyebilirsiniz. "Sorun bulundu" yazanlarda bazı satırlar okunamadı ya da tutmadı; düzeltilmiş bir sürümünüz varsa contact@coze.org adresine gönderin.