PROJECTYLE

Evet işte Electronic Arts mükemmel bir oyunla tekrar karşımızda. Bu yılın başlarında Avrupa'da piyasaya sürülen ve geçtiğimiz aylarda ülkemize gelen PROJECTYLE, diğer adıyla “Eldritch The Cat”, hemen hemen hepsi birbirine benzeyen futbol oyunlarının monotonluğundan sıkılmış olanlar için mükemmel bir futbol fantazisi.

THE

)98

TRENIC

ELDRITCH

Oyunu yüklediğinizde karşınıza bir ikon menü çıkıyor. Sol üstteki disket ikonu oyunun işlemlerinin yapılacağı yer. Onun yanındaki sporcu ikonu oyunda en iyi olan altı oyuncunun ve gol sayılarının tutulduğu skor tablosu. Yan tarafındaki ikon ise oyunu yapan ekibin isimlerinin yazılı bulunduğu tablo. Orta sırada sol tarafta yer alan ikondan ise

oyunun müziğini değiştirebiliyorsunuz. Oyunda sekiz değişik müzik ve bir de ses efekti var. Orta sıranın sağındaki ikondan ise oyunun bazı özelliklerini mümkün. Alt sırada ortada yer alan ikonda kendi aranızda lig düzenleyebilmeniz mümkün. Fakat ligi en fazla sekiz takımla düzenleyebiliyorsunuz. Sol alt köşedeki ikondan ise ligin durumuna göz atabilirsiniz. Sağ alt köşedeki ikonun ise ne işe yaradığını henüz anlayamadım. Ortadaki bayrak resimli ikon ile oyuna başlayabilirsiniz. Oyunun aslında gol atma olayından başka, futbol oyunlarıyla fazla bir benzerliği yok. Oyun üç takım arasında oynanıyor ve her takımın beşer oyuncusu var. Artı halinde dizilmiş beş tane kare şeklindeki alandan oluşan sahanın ortadaki karesinde hiç kale yok, burada kale yerine diğer karelere geçebilmeyi sağlayan kapılar var, oyun burada baş- Yukarıda ve yanlarda olan karelerde birer takımın kalesi mevcut, alt kısımdaki karede ise her takımın bir kalesi var. Takımların kaleleri her sette yer değiştiriyor ve set başlamadan evvel takımların yerleşim planı gösteriliyor.

Maçlar sekiz takımın sekiz ayrı sahasında oynanmakta. Maçlar üçer dakikalık üç setten oluşmakta. Maçta kendi kalemize attığımız puan alamadığımız için, topu ya diğer iki takımın kalelerinin olduğu sahalara ya da her takımın kalesinin bulunduğu alt taraftaki sahaya atmanız gerekmekte. Oyun sırasında saha içinde arasıra görülen harf ve şekillerin üzerinden geçtiğinizde çeşitli ekstra özellikler kazanılmakta. Örneğin bazısı oyunun süratini hızlandırırken bazısı da tam tersi yavaşlatmakta veya gücümüzü arttırmakta, bazıları da diğer takımların oyuncularını bir süreliğine hareket edememelerini ya da topa vuramamalarını sağlamaktadır. Fakat bu özellikler diğer takımlar için de geçerli ve hiçbir şey yapamadan gol yemeyi seyretmek hiç de hoş değil. Bu arada bazı tuşların ne işe yaradıklarına da kısaca değinelim, F2 tuşuyla oyun sırasında çalmakta olan müziği özel ses efektleri ile değiştirebilmeniz mümkün. Müzikler çok güzel olmasına rağmen ses efektleri ile oynamanın çok daha zevkli olduğunu söylemeden geçemeyeceğiz. F5 tuşu müziğin hızını yavaşlatmakta, müziklerin bazıları yavaşken daha hoş geliyor. F4 tuşu oyunu bitirmeye yarıyor. Help tuşuyla da oyunu Pause edebilmemiz mümkün, ateş tuşuyla oyun tekrar başlamakta. Oyunu joystick veya klavye ile mümkün. Kontrol seçimini “Press Fire” yazısı çıktığı sırada space'e ya da fire düğmesine basarak yapabilirsiniz. Oyunun oynanışı da futbol oyunlarından oldukça farklı. Çünkü oyuncular hareketlerini koşarak değil, üzerine bindikleri araçları kullanarak sağlıyorlar. Bu yüzden oyuncular diğer oyunlarda olduğu gibi hareket ettirildikleri sürece ilerleyip, hareket kesildiğinde durmuyorlar. Ancak bir yere çarptıklarında veya sürtünmeden dolayı hızlarının düşmesiyle duruyorlar. Ayrıca bir çok oyunda olduğu gibi, topu taşıyarak sürmeleri mümkün değil, yani topa sadece çarparak ilerletebilmemiz mümkün. Bu da topu istediğimiz yere götürebilmemizi çok zorlaştırıyor. Hareketimizi yönümüzü joystick veya ok tuşlarıyla belirleyip ateşe basarak sağlayabiliyoruz. Sürekli hareket etmek için ise ateşe devamlı basmamız gerekli, fakat o zaman da çok hızlı hareket ediyoruz ve kontrolü sağlamamız oldukça zorlaşıyor. Bunun yerine ateş tuşuna belirli aralıklarla basarsanız step step hareket edersiniz ve kontrolü daha rahat sağlarsınız. Oyunun anlatılacak daha fazla bir özelliği yok, artık gerisi sizin oyun kabiliyetinize kalıyor. Bol gollü maçlar.

Oyunun Değerlendirmesi: AMIGA 512K

GRAFİK : 9 SES : 9 ZORLUK: 7 KURGU : 8 GENEL : 8

Aklınızda Bulunsun

Sayın okuyucular, Dergimize gösterdiğiniz ilgi ve bize yazdığınız mektuplar için size teşekkür ederiz. Lütfen bize mektup yazmaya ve isteklerinizi iletmeye devam edin. Şimdi bir çok okuyucumuzun sorduğu bir kaç konuda bilgi vermek istiyoruz: 1. Dergimize program göndereceğiniz zaman bunları kasete veya diskete (mümkünse iki yüzüne de) kaydedip iyi bir ambalaj içinde gönderin. 2. Programların açıklamalarını düzgün ve okunaklı olarak yazıp programla beraber gönderin. 3. Programlar elimize geçtikten sonra yayımlanmaya değer bulunurlarsa ilk ayda yayımlanırlar. 4. Programlar dergide yayımlanırsa telif ücreti olan 20.000 lirayı dergiden alabilirsiniz. Bundan sonra o programın tüm yayım hakları Commodore Dergisi'ne aittir. Bir çok okuyucumuz BDE ve MDE'nin yayımlanmasını istemektedirler. Bunlardan BDE'yi geçtiğimiz sayılarda yayımlamıştık. MDE'yi de bu sayımızda yayımlıyoruz. Bu programları kullanarak dergideki diğer ları hatasız olarak girebilirsiniz. Şimdi sizin mektuplarınıza geçiyoruz.

C-64 İçin Altı Soru

Sayın Commodore Dergisi Yayıncıları, Bu güzel derginin ve başarılarının devamını dilerim. Şimdi sorularıma geçiyorum: 1. F-29, 688 Attack Sub ve bunlar gibi AMIGA oyunları acaba C-64'te de oynanabilir mi? Bir de Silent Service ve ACE'i açıklar mısınız? 2. 1084 monitör C-64'te verimli biçimde kullanılabilir mi? Normal 1541 ile 1541-II arasındaki farklılıklar nelerdir? Ayrıca 1581 disk drive C-64'te kullanılabilir mi? 3. Eprom programlayıcı, Dolphin Dos ve ses digitizer nedir ve ne işe yarar? 4. C-64'te BASIC, makine dili, müzik, grafik programları yapmayı öğreten, açıklayan Türkçe kitaplar var mı? 5. C-64'te program yaparken toplam kaç tane data satırı ve IF-THEN kullanabilirim? 6. Türkiye'de GEOS programları var mı, nereden alabilirim ve 1541-II ile uyumlu mu? MURAT YAPICI

Sayın Murat Yapıcı, İyi dilekleriniz için teşekkürler.

1. Bu oyunların C-64 versiyonlarının olup olmadığını öğrenmeniz gerekir. Bazı oyunlar iki makinede de olmasına rağmen bazıları da sadece bir makine için üretilirler. Silent Service ve ACE eski oyunlardır ve ACE adlı oyun daha önce dergimizde açıklanmıştır. 2. 1084 monitör ara kablosunu da temin ettikten sonra C-64'le çok verimli bir biçimde kullanılabilir. 1541 ile ROM'larında değişiklik vardır yani birbirleri ile tam uyumlu değildirler. Bir çok program da 1541 için yazıldığından bunlar 1541-II'de çalışmayabilir. 1581 disk drive 3.5 inch'lik bir sürücüdür ve 80 tracklık disklere sahiptir. C-64 ile uyumlu olarak kullanılabilir. 3. Eprom programlayıcı kartuşlarda kullanılan tekrar programlanabilen entegre devreleri programlamakta kullanılır. Dolphin Dos, diske daha hızlı ve daha verimli ulaşım sağlayan bir donanım birimidir. Ses digitizer, duyduğumuz sesleri bilgisayarın anlayacağı şekle çeviren daha sonra kullanıcı tarafından değiştirilmesine olanak tanıyan bir donanım ve yazılım birleşimidir. 4. Bu konularda Türkçe kitap çok azdır. Kitaplar genel olarak İngilizcedir. Ama bir Teleteknik bayisine başvurursanız size yardımcı olabilirler. 5. Programlama yaparken istediğiniz kadar data satırı ve IF-THEN kullanabilirsiniz. Ama data satırları hafıza ile sınırlıdır, IF-THEN komut-

satırları da çoğaldıkça çalışmayı yavaşlatır. 6. Türkiye'de GEOS şimdilik sadece ana disket olarak mevcuttur, ama bazı bayiler yan programları da getirmiş olabilirler.

Merhaba, GEOS yazımız bu ay da tüm hızıyla devam ediyor. Ama geçen ay can sıkıcı temelleri bitirmiş olduğumuz için bu ay GEOS rutinlerine ve kullanılış şekillerine geçeceğiz. Her şeyden önce ilk bölümde adı geçen pseudo register kelimesinin manasını açıklamak istiyorum. Pseudo register'lar hem GEOS Kernal'ı hem de sizin programlarınız (uygulamalar ve benzerleri) tarafından kullanılan register'lara verilen addır. Yazıda bahsedilen kısımlardan anlayamadığınız bir şeyler olursa dergiye yazmaktan çekinmeyin. Bu sayede daha sağlıklı bir şekilde GEOS kullanımını öğrenebilirsiniz. Evet, gelelim bu ayın konusu olan ikonlar ve menülere. İkonlar GEOS işletim sisteminin temelini oluşturan aktif grafik elemanlarıdır ve genelde sprite boyutlarındadır. Ekranda bulunan ikonlar Kernal ana döngüsüne her girişte kontrol edilirler ve eğer üzerinde ateş tuşuna iki kere basılırsa sizin önceden belirttiğiniz belli bir rutine sıçrama yapılır. Bu rutinden geri dönmek için ise her zamanki gibi RTS komutunu kullanırsınız. Peki bu ikon denen grafik türünü kullanmanın ne yararı var? Bu ikonları bir kez sprite gibi tanımladıktan sonra aktive ederseniz daha sonra gereken her şeyi GEOS'unuza bırakabilirsiniz. Yani bundan sonra o ikonun koyduğunuz yerde aktif durumda kalacağından emin olabilirsiniz. Bu sayede programınız daha gerekli işlemlerle uğraşabilir. İkonları her tür GEOS programında görmeniz mümkündür. En basitinden DESKTOP programını da diskteki programları gösteren grafik blokları ve sağ üst köşedeki disk resmi birer ikondur. DİKKAT!!! GEOS her türlü uygulamanın en az bir ikonu olduğunu farz-

VEDAT HALLAÇ eder. Bu yüzden programınız ikon kullanmasa bile bir boş grafik bloğunu ekranın gereksiz bir yerine koyarsanız hem programınızın çalışmasını sağlarsınız, hem de yanlışlıkla ikonun çağırılması tehlikesinden kurtulursunuz.

İkonlar genelde uygulamanızın hazırlık ve düzenlenme rutinleri safhasında düzenlenir ve aktive edilir. Daha sonra kontrol tekrar GEOS kernal'a bırakılır. Hazırlık ve düzenlenme rutinlerinin adresi Header block'taki BAŞLANGIÇ ADRESİ byte'larında saklanır. Bizim burada göstereceğimiz örnek program önce ekranı temizlemek için JSR Rectangle komutunu kullanır (örneği ilk bölümde verilmişti), daha sonra da ikonları aktive eden Dolcons rutinine sıçrar ve kontrolü tekrar GEOS Kernal'ıma bırakır.

Yani programınız;

lda 2 ; sistem moti-
fini Yo 50 ka-
reli olarak
jsr SetPattern ; düzenle
jsri Rectangle  ; ekranı temiz-
le
. byte 0
byte 199
. word 0
. word 319
Ida testicons ; ikon datala-
rının saklan-
dığı
sta ; adresleri TO
pseudo-
register'ine
Ida testicons ; yerleştir
sta r0
jsr Dolcons ; ikonları akti-
ve et
rts ; Kernal'a dön

Evet, ana programınız bu uzunlukta. Fakat asıl zor olanı ikonların işlemlerini ayarlayan rutinleri yazmak. Deminki örnek programdaki testicons, ikonların datalarının saklandığı bellek alanının label'ıdır. Sizin ikonları aktive etmeniz için yapmanız gereken şey şimdi açıklayacağım özellikte bir ikon tablosu hazırlayarak bu tablonun başlangıç adresini GEOS Kernal'a bildirmektir. Bu yolla birden fazla ikonu tek komutla ekrana çıkartabilir ve al edeblirsiniz. Bu işi de Dolcons rutinine tablonun adresini r0 registerine koyduktan sonra sıçrayarak yapabilirsiniz.

İKON TABLOSUNUN DÜZENLENMESİ

İkon tablosunun en başındaki dört byte'ta kaç tane ikon tanımlanacağı ve ikonlar gösterildikten sonra imleç'in (GEOS'ta seçimlerinizi yapmanızı sağlayan, joystikle hareket ettirebildiğiniz ok işareti) hangi (x,y) koordinatlarında gösterileceği hakkında bilgi bulunur. Bundan sonra her ikon için sekiz byte olmak üzere ikonlar tanımlanır. Bu byte'lar sırasıyla şu bilgileri verir: 1. ve 2. byte: İkonun grafik datasının saklandığı alanın adresi. Burada adresin saklanması; C-64'ün standardı olan önce alçak (low) sonra yüksek (high) değerlikli byte'ların sıralanması şeklinde yapılır. Bu sayede aynı grafik datasını birden fazla ikon için de kullanabi iz. 3. byte: İkonun byte değeri olarak

X pozisyonu. İkonunuzun X koordinatı 0-319 arasında sadece belli X koordinatlarında bulunabilir. Yani ancak 0,8,16,... koordinatlı X pozi: yonlarında ikon bulundurabilirsiniz. Bu byte pozisyonunu bulmak için kı ordinatı sekize bölmeniz yeterlidir. Bu tür bir sistemin kullanılmasının her X koordinatını vermek için iki byte kullanmayı ve dolayısıyla bellek israfını önlemek. Buna karşılık Y koordinatı 0-199 arasında her değeri alabilir. koordinatı. Bu koordi- -199 arasında olabilir. 5. byte: İkonun X genişliği. Bu değer de X koordinatı gibi byte olarak verilmesi gerekir. X boyutunun kaç piksel olduğunu bulmak için bu değeri sekizle çarpmak gerekiyor. 6. byte: İkonun Y uzunluğu. Bu değer de Y koordinatı gibi kaç piksel uzunluğunda bir ikonunuz olacağını kontrol eder. 7. ve 8. byte'lar: İkon ateş tuşu ile aktive edildikten sonra sıçranacak rutinin adresi. Bu da C-64 standart sistemi ile saklanır. (Alçak byte önce, yüksek byte sonra.) (Tablo 1) 7. ve 8. byte'larda gösterilen rutinde istediğiniz her türlü işlemi yapabilirsiniz. İsterseniz tüm sistemi yeniden başlatabilirsiniz. (Desktop'u yeniden yükleyerek programınızın sona ermesini sağlamak ve benzeri amaçlarla.) Bu rutinlerde ikonunuzun üzerinde ateş tuşuna bir kez mi yoksa iki

TEST İKONLARI :

award JustForFunData ©

byte 3 e

şikonun sol üst köşesi y piksel pozisyonu servis rutini adet ikon data girişi daha ikonun negatifi görünür. Daha sonra bir menüden seçtiğiniz bir işlemle (mesela dosya hakkında bilgi alma - get info-) seçilen ikon üzerinde işlem yapabilirsiniz. GeoPAINT'de de herhangi bir işlemi seçtiğinizde o işlemin ikonu negatif olarak kalır. Yeni bir ikon seçildiğinde ise ilki normale döner ve ikincisinin negatifi gösterilir. Peki ikon-menü ve ikon-ikon arasındaki bu ilişkiler nasıl düzenleniyor? GEOS Kernal'ında iconSelFlag ($84B5 adresinde) adı verilen bir değişken bulunur. Bu değişkenin 6. ve 7. bitleri ikon seçiminde neler yapılacağını kontrol eder. Eğer bit 7 set edildiyse, aktive edildiği zaman ikon önce negatif, sonra normal olarak görünerek seçildiğini belli eder. Bu modu seçmek için $8b45 adresine vereceğiniz değeri $80 değeriyle OR'lamanız gerekmektedir. İkonlar aktive edildiği zaman ne kadar uzun süre negatif olarak kalacakları selectionFlash ($84B3) adresiyle ayarlanmaktadır. Bu adresin orijinal değeri 10'dur. Eğer bit 7 reset ve bit 6 set durumunda ise ikon seçildikten sonra devamlı olarak negatif olarak kalacakkez mi basıldığını kolaylıkla anlaya-

ili showCaseData :
iy” Bu
— |
yerini gösteren vektör) rutinleriyle söyle
kolaylaştırılmıştır. GEOS Kernal roH |
değeriyle bir Şer değe | $02,SFF,S9C,S87,S01,S8D,S81,$9E,SCI,SBB,S61,SAD,SB1,$B6,S99
dresinde $ byte
riyle de iki kez ateş tuşuna basıldığı- byte $19,$02,$FF

nı belirtir. rOL adresindeyse de kaç numaralı ikonun aktive edildiğini öğrenebilirsiniz. (Birinci ikonun değeri 0O'dır.) Bu özelliği tüm ikonlar için aynı rutini kullanan fakat değişki ikon seçimlerinde hafif farklı tepki- — | grafik sıralanışı :

ler gösteren programlarda kullanabi- 1. byte— ikonun byte olarak x genişliği (1.byte-3 olarak kabul edersek). lirsiniz. Rutininiz rOL adresindeki ikon numarasını kontrol ederek bu- x-1 x-2 Xx-3 na göre davranabilir. Bunlardan sonra da ikon grafik 2.byte 3.byte 4.byte tabloları hazırlanır. (Tablo 2) İkon grafikleri bit-map grafikler- S.byte ? 6.byte 7.byte dir. Bizim verdiğimiz örnektekiler 2 byte eninde (16 piksel) ve 16 piksel boyundadır. Grafik datasının hazır- Bizim örneğimizde (tablo-2) lanması ise şöyle yapılır:

; geri kalan 6 ik fik datalı geri kalan yarka ataları TABLO2

İlk byte'ınız ikonunuzun kaç byte eninde olduğunu belirtir. Grafik ta- xl Xx-2 nımını ise Tablo-3'te gösterildiği şe- 2.byte 3.byte kilde yapmanız gerekiyor. 4.byte 5.byte Burada bahsedilmeye değecek bir A metod DESKTOP ve GeoPAINT tarafından kullanılmaktadır. Eğer DESKTOP'ta bir ikonun üzerine ge- TABLO 3.

lip bir kez ateş tuşuna basarsanız, 46 tır (GeoPAİNT'teki gibi). Bunun için de $8B45 adresini $40 ile OR'lamanız gerekmektedir. Bu durumda ikon koordinatları, numarası veya gerekli herhangi bir bilgiyi saklamak rutininizin görevidir. Bu amaçla GEOS Kernal tarafından hiçbir işlem yapılmaz! Eğer $8B45 adresinde bit 7 ve bit 6 reset ise ikon aktive edildiğinde ikon üzerinde hiçbir değişiklik gözlenemez. GEOS Kernal'ında bizi ilgilendiren bir tek ikon rutini vardır. O da ikonları ekrana çıkararak hazır duruma getiren Dolcons'dır. Dolcons: Adres: $CI1S5a Fonksiyon: İkonları çizer ve aktive edilmeye hazır duruma getirir. Gerekli hazırlık: rO-ikon tablosunun adresi. Değiştirilen registerler: a,x,y,rO-r11 Açıklama: Dolcons ile ikon tablosunda düzenlenen ikonlar ekrana çıkartılır ve aktive edilir. Bu aşamadan sonra üzerinde ateş tuşuna basarak herhangi bir ikon seçilebilir. Bu durumda ikon tablosunda gösterilen servis rutinine sıçrama yapılır. Bir ikonu yok etmek için grafik data pointer'ını $00,00 yapmak gereklidir. Eğer ikon önceden aktive edilmişse ikonu ekrandan silmeniz de gerekmektedir. Eğer grafik pointer'leri baştan sıfırlanırsa, hiçbir zaman ekranda görünmezler. Fakat bir ikonu güvenilir olarak yok etmek istiyorsanız en iyi yol ekranı silip gerekli ikonları yeniden göstermektir. (Gereksiz ikonların grafik adreslerini 0000 yapmayı unutmayın.) GEOS Kernal, rutininize, rOH adresiyle ikonun üzerinde kaç kez ateş tuşuna basıldığını ve rOL adresiyle de kaç numaralı ikonun seçildiğini gönderir. Rutininizin başında bu adreslerin değerlerini kontrol ederek ikonla ilgili tüm bilgileri elde edebilirsiniz. Bu aylık da bu kadar. Gelecek ay GEOS'un en önemli iletişim araçlarından olan MENÜ'leri öğreneceğiz, hoşçakalın.

GEOS BELLEK HARİTASI BAYTSAYISI | ADRES SINIRLARI TARIMLAMA (Desimal) (Hexadesimal) ı 0000 6510 Data yön 2 0001 6510 no Geos ve application tarafından kullanılan zero-page 16 0070-007F Application için zero-page, 22-29 123 0080-00FA Kemal ve Basic için zero-page O0FC-DOFE Application için zero-page, 20-2) registerları 1 ROM ve Basic rutinleri tarafından kullanılır 256 6510 stack (yığın) 0200-03FF C64 Kumal ROM rutinleri tarafından kullanılan RAM 23552 Application program ve dataları 8000 6000-7F3F Arka plan ekran 192 Application RAM'ı 2560 BODO-BYEF GEOS ve değişken RAM'ı 512 Sprite resim dataları 1000 16 8 BFFR-BEFF Sprite göstergeleri 4096 9000-9FFF GEOS programı 8000 A000-BF3F Ön plan ekran RAM'ı veya BASICROM'u 192 BE40-BEFF GEOS tabloları 4288 Ak GEOS Kernal programı, sürekli bulunur 4096 DO00-DFFF Ak GEOS Kernal'ı veya 4k C64 VO alanı 7808 E000-FET4 8k GEOS Kernal'ı veya 8k C64 Kernal ROM'u 378 driver'i 6 FFFA-FFFE İRO ve RESET vektörleri

DİKKAT!

Bir önceki geos yazısında yeralan GEOS BELLEK HARİ-TASI elimizde olmayan sebeplerden dolayı yayınlanamamıştır, bu sayımızda yayınlıyoruz. (üst köşede) Özür diliyoruz.

Tabii ki 9?

Por