İçindekiler
YAYINCININ NOTU 5 HABERLER 8 BİLİSTAN 9 KAPAK 14 SIMONS' BASIC VE SYSRES YAZILIM 17 ATÖLYE 20 ROM DONANIM 24 ADIM ADIM DONANIM 26 KARTUŞLAR HIZLANDIRICILAR DEMOLAR 28 SU ŞİŞESİ 32 TANITIM 37
STARBYTE SUPER SOCCER 38 WACKY RACES 40 BUGBOMBER 42 NEURONICS 44
GÖZ UCUYLA 46 JIMMY'S SOCCER 48 AUGGIE DOGGIE AND DOGGIE DADDY 50 REBEL RACERS 52
TİYOLAR-TUZAKLAR
SPF ü by A
SOĞ
Teleteknik A.Ş. Adına Sahibi ve Sorumlu Yazıişleri Müdürü OSMAN BABAOĞLU
Yayın Yönetmeni TURHAN TANDOĞMUŞ Yayın Koordinatörü SİNAN VURAL Yayın Kurulu FATİH ARIMAN FARUK BARAN VEDAT HALLAÇ EMRE SENAN CAN YALÇIN MURAT ALP ATAY EMRE İLLE Halkla İlişkiler KARİN KARAOĞLAN MEHMET ÖZCAN
Katkıda Bulunan FETHİ SERİM Teleteknik A.Ş.
Ltd. Şti.
Dağıtım: GAMEDA
KKTC'de Fiyatı: 15.000 TL.
Merhaba, Bir ayı daha geride bırakmışken, yazı karşılamaya hazırlanıyoruz. Yeni mevsimle
beraber dergimizin genel çizgisinde de biraz değişiklikler olacak. Şimdiye kadar, teknik yanı ağır basan dergimizi biraz hafifletmek için bazı yeni konulara başladık. Bilistan, bunların en başında geleniydi, umarız bu yazı dizimiz hoşunuza gidiyordur. Gelecek aydan itibaren ROM konusundaki yazılarımızın yerine makine dilini baştan alan başka bir dizi gelecek. Sizlerden gelen istekler üzerine yazıları daha basitleştirmeyi ve her kesime hitap edecek bir hale getirmeye çalışıyoruz. Ancak sizlerden tepki ve istek gelmemesi bizim işimizi biraz zorlaştırıyor. Bu aydan itibaren Program Döküm Eki'nin her sayısında MDE ve BDE programlarını vereceğiz. Artık programları yazmak için derginin eski sayılarını edinmenize gerek kalmayacak. Ayrıca gelecek sayımızla birlikte Program Döküm Eki'nin baskı kalitesini yükseltip, daha okunabilir sayfalar sunmaya çalışacağız. Bu ayki konularımızda, programcıların en büyük yardımcısı olan iki programı karşılaştırıyoruz. Biraz, elma ile armudun karşılaştırmasına benzese de bu yazıda Simons' Basic ve Sysres adlı utility programlarının genel özelliklerini bulabilirsiniz. Çalışma ortamları, ekledikleri komutlar, yardımcı özellikler bakımından karşılaştırılan bu iki programı tüm programcılara öneriyoruz. Diğer yazılarımız arasında Basic'e yeni komutlar eklemenizi sağlayan tekniklerin anlatıldığı Atölye bulunuyor. Geçen sayılarda anlatılan grafik komutlarını bu sefer SYS olarak değil de kendi komutları halinde verebileceksiniz. Vedat Usta'nın diğer yazısı olan ROM rutinleri en sonunda nihayete erdi. Bundan sonra aynı sayfada daha basit işlemlerin yapılacağı Makine Dili Kursu'nu okuyabilirsiniz. Birkaç aydan beri ara verdiğimiz demo tanıtımlarını bu ay tekrar ele aldık, Light ve Phenomena adlı grupların evsahipliğini üstlendiği Easter Party '92 İsveç'te yapıldı. Bu yarışmada derece alan ve katılıp da dereceye giremeyen demoların tanıtımlarını bu sayfalarda bulabilirsiniz. Demolar artık 64'ün sınırlarını iyice zorlamaya başladılar. Her geçen gün AMIGA'da kullanılan bir teknik 64'te de kullanılmaya başlanıyor. Bunun en güzel örnekleri de sanırız demolarda görülebilir. Kartuşların tanıtımlarında ise bu ay sırada Final 3 var. Türkiye'de en yaygın olarak kullanılan bu kartuş aynı zamanda rakiplerinden daha da kapsamlı. Tüm komutlarını anlattığımız bu kartuş programlama alanında da büyük bir yardımcı. Tanıtımlarımızda bu ay yer alan oyunlardan en çok ilgi toplayacak olanı sanırız Bugbomber. Dört kişilik grupların bile oynayabileceği bu oyun çok zevkli. Diğer tanıtımlarımızdan biri olan SSSoccer ise 64'te şimdiye kadar yapılmış en iyi futbol menajerliği oyunu. Alman takımlarının menajerliğini üstlendiğiniz programda ulus-
maçlar sırasında karşınıza Fenerbahçe, Galatasaray ve Beşiktaş bile çıkıyor.
Gelecek ay buluşmak üzere, Hoşçakalın.
OSMAN BABAOĞLU Teleteknik ve Artnet ortaklığıyla Ali Murat Erkorkmaz tarafından hazırlanan eğitim paketi Sihirli Disketler eğitimcilere tanıtıldı. Bu amaçla Sheraton Oteli'nde düzenlenen seminere eğitimciler davet edildi. Konuşmacı olarak Teleteknik genel müdür yardımcısı Fatih Arıman, programcı Ali Murat Erkorkmaz ve eğitim danışmanı Lale Erkal bulunuyordu. Fatih Arıman genel olarak Teleteknik ve hizmetlerinden bahsettikten sonra Ali Murat Erkorkmaz programlarıyla neler yapmak istediklerini, amaçlarını ve gelecekteki projelerini dinleyicilere aktardı. Eğitim danışmanı Lale Erkal ise bilgisayarların çocukların hayatındaki yerlerinden bahsederek uygun bir ortamın nasıl oluşturulacağı konusunda dinleyenleri aydınlattı. Daha sonra eğitimciler bilgisayarların başına geçerek programları kendileri tanıtmaya çalıştılar.
Teleteknik'ten Lotarya Teleteknik bu aydan itibaren bir lotarya uygulamasına başlıyor. Dergimizde yayınlanacak olan üç adet kuponu kesip gönderenler arasında yapılacak olan kura sonrasında kazanan kişilere PC-I kişisel bilgisayar ve 1230 yazıcı verilecektir. AMIGA Dergisi okuyucuları ise PC-I ve A-590 için kupon biriktirecekler. Bu sayımızda da bulunan kuponları biriktirdikten sonra Teleteknik adresine göndererek çekilişe katılabilirsiniz.
Easter Party '92 Commodore'un en iyi demo gruplarından biri olan Light ve Phenomena adlı grupların evsahipliğini yaptığı Easter Party '92, 16-17-18 Nisan tarihlerinde İsveç'te yapıldı. Üç gün boyunca çeşitli faaliyetlerin yürütüldüğü partide demo yarışması ve grafik yarışmaları da yer aldı. Demo yarışmasında birinciliği Elysion adlı demosuyla Origo aldı. İkinciliği Partytrap'le Beyond alırken, Antic Lunacy 5 ile üçüncü oldu. Bu demoların tanıtımlarını Demolar yazımızda bulacaksınız. Grafik yarışmasında ödül alan grafikler ise Su Şişesi'nin sayfalarını süslüyor.
Gelecek Ay Eski sayı isteklerinde 28. sayıya olan istek çok aşırı olmuştur. Bunun nedeni ise o sayıda yayınlanmış olan 101 İpucu adlı yazıdır. Bu yüzden gelecek ay özel bir yazı hazırlanarak 28. sayıdaki ipuçları genişletilmiş haliyle gelecek sayımızda sizlere sunulacaktır.
Yazışma Köşesi
Geçen ay duyurduğumuz haberleşme köşesine fazla talep gelmediği için bu ay başlayamıyoruz. İlgi alanlarınıza giren konularda mektuplaşmak için mesajınızı ve adresinizi yazdığınız bir mektubu aşağıdaki adrese göndermeniz yeterlidir:
Adres: “Yazışma Köşesi” — Commodore Dergisi, Sakız Sokak Berkel Apt. 6/4 Kadıköy-İstanbul BAHADIR İŞLEN.
Pan o sabah oturmuş bilgisayarının neden çalışmadığını araştırıyordu. Tuş takımını, merkezi işlem birimini, giriş/çıkış bağlantılarını kontrol etmişti ama hala ekranında bir hareket yoktu. O sırada Abdullah geldi yanına. Nefes nefeseydi küçük civciv. Bir şeyler söylemeye çalışıyor ama ağzından "Pahpahn-pan ah-ah-ahbi. Yah-yah-yahrdım..." gibi zırvalardan başka bir şey çıkmıyordu. "Dur, dur. Bi nefeslen bakalım." dedi Pan. Abdullah, önlüğünün cebinden çıkardığı mendille terini sildi. Biraz dinlendi ve hemen lafa girdi. "Pan abi, yardımına ihtiyacım var. Öğretmenin verdiği ödevi nasıl yapıcağımı bilemiyorum. Çok ağır ödev veriyorlar yahu." "Sana ne yazık ki şu anda yardım edemem." dedi Pan sıkkın sıkkın, "Bilgisayarım çalışmıyor. Saatlerdir başında uğraşıyorum ama ekranımı bir türlü çalıştıramadım." Kendi derdini bir an için unutan Abdullah, "Bir de ben bakiym mi? N'olur ya?" dedi. Pan, bu işe pek yanaşmadı ama saatlerdir uğraşıyordu ve bezmişti artık. Kapağın altında neredeyse kaybolan Abdullah on saniye sonra yüzünde muzip bir gülümsemeyle geri çıktı. "Kolaymış." dedi, "Sadece hologram laserinin soğutucu kablosunu takmayı unutmuşsun." Pan, şaşkın şaşkın bakıyor ve bu basit hatayı göremediği için kendi kendine kızıyordu. Konuyu değiştirmek için, "Söyle bakalım senin derdin neymiş?" dedi. Kendi problemini hatırlayan Abdullah'ın suratı tekrar asıldı. "Öğretmenin verdiği ödev... Ben nerden biliym dört işlemi bilgisayara yaptırmayı." Pan, "Aaa." dedi. "Dört işlemden kolay ne var canım? İlk sayıyı ARG'ye, ikinci sayıyı da FAC'ye koyup, gerekli kernal rutinlerine sıçramak yeterli. Bu arada BASIC ROM'unun yerinde olması lazım. Tabii..." derken sesi kesildi. Abdullah, Pan'ın söylediklerinden hiç bir şey anlamamıştı tabi ki. Neyse ki o anda Pan'ı ziyarete gelen Peter konuşmanın son kısmına kulak misafiri olmuştu. "Sen nelerden bahsediyorsun böyle?" diye sordu Pan'a. "Abdullah daha üçüncü sınıfta bunları nereden bilsin?" "Biraz önce hiç de öyle görünmüyordu ama." diye kendini savundu Pan. "Saatlerce uğraşıp da beceremediğim işi on saniyede halletti." Kendini savunma sırası Abdullah'a gelmişti. "İyi ama." dedi, "Seninkisi tamamen dikkatsizlikti Pan abi. Soğutma hortumunun çıktığını kim baksa görürdü." Peter, "Tamam tamam." diye kesti tartışmayı. "Gel bakalım Abdullah. Seninle bütün bu işleri baştan sona bir inceleyelim. Orhan Gotan'ın komut dükkanında her şeyi daha iyi anlayabilirsin." Peter, Abdullah'la beraber oradan uzaklaşırken Pan'a sert bir bakış fırlattı. "Bana ne." der gibi omuz silken Pan kendi işlerine döndü. Hala kendi kendisine, nasıl olup da bu kadar basit bir hatayı göremediği için kızıyordu. Peter, Abdullah'a bilgisayarın temel mantığını anlatmaya başladı. "Bak Abdullahcım, sen bilgisayarın nasıl çalıştığını biliyor musun?" diye sordu Peter. "Eh işte, biraz." dedi Abdullah. "Okulda söylediklerine göre bilgisayarlar kullanıcıdan gelen komutları işlemek üzere yapılmışlar. Bu işleri yürütebilmek için de çeşitli bölümleri var. Bunlardan en önemlisi merkezi işlem birimi denen ve tüm komutları anlayan ana merkez. Buna bağlı olarak giriş/çıkışları kontrol eden bazı devreler ve bilgisayarın iç dengelerini kuran zamanlayıcılar var. Klavye ve joystick giriş, ekran ve yazıcılar da çıkış ortamı oluyor. Disk ve kaset gibi kayıt ortamları ise hem giriş hem de çıkış için kullanılabiliyor." "Çok iyi. Çok iyi." dedi Peter. "Gerçekten de bilgisayarların verimi kullanıcının becerisine çok bağlı. Sen herhangi bir komut vermezsen orada öyle durur bilgisayar. Kullanılmadığı zamanlarda bir bilgisayarla konserve kutusunun farkı yoktur. İkisi de bir şeyler saklar ama herhangi bir etki yapılmazsa ikisi de öylece durur." "Peki Basic'in nasıl çalıştığını biliyor musun?" Bu soruya kafasını sallayarak cevap verdi Abdullah, "İşletim sistemini genel olarak gördük ama daha bu konuya gelmedik. Fakat öğretmen gene de ödev verdi işte. N'apıcağımı bilemiyorum." Peter, Abdullah'ı yatıştırdı. "Tamam." dedi, "Ben sana tüm bunları anlatıcam. Ama önce biraz temel bilgi edinmen gerekiyor." "Bak şimdi." diye anlatmaya başladı Peter. "Bilgisayarı açtığın zaman karşına çıkan mesaj aslında sana önemli bilgiler ve-
Commodore'un
Di Ş ER
Üci
rir. Buradan, Commodore 64'ün kullandığı Basic'in ikinci versiyon olduğunu ve programlarında kullanmak üzere 38911 baytının serbest bulunduğunu anlayabilirsin." Peter ve Abdullah, Orhan Gotan'ın komut deposuna giderlerken Oscar'la karşılaştılar. Oscar, her zamanki çok bilmişliğiyle "Neler konuşuyorsunuz bakiim?" diye sordu. "Belki size yardım edebilirim." Peter hafifçe gülerek, "Yok bişey canım." dedi. "Abdullah'a, işletim sistemini ve Basic'in nasıl çalıştığını anlatıyordum." Oscar, "Basic'te ne var canım? Ben makina dili bile biliyorum. Yalnız söylediklerinde hatalı bir nokta var galiba. Bu işletim sistemi de ne? Neyi işletir bu sistem?" Peter artık kahkahalarını gizleyemiyordu, katılmış bir halde gülerken Abdullah lafa girdi. "Hem makina dili biliyorsun hem de işletim sisteminin ne olduğundan bile habersizsin ha? İşletim sistemi, bilgisayarının hafızasında yani ROM'unda her zaman bulunan, farklı ama birbirleriyle bağlantılı üç programdan oluşur ve senin bilgisayarı kullanmanı sağlar akıllım." Oscar, Abdullah'ın bile kendisini bu kadar kolaylıkla altedebilmesine sinirlenmişti. Üste çıkmak için hemen sordu sorusunu, "Neymiş bu üç program bakalım?" Abdullah bilmiş bilmiş anlatmaya başladı, "Bak şimdi. Basic yorumlayıcısı senin verdiğin komutları anlayan ve bunların sırayla işlenmesini sağlayan bir programdır. Kernal ise Basic programların ve Basic işlemlerinin yapılmasını sağlayan makina dili programcıklardan oluşur. Bir program daha vardır, o da ekran üzerindeki kursor hareketlerini ve işlemlerini gerçekleştirir." Oscar kıpkırmızı bir suratla oradan uzaklaşırken Peter da Abdullah'ı kutladı. "Aferin. Sen bayağı biliyormuşsun bu işi. O zaman ben sana Basic yorumlayıcının nasıl çalıştığını ve programların nasıl işletildiğini anlatayım. Orhan'dan gerekli şeyleri aldıktan sonra da programını yaparız. Bildiğin gibi Komut Market ondan sorulur." Orhan, Komut Market'in rafları arasında sarmaşıkların üzerinde dolaşıyor ve komutları oradan oraya taşıyordu. Peter'la Abdullah'ın geldiğini görünce sarmaşıklardan aşağı sarkarak, "Hoşgeldiniz." dedi. "Bu arkadaş da yeni programcı adayımız mı?" diye sordu Abdullah'ı göstererek. Abdullah konuşmaları duymuyordu bile. Ortamın büyüsüne kapılmış göz alabildiğine yükselen raflardaki komutları inceliyordu. Peter, Abdullah'ı şöyle bir dürttü ve Orhan'ı tanıştırdı. "Memnun oldum." dedi Abdullah. "Bu kadar çok komut arasında buluyorsunuz? Ya program yaparken hangisinin hangi sırayla geleceğini nereden biliyorsunuz?" diye sıraladı sorularını. Orhan'la Peter birbirlerine bakıp hafifçe gülüştüler. Her şeyin bir sırası ve düzeni vardı elbette. Orhan anlatmaya başladı. “Bilgisayarın anlayabileceği komutlar, işletim sisteminin Basic'i anlayan kısmı olan yorumlayıcı tarafından işlenir. Hafızada bunların bir listesi vardır. Komut kullanıcı tarafından verilince sırasıyla bazı işlemler gerçekleştirilir. Önce Basic yorumlayıcısı bu komutun var olup olmadığını kontrol eder. Eğer böyle geçerli bir komut varsa komutla verilen diğer bilgiler kontrol edilir. Eğer bunlar da geçerli ise gerekli kernal programcıklarına atlanarak işlem gerçekleştirilir." "Ben de burada aynı sistemi uyguluyorum. Birisi benden bir komut istediği zaman elimdeki listede böyle bir madde olup ol-
« 3
» " a. Yy Be
ğ VAS 4 ACI e e day “e
VA
K
© Mİ CI LU A > RİA KİR E madığını kontrol ediyorum. Komut listemde yoksa bir hata yaptıklarını söylüyorum. Eğer istedikleri komut, listemdeyse hemen çıkarıp veriyorum. Tabi yanında bir de kullanım kılavuzuyla beraber. Herkese bıkıp usanmadan söylediğim bir şey var: 'Önce kullanım kılavuzunu okuyun!" Bu söz, ister bilgisayar ister kalem olsun her şey için geçerli." Abdullah, komutların nasıl işlendiklerini anlamıştı. "Ama, komutların düzgün yazıldığını bilsek bile programda hangi sırayla olacaklarını nasıl bileceğiz?" diye sordu. Bu soruya Peter karşılık verdi. "Basic ile yazdığın programlarda satır numarası kullanman gerekir. Bilgisayara RUN komutu verildiğinde, program çalışmaya en küçük numaralı satırdan başlar. Sen programı listelemek için LIST komutunu verdiğinde de yine en küçük numaralı satırdan başlayarak listelenir program." Orhan, Peter'ın anlattıklarını başıyla onayladı ve ekledi, "Programını yazmadan önce bir akış şeması hazırlarsan bu seni hem zaman kaybından kurtarır hem de programın çalışmasını daha iyi kavramanı sağlar." Abdullah'ın biraz kafası karışmıştı. "Bi dakka durun." dedi. "Bu akış şeması da nesi?" Orhan bunu açıklamayı üstlendi. "Akış şeması, bir program yazılmadan önce hazırlanan bir taslaktır. Bu şemada çeşitli işlemler için geometrik şekiller kullanılır: dikdörtgenler, paralelkenarlar, eşkenar dörtgenler falan. Programa bir elipsle başlanır. Bilgisayara dışarıdan veri girişini bir paralel kenar gösterir. Karar verme durumlarında da eşkenar dörtgen kullanılır. Tüm bu işlem kutuları oklarla akış yönünde birbirlerine bağlanır." "Dur şimdi bir örnek vereyim sana. Diyelim ki sen buradan Pan'a telefon etmek istiyorsun ve mantık yapını da bilgisayarınki gibi kabul edelim. Telefonu açıp konuşmaktan kapamaya kadar yer alan süreci, bir bilgisayar programının akış şeması olarak hazırlayalım..." "Önce başlamak için bir elips çiziyoruz ve içine ilk olarak ne yapacağımızı yazıyoruz: Telefonu aç. Bir sonraki işlem çevir sesini beklemek. Bu işlemi bir dikdörtgenin içinde gösteriyoruz. Üçüncü işlem ise bizden bir bilgi, yani telefon numarasının bir rakamını beklediği için paralelkenar olarak çiziliyor. Çevireceğimiz numara 01318. Numaranın bir rakamını tuşladıktan sonra kritik bir noktaya geliyoruz: Beş rakamı da tuşladık mı? Bunun kontrolünün yapıldığı işlemi bir eşkenar dörtgen ile göstereceğiz. Eğer tüm sayılar tuşlanmamışsa dörtgenin bir köşesinden çıkan ok üçüncü adıma gidecek. Alttaki köşeden çıkan ok ise akışın devamında yer alan konuşma işlemini gösterecek. Dikdörtgen olarak gösterebileceğimiz bu işlemden sonra, şemanın son adımı olan telefonu kapatmayı ise yine bir elips içine koyacağız." Abdullah anladığı kadarını özetlemeye çalıştı. "Yani aslında bu şemasal gösterim, benim programı anlamamı sağlıyor, yoksa bilgisayarın bundan bişey anladığı yok. Programı tasarlarken bu yola başvurmak işimi kolaylaştıracak." Peter, Abdullah'ın söylediklerini onayladıktan sonra yapacakları programda kullanacakları komutları seçmeye başladılar. Peter, "Senin programında kullanmak üzere, PRINT, INPUT, IF/THEN, GOSUB/RETURN ve GOTO komutlarını almamız yeter sanırım." dedi. Bu komutları alan Peter ve Abdullah programa başlamak üzere Orhan'a veda ettiler. dedi Peter, "Senin programın dört işlemi gerçekleştirecekti değil mi? Tamam. Aslında bu iş, Basic yorumcusunun iki durumunda da yapılabilir." Abdullah bu iki durumun ne olduğunu sorarcasına baktı Peter'a. Açıklama ihtiyacı hisseden Peter, "Sen işletim sistemini anlatırken söylemiştin ya. Basic yorumcusu verilen komutları işler diye. İşte bu Basic yorumcusu iki durumda çalışabilir. Birincisi satır numarası verilmiş satırları sırasıyla işler. Diğer yöntem ise komutları direkt olarak vermektir. Yani satır numarası yazmadan da hemen işlenebilecek bir komut verebilirsin." "Senin programında örneğin; çarpılacak olan iki sayıyı PRINT komutundan sonra, aralarına çarpı işareti koyup yazar ve RETURN tuşuna basarsan bu sayıların çarpımları ekrana yazılır. İstersen bunları bir de ekranda deneyelim." Bunları söyledikten sonra Peter, ceketinin ceplerinden ve gözlerinden parçalar çıkarıp bunları birleştirmeye başladı. Abdullah, gözleri faltaşı gibi açılmış, olanları merakla izliyordu. Yavaş yavaş bir bilgisayar şekillenmeye başladı gözleri önünde. Peter, işini bitirince, "Hadi bakalım." dedi ve ikisi birden klavyeye eğildiler. Önce direkt komutları denemek isteyen Abdullah hemen atılıp ekrana, PRINT 6*7 yazdı ve sonucun 42 olduğunu sevinerek gördü. Bunun üzerine Peter, "Bu bir şey değil. Bu komutu değişik şeyler yazdırmak için de kullanabilirsin. Bak şimdi..." dedikten sonra ekrana şunları yazdı: "6*7=",6*7 Bu sefer ekranda yazısı belirdi. "Peki." dedi Peter. "Bu kadar temel bilgiden sonra aldığımız komutları kullanarak sen bir program yapmaya çalış bakalım. Komutları nasıl kullanacağını Orhan'ın verdiği kullanım kılavuzundan öğrenebilirsin. Programı bitirince de getirir bana gösterirsin. Beraber hatalarını düzeltiriz." Abdullah teşekkür edip Peter'ın yanından ayrıldı ve yeni öğrendiği komutları kullanmak üzere çalışmaya girişti.