Artık bu basit sinüs efekti yaratıcı programın incele- mesine geçelim: Başla Sei Yaz Sta $07F8,Y satırlarıyla sprite'larımızın grafik datalarının bellekte- ki yerini ayarlıyoruz. Benim kullandığım grafik tek tip olduğu için bütün sprite pointer'larını $2000 adresini gösterecek şekilde ayarladım. Fakat size kolaylık ol- sun diye bıraktığım Adce S$SO0komutunu Adc- $0/1'e çevirerek sprite'larınızın her birinin ayrı bir bellek ala- nını göstermesini sağlayabilirsiniz. $C010-$C033 arasında bildiğiniz komutlarla inter- Tupt vektörlerini ayarlıyoruz. Daha sonra sprite'ları açı- yor ve hepsini multi-color moduna geçiriyoruz ve son olarak da sprite ve ekran renklerini ayarlıyoruz. Da- ha sonra programımızın asıl bölümüne geliyor sıra. IR2 Lsr $DO19 Ldx $COFF Lsr $DO419 komutu da İnc $DO419 komutuyla aynı İş- levi yapar. Ldx $COFF komutuyla ilk sprite'in y koordi- natı tablosunda kaldığı yeri (bir başka deyişle sinüs açısını) X registerine alıyoruz. Ldy # $00 Lda $C400,X Clc Ade # $60 Sinüs tablomuz $C4100 adresinde bulunduğuna gö- re Lda $C100,x komutu A — 100 xsın(x) komutunun gö- revini üstlenir (çok daha hızlı olarak). Bu değeri $60 ile toplayarak zıplamanın ekranın en altında gerçek- leşmesini sağlıyoruz. Döngü1 Sta $DO0O1,Y In : İny Bu sinüs değerini 1. sprite'ın Y koordinatı adresine yerleştirdikten sonra ikinci sprite'a yazabilmek için Y'yi iki artırıyoruz. Txa Cle Ade $COFD And # $7F T $COFD adresinde bulunan değeri X registerine ek- leyerek ikinci sprite'ın birincisinden belli bir derece sonra görünmesini sağlıyoruz ve AND - $7F komutuyla bu sayıyı 0-127 aralığına hapsediyoruz. py # S10 Bne Döngü/ Bu işlemleri sekiz sprite için de tekrar ettiğimizde ard arda dizilmiş sprite'lar kaplıyor ekranımızı (şimdilik y koordinatında). Lda $COFF Clc Adec $COFB And # $7F Sta $COFF gelecek interrupt'ta sprite'larımız $COFB adresindeki değer kadar ileride (tabii ki derece olarak) görüne- cekler. Ldx SCOFE Ldy # $00 Sty $DO10 Her şeyden önce x koordinat tablosu göstericimizi X registerina alıyoruz. Daha sonra da Sprite'ların x ko- ordinatlarının 9. bitlerini O yapıyoruz (sadece ihtiyacı olanları açmak için. Eğer bu işlemi şimdi yapmazsak, bütün sprite'ların koordinatları ya hep 0-255 ya da 256-511 arasında bulunur. İ Döngü2 — Lda $C200,Y Sta $DOOO,Y X tablosunun low (alçak) bayt elemanlarını x koor- dinatının iİlk sekiz bitine saklıyoruz. Burada dikkat et-