Commodore sayı 15, sayfa 58

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 58

Basic yorumlayıcısının, bunu “DEF” komutu olarak yorumlayıp, ona ait token'ı (Basic yorumlayıcısının kendi komutlarını ayırt etmek için kullandığı kodlama) yerleştirmesi önlenecektir. Bu kurala uymadığınız takdirde, hata mesajı ile karşılaşırsınız. IF...THEN komutları ile kurulmuş şartlı programlama satırlarında, THEN komutundan sonra yeni komutlardan biri gelecekse iki nokta üst üste ile ayrılmış olması gereklidir. Yoksa, yazılımınız doğru olsa bile, hata mesajı ile karşılaşırsınız.

A) BAZI TEMEL KOMUTLAR

RESET-SID çipini, VIC çipini ve CIA çiplerini siler. Kernal'ın (işletim sistemi) sistem vektörlerini ilk değerlerle yükler. RESET komutu, her BASIC programın ilk komutlarından biri olmalıdır. © BASIC-Speech-Basic yardımcı programını terk etme ve normal BASIC'e dönme. Bu komutu verdiğinizde “are you sure?” (emin misiniz?) sorusu ile karşılaşırsınız. Cevap olarak 'Y' (= yes) verirseniz, komut yürütülür. Başka herhangi bir cevapta, komut yürütülmez ve normal işlemler devam eder. Şayet, bu komut bir program satırının içinde kullanılmışsa bu soru sorulmaz ve komut doğrudan yürütülür. Bu arada, BASIC'in LOMEM (BASIC işlemleri için kullanabileceği en düşük adresli hafıza) değişkeni tekrar $0800 adresine oturtulmaz ve programın yürümesi kesilmez, sadece yeni eklenmiş komutların yürütülmesi kesilir. HELP-Speech-Basic'e özel tüm komutları listeler. HELP* şeklinde bir kullanım, normal BASIC V2 komutlarını listeler.

B) DİSKET KOMUTLARI VE ÖZEL KOMUTLAR

KEY (n,str)- Fonksiyon tuşlarına bazı işlevler yüklemek. Bu komutu parametresiz kullandığımızda, tüm tuşlara atanmış işlevleri, ekranda edit edilebilecek bir şekilde görürüz. Eksi işareti “-” hiçbir tuşun tanımı sırasında kullanılamaz. Çünkü, bu işaret RETURN tuşunun kodunu ($0D) temsil etmektedir. Maksimum 15 karakterden oluşmuş tanımlar kullanılabilir. Speech-Basic'i ilk kullanmaya başladığınızda, programın kendisinden bazı tanımlar bu tuşlara yüklenmiştir. Bunlar:

F1 - RUN F2 - LIST F3 - PLAY F4 - HEAR:RECORD F5 - HELP/DISPLAY KEYS F6 - BLOCK

F7 - F8 - DISK-STATUS

Aslında, normal çalışma sırasında, F5 tuşunu komutu ile yüklemek oldukça uygun olur. Diyelim ki söz konusu değişikliği yaptınız ve Speech-Basic'inizin artık böyle çalışmasını istiyorsunuz. Yapacağınız tek işlem Speech-Basic'in yeni versiyonunu diskete saklamak. Bunun için:

BSAVE“SPEECH-BASIC”,8 FROM $0801 TO $1800

komutunu kullanın. MEM- O sıradaki hafıza bölüşümünü rapor eder. Rapor aşağıdaki örnekteki gibi görünür:

BASIC SOUND : $a000 to $fff8

:$1801 to $1803

KEYS : $0c6f to $0cef BLOCKS: $165b to $17db

DISK(str(,dv))- Disk kanalı ile ilgili işlemleri yürütmek. Bu komut parametresiz kullanıldığında, disket sürücüsünün durumunu ekranda gösterir. Eğer komut stringini kullanırsanız, bu disket sürücüsüne gönderilir. Fakat disket sürücüsünün mesajı alınmaz. Böylece istenirse, program içinde INPUT komutu ile hatanın veya durumun daha ayrıntılı işlenmesine olanak sağlanır. DIR(str(,dv))- Disketin içeriğini görme. Parametresiz kullanıldığında disketin tüm içeriği gösterilir. Gönderilen parametre, dosya adı ve tipine göre seçim yapılmasını sağlayan bir maskedir. Bu maskenin kullanımının detayları için “1541 Disket Sürücüsü Kullanım Kılavuzu'na bakın. İsmi verilmiş dosyayı “dv' numaralı aletten hafızaya yüklemek. Blok kullanılırsa, yükleme işlemi burada belirtilen adresten başlar. Şayet kullanılmazsa, dosya kendi belirlediği adrese yüklenir. Yükleme işlemi dosya bittiğinde veya (belirtilmişse) bitiş adresine varıldığında biter. BLOAD komutunun LOAD komutundan bir başka farkı ise bunun normal bir BASIC komutu gibi yürütülmesi. Yani LOAD'daki gibi yükleme işlemi bittikten sonra program baştan başlamıyor. Yüklenen dosyanın başlangıç ve bitiş adresini belirlemek istiyorsanız BLOCK 0'ı kullanabilirsiniz. BLOAD komutu daimi RAM'e yükler (zaten istese de ROM'a yükleyemez, burada belirtilmek istenen bütün yükleme işlemi sırasında RAM konfigürasyonunun kullanıldığı, yani $D000-$DFFF adresleri arasını yüklerken bile bilgisayar “crash' etmiyor, çünkü dosya buranın üç (!) kat altındaki RAM bölgesine yükleniyor). BLOAD komutunun kullanımına bazı örnekler vermek istersek:

BLOAD“s.test” BLOAD"s.test'',8 FROM $A000 BLOAD"s.test'',8 FROM $8000 BLOAD"“b.test”,8 BLOCK 31:REM blok talosunu yüklemek.

BSAVE “prog.ismi”'(,dv)(block)- Başlangıç ve bitişi belirtilen bölge verilmiş isim altında dv numaralı alete saklanır. Burada dosyaları ayırt edebilmeniz için bir önerimiz var: Diyelim ki aynı örnekler için ses bilgilerini ve bunların içindeki başlangıç ve bitişlerini belirtilen blok tablosunu saklamak istiyorsanız. Her iki dosyayı aynı isimle saklayın; tek farkla: Ses bilgilerinin başına 's.' (ses), blok tablolarının başına 'b.' (blok) ekleyin. Böylece, ileride oluşabilecek karışıklıkların önüne geçersiniz. BSAVE komutuna ait birkaç örnek:

BSAVE"s.test”',8 FROM $A000 BSAVE"“s.test'””,8 FROM $SA000, $8000 BSAVE"'b,test”',8 BLOCK 31:REM blok tablosunu saklamak

Klavyeyle gezinmek için ← ve → tuşları.