Bu sayfadaki yazılar
Sayfanın metni
Sayfa 28
POKE 53281,8 POKE PESPEEK (45) *256*PEEK (46) DIM APP s8 1 EPP (56 ) PRİNT PİNKY COPY RECTORY" PRİNT >COP Y DISK" PRİNT PRG M. END<CTRL-8>" PRİNT SPC<210)"<RYSON><ISPACE )SELEC T TASK<3SPACE>" GET IF DC<İ OR DC>5 THEN 138 ON DCGOTO 778,178,590 #PRIİNT "<Cz7>"
PRİNT >İNSERT SOÜRCE DİSK" REM FİLES EİNLESEN* OPEN 1,8,0,"$0" GOSUB IF THEN 218 THEN 2818 THEN PRİNT > <RYSON>DISK-EMPTY< RVSOFF 850:RUN
PRİNT PROGRAM <ESPACE FOR Isi TO 198,0 WATT 198,1:GET A$z"Y” THEN CF 318 GOTO PRİNT > 348 THEN 238 PRİNT NEKT IF THEN 560
PRINT "<CLR>"," <RVSON><3SPACE ORK ING ÜN PRINT "<4SPACE><RYSON>İNSERT SOURCE -DISK AND 85a FOR Izi TO PASIF NOT CFACİ) THEN 43 a FOR TÜ 450:1F ST-8 OR
POKE ND OF PROGRAM": END
PRİNT "<CLR>” ÖPEN GET #3,AS,AS,BLS,BH$ IF THEN CLOSE 3:G60T0 848 PRINT SYS MDiGOTO 730 GOSUB 858:60T0 88 PRINT
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 29
Bu makine dili grafik programı, C64'te high resolution (yüksek çözünürlük) ekranını kullanarak son derece hızlı ve devamlı değişen kaleidoskopik grafik desenleri üretiyor. Programı tamamen makine dilinde yazıldığından programı MDE ile girmelisiniz. Programı MDE ile yazdıktan sonra diskete veya kasete kaydetmeyi unutmayın. Bundan sonra programı normal olarak yükleyip RUN edin.
Programı çalıştırınca ekran temizlenecek ve dört ayrı kadran oluşacaktır. Her kadranda devamlı değişen şekiller ortaya çıkacaktır. Burada her kadran bir ayna vazifesi gördüğünden sonuçta ortaya çıkan grafikler simetrik olacaktır. Herhangi bir tuşa bastığınızda programdan çıkar ve BASIC'e dönersiniz.
C64, bit mapped grafikler için biraz karmaşık bir adresleme tekniği kullanılıyor. Ekrana yerleştirilecek pixelin yerini hesaplamak için şu eşitliği kullanabilirsiniz.
D = HIRES + 320 * INT(Y/8) + 8 * INT (X/8) + (YAND7)
Burada HIRES, yüksek çözünürlük ekranın hafızadaki adresini temsil etmektedir. X ile Y ise pixelin yatay ve düşey koordinatları belirtiyor. Programcılar bu eşitliği ekrana yerleştirilecek pixellerin değerlerini bulmak için sık sık kullanırlar. Ancak bizim programımız bunu daha kolayca halledliyor.
Program yukarıdaki eşitliği sadece bir çizgi üzerindeki ilk pixeli yerleştirmek için kullanıyor. Bu pixel yerleştirildikten sonra yapılan iş sadece D'nin değerini değiştirmektir. Burada ise bilgisayar şu mantığı kullanıyor:
Eğer X arttığı zaman (X AND 7)= 0 ise D=D+1 X azaldığı zaman (X AND 7)= 0 ise D=D+1 Y arttığı zaman (Y AND 7)= 0 ise D=D+313, öbür durumlarda D=D+1 Y azaldığı zaman (Y AND 7)= 7 ise D=D-313, öbür durumlarda D=D-1 oluyor.
Pixelin bu şekilde hesaplanması normal metoda göre çok daha hızlıdır.