LAST NINJA
TEAM BRONX alıp koşa koşa arkadaşımın evine gittim. Yüklediği oyunun adı LAST NINJA II idi. Bu günden sonra her Commodore'cunun ağzında ya LAST NINJA I ya da LAST NINJA II ile ilgili sözler dolaşmaya başladı. Evet bu iki oyun da C-64'ün en çok satan klasik oyunlarından biri olmuştu. Bu oyunu oynayanlar artık oyunu bitirmek için ellerinden gelen her şeyi yapmak için büyük çaba sarf ediyorlardı. Her neyse, bu olaylar geçmişte kaldı. Geçenlerde elime yeni bir parti oyun geçti. Disketlerin directory'sine bakarken bir de ne göreyim LAST NINJA III. Çok şaşırdım ve de sevindim. Hemen programı yükledim, oyun yine SYSTEM III firması tarafından yapılmıştı. Ama SYSTEM III, eski elemanları tarafından değil. Yani eski LAST NINJA'ları yapan ekip bu yeni versiyonu hazırlamamıştı. Bu yeni versiyon, Avrupa'da yaşayan bir kırıcı grup, X-RAY tarafından yapılmıştı. Ve SYSTEM III'e programın telif hakları satılmıştı. Oyunun oynanışı aynı ilk bölümlerde olduğu gibi. Amacınız da hemen hemen daha önceki bölümleri andırıyor. Grafik olarak eskilerinden çok daha mükemmel. Hatırlayacağınız gibi daha önceki bölümlerde de eşya toplama olayı vardı. Toplayacağınız obje, odaya girdiğiniz sırada bir kere parlıyor daha sonra da kayboluyordu. Yani ilk seferde gördünüz gördünüz, yoksa objeyi bulmanız çok zor oluyordu. Last Ninja'nın bu bölümünde ekranın sağ üst köşesinde bulunan bir pencere var: İşte orada toplamanız gereken parçalar gösteriliyor. Ekrandaki renk kalitesi aynı AMIGA gibi. Çok renk kullanılmış ve oyun daha canlı bir hale getirilmiş. Oyunda dövüştüğünüz adamlar şunlar: * POLİSLER: Evet yine ellerinde cop size saldırıyorlar. * SKİNHEAD'LER: Dazlaklar. Kimisinin elinde bıçak, kimisinin elinde beyzbol sopası ve kimisinin elinde de zincir bulunmakta. * PUNK'LAR: Bunlar da SKİNHEAD'lere benziyor. * CELLATLAR: Size saldıranların bir grubu da bunlar. Oyun içindeki ilerlemeler, hareketler aynı LAST NINJA II'ye benziyor. Bazı bölümlerde adamınız ilerleyemiyor. Buraları geçmek için takla atarak ilerleyin. Klavyeden 'P' tuşuna basarak oyunu dondurabilirsiniz. Ayrıca 1-2-3-4-5-6-7-8-9-0 tuşlarına basarak değişik odalara ışınlanabilirsiniz. Oyun mahzen, zindan gibi yerlerde geçiyor. Amacınız buradan kaçmanın yollarını bulmak ve bu arada size saldıran kişileri öldürmek. Size saldıran biri ile dövüşürken diğer bir elinizle “SPACE” (boşluk tuşu) tuşuna basarsanız rakibinizi daha kolay imha edebilirsiniz. Ekran dizaynı şöyle. Yine ekranın kısmı oyunu oynadığınız alan. Sol alt köşede sizin ve dövüştüğünüz kişilerin enerjisini gösteren bölüm var. Dövdüğünüz adamlar bir süre sonra enerjileri tam olarak ayağa kalkabiliyorlar. Bu yüzden bir adamı bayıltınca hemen o ekrandan almanız gereken objeyi alın ve odayı terk edin. Enerji panosunun yanında skor tablosu bulunmakta. Onun yanında yine bir ninja resmi bulunmakta. Sağ üst köşede de almanız gereken objeyi gösteren bölüm var. Evet aslında bu oyun anlatmakla olmayacak bir şey değil. Kendinizin görmesi gerek. Esrarengizlikten hoşlananlar bu oyuna bayılacaklardır çünkü oyun mahzenlerde, zindanlarda, işkence odalarında ve garip yerlerde geçiyor. (oyun LAST NINJA PLAYABLE PREVIEW VERSION'u yani oynanabilir demo versiyonu. Commodore 64 hayranı iseniz işte bu oyun tam size göre, Bana kızmazsanız şunu da eklemek istiyorum. Şu anda açıklamış olduğum oyunun tam çözümünü de açıklarız! Özellikle bir de LAST NINJA oyun içerisinde en az 30-40 oda bulunmakta, Çok yakında oyunun tam versiyonu gelir. O zaman da (başarabilirsek) oyunun tam çözümünü de açıklarız! Özellikle bir de LAST NINJA Grafik Müzik Oynanabilirlik 8 Genel 9)
Bir aylık bir aradan sonra GEOS programlama kursuna devam ediyoruz. Artık bu yazı dizisi sadece GEOS programlamasını değil; GEOS Desktop, geoWRITE, geoPAINT gibi GEOS programlarının kullanımlarını ve gizli yönlerinin açıklanmasını da kapsayacak. Yani bu aydan sonra tek başlık altında iki konuyla devam edeceğiz.
GEOS PROGRAMLAMA KURSU
Bu ayki program konumuz GEOS grafik rutinlerinin makine dilinden çağrılması. Daha önce de belirttiğimiz gibi GEOS, menüler, ikonlar, pencereler gibi özellikleri desteklemek için yüksek çözünürlük (high resolution) grafik ekranını kullanır. Eğer yüksek çözünürlüklü grafik ekranlarıyla aranız iyi değilse, ya dergimizin eski sayılarında yayınlanmış yazılardan ya da “Programcının El Kitabı”ndan bu konu hakkında bilgi edinmeniz, yazıyı daha rahat anlamanız açısından oldukça yardımcı olacaktır. En genel anlamıyla ekrana herhangi bir şey çizmek, ekran RAM'inde bulunan bazı bitleri “1” veya “0” yapmaktır. Değeri 1 olan bitlere “önplan rengi”, 0 olanlara ise “arkaplan rengi” adı verilir. (DİKKAT!! bu “önplan-arkaplan” kavramı normalde kullanılanından farklıdır. C-64 işletim sisteminde “önplan” ekranın rengini, “arkaplan rengi” çerçevenin rengini belirtir.) GEOS'un normal ön/arkaplan rengi koyu gri/açık gri olarak belirlenmiştir (Hâlâ değiştirmediyseniz). Bu size biraz ters gelebilir çünkü genelde boş bir ekran siyah (ya da koyu bir renk) olarak düşünülür. Oysa bizde bunun tam tersi geçerli. Açık renkli bir ekran üzerine koyu renklerle yazı yazıyoruz. Bu tür kavramların kafanızı karıştırmasına asla izin vermeyin. Bu arada dikkat etmeniz gereken şey GEOS rutinlerinin grafik ekranının renk RAM'ını hiçbir şekilde etkilememesi. Yani değişik renkte bir şeyler çizmek isterseniz, programınızın renk RAM'ını da ayarlaması gerekiyor. geoPAINT programı da renkler konusunda bu yöntemi kullanmaktadır. GEOS grafik destek rutinlerinin en önemli özelliklerinden biri de bir “tampon grafik ekranı” bulundurmasıdır. Bu tampon ekranda asıl ekranın bir kopyası bulundurulup ve asıl amacı herhangi bir anda ekranın belli bir bölgesini eski haline çevirmektir. Bir bölgeyi eski haline getirmek terimi, bu bölgenin eski içeriğini tampon ekrandan asıl ekrana kopyalamak olarak açıklanabilir. Bu özellik çizim
Celal & Vedat Hallaç programlarına “UNDO” işleminin eklenmesini oldukça kolaylaştırır. Özellikle menüleri kullanırken tampon bölgeye sık sık başvurulur. Bir menü elemanını seçtiğinizde, tampon ekrandan menü boyutlarında bir bölüm olduğu gibi ana ekrana kopyalanır. Böylece menünüz kapanmış olur. GEOS'un bir özelliği de, yapılan grafik işlemlerinin ana ekrana mı, tampon ekrana mı yapılacağını $002F adresinin (“displayBufferOn” label'ıyla tanınır) değerine göre belirlemesidir. Bu işlem için $002F adresinin 6. ve 7. bitlerine bakarak karar verilir. Eğer 7. bitin değeri 1 ise ana ekrana, 6. bitin değeri 1 ise tampon ekrana çizim yapılır. İki bitin değeri de 1 ise her iki ekrana da çizim yapılır. $2F adresinin en yaygın kullanım şekli, herhangi bir grafik işlemini sadece bir ekrana yaptırmak, dolayısıyla sonradan kolayca silinmesini sağlamaktır. Bazı programlar belleğe öylesine muhtaçtır ki, tampon ekranını programı yerleştirmek için kullanır. Bu durumda menüleri nasıl kullanacaklar acaba? sorusunu duyar gibi oluyorum. Programda hiç menü kullanmamak bir çözüm tabi ki. Fakat GEOS'u tasarlayanlar bunu da düşünmüşler ve “RecoverVector” adlı bir vektör tanımlamışlar ($84B1-$84B2 adresleri). Bu vektör normalde RecoverRectangle (Bu rutin ne yazık ki gelecek sayıya kaldı!) rutinin adresini saklar ve GEOS bir menü veya herhangi bir alanı tampon ekrandan kopyalamak istediği zaman RecoverRectangle rutinini çağıracakmış gibi hazırlık yapar ve RecoverVector vektörünün sakladığı adrese bir sıçrama yapar. Eğer tampon ekranı ek RAM olarak kullanmayı düşünüyorsanız, yapmanız gereken şey, dikdörtgen alanların içeriğini saklayacak bir rutin yazmak ve RecoverVector vektörünün adresini burayı gösterecek şekilde ayarlamaktır. Tabi daha basit bir yol da var. Eğer her çağrıldığında ekranı yeniden çizecek bir rutin yazarsanız, ekranın belli bir bölgesinin saklanması ihtiyacı ortadan kalkar. Böylece hızdan kaybedersiniz ama RAM'dan oldukça tasarruf edersiniz. Bu kadar teorik bilgiden sonra pratik rutinlere geçme zamanı geldi sanırım. İşte en temel rutin olan çizgi çizme rutini ile başlayalım. Çizgiler, yatay-dikey çizgiler ve çapraz çizgiler olarak iki gruba ayrılırlar GEOS'un gözünde. Yatay ve dikey çizgileri kullanırken bir desen baytı kullanabilir ve bu sayede değişik şekillerde noktalanmış çizgiler elde edebilirsiniz. Buna karşılık çapraz çizgiler sadece tamamen dolu olarak çizilebilirler. Yatay ve dikey çizgilerde kullanılacak olan desen baytı sağa veya sola kaydırılmadan olduğu gibi çizilir ve gereken yerleri silinir. Bu sayede alt alta gelen çizgilerin boyları farklı bile olsa, desenlerin tüm baytlarının 1 ve 0'ları alt alta gelir.
GEOS Kernal'ı, desen baytının 0. biti grafik ekranındaki 0. bite denk gelecek şekilde ayarlar ve çizginin doğru noktalarda başlayıp bitmesi için baş ve sonda bulunan fazla bitleri siler. Bu konuda tam olarak bir fikre sahip olmak için yukarıdaki tabloyu inceleyin. Dikey doğrular da benzer şekilde çizilir fakat desen biti 90 derece çevrilir. Dikey doğruların tek problemi yatay doğrulardan daha yavaş çalışmasıdır. Eğer grafik ekranında bayt dizilimini incelerseniz hemen sebebini anlarsınız. Yatay doğru çiziyorsanız, 8 nokta için 1 bayta değer vermeniz gerekir. Oysa dikey doğrularda her nokta için 1 bayt harcamanız gerekir. Bunun yanında sadece bir biti değiştirmek bit değerini o baytla “OR”lamanız gerekir. Bu yüzden dikey doğrular yataylarına oranla en az sekiz kat yavaş çalışırlar. Çapraz çizgiler ise büyük problemler yaratacağı için tamamen içi dolu olarak çizilirler. Bu problemlerden en büyüğü çözünürlüğün yeterli olmamasından dolayı çapraz görüntünün bir miktar bozulmasıdır. Zaten tam düzgün olmayan çizgiye bir de desen eklemeye kalkınca iyice dağıldığı için GEOS'u yazanlar çareyi çapraz çizgilere desen olanağı tanımamakta bulmuşlar. Şimdi de doğru çizmekle ilgili rutinleri inceleyelim:
Desen byte
ç
Yazılmayan bits
TAA
Byte sınırları
1) DrawPoint (NoktaKoy) - $C133: * Fonksiyonu: Ana veya tampon ekranda istenen bir noktaya önplan veya arkaplan renginde nokta koyar veya ana ekrana tampon ekrandan bir nokta kopyalar. * Erişim: Nokta koyuluyorsa (tampon'dan kopyalanmıyorsa)
displayBufferOn ($2F) —
- bit 7=1; ana ekrana yazar. - bit 6=1; tampon ekrana yazar.
* Gerekli hazırlık: İşaret flag'ı (sign flag) - noktanın yazılmasına veya tampon'dan kopyalanmasını ayarlar, 0 ise nokta doğrudan yazılır. Elde flag'ı (carry flag) - eğer işaret flag'ı yazılım için 0 yaparsanız, elde'nin 1 yapılması (SEC komutuyla) önplan renginde, 0 yapılması (CLC) ise arkaplan renginde nokta konulmasını sağlar. r3 - x: noktanın x koordinatı. (0-319)
- y: noktanın y koordinatı. (0-199) * Dönüş değerleri: r3, r11L - aynı değer. * Bozulan registerler: a, x, y, r5-r6 * Açıklama: İşaret flag'ının değerine göre ekranda önplan veya arkaplan renginde nokta koyar veya tampon bölgenin o koordinattaki değerini kopyalar. Eğer işaret bayrağı 1 ise tampon'dan kopyalama yapılır. 0 ise elde flag'ının değerine göre renk belirlenerek nokta koyulur. 2) TestPoint (NoktaKontrol) - $C13F: * Fonksiyon: Elde Flag'ında (carry flag) istenen noktanın değeri bulunur, r3 - noktanın x koordinatı (0-319) r11L - noktanın y koordinatı (0-199) * Dönüş değerleri: Elde Bayrağı - nokta önplan rengindeyse değeri 1, arkaplan rengindeyse 0 olur.
r3, r11L - aynı. * Bozulan registerler: a, x, y, r5-r6 3) HorizontalLine (YatayÇizgi) - $C11B: * Fonksiyon: Verilen deseni kullanarak bir yatay çizgi çizilir. * Erişim: displayBufferOn ($2F)
- bit 7—1: ana ekrana çiz. - bit 6—1: tampon ekrana çiz.
* Gerekli hazırlıklar: a - çizgide kullanılacak desen baytı - çizginin y koordinatı (0-199) r3 - çizginin sol ucunun x koordinatı r4 - çizginin sağ ucunun x koordinatı r3, r4: (0-319) * Dönüş Değerleri: r11L-aynı * Bozulan Registerleri: a, x, y, r5-r8, r11H * Açıklama: r3'den bir yatay doğru çizer. Desen değeri doğrudan ekran RAM'ına yazılır. Böylece aynı desenli tüm çizgilerde noktalar alt alta gelir. 4) VerticalLine (DikeyÇizgi) - $C1E: * Fonksiyonu: Verilen deseni kullanarak bir dikey çizgi çizer. * Erişim: displayBufferOn ($2F)
- bit 7=1: ana ekrana çiz. - bit 6=1: tampon ekrana çiz.
* Gerekli Hazırlık: a - desen baytı r3L - çizginin üst köşesinin y koordinatı r3H - çizginin alt köşesinin y koordinatı r4 - çizginin x koordinatı. r3L, r3H - (0-199); r4 - (0-319) * Dönüş değerleri: - * Bozulan registerler: a, x, y, r5L-r6L, * Açıklama: r3L'den r3H'ye bir dikey doğru çizer. Desen değeri 90 derece çevrildikten sonra ekran RAM'ına yazılır. Böylece aynı desenli tüm çizgilerde noktalar yan yana gelir. 5) InvertLine - $C11B * Fonksiyonu: x koordinatları ve-
“rilen bir yatay çizginin geçtiği noktalardaki önplan rengini arkaplan rengine, arkaplan rengini önplan rengine çevirir. * Erişim: displayBufferOn ($2F)
- bit 7—1: ana ekrana çiz. - bit 6— 1: tampon ekrana çiz.
3 Gerekli hazırlıklar: r1L - çizginin y koordinatı (0-199) r3 - çizginin sol ucunun x koordinatı - çizginin sağ ucunun x koordinatı r3, r4: (0-319) * dönüş değerleri: r1L, - aynı * Bozulan Registerler: a, x, y, r5-r8 * Açıklama: Yatay bir çizginin geçtiği noktaların değeri 1 ise 0'a, 0 ise 1'e çevirir. 6) RecoverLine (ÇizgiKopyala) - $C11E: * Fonksiyonu: Tampon ekrandan bir yatay çizgi kopyalar. * Gerekli hazırlıklar: r1L - çizginin y koordinatı (0-199) r3 - çizginin sol ucunun x koordinatı r4 - çizginin sağ ucunun x koordinatı r3, r4: (0-319) * Dönüş değerleri: r1L - aynı * Bozulan Registerler: a, x, y, r5-r8 7) DrawLine (ÇizgiÇiz) - $C130: * Fonksiyonu: Ön veya arkaplan renginde bir çizgi çizer veya bu çiz-
giyi tampon ekrandan kopyalar.
*
displayBufferOn ($2F)
- bit 7—1: ana ekrana çiz. - bit 6—1: tampon ekrana çiz.
* Gerekli Hazırlık: işaret flag'ı: 1 - tampon ekrandan kopyala 2 - seçilen ekrana çiz elde flag'ı: 1 - önplan renginde çiz 2 - arkaplan renginde çiz r3 - x1: ilk noktanın x koordinatı r4 - x2: ikinci noktanın x koordinatı r1L - y1: ilk noktanın y koordinatı r1H - y2: ikinci noktanın y koordinatı r3, r4 - (0-319), r1L, r1H - (0-199) * Dönüş Değerleri: - * Bozulan Değerler: a, x, y, r3-r13 * Açıklama: GEOS ekranında verilen herhangi iki nokta arasında BRESENHAM algoritmasını kullanarak bir doğru çizer. GEOS Kernal, işaret ve elde flag'lerinin değerlerine bakarak doğruyu ön veya arkaplan renginde çizebilir, ya da tampon ekrandan grafik kopyalayabilir.
GEOS KULLANIM KURSU
Bu ay için yeterli derecede GEOS programlama okudunuz. Biraz da nasıl kullanacağınızı görelim. Geçen ay GEOS'un çalışma sistemi, kopyalanış ve çalışma disklerinin yapılışı, desktop'un işlevleri ve bunların kullanılışı hakkında gerekli bilgiler üzerinde durmuştuk. Bu yazımızda da geoPAINT kullanımına başlıyoruz. Commodore 64 ile masaüstü yayıncılığa atılan ilk adım, yani geoPAINT, kullanımı kolay ve tam olarak A4 (21 x 29.7 cm) ebatlarında printer, plotter veya LASER printer'ınıza çıktı alabileceğiniz,
İK miş
Commodore 64 için oldukça gelişmiş bir çizim programıdır. Bu program, çizimlerinizi döküman dosyalar olarak saklar ve bu döküman dosyalara daha sonra da ekleme ya da çıkarma yapmanızı sağlar. geoPAINT programını yüklemek için desktop'ta, altında GEOPAINT yazan ve ikonunda bir renk paleti üzerinde de bir fırça bulunan ikona gelip bir kez butona (ateş tuşuna) basıp yukarıdaki .FILES menüsünden OPEN'ı seçmelisiniz. Evet artık geoPAINT programının açılışını yapmış bulunuyoruz. Karşımızda geoPAINT'ın editörü ve ekranın ortasında, içinde Please Select Option: Create new document Open existing document Quit to desktop yazıları bulunan bir diyalog kutusu (bu tip, soru yanıtlamanız gereken, pencerelere verilen ad) var. Burada yapabileceğimiz üç şey var: yeni bir döküman açmak (Create), eski dökümanlardan birine devam etmek (Open) ya da buraya yanlışlıkla geldiyseniz desktop'a geri dönmek (Quit).
YENİ DOSYA AÇMAK
Yeni dosya açmak için CREATE butonuna basın ve döküman ismini girin. Ekranda oldukça büyük bir pencere açılacak ve sağ üst köşesinde döküman ismi yeralacaktır. Edit ekranınızın yerleşimi, sol üst komut menüsü, altında çizim ikonları, sol altta patern göstergesi, bunun sağında sayfanın neresinde bulunduğunuzu gösteren kutu ve ortada çizim penceresi şeklindedir. Tüm işlemlerinizi joystick ya da mouse ile kontrol ettiğimiz mouse'umuz (ok) ile yapacağız. İlk yapacağımız iş ekranda kullanacağımız renkleri seçmek olacak. Bunun için çizim ikonlarından olan COLOR'ı seçmeliyiz. Bu işlem sonucunda sağ alttaki pencerede iki sıra renk tablosu belirecektir, bunlardan paint (boya) önplan rengini ve canvas (tual) ise arkaplan rengini gösterir. İstediklerinizi seçin ve çizime başlayın. Eğer siyah/beyaz çizim yapmak istiyorsanız bunu sağlamanın kolay bir yolu var, OPTIONS komut menüsünden COLOR OFF komutunu seçmek.
ÇİZİM ALETLERİ
Ekranın solundaki çizim aletlerini anlatmanın zamanı geldi; bu işi yukarıdan aşağıya doğru yapacağım. En üstte solda dört yöne uzanan ok, çizim pencerenizi tüm sayfanın üzerinde istediğiniz yere götürmenizi sağlar, yanındaki küçük pencere resmi ekran üzerinde pencere oluşturarak bunun içindeki çizimi silmeye, kopyalamaya, yerini değiştirmeye, 90 derece çevirmeye vb. işlemlerin yapılmasına yarar. Bir alt sırada, musluk kapalı bir şeklin içinin doldurulmasına, airbrush ise püskürtme ile çizim (paternleri de kullanabilir) yapmaya, aşağıda cetvel ölçüme, çizgi ise düz çizime yarar. Fırça, seçeneğiniz fırça ve paternle, kalem ise joystick ile direk çizim yapmanıza yarar. Silgi ile, bir karenin yardımıyla edit penceresinde istediğiniz yeri silmenizi sağlar. Büyük T (T), text yani yazı yazmanızı sağlar. Yazının font, punto ve stilini yukarıdaki fonts bölümünden ve aşağıdaki stillerden seçebilirsiniz. COLOR ile renk ayarlarını, UNDO ile son yaptığınız işlemin iptalini sağlayabilirsiniz. Sol alttaki büyük çerçeveli pencere size hangi patern ile çalıştığınızı gösterecektir, eğer paterninizi değiştirmek isterseniz bu pencerenin içinde klikleyin ve çıkan paternlerden herhangi birini seçin. Çizim işlemleriniz bitince FILE bölümünden “close” komutu ile çıkın, GEOS çiziminizi kaydedip desktop'a geri dönecektir. Eğer çiziminizin printer'dan çıktısını almak isterseniz, desktop'a sol üst köşedeki GEOS menüsünden “select printer” aracılığıyla printer tipinizi tanımlayıp kaydettiğiniz dökümanı mouse aracılığı ile sağ alt köşedeki printer ikonuna götürüp bir kez klikleyin ve nefis GEOS çıktınızı alın.
Çizim yapmayı öğrendik fakat ödevlerimizi de hazırlayabileceğimiz bir kelime işlem programımız olsa fena olmaz hani. İşte geoWRITE bunu bizim için hemen hallediyor, ayrıca kullanımı çok çok basit. Dökümanlarımızı yaptığımız biçimde açıp kapayacağız, yapmamız gereken tek şey gerekli fontu seçip stilini de belirledikten sonra yazmaya koyulmak. Öğrenilmesi gereken bir şey de mouse yardımı ile belli yerlerde gereken değişiklik olursa bunu nasıl yapacağımızdır. Mouse'unuzu değişimin yapılacağı yerin başına getirip butona basılı tutarak değişimin yapılacağı yerin sonuna kadar götürmek, seçtiğiniz yerde bir renk değişikliğine sebep olacak ve o bölgede yapacağınız değişikliği bekleyecektir. Bu durumdayken fontu değiştirirseniz bölgedeki yazının fontu, stili (style ile) değiştirirseniz yazının stili değişecektir. Ayrıca aynı durumda (değişim bölgesi seçilmiş halde) del tuşu o bölgeyi siler, boşluk (ara) çubuğu ise o arayı boşlukla doldurur. Sayfanız dolduğunda geoWRITE kendiliğinden bir sonraki sayfaya geçecektir. İstediğiniz sayfanın erişimini yukarıda, döküman isminin bulunduğu pencerenin solundaki kutudan yukarı veya aşağı oklarla sağlayabilirsiniz. Sayfa kesme işlemi ise OPTIONS menüsünden page break komutu ile yapılabilir. C-64 klavyesinde tab tuşu olmadığından bunu CONTROL-I ile (CTRL-I) yapabilirsiniz. Tab ile gideceğiniz yer(ler) yukarıda cetvel şeklindeki bölümün altındaki küçük üçgenlerle belirlenir. Kolay okumayı ve edit etmeyi sağlamak için ise cetvelin altında, soldaki M şeklindeki marjin göstergesini 5 inch sağa çekerek yapabilirsiniz. Bu sayfanın sağa kaymasını engeller ve daha kolay okuyup yazmanızı sağlar. İşiniz bitince marjin işaretini tekrar yerine alırsanız her şey yerli yerinde olacaktır. Bir önerim daha var, çalışırken arada sırada da olsa yazınızı kaydedin ki herhangi bir kazaya kurban gitmesin. Bunu yapmak için FILE menüsünden UPDATE FILE komutunu seçmelisiniz.
Bu aylık GEOS kursumuz buraya kadar, takıldığınız ya da merak ettiğiniz her şeyi lütfen bize yazın, elimizden geldiğince size yardımcı olacağız. Hepinize Commodore'lu günler dileriz.
Introların Püf
Noktaları
SAYIN Commodore Dergisi Hazırlayanları, öncelikle böyle güzel bir dergi hazırladığınız için bir Commodore'cu olarak size teşekkür ederim. İnanın derginizin her geçen sayı biraz daha geliştiğini görmek bizleri çok mutlu ediyor. Bu mektubu dergide yeni başlayan bir yazı dizisi ile ilgili birkaç sorumu yanıtlamanız ricası ile yazıyorum. Sözünü ettiğim yazı “Makina dilinin Püf Noktaları”... Ben son bir aydır Intro ve Demo'lara dolayısı ile interrupt ve makina diline merak sardım. Bu yazı diziniz de tam zamanında imdadıma yetişti. Size sorum şu; Oyunların başında olan introları çalıştırmak için gerekli olan başlangıç adresini o programda nasıl bulabiliriz? Kimi 4096 ile kimi 2064 vb.
adreslerde çalışıyorlar. Gerçi siz sayıda bu konuya biraz değindiniz, ama bu beni tatmin etmedi. Daha doğrusu biraz kafamı karıştırdı. Bahsetmiş olduğunuz Low ve High byte'lar interrupt'ın başlangıç adresinin bulunduğu adresler midir? Bir de her intro veya demo mutlaka bir interrupt mıdır? İlginize ve yardımlarınıza teşekkür eder, yayın hayatınızda başarılar dilerim. Saygılarımla MEHMET ÖZ
SAYIN Mehmet Öz, Intro'larla ilgilenmenize, daha doğrusu makina dili ile ilgilenmenize sevindim. Intro'ların başlangıç adreslerini bulmaya gelince; bunu bulabilmeniz için bazı programlara (makina dili monitörü) ya da bu programlardan birini içeren ek kartuşlara ihtiyacınız var. Ben, bunlardan birine sahip olduğunuzu var sayarak, kullanmanız gereken yöntemi size kısaca anlatacağım. Bu tür programlar basic listesinin bitiş adresinden hemen sonra makina dilindeki programlara başlarlar. Basic bir “SYS” komutundan ibaret olacaktır ve bu “SYS” adresi size intronun başlangıç adresini verir. Eğer programı “RUN” ile çalıştırmadan önce, monitör aracılığı ile, başka bir yere kaydederseniz intro'yu almış olursunuz. Programın tamamını kaydetmeniz gerekmez, sadece intro'nun bulunduğu yeri kaydetmeniz yeterli olur. Çalışmalarınızda size başarılar diliyorum.
Yoksa Virüs mü?
SAYIN Commodore Dergisi Yetkilileri, Öncelikle bizlere böyle güzel ve yararlı bir dergiyi hediye ettiğiniz için sizleri candan kutlarım. Benim sorunlarım A-500 ile ilgili; 1) Bazı oyunlarda (Pirates, Zak McKracken vb.) oldukça ilerledikten sonra ekranın üst bölümünde dikdörtgen, kırmızı bir pencere içinde
“read/write error” hatası verip duruyor. Mouse ile tıkladığımda o oyunun ilk disketi sürücüde olduğu halde ilk disketi istiyor ve sonunda kilitleniyor. Ne yapabilirim? Acaba hata bende mi? 2) Maniac Mansion'un AMIGA versiyonunda eve giriyorum ve ikinci kata çıktığımda nükleer reaktöre bağlı bir (şifreli) kapı ile karşılaşıyorum. Bir türlü geçemiyor ve havaya uçuyorum. Acaba bu şifre nedir? Sorularımı cevaplarsanız çok memnun olacağım. Şimdiden çok teşekkürler.
MURAT GÖKŞEN
SAYIN Murat Gökşen, Birinci sorunuzun yanıtı çok basit, adı geçen oyunların elinizdeki kopyaları arızalı. Muhtemelen disketiniz bozulmuş, programlarınıza virüs bulaşmış olması ihtimali de var tabii. Disketlerinizi formatlayın (bu işlem programlarınızı silecektir), eğer formatlarken bir problem çıkmazsa ya virüslerle başınız dertte ya da kopyaladığınız yerdeki program da arızalı. Bunu anlamanın daha kolay yolu ise bu programların bulunduğu disketleri virüs dedektör programları ile bir kontrolden geçirmek. Disketinizde virüs bulursanız size tavsiyem, diğer disketlerinizin tamamını hemen kontrolden geçirmeniz ve bunu da iyi bir virüs dedektör ile yapmanızdır. Eğer disketiniz format işleminde problem çıkarıyorsa disketinizi bardak altlığı olarak kullanma zamanı gelmiş demektir. İkinci sorunuzun yanıtını ise ancak dergimizin “TANITIM” ya da “TİYOLAR TUZAKLAR” bölümlerini takip ederek öğrenebilirsiniz. Bol oyunlu ve virüssüz günler dileğiyle.
49
Modemler Hakkında
SAYIN Commodore Dergisi Yayıncıları, Derginizin başarılarının devamını diliyor ve sizlerden Modem hakkında geniş bilgi vermenizi rica ediyorum. İlginize şimdiden teşekkürler. Saygılarımla.
ALİ ALPER
SAYIN Ali Alper, Değindiğiniz konu gerçekten çok önemli çünkü bu konuda bilgi isteyen oldukça fazla mektup aldık ve bunun üzerine bu konuda bir araştırmaya girişip, bir yazı hazırlamaya karar verdik. Bu yazı oldukça kapsamlı olduğundan size şimdilik kısa bir açıklama yapacağım. İlkel modellerine “Akustik Kopler” adı verilen Modem, telefon aracılığıyla data (program) iletme işlevini görür. Çeşitli hızlarda çalışabilen modelleri mevcuttur ve uzak mesafelerde bilgisayarlar arası iletişimi sağlar. Henüz ülkemizde pek yaygınlaştığı söylenemez, fakat ilgi her geçen gün daha da artmaktadır. Basit olarak açıklamak gerekirse, evinizde bilgisayarınıza bağlı bir modeminiz varsa bununla modemi olan başka bir arkadaşınızı ya da modem servisi verebilen kulüpleri arayabilir ve program alışverişi, karşılıklı (ekrandan) konuşma ve birçok işlem yapabilirsiniz. Yurt dışındaki modem kulüplerine ya da modemi olan arkadaşlarınıza da erişebilirsiniz fakat bu biraz pahalıya mal olacaktır. Umarım şimdilik merakınızı giderebildik. İyi çalışmalar dileğiyle...
AMIGA, TV ve 64 Emulator
SAYIN Commodore Dergisi Yetkilileri, Ben üç yıllık Commodore 64 sahibi bir bilgisayar meraklısıyım. Sorularımı yanıtlarsanız sevinirim. 1) Acaba AMIGA 500 televizyon ile kullanılabilir mi, yoksa mutlaka bir monitör gerekli midir? 2) Oyun açıklamalarınızın çoğunun altında “AMIGA 512 K” yazıyor. Bunun anlamı nedir? Bununla AMIGA 500'ü mü kastediyorsunuz? Yoksa bu bir ek birim mi?
3) Birçok arkadaşım bana Commodore 64 programlarını AMIGA 500'de kullanabileceğimiz bir program çıktığını belirtti. Bu programın adı nedir? Nereden temin edebilirim?
OKAN ERDEM
SAYIN Okan Erdem, AMIGA 500 bilgisayarları televizyon ile de kullanılabilir fakat bunun için satın almanız gereken bir arabirim var. Teleteknik yetkili satıcılarında bulabileceğiniz “TV MODÜLATÖR” adlı arabirim AMIGA'nızın televizyonla da kullanılabilmesini sağlar. “AMIGA 512 K” yazısının anlamı ise açıklaması yapılan programların ek hafıza bulunmayan AMIGA'larda da çalışacağıdır. Eğer “AMIGA 1 MB” yazıyorsa bu programı ek hafızası bulunmayan AMIGA'larda çalıştıramazsınız. Commodore 64 programlarının çoğunu AMIGA 500'de çalıştıran bir program çoktandır mevcut. Bu programın adı “Commodore 64 Emulator” ve çevrenizdeki Teleteknik bayilerinden temin edebilirsiniz.