İşletim sisteminin RUN-STOP tuşunu kontrol etmesini şöyle sağlayabiliriz: İF PEEK(1)—99 THEN PRİNT “BASILDI” DDR ile İlginç İşler: DRR nedir ve ne tür ilginç işler yapar? Birçok iş yapabilir. Prosesor portu esas olarak ClA'"- lar tarafından kontrol edilen Giriş/Çıkış Portlarıdır. Bu portun altı hattı vardır. Bunlardan üçü Dataset için ayrılmıştır. Bu hatlar hem giriş hem de çıkış olarak kul- lanılır. Hatların hangi yönde kullanıldıkları prosesor portu için DDR (DATA DİRECTİON REGİSTER “Veri Yön- lendirme Sicili”) tarafından belirlenir: Adres Ü. Adre- sin içeriğini BİT düzeyinde inceleyelim: BIT3 :Veri yönü dataset yazma BIT4A :Veri yönü dataset tuşlarının durumu BIT5 :Veri yönü dataset motor durumu Bit değeri 0-GİRİŞ 1-ÇIKIŞ Dataset yazma ve dataset motor durumu ÇIKIŞ'dır. Bunlar kasete yazma durumunda iken dataseti etki- lerler. BIT4 ise daha evvel de belirttiğimiz gibi Data- sette bir tuşa basılıp basılmadığını kontrol eder, Dataset'te Program Kilitleme Teknikleri: Eğer DDR'deki bitleri değiştirirsek ne olur? Aşağıdaki POKE komutu BIT4'ü bir ÇIKIŞ hattı haline getirir: POKEO,PEEK(0) OR 2 4 Bu komut sayesinde ne elde edeceğiz? Üstteki ko- mutu girmemizle birlikte artık BİTA datasetteki tuşla- rın durumunu anlayamaz hale gelecek. İşletim siste- mi PRESS PLAY(&RECORD) ON TAPE mesajı verecek. İstenileni yapsanız bile işletim size OK veya LOAD ve- ya SAVE mesajı göndererek memnuniyetini bildirme- yecek. Aşağıdaki POKE komutunu girerseniz bilgisa- 54 yarınızı bu ümitsiz durumdan kurftarabilirsiniz. POKE O, PEEK(O) AND NOT 2 4 Başka bir kilitleme yöntemi de BİT3'ü değiştirerek olur: POKE O, PEEK(O) AND NOT 2 3 Bu komuttan sonra her şey normal gidecek çıkma- sını beklediğiniz mesajlar çıkacak, datasetteki tuşla- rın durumu kontrol edilecek, SAVE kormnutu çalışır gö- zükecek, ama çalışmayacak. Normale dönmek is- terseniz: POKE O, PEEK(O) AND NOT 2 4 Bu soruna çare aşağıdaki POKE komutudur. POKE O, PEEK(O) OR 2 4 Müzikseti Olarak Dataset: Evet yanlış okumadınız, datasetinizi müzik seti ola- rak kullanabilirsiniz. Nasıl mı? Program döküm ekin- de bulacağınız programı yazıp çalıştırın. Datasetini- ze de sevdiğiniz bir müzik kaseti koyup PLAY tuşuna basın, televizyon veya monitörünüzün sesini açıp ke- yifle kasedinizi dinleyin. Ama bizden söylemesi: Da- tasetten elde edeceğiniz müziğin kalitesi için hiç de iyi şeyler söyleyemeyeceğiz, hayal kırıklığına uğra- mayın, Verdiğimiz programın yaptığı, prosesor portundaki üç GİRİŞ/ÇIKIŞ hattını kontrol etmekten ibaret. Data- set ile bilgisayarımız arasında kullanılmayan bir hat daha var: Dataset okuma (bu hat Dataset yazma hattına eşdeğerdir). Datasetten gelen bütün veri bu hattan gider. Fakat ufak bir problemimiz var: Bu hat diğer hatlar gibi prosesorde son bulmaz -ClA1'e ka- dar devam eder (böylece Seri Port'u bizim kullanımı- mıza açar). Bu yüzden ClA4'İ 13. sicilini kurmamız ge- rekiyor: Aşağıdaki Makine Dili ile uğraşanlar için aynı prog- ramın Makine Dili'nde yazılmış şeklini bulabilirsiniz. 1A0O AO 00 LODY# S00 : SESÜO 1A02 AD ODDC LDA $DCOD : CİA1'deki FLAĞG'ının kontrolü tAO5 C9 00 CMP # $00 : Sinyal yok mu? YA07 FO 02 BES) StAOB : Evet-devam et MAO9 AO OF LDYH#SOF : Hayir-Sesi kapat 4A0OB 8C 48DA STY5DAA8 : ve 24 numaralı SİD yazmacı 1AOE A5 D5 LDASDS — : Klavyeyi oku 1A10O C9 58 CMP # 558 : 88-hiçbir tuşa basılmadı 1A42 FO EC BES STAD0O : Hiçbir tuş-devam et 1A4A4 60 RTS : BASIC'e geri dön Bu ufak programımızı SYS DEC (“4A00*) komutu ile başlatın. Programımızın çalışma prensibi gayet ba- sit: Sinyal kontrolü yapılır. Eğer sinyal varsa ses açılır, yoksa kapatılır. Sesi açıp kapama Makine Dili'nde mümkün olan en ufak döngü içinde yapılmcıya ça- lışılıyor ama sonuçta korkunç bir ses ortaya çıkıyor. Commodore F