Bu sayfadaki yazılar
Sayfanın metni
Sayfa 27
ve
Profesyonel müzisyenlerin uzun zamandır tanıdıkları bir kavram: MIDI. Bu kelimenin ardında yatan ne? Bilgisayar meraklıları bu teknolojiden nasıl yararlanabilirler?
Çoğu kişi artık MIDI kavramını yakından tanıyor. Birçok müzisyen artık C64'ünü bir ya da birden çok synthesizer'la bağlamak için bu arabirimi kullanıyor. Bu teknolojinin sunduğu olanaklar bununla da kısıtlı değil. Uygun yazılım kullanılarak 16 taneye kadar C64'ü birbirine bağlayıp bir ağ oluşturmak mümkün. Bunun oyunlar, bilimsel ya da ticari işlerle ilgili olarak bir fantezi düzeyinde kalmaması için, biraz donanım ve bunun programlanması konusuyla ilgilenelim.
MIDI DONANIMININ YAPISI
C64 için sıradan bir MIDI arabiriminde MIDI-In, MIDI-
Thru ve MIDI-Out olmak üzere üç uç bulunur. Bunlardan MIDI-Thru ucu, giren verilerin aktarılmasını sağlayan çok basit bir donanımdan oluşur. Bunun aksine MIDI-In ve MIDI-Out uçları, entegre bir arabirim elemanı tarafından denetlenirler. Burada kullanılan eleman, Motorola tarafından üretilen UART (Universal Asynchronous Receiver Transmitter) 68B50'dir. Bu eleman bir kuvars osilatörü üzerinden 2 MHz'lik işletim frekansıyla beslenir. Bu frekans dealt bölümleme yöntemiyle diğerlerinin yanı sıra MIDI aktarım standardı için gerekli olan 31.25 kHz'lik bit frekansı elde edilir. UART 68B50'nin bu amaçla kullanılan programlanabilir bir bölücüsü vardır. 31.25 KBaud'luk aktarım değerine 1:64'lük bir bölmeyle erişildiğine göre, mutlaka daha yüksek hızlara erişilebileceği düşünülebilir. Matematiksel olarak 1:1'lik bir bölme oranında 2 Mbaud'luk bir veri aktarım değeri söz konusu olabilir. Tabii bu düzeyde bir aktarım değeri, C64'te kendi işleyiş hızından dolayı fazla gelecektir. Bu yazıyı okuyan “hız fanatikleri”ni bunun aksini kanıtlamaya çağırıyoruz. Aktarım hızını kısıtlayan bir başka faktör de arabirim donanımının kendisidir. Birbirine bağlı aletler arasındaki potansiyel farklarından ötürü oluşması muhtemel “boşalma felaketleri”ni engellemek üzere, giriş hattında (MIDI-In) galvanize ayrımı sağlayacak bir optokoppler bulunmaktadır. Bu optokopplerin limit frekansı, erişilebilecek bit frekansı için bir üst sınır oluşturmaktadır. 1:16 oranıyla elde edilen 125 Kbaud'luk bir aktarım hızı, klasik donanımlarda müzik elektroniği alanında da kullanılan gerçekçi bir değerdir. Dijitalize edilmiş ses verilerinin aktarımı için geliştirilmiş bir norm olan “MIDI-Sample-Dump-Standard”la bağlantılı olarak, bazı üreticiler bu işletim türüne dönüştürmeyi sağlayan bazı komutlar ürettiler, çok kapsamlı sample verilerinin (bazen MByte'lara varan) aktarılması böylece kabul edilebilir zaman süreleri içinde gerçekleşebiliyor. Eğer yönetim yazılımı oluşturmak isterseniz, en başta UART 68B50'nin işleyiş biçimini ve sicil yerleşimini açıkça bilmeniz gerekir (resim). Arabirim elemanı ikisi veri sicili olmak üzere dört adet 8 bitlik sicil içerir. Veri gönderme sicilinde yazılım her defasında bir biti aktarım için ayırabilir. UART bu baytın gönderilmesini sağlar, daha sonra durum sicili aracılığıyla veri gönderme sicilinin bir sonraki bayt için serbest olduğu bildirilir. Veri alma sicili tarafından her de-
6 5 8 va Gönderilen veriler sicili ($DE05) Gönderilen veriler Alınan veriler sicili ($DE07) Alınan veriler Yönetim Alma (Gönderme) Aktarım Bölümleme ($DE04) IRQ formatı oranı Durum sicili Parite Alım (Gönderme) Alma ($DE06) hatası taşması FE CT5 DOO sicili sicili boş dolu fasında en son alınan bayt okunur. Programlama açısından en önemlisi, yönetim sicilidir. Bu sicil, işletim parametrelerinin ve veri aktarım değerlerinin belirlenmesini sağlar. Yönetim sicilinin en küçük değere sahip iki biti, bunun için bölme oranını belirler (Tablo 1). Elemanın içinde entegre olarak bulunan bölücü, 1 MHz'lik işletim hızını örneğin istenen 31.25 kHz'lik hıza indirir (MIDI standardı). Her iki bit de doluysa (master reset), eleman bir önceki hatalı programı ciddiye almaz. Dolayısıyla bu master reset'in, çalıştırmak için bir çok kez deneme yapmaya gerek bırakmayacak şekilde, her MIDI programının başına konmasında yarar var. Deneme için 2. bitten 4. bite kadarki ayarlamalar da ilginç olabilir (Tablo 2). Burada esas olarak 8 bit aktarım formatları tablonun alt yarısında yer alıyor, bununla artık tarihi sayılabilecek teleksler MIDI üzerinden ses verir hale getirilebiliyor. (Teleksleri şaşırtıcı bir şekilde taklit edebilen) Synthesizer'lar ve Sampler'lar, F ayarındaki MIDI normuna (8 veri biti, parite yok, 1 stop biti) tepki gösterirler. Fakat çok daha güvenli olduğundan, bilgisayarlar arasında veri değiş tokuşunda Parity bitinin kullanılması mutlaka daha yararlıdır. Çift (G) veya tek (H) olması önemli değildir, MIDI kablosunun her iki ucundaki formatların birbirine uyması yeterlidir.
Resim: 68B50 arabirim elemanının sicili.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 26
en uygun araçlar, ışık dolapları. Resim 8'de bir fototransistörle çalışan bir devre görülüyor. Mekanik olarak mümkünse, içinde bir fototransistör ya da bir ışıklı diyot olan bir çatal ışık dolabı (örneğin, CNY 37) kullanabilirsiniz. 7414 entegre devresi, normal TTL hatlarının aksine, önceden tanımlanmış değiştirme noktasına sahip altı adet Schmitt şalterine sahiptir. Yani bir entegre devre altı ışık dolabına yeterlidir. Işık ışınının kesilmesi anında User Port hattı yani 1 durumundadır.
DENEYLERİN GERİLİM BESLEMESİ
Entegre devrelerin beslenmesi için gerekli olan 5 Volt, bilgisayarın beslenmesinden elde edilebilir. Bu gerilim, Port'un 2. pininde bulunur. Motorlar, lambalar, röleler vb. için ise dış bir gerilim kaynağına gerek vardır. Bunlarla çoğunlukla 12 Volt kullanılır. Bu kaynağa sahip olmayanlar, Resim 9'da gösterildiği gibi 12
Volt/1 Amperlik bir kaynak oluşturabilirler. Bunu oluşturmak için gerekli parçalar şunlardır: Çok amaçlı bir silisyum diyot (Örn. 1N4001), 12 Volt'luk bir köprü doğrultmaç, 12 Volt ve 1 Amperlik çıkış verimine sahip bir şebeke transformatörü, 4700µF/25 Volt(C1)'lik bir elektrolitik (C2) ve 0,22 µF (C3)'lük iki kondansatör ve 1 A verimli 12 Volt'luk bir regülatör. Regülatörün bağlantı konumlarına çok dikkat etmek gerekir. Ayrıca regülatörün mutlaka bir soğutucu gövdeyle korunmuş olması gerekir.
Burada adı geçen bazı parçaların ne olduklarını bilmiyorsanız, bu sayımızda verdiğimiz küçük sözlüğe başvurabilirsiniz.
Donanımla yakından ilgilenmek arzusundaysanız, ilk küçük kısa devrede moralinizi bozmamalısınız. Ne de olsa kimse anasından usta olarak doğmaz, bu kural Commodore 64'ün donanımı için de geçerlidir.
İkili sayılar
Bir ikili sayı yalnızca sıfırlar
ve birlerden oluşur. Bu nedenle bilgisayar içindeki olayları belirtmeye son derece uygundur, çünkü bilgisayarın içinde verileri ileten TTL hatları yalnızca iki durumu alabilirler (ilgili çerçeve). Bir ikili sayının ondalık sayıya çevrilebilmesi için, dolu bitlerin değerleri toplanır. Bunlar, 128, 64, 32, 16, 8, 4, 2 ve 1, yani 2'nin kuvvetleridir. 7. hat/konum ondalık değer olarak 128'e karşılık gelir, sonraki bitlerin ondalık değerleri buna eklenir. Örnek: 10000010 = 128 + 2 = 130. Tek tek bitlerin denenmesi ve programlanması için, metnin içinde verilen BASIC satırlarını kullanın.