25.11.2014 Views

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

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!