Commodore sayı 7, sayfa 16

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 16

7: Ses açık/kapalı 6: Senkronizasyon 5: Halka modülasyonu 4: Test

3: Üçgen karakteristik 2: Testere karakteristik

1: Dikdörtgen karakteristik 0: Beyaz gürültü

— Cc

Sesin zaman içindeki dalgalanmasını, ENVELOPE n, a, d, s, r komutu belirler. 'n' parametresi ile demin olduğu gibi, hangi ses üreticinden bahsettiğimizi belirtiyoruz. 'a', 'd', 's' ve 'r' parametreleri, o sesin dalgalanma sürelerini ayarlar. İngilizcede attack, decay, sustain ve release kelimelerinin baş harfleri ile adlandırılan

ADSR eğrisi bu sayılarla belirlenir. 'a' ile, sesin ilk başladığı an ile en yüksek seviyesine ulaşacağı an arasında kalan zaman ayarlanır. 'd' parametresi ise, bu en yüksek noktadan, biraz sonra belirteceğimiz ortalama değere düşüş için geçecek süreyi verecektir. İşte bu ortalama değeri ise 's' belirleyecektir. 'r' ile, ses üretici, çıkan sesi üretmeyi bıraktığında, sesin daha ne kadar zaman yankılanması (tınlama) gerektiğini belirlersiniz. Tüm bu parametreler 0-15 arasında olacaktır. 0 'a' ve 'r' için hızlı, 15 en yavaş demektir. 0-24 saniye arasında değişen zaman dilimlerine karşılık gelirler. 's' ise, ortalama ses yüksekliğinin o anda VOL ile belirlenmiş olan yüksekliğin kaçta kaçı olacağını belirtir. Şimdi sıra geldi notaları ve çalma sürelerini tanımlamaya. MUSIC hız, tanım ile bu işlemi yapabilirsiniz. 'hız' için 0-255 arası sayılar geçerlidir. 0 en hızlısı iken 255 en yavaşıdır. Tabii buradaki en önemli kısım 'tanım' kısmı. Burası aslında bir karakter değişkeni. Bu değişkenin içindeki karakterler müziğimizi tanımlayacaklar. Bunu en iyi, verdiğimiz örnek programda görebilirsiniz. Tanımın ilk karakteri (CLR) tuşu olmalıdır. Hemen arkasından hangi ses ile çalınacağı gelir. 1-3 arası bir sayı olmalı bu. Sonra gelen iki karakter ise 2 ve tuşu. Artık notaları tanımlamaya başlayabiliriz. Ne yazık ki notaları do, re,.. si olarak tanımlayamıyoruz. Bunların

Amerikan standardında olan karşılıklarını kullanmalısınız:

C:Do D:Re E:Mi G: Sol A:La B: Si

F: Fa

Notaları tanımlarken her nota için üç karakter kullanacağız. İlk karakter C-B arası notayı belirten bir harf olacak. İkincisi ise, o notanın hangi oktavda olduğunu belirtecek. 0 ile en kalın, 7 ile de en ince oktav elde edilir. Ve son olarak da o notanın çalınma süresini belirlemeliyiz. Bunu, klavyenin sağ tarafındaki fonksiyon tuşları ile yapıyoruz. Her bir tuş başka bir uzunluğu belirtiyor. Şöyle ki:

F1: 1/16'lık nota F3: 1/8'lik nota F5: 1/4'lük nota F7: 1/2'lik nota F2: 1'lik nota F6: 4'lük nota F8: 8'lik nota

Örneğin C6(F1) ile, bilgisayar altıncı oktavdan ince bir 1/16'lık DO notası oluşturacaktır.

Bütün notaları böylece belirledikten sonra, tanımın en sonunda (CLR)G koymalısınız. Böylece parça bitince ses duracaktır. Eğer koymazsanız, en son nota devamlı çalacaktır. Artık gerekli hazırlıkları yaptığımıza göre parçamızı çalabiliriz. PLAY

1 komutunu verdiğimiz anda parçamız çalmaya başlayacaktır. Bu sırada da program, parçanın bitmesini bekler. Eğer PLAY 2 kullanırsanız, parça arka planda çalmaya devam ederken, programınız da işlemlerine devam edecektir. Bu sırada PLAY 0 vererek o anda çalınan parçayı durdurabilirsiniz. Ancak, PLAY komutunu sadece program içinde kullanabilirsiniz, program dışında bir işe yaramaz. Müzik ile ilgili komutların sonuncusu SOUND. A=SOUND yapıldığında, A'nın içeriği 54272 olur. Bu,

SID yazmaçlarının başlangıç adresidir. Tıpkı GRAPHICS'de olduğu gibi POKE SOUND 4, nnnn yaparak, bu yazmaçlara sayılar yerleştirebilirsiniz.

Sprite Komutları

Önce işe sprite tanımlamasıyla başlayalım. Bu iş için DESIGN komutunu kullanacağız. DESIGN kod, adres olarak kullanılan bu komut, verilen 'kod'a göre değişik işlemler yapar. Eğer sıfırsa, normal (24x21) boyutlarda tek renkli bir sprite tanımlaması yapacağız demektir. Eğer 1 ise, bu sefer 12x21 boyutlarında ve çok renkli sprite tanımlaması geliyor anlamını verir. 'Adres' ile bu tanımın nereye yerleşeceği belirleniyor. Bu adresi, (blok * 64) formülü ile bulabilirsiniz. Geçerli olan blok sayıları 13-15, 32-63 ve 128-255 arasıdır. Bunun dışındaki bloklar Simons' Basic'e zarar verebilir. DESIGN komutunun hemen altındaki satırdan başlayarak 21 satırlık tanımlama gelir. Bunun nasıl olduğunu en iyi örnek programda görebilirsiniz. Tek renkli sprite için genişlik 24 nokta, çok renkli içinse 12 nokta olacaktır. Tanımlama sırasında kullanacağınız karakterler '.', 'B', 'C' ve 'D' olacaktır. Anlamları da şöyle olacaktır:

.: Boşluk B: (Normalde) Çizgi rengi (Çok renkli) 1 numaralı renk C: (Çok renkli) 2 numaralı renk D: (Çok renkli) 3 numaralı renk

Her tanımlama satırının başındaki özel işarete dikkat edin! Ayrıca, C ve D renklerini sadece çok renkli sprite'ler için kullanabilirsiniz. Tanımlama bitti, sıra geldi özelliklerini belirtip, renklerini verip hareket ettirmeye. Önce MOB SET no, blokno, renk, öncelik, mod komutunu görelim. no ile belirtilen sprite'ın (0-7)

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