1 Aralık 1990 Tarihli Commodore Gazetesi Sayfa 26

1 Aralık 1990 tarihli Commodore Gazetesi Sayfa 26
Metin içeriği (otomatik olarak oluşturulmuştur)

meniz gereken şey iki baytlık tabloları low (alçak) bayt tablosu ve high (yüksek) bayt tablosu olarak ikiye ayır- mam ve böylece elemanlara erişimi kolaylaştırmam. Lda $C300,Y Beg Atla Lda $COEO,Y Ora $DO19 Sta $DO410O Şimdi de sıra high baytlarda. Tabii ki sıfır olan high baytlarla işimiz yok. Eğer başta tüm 9. biftleri sıfırlama- saydık şimdi x koordinatlarının high baytları sıfır olan sprite'ların 9. bitlerini de temizlememiz gerekecekti. Eğer high baytlar sıfır değilse o zaman o koordinata sahip olan sprite'ın 9. bitini bir yapmamız gerekiyor. Bu işlemi yaparken de hızdan kazanmak için bir hile yapıyor ve bu değerleri $COEO adresinden başlayan $10 bayftlık bir tabloya yerleştiriyoruz. Böylece Y regis- teri üzerinden indeksli okuma ile $DO10 adresinin ka- çıncı bitini 1 yapacağımızı öğreniyoruz. Atla Iny İny Txa “Öle Ade $COFC ax İkinci sprite için gerekli x tablosu pointeri ayarlama- sını yapıyoruz. Yani X registeri değerini $SCOFC adre- sindeki değer kadar artırıyoruz. Y registerini iki artırın- ca da işlem yaptığımız sprite'ın bir sonrakinin x koor- dinatının değiştirilmesini sağlıyoruz. e Cpy# S10 Bne Döngü2 26 sekiz sprite için bu işlemleri tekrarlıyoruz. Lda $COFE Cle Ade $COFA Sta $COFE gelecek interrupt için x tablosunun pointerini istenen miktarda artırıyoruz. Ve JMP $SEAB81 komutuyla interrupt'ı terkediyoruz. Programın kullandığı bazı adreslere koyacağınız değerlerle ekrandaki hareketi olduğu gibi değiştire- bilirsiniz. Bu adresler: COFA (X hızı): Her interrupt girişinde X koordinatı gös- tericisinin artış miktarı. Bu değeri ne kadar artırırsanız sprite'larınız x ekseninde o kadar hızlı hareket ediyor gibi görünecektir. COFB (Y hızı): Sprite'ların sinüs hareketi üzerindeki hız- larını ayarlar. Güzel.bir görüntü için X hızına yakın (bir veya iki eksiği iyi oluyor) bir değer seçin. COFC (X takibi): İki sprite'in x koordinatı tablosu de- ğerleri arasındaki iark. Bu değeri artırdıkça sprite'lar x ekseni üzerinde birbirlerinden uzaklaşırlar. COFD (Y takibi): İki sprite'in y koordinatı tablosu (si- nüs tablosu) değerleri arasındaki fark. Bu değer art- tıkça sprite'lar y ekseninde birbirinden uzaklaşır. Eğer COFC ve COFD adreslerine sıfır değeri verirseniz ek- randa sadece tek bir sprite görürsünüz. Yani tüm spri- te'lar üst üste görünürler. Bu program hakkında tüm anlatabileceklerim bu kadar. Bundan sonrasını sizin deneyerek ve inceleye- rek öğrenmeniz gerekiyor. Tabii bunun için önce dö- küm ekindeki programı yazmanız şarf. Gelecek aya kadar hoşçakalın.

Bu sayıdan diğer sayfalar: