Bu sayfadaki yazılar
Sayfanın metni
Sayfa 22
Yukarıdaki programda, $1000-$4100'de bulunan değerlerin $0400-$0500 arasına nasıl basılabileceğini gördük. Bu işlem sırasında ekrana $00'dan $FF'e kadar olan değerleri bastık. Yani decimal olarak 255 tane karakter bastık. Bunun sebebi de makine dilinde her sayının karakter olarak bir karşılığı vardır. Eğer ekrana bir mesaj yazdırmak isterseniz $1000 ile $4100 arasına, mesajınızı yazın. Programın içinde kullandığımız LDX #$00 komutu ile hafızada bir sayaç açıyoruz. INX komutuyla (Increment X) X'i bir değer arttırıyoruz. JMP ile ekrana X'in bir değer artmış halini basıyoruz. Yani X, sıfır iken sıfırıncı değeri, X bir iken birinci değeri bastırıyoruz. Bu işlem X, 255 olana kadar devam ediyor. Eğer bu sayının 255'den küçük olmasını isterseniz INX komutundan sonra CPX (Compare X) kullanmamız gerekir. $10 kullanarak X'in $10 olup olmadığı karşılaştırılır. Aynı zamanda JMP komutu yerine BNE (Branch if not Equal) kullanmamız gerekir.
BNE komutu BASIC'de IF komutuna karşılık gelir. X, $10 olana kadar BNE DÖNGÜ yapılır. Yani X'in o andaki değeri kontrol edilir, $10 olup olmadığı kontrol edilir, X $10'dan küçükse BNE yardımıyla LDA X yazan satıra gidilir. Şimdi LDA, STA, LDX, STX komutlarını kullanarak ekranı silme, zemin ve kenar renklerini değiştirmeyi görelim. Ekran iki şekilde silinir. 1- Aynen BASIC'de olduğu gibi (PRINT “CLR HOME”)
LDA #$93- JSRS D2- ekranın yazım adresi
Yukarıdaki programda A'nın aldığı değer (147), BASIC'de yaptığımız CLRHOME'a eşittir. Yani SHIFT tuşu ile beraber CLEAR HOME tuşuna bastığımızda ekrana çıkan (negatif kalp) işaretin değeri, hafızada $93 değerine karşılık gelir. JSR $FFD2 ise PRINT komutunun assembler karşılığıdır. Commodore 64'ün içinde bulunan (KERNAL ROM) bazı komutlar vardır. Bunlara KERNAL RUTİNLERİ denir. $FFD2'de bu kernal rutinlerinden biridir. Yukarıdaki program ekrana CLRHOME'a karşılık gelen değeri basar. Böylece ekran silinmiş olur. Bildiğiniz gibi BASIC'de ekranın renklerini 53280 ve 53281 adreslerini kullanarak değiştiriyoruz. POKE 53280,0 yazdığımızda ekranın dışı siyah rengi alır. POKE 53281,0 yazdığımızda ekranın iç kısmı da siyah olur. Aynı işlemi assembler'da şöyle yapabiliriz
LDA #$00 -> Az00 STA $DO20 - >A'daki değeri $DO20 adresine yerleştir. LDX #S00 STX $DO21 ->X'deki değeri $DO21 adresine yerleştir
Aynı işlemi pratik olarak
LDA # $00 - > STA $DO20 - > A'daki değeri $DO20'ye koy. STA $DO21 - > A'daki değeri $DO21'e koy.
Sanırım şu ana kadar basit de olsa bir şeyler anlamışsınızdır. Gelecek sayıda INTERRUPT ve TIMING konularını anlatacağım. Görüşmek dileğiyle.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 23
TUZAKLAR VE TİYOLAR
« Bu ayda sizlere beğeneceğinizi umduğum güzel ip uçları yazacağız. Sinan hâlâ vizelerle, finallerle uçup duruyor. Benim ise sınavlarım azalmış durumda. Evet, güzel tiyolarımızı yazmaya başlayalım. İlk tiyolar canlı JUMPING JACKSON'dan. İlk önce kademe password'ları.
ROCKNROLL NOISSES ELVIS
Beşinci kademeyi kolayca geçmek isterseniz size tarif ettiğimiz yolu izleyin. En sağdaki teleporter'a girip sıra ile SARI-KIRMIZI ve MAVİ plakları alın. Bizi saatlerce başından kaldırmayan bir PSYGNOSIS oyunu olan NEVERMIND kademe kodlarına ne dersiniz. Sesinizi duyar gibi oluyorum.
Benden bu kadar şimdi tuşları Sinan'a bırakıyorum. Selam, geçen sayıdan beri bilgisayarınızı kurcalayabildiniz mi bilemiyorum ama ben arasıra da olsa biraz açıp bakabiliyorum. Şu anda hepimiz yazıları erken teslim etmenin getirmiş olduğu karmaşa içindeyiz. Şu anda Tunç yazıyı bana yıkıp çıkmaya hazırlanıyor. Neyse lafı daha fazla uzatmadan tiyolarımıza başlayalım. İlk tiyomuz 'ESCAPE FROM THE PLANET OF ROBOT MONSTERS'tan. Gerçi şimdi vereceğim tiyoyu oyunu açıklarken verecektim ama aceleden unuttuğum için sizi bu satırlara mahkum ediyorum! Bombalarınızı kullanmak için klavyenizin sol alt köşesindeki 'ALT' tuşuna basın. Tabi bombalarınızı bölüm sonundaki canavarlara saklamanın oldukça faydalı olacağını da hatırlatmama gerek yok sanırım. İkinci tiyomuzsa X-OUT'tan. Gemi ve silah almak için girdiğiniz bölümde önce en ucuz gemiyi alın. Bunun ardından en ucuz tekli ateşi alıp, garip bir kıyafet içinde sol üst köşede duran yaratığın yüzüne klikleyin. Artık 500.000 krediniz var. Bununla istediğiniz kadar gemi ve silah alabilirsiniz. Şayet tek tek gemi alıp silahla donatmak için fazla vakit harcamak istemezseniz klavyenizdeki F tuşlarını kullanabilirsiniz. Sırasıyla F4, F2, F3 ve F4 tuşlarına basarak (ucuzdan pahalıya doğru) istediğiniz gemi gruplarını alabilirsiniz. Örneğin her F4 tuşuna bastığınızda otomatikman en ucuz gemiden dört tane alabilirsiniz. Sürekli bastığınız takdirde taşıma kapasiteniz dolana kadar gemi alabilirsiniz. Tabi F tuşlarıyla seçtiğiniz gemilerde sizin istemediğiniz silahlarda bulunabilir. O zaman istemediklerinizi atarak, onların yerine istediğiniz silahları alabilirsiniz. Bence hazır bir gemideki bazı silahları değiştirmek, yeni bir gemiyi silahla donatmaktan daha kolay. Siz ne dersiniz. Bu arada 64'çü arkadaşlarımız bize kızmasınlar bundan sonraki bölümlerde onlar için de ilginç tiyolarımız olacak. 64'le ilgilenen yazar arkadaşlarımızın yardımıyla tabi. Şimdilik bu kadar bol tiyolu sım:
2
Tabii ki 9?