Bu sayfadaki yazılar
Sayfanın metni
Sayfa 4
Türkçeyazar-SB'yi hazırlarken halletmemiz gereken konular şunlar oldu:
1. Kolay yazılabilmesi için BASIC dilinde olan fakat belli başlı kelime-işlem komutlarını ve olanaklarını da içeren bir kelime-işlem programı düzenlemek,
2. MPS 803 printerindeki tüm harfleri yeniden programlayarak, hem harf boylarını 6 noktaya indirip küçük harflerin kuyruklarını aşağı çekmek (7. nokta olarak) hem de Türkçemize has yeni harfleri ilave etmek,
3. Bu arada ekranda görünen harflere Türkçe'deki yeni harfleri eklemek ve bunları printerle aynı tuşu kullanarak yazabilmek.
4. Q klavyeyi hiç değiştirmeden, ilave harfleri pek az kullanılan tuşların üzerine yerleştirmek suretiyle, eli Q klavyeye alışmış kişiye kolaylık sağlamak.
Programın Ana Hatları
Türkçeyazar-SB programı 3 ana bölümden oluşmaktadır:
1. "Yeni Printer Harfleri" bölümü (Satır no: 42 ila 1390)
2. "Yeni Ekran Harfleri" bölümü (Satır no: 1400 ila 1590)
3. "Kelime-işlem Programı" bölümü (Satır no: 1600 ila 3410)
Programı RUN ettiğinizde bu üç program otomatik olarak arka arkaya yüklenmektedir.
Şimdi bu bölümler hakkında kısa açıklamalarda bulunalım:
1. "Yeni Printer Harfleri" Bölümü
Bu bölüm, MPS 803 printerindeki harfleri yeniden programlamaktadır. Bu yeni harfler 510 ila 1370 no.lu satırlarda verilmiştir. Her bir satır yeni bir karaktere (bir harf, sayı veya işarete) aittir. Satırdaki DATA'lardan ilki bu harfin ASCII değeri olup, ikincisi yeni harfin kaç kolondan oluştuğunu göstermektedir. Sonraki değerlerse, her bir kolondaki noktaların aşağıdaki şekilde alınan toplamlarıdır:
Çizdiğimiz şekilde soldan sağa 1'den 6'ya kadar numaralanmış 6 kutu, yukarıdan aşağı 1, 2, 4, 8, 16, 32 ve 64 olarak numaralanmış 7 kutudan oluşan bir ızgara çizelim. 64 no.lu kutuları yani en alt sırayı sadece, p, g gibi harflerin kuyruklarını elde etmede kullanacağımızdan tüm harfleri 32 no.lu sırada bir hizaya getireceğiz. Aşağıda bazı harflerin bu ızgaraya nasıl yerleştiğini görüyorsunuz:
Her bir kolonun değerini bulmak için hangi kutularda nokta olacaksa o kutunun değerini yukarıdan aşağı toplayıp 128 ilave edeceğiz.
Mesela küçük d harfi için bu değerler, 152, 164, 164, 164, 191 olacaktır.
Yukarıdaki gibi düzenlenirse boş kalan değeri tablii sadece 128 olmaktadır.
Ayrıca tüm harf ve işaretlerin aynı kolon sayısında olması da satırların düzenli olması bakımından önem taşımaktadır. Zaten MPS 803 printerinde de sol ve yukarı oklarla grafik semboller dışında, tüm harfler beş kolondan oluşmakta, harflerin bitişmemesi için de altıncı ve boş bir kolon otomatik eklenmektedir. Türkçeyazar-SB'de de küçük harfler için durum aynıdır. Fakat en alt sıranın sadece kuyruklu harflerde kullanılması nedeni ile, büyük harflerin altı kolondan oluşturulması zorunlu olmuştur. Bunun sonucu olarak, sadece büyük harflerden oluşan uzun bir satır yazarsanız sandığınızdan daha uzun olduğunu, 80 karakterlik bir satıra, tamamı büyük harf olmak zorunda ise, sadece 72 harf sığabildiğini göreceksiniz. Fakat pratikte bunun fazla bir sakıncası görülmemektedir. Kelime-işlemde " işaretinin kullanılması printerin çalışma düzenini bozduğundan, bu işaretin kullanımı programın 1805 no.lu satırında virgül ve : işareti " ile birlikte engellenmiş, işareti " olarak yeniden programlanmıştır.
Hangi harfin hangi satırda yeniden programlandığını bulmak için ASCII koduna (data'dan sonra gelen ilk rakama) bakınız. Bu arada bazı harflerin bambaşka bir ASCII kodunda olduğunu görebilirsiniz. Mesela, 760 no.lu satıra bakalım, 63, soru işaretinin kodudur. Ama dataları incelerseniz altından Ş harfinin çıktığını göreceksiniz. Soru işareti ise, ASCII kodu 94 olan ↑ işaretinin yerindedir. Yeri değişen bu harfler için kelime-işlem bölümüne bakınız.
2. "Yeni Ekran Harfleri" Bölümü
Bu bölümde,
1450. satırda: BASIC belleğin üst sınırı 32768'de sınırlandırılmıştır. Zira yeni ekran harfleri bu sınırın ötesine yerleştirilecektir.
1460. satırdan itibaren: ROM'deki karakter seti, 32768'den başlayan RAM bölgesine kopye edilmekte böylece ekran harflerinin bizim tarafımızdan yeniden dizayn edilmesi mümkün olmaktadır.
1540. satırdan itibaren 1582. satırın sonuna kadar 22 harf yeniden programlanmıştır.
Programımızdaki sıra ile bunlar.
ı i : ? ü / ö ç ş . , Ç Ş Ö I Ü ğ İ = Ğ + " harf ve işaretleridir.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 5
Programlamanın nasıl yapıldığını ise, ilk harfi yeni i'yi olarak açıklayalım:
Printerdekine benzer fakat bu defa 8×8'lik bir ızgara çizip yukarıdan aşağı sıraları 1'den 8'e, sağdan sola kolonları da 1'den 128'e numaralandık.
Görüldüğü gibi, MPS 803 printerinde 7 sıra nokta oluşuna karşılık, ekrandaki harflerde pixaller 8 sıra halinde düzenlenmiş olup en alttaki sıra y ve g gibi harflerin kuyruklarına ayrılmıştır. Dolayısıyla programın bu bölümünde tüm harfleri yeniden programlamak gerekmemiştir. Sadece, printerle aynı tuşa rastlayacak şekilde yukarıda sayılan harfleri programlanmıştır.
Tekrar örnek olarak aldığımız i harfine dönersek, 1540 no.lu satırda data'lardan ilki 32768 + (8 × ekran kodu) dur. Burada 32768 karakter ROM'unu kopye ettiğimiz RAM bölgesinin başlangıç adresidir.
31112 değerinden geri hesapla, ekran kodu olarak 43 kullandığımız ortaya çıkar. Halbuki 43 normal olarak + işaretinin kodudur.
Bundan da bizim + işaretine basınca ekranda i harfini göreceğimiz ortaya çıkmaktadır.
En başta da söylediğimiz gibi, Türkçeyazar-SB hazırlanırken, Q klavye olduğu gibi bırakılarak Türkçe'deki ilave harfler pek kullanılmayan harf ve işaretlerin yerine yerleştirilmiş olup yeni tuşlar için kelime-işlem bölümüne bakınız.
3. "Kelime-işlem Programı" Bölümü
Programın bu bölümü bazı önemli variable'ların yer aldığı ve metnin üst ve alt çizgilerinin çekildiği başlangıç satırları ile başlamaktadır. Fnx(n) fonksiyonu ile yazı kürsörü, fny (m) ile de işlem kürsörünün yeri hesaplanmaktadır. Daha sonra, "Satır yazım", "satırın metne aktarımı", "metin üzerinde işlem" bölümleri gelmektedir.
Kelime-işlem programı önce 80 karaktere kadar satırları yazmanızı beklemekte sonra bu satırı ana metne aktarmaktadır. Metin üzerinde çeşitli işlemler yapılabilmektedir. Daha sonra bu metni printere verme, diskete SAVE etme, disketteki bir metni ekrana almayı (LOAD) sağlayan bölümler gelmektedir. Ayrıca metni silmeyi ve SAVE ve LOAD sırasında meydana gelen yanlışları (error) okuyan bölümler mevcuttur.
Bundan öteye daha fazla detaya girmeden Türkçeyazar-SB'nin kullanılışını açıklamaya başlamak yerinde olacaktır.
Türkçeyazar-SB'nin Kullanılışı:
Programımız, Commodore 1541 disk sürücüsü ve MPS 803 printeri ile kullanılmaktadır. MPS 802 printeri software olarak çok farklı olduğundan çalışamamaktadır.
Program RUN etmeden önce printerin ve disk sürücüsünü açık ve printere kağıt takılı olduğunu kontrol ediniz.
Program RUN edildiğinde yüklemesi 50 saniye sürmektedir. Bunun büyük kısmını karakter ROM'unun RAM'a kopye edilmesi almaktadır. Yükleme bitince, karşınıza kelime-işlem programı gelecektir.
Programımız, 65 no.lu satırdaki POKE 788, 52 ve POKE 792, 193 sayesinde, bir kere RUN edildikten sonra hiçbir şekilde STOP veya STOP-RESTORE edilememektedir. Bu özellikle sağlanmıştır. Zira aksi halde, ROM'dan RAM'a transfer nedeni ile kilitlenmekte, tekrar çalıştırabilmek için bilgisayarı açıp-kapadıktan sonra TÜRKÇEYAZAR-SB'nin yeniden yüklenmesi gerekmektedir. Zaten çalışmanın sırasında da STOP komutuna ihtiyacımız da yoktur. Eğer program kendiliğinden durursa, ya da SAVE veya LOAD işlemi sırasında disk sürücüsü kapalı ise veya printere metni yazdıracağınız sırada printer kapalı ise, program "? device not present error" yazıp kendisi durduğunda, kapalı olan disk sürücü veya printeri açtıktan sonra RUN değil "RUN 1600" komutu ile kelime-işleme tekrar başlayabilirsiniz. Bunun dışındaki error (hata) durumlarında program size "error"ün cinsini söyler ve gidermeniz üzerine devam eder. Bunu aşağıda açıklayacağız.
Bu arada az kullanılan tuşların yeniden programlanarak Türkçe harflerin yerleştirildiğini daha önce söylemiştik. Birkaç noktalama işareti ile beraber bunların eski ve yeni durumlarını aşağıda görüyorsunuz:
Artık bu tuşları kullandığınızda ekranda yeni harfleri göreceksiniz. Bu arada bazı önemli noktaları belirtelim:
— "İki nokta üstüste" ve "virgül" disk sürücüsü için özel işaretler olduğundan bunlar iptal edilmiş ve Shift tuşu ile beraber yeniden programlanmıştır.
— Tırnak işareti, printerin çalışmasını aksattığından normal tırnak işareti (Shift 2) iptal edilmiş olup, bu işareti elde etmek için tuşuna (Shift 3) basmanız gerekecektir.