Amiga Dunyasi - Sayi 21 (Subat 1992).pdf - Retro Dergi
Amiga Dunyasi - Sayi 21 (Subat 1992).pdf - Retro Dergi
Amiga Dunyasi - Sayi 21 (Subat 1992).pdf - Retro Dergi
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
move.l CLadr,a1<br />
moveq #CLuzunluğu,d0<br />
;FreeMem için parametreleri düzenle<br />
jsr<br />
Son:<br />
FreeMem(a6) ;hafızayı serbest bırak<br />
clr.l<br />
rts<br />
d0 ;Hata flag'ini sil<br />
;Programın sonu<br />
: Değişkenler<br />
CLadr: dc.l 0<br />
: Sabitler<br />
GRisim:<br />
EVEN<br />
dc.b "graphics.library",0<br />
;çift adrese geç. (Bazı assemblerlar ALIGN<br />
;kullanır)<br />
işte COPPERLİST<br />
CLbaşla:<br />
dc.w color00,$0000 ;Arkaplan rengi siyah<br />
de. w $640f,$fffe ;100.satırda değiştir<br />
dc.w color00,$0fD0 ;şimdi arkaplan rangi kırmızı<br />
dc.w $be0f,$fffe ;190.satırda değiştir<br />
dc.w color00,$0fb0 ;artık altın rengi<br />
dc.w $ffff,$fffe imkansız pozisyon.Copperlistin<br />
;sonu<br />
CLson:<br />
CLuzunluğu = CLson - CLbaşla<br />
Programın sonu<br />
;**************************************************<br />
Bu program copperlisti yerleştiriyor ve sol mouse tuşu basılana<br />
kadar bekliyor.<br />
İlk etapta copperlisti yerleştirmek için hafızaya ihtiyacımız var.<br />
Bütün Custom register'larda olduğu gibi bu hafıza bölgesinin de<br />
Chip RAM'da bulunması gerekiyor. <strong>Amiga</strong> gibi MultiTask çalışan<br />
bilgisayarlarda, istediğiniz bilgiyi hafızanın istediğiniz yerine<br />
yazabilirsiniz. Bu AllocMem rutiniyle hallediliyor. Siz bu rutine,<br />
kullanmak istediğiniz hafıza miktarını ve bu hafızanın CHIP,<br />
FAST ya da PUBLIC (her ikisi de) hafıza bölümünde olması gerektiğini<br />
söylüyorsunuz, o da size gerekli hafızanın adresini dO<br />
register'ında size veriyor. Daha sonra Copper listimizi chip ramdaki<br />
bu adrese kopyalıyoruz.<br />
Daha sonra Forbid programı vasıtasıyla tüm taskları kapatıyoruz.<br />
Bu sayede programımızın diğer tasklar tarafından rahatsız<br />
edilmeden çalışmasını garantiye alıyoruz.<br />
Son olarak, copper list parametrelerini girip, copper'ı çalıştırıyoruz.<br />
Bundan sonra program sol mouse tuşunun basılıp basılmadığım<br />
kontrol ediyor. Eğer tuş basılıysa, işlemci bekleme döngüsünden<br />
çıkıyor.<br />
Eski görüntüyü tekrar geri almak için, özel bir copperlisti yüklüyoruz<br />
ve başlatıyoruz. Bu execbase içinde bulunan Startup<br />
Copperlisttir ve ekranı yeniden tanımlamaya yarar. Permit fonksiyonuyla<br />
taskları yeniden açıyor ve işgal ettiğimiz hafızayı Free-<br />
Mem rutiniyle serbest bırakıyoruz.<br />
Program üzerinde renkleri ve WAIT komutlarını kendinize göre<br />
değiştirebilir ve yeni komutlar ekleyebilirsiniz.<br />
Tüm mutlulukların sizin olması dileğiyle, en derin saygılarımı<br />
sunuyorum.