QUESTION OF SPORT
Herhalde hepiniz salı akşamları Banko'yu ilgi ile izliyorsunuzdur ve heyecanla soruları cevaplıyorsunuzdur. C64 sahiplerinin artık salı akşamlarını beklemelerine gerek kalmadı çünkü günün her saatinde ve dakikasında zevk ve heyecanla bir arkadaşları ile ya da bilgisayarla yarışabilecekleri bir oyun var. 'A Question of Sport'. Dilimizdeki tam manasıyla Bir Spor Sorusu, adından da anlaşılacağı gibi spor üzerine kurulmuş bir yarışma. Yarışma iki takım arasında üçer kişilik gruplar halinde oynanıyor. Yarışma başında bilgisayara ya da başka bir oyuncuya mı karşı oynayacağımızı belirledikten sonra yarışmadaki özel konumuzu ve takım elemanlarını seçiyoruz ve yarışma başlıyor. Sunucu David Coleman her iki takımın kaptanlarını da tanıttıktan sonra diğer iki oyuncuyu takdim ediyor ve bizden bir soru zarfı seçmemizi istiyor. Beş soru zarfından birini seçtikten sonra sıra geliyor sorulara... İlk sorular 'picture board' adı verilen bölümde karşımıza çıkıyor. Burada David bizden kapalı duran on iki kutudan birini seçmemizi ve böylece konu başlığını belirlememizi istiyor. Konular futbol, boks, tenis gibi kolayların yanında rugby, motokros, golf gibi zorlarını da ihtiva ediyor. Tabii bu konuların içinde başta seçtiğimiz özel konumuz daha fazla yer kaplıyor yani karşımıza bir çok kere çıkıyor. Kutuyu seçtikten sonra David soruyu soruyor ve ardından dört şık söyleyip bunlardan birini seçmemizi söylüyor ve tabii ki bir de belli bir süre veriyor. Eğer ki soruyu doğru cevaplayamazsak öteki takım için bir bonus hakkı doğuyor. Tabii aynı şey bizim için de geçerli. Bundan sonraki soru grubu ise 'mystery personality'. Burada ise hakkında ipucu verilen bir kişiyi tanımaya çalışıyoruz. Kişiyi bilmek için üç hakkınız var aksi halde kaybediyorsunuz. Ardından 'home or away' Türkçe tabiri ile ev ve deplasman geliyor. Burada ekranda o anda belirtilen bir dalda yarışabileceğiniz gibi 'away'i seçerek sürpriz bir soru ile de karşılaşabilirsiniz. 'What happened next' ise bir dahaki soru grubunun adı. Bir olay hakkında bilgi alıp ondan sonra ne olduğunu söylemeye çalıştığınız bu bölüm belki de soru grupları içinde en garip olanı. Beşinci raund ise hızlı olanın kazandığı bir bölüm. Sorulan soruya iki grup da aynı zamanda cevap veriyor ve doğru cevap veren kazanıyor. Yarışmanın son soru grubu ise ilkinin aynısı ve ona bıraktığımız yerden devam ediyoruz. Böylece oyun sona eriyor ve galip belli oluyor. A.Q.S. Commodore'daki büyük bir açığı kapatan son derece zevkli ve eğlenceli bir oyun. Bunun yanında yarışmacıların grafikleri ve müzik de epeyce iyi. Ne diyelim, bundan iyisi can sağlığı... HAKAN TİRALİ
SORUNLARINIZ... BİLMEDİKLERİNİZ... Ses Digitizer
GEÇEN SAYIDAN DEVAM
Bunlardan başka, Speech-Basic her türlü disket işlemini rahat olarak gerçekleştirebilmeniz için DISK ve DIR gibi komutlar da sunmakta. Bunlardan ilki, disket sürücüsüne emir göndermek için, diğeri de disketin içeriğini görmek için kullanılıyor. SINIRLANMIŞ ÖRNEKLER, BLOK TABLOSU Speech-Basic'te her bir kelimeyi, cümleyi veya istediğiniz ses bölgelerini bulup, izole etmek oldukça kolaydır. Bunun için, örneklenmiş sesi iki kere dinleyip, birinde kelimenin başında, diğerinde ise sonunda (RESTORE) tuşlarına basıp, başlangıç ve sonuç adreslerini belirlemek gerekiyor. (RESTORE)'a basıldığında dinleme işlemi kesiliyor ve kesilme adresi belirtiliyordu. Kelimenin bulunduğu bölgeyi belirledikten sonra, bu bölgeyi, FROM TO komutunu vererek dinleyebilirsiniz. Burada, başlangıç ve bitiş adreslerini biraz değiştirerek birkaç kere daha dinleyin. En sonunda, istediğiniz ses bölümünü kesin olarak elde edin. Şimdi elde ettiğiniz sayıları pratikte nasıl kullanacaksınız. Bunları bir kenara not etmek lazım? Hayır! Böyle bir kullanım için, ses bloklarını bilgisayarın aklında tutmasını isteyebiliriz. Speech-Basic'te bu tip blokların başlangıcını ve bitişini aklında tutabilmesi için aynı isimle anılan bir komutu mevcut. Bunun kullanımı ise:
BLOCKx (FROM başl.adr.
(TO BİT adr.) (string)
Burada, başlangıç ve bitiş adreslerini demin belirlemiştik. String ise, 8 karakterden oluşan ve bu bloğu tanımlayan kısa bir açıklama. Blok numarasını belirleyen x ise 1 ile 31 arasında bir sayı olabilir. 30 numaralı blok için daha evvelden, fonksiyon tuşlarının tanımlandığı bölgenin adresi ile belirlenmiş durumda. 31 numaralı blok için ise blok tanımlama tablosunun başlangıç ve sonuç adresi tanımlanmış durumda. Sıfır numaralı blok, gerçekte var olmasına rağmen, kullanıcı tarafından değiştirilemiyor. Bunun görevi, en son BLOAD işleminin başlangıç ve bitiş adresini akılda tutmak. FROM başl.adr. TO bit.adr. parametrelerini gerektiren bir yerde, bunun yerine belirlenmiş bir blok bölgesini kullanabiliriz. Bunun için söz konusu parametreleri BLOCKx gibi bir kullanımla özetleyebiliriz. Speech-Basic başlangıç ve bitiş adreslerini otomatik olarak blok tanımlamasından alır ve kullanır. Bu kullanım, PLAY, RECORD, BLOAD, BSAVE, MON ve BLOCK komutunun kendisinde geçerlidir. Mesela, buna göre şöyle bir satır yanlış olmaz:
BLOCK 1 BLOCK 0 “Merhaba”
Böylece, yeni yüklenmiş olan, “Merhaba” adlı ses örneğini BLOCK 1'e saklar ve BLOCK 0'ın içeriğini başka bir yerde saklayarak daha sonraki işlemler için kullanılmak üzere serbest hale getirir. Gene benzer şekilde:
8 BLOCK 30 kullanım olarak hatalı değildir ve fonksiyon tuşlarının tanımlanmasını, daha sonra kullanılmak üzere disketle saklamaya yarar. Blok tablosunu tümüyle silmek için şu döngüyü kurmamız gereklidir.
11529:BLOCKx
Burada, başlangıç ve bitiş adresleri verilmediği için, bunların yerine otomatikman kullanılabilecek en düşük adres (HİMEM) ile, kullanılabilecek en yüksek adres ($FFF8) oturtulur. Blok tablosunu görmek için MAPx-y komutunu kullanmanız gerekir. Buradaki x ve y parametrelerinin kullanımı, LİST komutundaki kullanımın olduğu gibi aynısıdır. Örnek olarak, MAP 10, MAP 10-20, MAP-10 verebiliriz. Altı numaralı fonksiyon tuşu kendinden BLOCK komutu ile tanımlanmıştır. (Tabii, bu tanımlamayı siz de değiştirebilirsiniz.) Şayet F6 tuşundan sonra (RETURN) tuşuna basarsanız, tüm blok tablosunu görürsünüz. Çünkü, BLOCK komutu, parametresiz olarak kullanıldığında MAP 0-31 komutu ile özdeştir.
BAZI ÖZEL EFEKTLER
Örneklediğimiz tüm sesleri izole edebildik mi, ses efektleri elde etmek artık çocuk oyuncağı gibi bir şey. Zaten söz konusu efektler program modunda bir şeyler yapmak gereksinimini doğuran tek neden. Diğer tüm işlemleri, direkt modda yapmak daha akıl kârı. En basit olarak elde edilen efekt RAP veya BREAK efekti, yani bir kelimenin kesik kesik tekrarlanması. Bunun için önce kelimenin kendisini (2), bunun içinde yer aldığı cümleyi (1) ve o kelimeden geri kalan kısmını (3) izole etmek ve belirlemek lazımdır. Daha sonra en basit şekliyle 1,2,2,3 sırasıyla ses geri verildiğinde söz konusu efekt elde edilir. Geri verme sırasında, sesin hızıyla da oynanırsa, SCRATCH efektleri elde etmek mümkün. Bir cümlenin son kelimesini belirleyip, cümlenin arkasından bu kelimeyi tekrarlı ve azalan bir ses şiddetiyle geri verirsek ECHO veya HALL efektleri elde edilebilir. Burada, ufak bir aksaklık keşfediyoruz. Ses geri verilirken her bir örnekten bir diğerine geçilirken ekran bir kere göz kırpıyor ve geçiş bölgesi yarattığı hafif parazitle kulak tırmalıyor. Bu durumda yardımımıza EXEC komutu yetişiyor. EXEC sadece parametre kullanan bir komut. Parametreler bir karakter string'in içinde yer alıyor ve çeşitli harf ve rakamlardan oluşuyor. Her bir harf komutu simgeliyor. Örnek verecek olursak, aşağıdaki program;
10 PLAY BLOCK 1: SPEED 1
20 PLAY BLOCK 2
30 PLAY BLOCK 3
40 PLAY BLOCK 4
EXEC“stpip2p2p3a”
olarak toparlanabiliyor. Tabiiki burada .....'in işlenmesi programın yü-
tümesinden daha hızlı olarak gerçekleşiyor ve kesin sesin geri verilmesi sırasında ekran daima kapalı kalıyor.
Şimdiye kadar anlattıklarımızı tam anlamıyla takip ettiyseniz, Speech-Basic'in nasıl çalıştığını ve neler yapılabileceğini anlamış olmanız gerekir. Fakat gene de, aşağıda yer alan (oldukça sıkıcı bir işlem ama ne yapalım), komutların kullanımını anlatan bölümü okumanız gerekiyor. Ayrıca, şimdiye kadar bahsedilmemiş birkaç komut ile ilgili açıklamaları da bulacaksınız aşağıda,
KOMUT LİSTESİ
Aşağıda, tüm komutlar yaptıkları işlerin benzerliği altında gruplanmıştır. Anlatım sırasında kullanılan büyük harfler komutların kendisi, küçük harfler ise bunlara ait parametrelerdir. Parantezler, sadece parametrelerin kullanılmama sırasını göstermek için konmuştur. Kullanılmayan parametrelerin yerine bilinen bir değer kullanılır. “Str” diye bahsedilen şey karakterlerden oluşmuş bir string'i temsil eder. Blok adı ile anılan şey belli bir hafıza bölgesidir ve üç türlü belirtilebilir:
1- FROM başl.adr. TO bit.adr. 2- başl.adr., bit.adr. 3- BLOCK x
Büyük 'a' harfi $4A5, iki byte'lık bir tamsayıyı (adres) simgeler. Büyük 'n' harfi ise (N), bir byte'lık bir tamsayıyı temsil eder. Dv kısaltması, alet numarasıdır (device number).
Disketle yapılan tüm bilgi taşıma işlemleri, 127 no.lu mantıksal dosya kanalını kullanırlar. Bu kanalın bir özelliği, RUN/STOP + RESTORE işlemi sırasında otomatik olarak kapanmasıdır. Bu dosya kanalını kendi programlarımızda kullanamazsınız. LISTING sırasında, (SHIFT) tuşu ile bekletme yapmak mümkündür. Her yerde, onaltılık ve ikili sistemde sayılar kullanmak mümkündür, (PRINT $A000, %011011). Onaltılık sayılar, önlerinde yer alan '$' dolar işareti ile ayırt edilirler. İkili sayıların önünde ise '%' işareti bulunmak zorundadır. Onaltılık sayıların kullanımında karşınıza çıkabilecek bir sorundan bahsedelim. İçinde 'DEF' dizilimi bulunan onaltılık sayıyı 'D EF' gibi ayrı olarak yazın. Sayı olarak bu son kullanım gene geçerli olacaktır. Fakat, 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 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, VİC ç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 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, kendisinden bazı tanımlar bu tuşlara yüklenmiştir. Bunlar:
Fi RUN
F2
F3
F4 -HEAR:RECORD
FS -HELP/DISPLAY KEYS
F6 -BLOCK
F7 -DİRECKTORY
F8 -DISK-STATUS
Aslında, normal çalışma sırasında, FS tuşunu 'SPEED' komutu ile yüklemek oldukça uygun olur. Diyelim ki sözkonusu 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 soB01 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 : $1801 to $1803 SOUND : $a000 to $a0f8 KEYS : 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. 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. BLOAD “prog.ismi” (,dv) (block)- İ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şlanmı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 ertmiyor, çü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 SA000
FROM SA000, $8000
BLOCK 31:REM blok tablosunu 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ırabilmeniz 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 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.