64'ler sayı 12, sayfa 52

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 52

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

SES KONTROL KOMUTLARI HEAR(SPEED n) Örneklenen sesin aynı anda duyulmasını sağlar. Burada dört değişik örnekleme seviyesine karşılık olarak dört ses şiddeti seviyesi ve dört değişik rengin belirlenmesi gerekmektedir. Renk değerleri $D418 adresli registere yazılmaktadır. Dinleme işlemini bitirmek için boşluk tuşuna basın. RECORD (block) (SPEED n) HEAR komutu ile aynı biçimde çalışır. Tek farkı, dinlenen sesin aynı zamanda hafızaya da yazılmasıdır. Blok dolmadan, ses kayıt işlemi kesilmek istenirse RESTORE tuşuna basmak yeterlidir. Direkt moddayken bu işlem yapılırsa, kesilme adresi 'stopped at xxxxx.' mesajı ile belirtilir. Örnekleme hızı 1 ile 40 arasında değişen bir tamsayıdır. Burada 1, en hızlı kaydı, 40 ise en yavaş kaydı sağlar. Örnek olarak.

RECORD RECORD FROM SA000 TO $DOOO RECORD SPEED 1 RECORD BLOCK 1 SPEED 10

PLAY (block) (SPEED n)- RECORD işleminin tam tersidir. Bloktaki bilgiler, ses bilgisi olarak yorumlanıp, karşılık gelen ses şiddet değerleri ve renk değerleri kullanılarak geri verilir. En yüksek geri verme hızı olarak '0' kullanabiliriz. Yani sesi kayıttan daha hızlı geri verebiliriz.

VOLDEF

VOLDEF Dört değişik örnekleme seviyesine karşılık gelen ses şiddet ve renk değerlerini belirlemek. Digitizer devresinden elde edilen değerler doğrudan ses ve renk kanallarına yazılmaz. Bu işlemden önce gelen bilgiler, sizin bu komutlarla belirlediğiniz tablolar vasıtasıyla işlenir ve öyle kullanılır. İki değişik örnekle, VOLDEF ve COLDEF komutlarının parametrelerinin etkilerini inceleyelim:

VOLDEFO, 1,2,3:COLDEFO, 11,12,15:REM alçak sesli ve gri tonları VOLDEFO,5,10,15:COLDEF?7,2,5,6: REM yüksek sesli ve çok renkli.

D) DAHA İLERİ SEVİYEDEKİ KOMUTLAR

BLOCK n (block) (str)- Bir blok, tanımı olarak, başı ve sonu belirlenmiş ve bunlarla sınırlanmış hafıza bölgesidir. Birçok komutun kullanımında yeralan (block) parametresi ya 'FROM başl.adr. TO bit.adr.' biçiminde, ya da FROM ve TO komutları kullanılmayarak 'yeni başl.adr., bit.adr.' biçiminde kullanılabilir. Başlangıç ve bitiş adresleri genelde ayrı ayrı kullanılmadığı için BLOCK komutu geliştirilmiş ve her iki adresi tek komutta işlemeye olanak vermiştir. Bitiş adresi olarak tanımlanan sayının, başlangıç adresinden büyük ve $FFF9 adresinden küçük olması gerekmektedir. BLOCK komutu parametresiz kullanıldığı zaman KEY komutu gibi tüm blok tanımlarını ekranda listeler. Blokların sayısı 0'dan 31'e kadar uzanabilir. Fakat 0'ıncı blok özel bir işlem için ayrılmış olduğundan bu blok'un kullanıcıdan tanımlanması mümkün değildir. Bu blok, en son yapılan işleminin başlangıç ve bitiş adresini aklında tutar. 30 numaralı blok, fonksiyon tuşlarının başlangıç ve bitiş adresini, 31 numaralı blok, blok tablosunun bulunduğu bölgenin başlangıç ve bitiş adreslerini aklında tutar. Gerektiğinde bu bölgeler diskette saklanmak istendiğinde (gerçekten de saklamak gerekiyorsa bu bölgeleri) sözkonusu adresleri aklınızda tutmanız gerekmiyor. 'BLOCK' komutu bu işi siz hallediyor. Fakat isterseniz 30 ve 31 numaralı blokları kendi istediğiniz biçimde yeniden tanımlayabiliyorsunuz. Şayet böyle bir işlem sonucu, sözkonusu değerleri kaybettiyseniz bunları MEM komutundan elde edebilirsiniz. Burada parametre olarak verilen str adlı string ise, sekiz karakteri aşmayan ve yalnızca blok tablosu istendiğinde ortaya çıkan, blokların içeriği ile ilgili kısa bilgileri saklasın diye bırakılmış bir açıklama bölgesidir. Blok tablosunu RESET'lemek için (tümüyle silmek, ilk ve temiz haline getirmek için):

FOR n=1 TO 29:BLOCK n:NEXT n satırını vermeniz yeterlidir. Bu komuta ait birkaç örnek isterseniz: BLOCK 1:REM 1 numaralı blok'a silme BLOCK 1,$A000:REM bitiş adresi olarak kullanılır. BLOCK 1,$A000,$8000:REM aşağıdakinin kısaltılmışıdır. BLOCK 1 FROM $A000 TO $8000 BLOCK 1 BLOCK 0:REM 0 numaralı blok'un içeriğini saklamak. BLOCK 1 BLOCK 0:REM 0 numaralı blok'un içeriğini saklamak ve isimlendirmek. BLOCK 1 TO $8000:REM YANLIŞ!!!

MAP tablosunu edit edilebilir şekilde listeler. MAP komutunun arkasında yeralan parametre listesi sizde korku yaratmasın. Aslında parametreler göründüğü kadar korkunç değil, tam aksine LIST komutunun kullanımı ile olduğu gibi aynı bu parametrelerin kullanımı.

HIMEM A- Basic için kullanılabilecek hafızanın sonunu (üst sınırını) belirliyor. Böylece, aynı zamanda ses bilgileri için kullanılabilecek alt sınırı da belirlemiş oluyoruz. 'A' değeri, o sırada hafızada bulunan programın son adresinden büyük ve $A000'dan küçük olmak zorundadır. HIMEM komutu yürürken CLR işlemini de yürütür. Örnekler: EXEC str- Verilen stringin içindeki karakterleri birçok ses komutunun kısaltılmışı olarak değerlendirir. Bunlardan başka, ses şiddeti ve renk değerleri de bu string'in içinde belirlenebilir. Kısaltılmış olarak yeralan komutlar şunlardır:

P w; w numaralı blok'u çalma S w; hızı belirleme W w; saniye beklemek V w; renk değerlerinin belirlenmesi & str; str diye belirtilen değişkenin de yürütülmesi &; EXEC işleminin bitirilmesi

Diğer karakterlerden herhangi biri komutunun yürümesinin kesilmesine neden olur. Her bir komut birbirinden, iki nokta üstüste ':' işareti ile ayrılabilir, fakat şart değildir, istenirse kullanılmayabilir. Parametreleri simgeleyen 'w' bir sabit veya bir değişken olabilir. Dikkat: EXEC işlemini bitiren '&' işaretini mutlaka kullanın. Yoksa, programınız istenmeyen komutlar (!) yürütebilir.

Örnekler: EXEC “s1:p1:p1:p2:p3:p2:p3:” EXEC “s1v0,5,10,15p1 c$” EXEC a$ & işleminin sıhhatli olarak bitirilmesini kesinleştirme EXEC E) DİĞER KOMUTLAR

HEX ve DEZ- RESTORE tuşu ile yapılan durdurma işlemleri sırasında verilen mesajın içindeki sayının hangi sistemde verileceğini belirler. ('stopped' HEX komutu, hekzadesimal yani onaltılık sistemi, DEZ komutu ise desimal yani onluk sistemi seçer. SCREEN flag- Ekranın, ses ile ilgili işlemler sırasında (HEAR, RECORD, PLAY ve EXEC) kapanıp kapanmaması gerektiğini belirler. Normalde bütün bu işlemler sırasında ekran kapalıdır ve bu durum ses kalitesini kısmen yükseltmektedir. Parametre olarak belirtilen ON ve OFF olabilir. Bundan başka, bu komutun hemen arkasından gelecek bir matematiksel önerme de aynı işi görür. (Önermenin değerinin sıfır veya sıfırdan farklı olması.) MON Ses monitörü. MON komutuyla, örneklenen bilgiler ekrana listelenir. Dört adet örnek bir byte'ı oluşturur. Her bir değer, VOLDEF'te verilen ses şiddeti değerleri ile duyulabilir sese, CODDEF'te verilen renk değerleri ile gözün algılayabileceği renk bantlarına dönüştürülür. Değerler, üzerine gidip yazmak suretiyle değiştirilebilir. Değişiklikler yapıldıktan sonra RETURN tuşuna basmak gerekmektedir. MON komutuyla, kısa süreli gürültülü aralıkları düzeltmek mümkündür. MON komutu en çok, Digitizer devremizin ayarını, kontrolünü yapmamıza yarar.

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