baytlık bir ara belleğe depolanır. Böylece bu rutinlere dayalı kullanım- lar, aktarımdarı bağımsız olarak ça- hşabilirler. Aktarılacak baytlar kul- lanıcı program tarafından 51987 ad- resinden (— BASIC, Assembler'de ŞCB60) başlayan rutinler üzerinden çıkış çember arabelleğine iletilir. Esşas çıkış ise İnterrupt sırasında gerçekle- şir. Alınan baytlar aynı şekilde bir In- terrupt gerçekleştirirler ve IRO servis rutini tarafından pgiriş çember arabel- leğine iletilirler. Oradan BYTEGET (ŞCBİD, ondalık 51997) rutini aracı- Name : midil.obj ebüü cbi7 ebül : a9 03 Bd Od de a9 96 Bâ bf cbüğ : G4 de 40 c0 eb Dü Ü00 00 Bâ cbiâ.: Ö0 00 00 SÜ fd se 20 Şe 27 cbiğ ! BT Sa âc GÜ0 eb 08 Te 20 53 ebd0 : 46 eb 28 60 4AB ad Dü de Za Bd 05 de 92 9Ü Ce ad Bi 68 4a 10 cb 10 eb al eb dü ıi eb cbö0 : 28 60 0& V8 d ÜĞ de 29 02 li val &5 &65 ff £7? Öç cb cb iğ Bd a9 ehoğ : O0 76 ae cğ dÜ la e 46 cbdü : Se e8 b ad 03 &d üd 15 ebd& : cb ad 15 üj Üc cb a9 eb cbeü : bi7 Ba 14 03 cb Bd 15 1d cbet : Üğ ad 11 eb dd 12 cb ad T4 ebf0 : Üf eb Sd i0 eb 58 60 03 Si Lığıyla kulltanıcı programa alınabilir- ler. Her defasında bir bayt aküye geri verilir. Çermber arabelleğin ve arabi- rim elemanmın adlandırılması ve aynı zamanda sistem-İnterrupt'unun etra- fından dolaşılabilmesi için diğer ru- tinlerin kullanılmaşından önce, INIT*in (ŞCBO0, ondalık 51968) çağ- tılması gerekir, Kaynak kodlarının dökümünü bu sayımızın okuyucu ser- visi bölümünde bulabilirsiniz. Dö- küm 2, gönderme ve alma rutinleri- nin denenmesi için kısa bir demo programı (lütfen Checksummer kul- lanın ve SAVE “MİDİTEST”, 8 ko- mutuyla saklayın). Kapalı durumdaki bilgisayarmızın expansion portuna FRÜGRAM ADI : HİDİ TEST ddi REM *& MİDİ TEST &x s0iz: ÖnO153 5YS Tiges ÇOR ) ; ABO2A For İ-1 T & <osH: EB30 RERO E:FRİNTİ E, gA? : Aöfdü 5v5 S1987.E iğde: SOA5E RNEKT | <134> #Ö06l FOR I-i Tü & .B34 4; APOöFO 5y5 Bıaay itdü: BAdöğ FRİNT PEEk.(YEğİI,PEEkR . Föğfa 1 l103:; BBRGEA HEKT 3 SİYFTA; GA1BE DaTa de,TLALA A ELEF;A ı2544 MEDI arabirimini takın ve MIDI-Out çıkışmdan bir kabloyu MIDIE-İn giri- şine bağlayın. Şimdi C 64'ünüzü açın ve önce assemler rutinin ve sonra de- mo programını yükleyin. Bunu yap- mak için LOAD“MIDI1.OBİI”,8,8 VE LOAD “MIİDIİTEST”,8,0 satırlarını yazmanız ve ardından RUN etmeniz gerekiyor. Bunu yap- tığınızda arabirim, DATA satırındaki raslansal sayıları kendisine gönderir ve gönderilen ve alınan verileri ekran- da görüntüler. Sayıların birbiriyle uyuşması durumunda MIDI arabiri- mi ve sürücü rutinleri uyumlu bir şe- kilde birlikte çalışırlar. Eğer ilginiz çekerse, rutinleri, © 64'ten datresel bir MIDI ağında an- İlamlı bir veri aktarımı oluşturacak şe- kilde geliştirebiliriz. Bunu yaparken kendinize özgü program çözümleri üretmenizi sağlamak için, ağ yazılım- larımrın oluşturulmasına ilişkin bazı temel bilgilere sahip olmanız gerekir. Çember biçimli bağlantı, bu sayımız- daki “Bilgisayar Bağlantı Ariyor” yazımızda açıklanıyor. Bu bağlantı- da, çember içinde aktarıları bilgilerin istasyondan istasyona iletilmesi ge- rektiğini görüyorsunuz. Bu iş, ağ ya- zılımı tarafından olabildiğince gecik- mesiz olarak yapılmalıdır. Bu sırada işlemciden oluşan ağır yükün yanı sı- ra, MIDI-Thru üzerinden yapılan do- nanım destekli veri aktarımına oranla daha büyük bir zamansal gecikme or- taya çıkar. Ayrıca çember içinde yol- lanan tüm bilgilerin adres verileriyle donatılmış olması gerekir. Müzik enstrümanları için geçerli olan MIDI aktarım standardında, doğru alıcı is- taşyonunun bulunabilmesi için, her bilgi paketinin kendinden önce yol- lanatn bir durum baytını takip etme- si gerekir. Bu durum baytının betim- lenmesi için kullanılan &n yüksek de- ğerli bit, 1.*dir. Bu durum baytırın diğer yüksek değerli üç bitiş komut modunu belirtir. Bilgiyi alan enstrü- mana, bir sesin başlamasını, sonunu veya ton değişikliği, ses yüksekliği (Pitch-Bendi) vb, diğer MIDI fonksi- yonlarını yerine getirmesini bildirir. Düşük değerli 4. bitle olası 16 akta- rım kanalından biri seçilir. Bilgisayarlar arasında veri aktarı- munda bu yolla birbirinden farklı 16 adreşin oluşturulması mümkün. Ay- rıca üç komut biti aracılığıyla sekiz farklı işletim türü tanımlamak da mümkün, Fakat bu bitleri kullanarak yapılacak en yararlı iş, daha sonra ge- len veri baytlarımın sayısını bildir- mek. Bu bilginin iletilrmesinden kaçı- nilacak olursa, bir veri baytının en yüksek değerli bitinde | bulurmama- sı gerekir, aksi takdirde bunu bir du- Tum bitinden ayırmak olanaksızdır. Böylece aktarılacak verilerin 8 bitlik bir yapıdan 7 bitlik bir yapıya dönüş- türülmesi gerekiyor. Bunun yapılmması hesaplama ve program kullanımını oldukça hızlandırıyoar.