Commodore ö4 ve kopyalama yöntemleri Commodore ö4 hemen hemen genel bir ön kabulle kötü bir Basic derleyici- sine sahip olmasına rağmen özellikle moakina dilinin iyi kullanılabilmesi, kolay- ca değişiklik yapılabilmesi ve popüler- liği nedeniyle dünyanın en çok progra- moa sahip, dolayısıyla program kopyoa- cılığına en elverişli makinedir. Commo- dore ö4'ün program listesi kabardıkça yeni kilit sistemleri ve buna bağlı olarak da yeni kopyalama yöntemleri aman- sız bir yarış halinde geliştirilmekte. Böy- lesi bir gelişimin sonunda korumalı bir programla uğraşirken karşılaşacağımız sorunlar da giderek artmakta, Bugün oar- tık program kopyalanabilir mi sorusu İçin- de, nereden başlamalı, nasıl bir prog- ram, nasıl bir kilitle korunmuş, listesini al- manın bir yolu var mı, hafızanın neresi- ne yerleşiyor vb... sorularını da barındı- riyor. Bütün bunların yanı sıra program- ların kayıt biçimleri (kartuş, disket ya da kaset) de kopyalama açısından ayrıca önem taşıyor. Ama hemen moraliniz bozulmasın. Bütün bu sorunlar, elde- ki her üç kayıt sistemi için süper kopya programları varsa hemen çözülecektir. Kopya programları günümüzde hemen her ülkede pek ucuz olmayan fiyatlar- la ama serbestçe satılmaktadır. Ülke- mizde de kopya programlarını temin etmek mümkündür. Ancak elimizde kopyo programı yoksa her kayıt siste- Mi İçin cıyrı cıyri Çözümler düşünmek z0- rundayız. Ülkemizde şu anda kasetlerin yaygın olarak kullanılmakta olduğunu göz önüne alarak, kartuş ve disket bah- sini kısa geçip özellikle kaset kayıt sis- temi üzerinde durmak istiyoruz. Kartuş kayıt sistemi Kartuşlar çalışma sistemi açısından hemen hemen bütünüyle benzerdir. Kartuşun içinde bulunan 4.8 ya da 1ö K'lık RAM'e program kaydedilmiştir. PROM yazıcı cihazlarla entegre devre- ler üzerine yazılan programlar eğer dufo-run'li iseler, yani RUN komutunu proramın bir parçası olarcık içeriyor ve dolayısıyla yüklenir yüklenmez çalışma- ya başlıyorlarsa kopyalanmaları olduk- ça zordur. Bunun nedeni, bilgisayarın işletim sisteminin, bilgisayar : vılır açıl- maz ÜSER PORT'ÜU (kartuşun takıldığı port) kontrol etmesi ve eğer kartuş var- sa bilgisayarın kontrolünü tamamen kartuşa bırakmasıdır. Ama yine de kar- tuşları kopyalamanın birçok yolları var- dir. Bunlardan biri PROM yazıcı/kopyoa- Icıyıcı aletler kullanılarak, kartuş içindeki M çoğaltmasıdır. Bu kopyalama bi- çım: oldukça kolay olduğu halde, alet- lerin pahalı olması sorun yaratmakta- dir. Disket kayıtları Koruma altına alınmamış disketlerin kopyalanması kadar kolay bir şey ola- maz, hele elimizde iki tane disket sürü- cüsü varsa, Hatta bazı bilgisayarlara bu işlemi kolaylaştırmak için COPY komu- tu bile konmuştur. Böyle kolaylıklar kar- şısında yazılım firmaları, programlarını korumak amacıyla türlü türlü kilit yön- temleri geliştirmeye çalışmaktadırlar. Programları autorun'lı hale getirmek, ya da programın bir parçası olan errorlar, yani hatalı komutları programa okuta- rak disketleri errorsüz çalışmaz hale ge- tirmek, ancak joystick portuna sokulan bir parçanın (dongle) yardımıyla çalı- şan programlar hazırlamak (bu, çok özel bir hardwoare çalışması olduğu için kopyalama açısından büyük sorunlar doğurmaktadır). Commodore öd'ün 1544 “zeki” disket sürücüsünün 40 ka- nal açmasına rağmen 35 kanalla çalış- masından yararlanıp, illegal kanal ola- rak adlandırılan 36-40'ıncı kanallarına programı taşırmak, disket sürücünün kafasının senkronizasyonunu bozarak kanal aralarına program yazmak (half- track) ve bu pr ine halftrack okutmak disket kilitlenmesinde kullanı- lan değişik yöntemlerin bir bölümü. Dis- ket sürücünün işletim sistemi (DOS) bu kilitleme yöntemlerinde çokça kullanı- llyor. (Bu konuda daha ayrıntılı bilgi edinmek isteyenlerin TELETEKNİK tarafın- dan getirilen The Anatomy of 1541 ki- tabiına bakmalarını öneririz.) Disketlerin oldukça iyi korunduğunu görüyoruz. Bu durumda kopyalamaı an- cak bu koruma yöntemlerini ve karşı yöntemleri çok iyi bilerek başarılabilir. Ya da bir süper kopyolama yöntemi bulmak en iyi yoldur. Kaset kcıyıt sistem Ucuzluğundan ötürü ülkemizde en çok kullanılan kayıt yöntemi kaset ka- yıt yöntemidir. Commodore ö4'ün her şeyden önce bir ev bilgisayarı olduğu düşünülürse kaset kayıt yönteminin bil- gisayar sahiplerini bİrçok açıdan tatmin ettiği söylenebilir. Teyp sahibi program arşivcilerinin kopyalama sorunları diğer iki sisteme göre daha azdır. Çünkü ka- set sistemi Commodore kayıt sistemleri içinde kopyalama işlemine en uygun olanıdır. Ne bir minik işlemciye (micro-pro- cessor)ne de bir mantıksal kontrol ara- cıncı sahip olduğu halde yine de kaset kayıt yöntemleri için güçlü koruma programları geliştirilmiştir. Ancak bu ko- ruma yöntemleri genellikle teyp buffer'ı kullanılarak oluşturulmaktadır. Bu koru- ma yöntemlerinin en çok kullanılanı programları autorun'lı (kendi kendine başlayan) hale getirmektir. Bu işlem nasıl gerçekleşir? Buna ce- vap vermek, bu tip programları kopya- lamada ilk adım olarak önem taşımak- tadır. Şimdi hepinizin biraz olsun maki- na dili bildiğini varsayarak bu sistemin işleyiş mantığını açıklamaya çalışcılım. SOZ2A7-$02FF'deki kullanılmayan hafıza Basıc vektör lokasyonlarının sınırlarına dayanır. Bu 5 vektör noktasının her biri rutinin başlangıç adresini içeriyorsa, RUN-STOP/RESTORE girişimleri rutinde otomatik bir sıçramaya yol açacaktır. Bu nedenle bir programı, listing ya da disassembiy için durdurmak, tuşlar ya da keybocrdla mümkün olamayacak- tır. Bu vektör lokasyonları teyp ya da diskten yüklenmişse program yüklenir yüklenmez onların gösterdiği program (run) etmeye başlayacaktır. Bu auto- run'ın bir türlü anlaşılmayan noktasıdır. Auto-run kullanımının püf noktası, bunu sağlayacak programın, vektör lokas- yonları yüklenmeden önce kompüter- de zorunlu olarak bulunmasıdır. Auto- run'in temel amacı, kullanıcının prog- ramı çalıştırmadan önce dökümünü (lis- tingini) almasını engellemek olduğuna göre, lokasyon vektörleri ile birlikte ama onlardan önce yüklenmesi gerekir. Vektörlerden önce, bir program yükle- nebilecek kadar geniş olan tek bölge, SOZA7 ve $01FF arasında kalan bölge- dir. Bu bölge çok geniş olmamakla bir- likte böyle bir işlem için idealdir. Bu bağlamda düşünürsek lokasyon- ların yerlerini (yani Basıc pointerları) de- giştirmek, böyle korunmuş programla- rın duto-run etmesini engelleyebilecek- tir. Bunun için, yazının sonunda bir prı ram listesi ve kullanılışının açıklanması konulmuştur. Ancak daha önce, birkaç ufok uygulamadan örnek vermek istiyo- Auîo -run'li bir programı yüklemeden önce, basit bir POKE içeren bir Basic sa- tırı ile Basic pointerları değiştirmek mümkün olabilir. “Örneğin, programı yüklemeden önce, POKE 4d, 158 verip, programı daha sonra yuklersek büyük bir ihtimalle “syntax error” mesajı ile kar- şılcaşırız. Bu mesajı aldıktan sonra POKE .8 Basic pointerları tekrar eski yeri- ne döndürecektir. Ama program auto- run etmeyecektir. Bundan sonra SAVE komutuyla auto-run etmemiş programı kaydedebiliriz. Bu komutlar makine di- liyle yazılmış ve yalnızca auto-runla ko- runmuş hemen hemen bütün program- lar için geçerlidir. Eğer program Basic dilinde yazılmışsa, Basic belleğinin baş- langıç adresi olan 2048 adresine O'dan 29