Bu sayfadaki yazılar
Sayfanın metni
Sayfa 20
komutuyla programdan çıkabilirsiniz. VIEW80 V1.61 Mikael Karlsson, 1991, Copyright'lı Shareware. Eğer bu programdan hoşlanırsanız ve programcıyı ödüllendirmek isterseniz, 10 dolar gibi bir miktarı programcının adresine yollayabilirsiniz. Snap, programcısına bakılırsa, tembel klavye kullanıcılarına yönelik bir program. Ekrana bakıp da “İşte şurada yazılı olan şeyleri dokümanıma eklemeliyim” diyorsanız, ve yazılı şeyleri tekrar yazmaya üşeniyorsanız Snap sizin için yazılmış demektir. Snap yardımıyla, ekranda görebildiğiniz her yazıyı istediğiniz yere yapıştırabilirsiniz. Bunun yanında, ekranda bulunan grafiğin bir kısmını, daha sonra DPaint gibi bir çizim programında kullanmak üzere formatında saklamak gibi bir isteğiniz varsa, kesinlikle Snap'i kullanmalısınız. Snap, sistemle uyumlu çalışan her programa ait ekrandan grafik çalabiliyor. DEVS: directory'sinde clipboard.device yoksa, Snap'i çalıştıramazsınız. Bir kere çalıştırdıktan sonra Snap'i kapatmanın en kolay yolu, bir kere daha çalıştırmaktır. Aslında programı, burada anlattığımdan çok daha etkin ama detaylı bilgi vermek için yeterli olmadığından, dokümanı okumanız gerekli. Snap'i kullanarak ekrandan yazı kesmenin iki yöntemi var:
1. SOL Amiga tuşuna basın ve tuşu bırakmayın. Sonra, istediğiniz harfin yanına gelin ve SOL mouse tuşuna BİR kere basın. Yazının bulunduğu dikdörtgeni işaretleyin. Önce sol MOUSE tuşunu bırakın. Artık elinizi sol AMIGA tuşundan çekebilirsiniz. 2. SOL Amiga tuşuna basın ve tuşu bırakmayın. İstediğiniz harfin yanına geldikten sonra SOL mouse tuşuna İKİ kere basın. Gerekli yazı parçasını işaretleyin. Burada yazı, ardışık kelimeler olarak işaretlenecektir. İstediğiniz cümleleri işaretledikten sonra sol MOUSE tuşunu, daha sonra da sol AMIGA tuşunu bırakın. 3. SOL Amiga tuşuna basın ve tuşu bırakmayın. İstediğiniz satıra gelin ve sol mouse tuşuna ÜÇ kere basın. Böylece tüm satır işaretlenecektir. Şimdi istediğiniz kadar satırı işaretleyin. Önce sol MOUSE tuşunu, sonra da sol AMIGA tuşunu bırakın. Bu üç yöntemle yazınızı istediğiniz gibi kesebilirsiniz. Bu kesilen yazıyı istediğiniz yere eklemek için, kursörü istediğiniz yere getirin ve SOL AMIGA tuşuna basın. Tuşu bırakmadan SAĞ MOUSE tuşuna bastığınız zaman, az önce kestiğiniz yazının ekranda belirdiğini göreceksiniz. Yazı kesme işlemine başladıktan sonra fikrinizi değiştirirseniz, MOUSE TUŞU basılıyken SOL AMIGA tuşunu bırakın. Ekran flash'layacak ve işlem yarıda kesilecektir. Programı kullanarak bir de grafikleri kesebileceğinizi söylemiştim. Laf aramızda, bu programı şimdi kullanıyor olmanın tek sebebi bu. Tüm yapmanız gereken, SAĞ AMIGA tuşuna basıp, mouse'u istediğiniz yere getirmek, tuşu bırakmadan SOL MOUSE tuşuna basmak ve grafiği işaretlemek. Şimdi sırasıyla MOUSE tuşunu ve AMIGA tuşunu bırakın. Workbench ekranında kestiğiniz alan boyunda bir pencere açılacaktır. Bu pencerede demin kestiğiniz resmi görebilirsiniz (renklerin aynı olmasını beklemiyordunuz herhalde). Resmin içinde bulunduğu pencereye gelip SOL MOUSE tuşuna basılı tutarsanız, resminizi gerçek renkleriyle görebilirsiniz. Pencerenin kenarındaki disket ikonuna basarsanız, küçük bir pencere açılır. Bu pencerede içinde SAVE yazan bir kutu, snap.pic yazan bir kutu ve şeffaf rengi seçmenizi sağlayan başka bir kutu göreceksiniz. Tahmin ettiğiniz gibi, SAVE kutusuna kliklerseniz resim Snap.pic'e kaydedilir, snap.pic kutusuna kliklerseniz resmin ismini seçersiniz. Resmin bulunduğu pencerede bulunan makas ikonu yardımıyla resmi kesip clipboard'a kaydedebilirsiniz. Böylece, Clipboard'dan yararlanan bir programda doğrudan doğruya bu resmi PASTE edebilirsiniz. Resim kesme işini yarım bırakmak için de MOUSE'dan önce AMIGA tuşunu bırakmalısınız.
Mark Waggoner, 1991, Public Domain Source: Var. Ekranınızın köşesinde duran bir saate ihtiyacınız var mı? Ekran değiştirseniz dahi bu saatin orada durmasını istiyor musunuz? O zaman hiç beklemeden bu programı çalışma disketinize ekleyin. Program sadece sprite'lara yerleştirilmiş dijital bir saati istediğiniz yere yerleştiriyor. Artık ekrana ne yaparsanız yapın, bu saat orada duracaktır. Saati kapatmak için programı bir kez daha çalıştırın. Programın info'sunda bulunan TOOLTYPES yerine şu komutları yazabilirsiniz: LEFT=x: Saatin sol kenarının koordinatı. TOP=y: Saatin üst kenarının koordinatı. DİKKAT! Sol ve üst kenar koordinatları, kullandığınız ekranlara bağlı değildir ve 320 x 200'lük bir ekrana göre ayarlıdır. Örnek: LEFT=280 TOP=10. COLOR1=r g b: Rakamların rengi (r, g, b : 0-15). COLOR2=r g b: Rakamların gölgesinin rengi. COLOR3=r g b: Öğleden sonra'yı (PM) gösteren noktanın rengi. Örnek: COLOR1=0 0 15. 24HOUR: Saati 24 saat modunda gösterir. Bence kullanmayın, çünkü onlar hanesinde yer alan ince 2 çok kötü görünüyor. NOBLINK: İki noktanın (:) işaretinin iki saniyede bir yanıp sönmesini durdurur. Bu komutları aynı şekilde CLI'dan da kullanabilirsiniz (SPClock LEFT=260 NOBLINK gibi). CLI'dan START ve QUIT parametrelerini de kullanabilirler. Program olarak çok kullanışlı gelmese bile C'de yazılmış olan source'ların eğitici olacağına inanıyorum.
Jonathan Potter, 1989, freely redistributable. İşte bu programı açıklamaya gerek yok. İlkokul sıralarında oynadığınız X'ler ve O'lar oyununun aynısı. Canınız sıkıldıkça oynayın. CLI'dan çalıştırırken 'TICTACTOE -0' yazarsanız, bilgisayar kendisine karşı oynar. İyi eğlenceler.
Mark Schretlen, 1989, Public Domain. PC kullanıcıları, klavyelerinden gelen 'kik' seslerine senkronize olup çok daha hızlı yazabildiklerine inanıyorlar. Amiga'nıza PC için yapılmış özel klavyelerden bağlamanıza imkan olmadığına göre bu şirin programı kullanmaya mahkumsunuz. Programın tek yaptığı iş, tüm tuşlara belli sesler atayıp, o tuşa basıldığı zaman bu sesi çıkarmak. Program çalışırken bilgisayarınızı kullandığınız zaman, kendinizi daktilo kullanıyor gibi hissediyorsunuz. Programın tek kötü yanı, A500'ler gibi Kickstart 2.0'a sahip bilgisayarlarda kullanıldığında problem çıkartma ihtimali olması. Ama benim bilgisayarımda sadece bir kez GURU verdi. Guru gelince SUSPEND ile programı öldürmeme rağmen, sistemde çalışan diğer programlara (bu yazıyı yazdığım editör gibi) hiçbir şey olmadı. Hatta bir Keybiz daha çalıştırdım, ve 'kik' sesleri arasında yazımı yazmaya devam ettim.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 21
Merhaba arkadaşlar, Bootblock'lar üzerine olan bu yazı dizimizin üçüncü bölümüne sağ salim gelmiş bulunuyoruz. Umarız yaptığımız uygulamalar size ağır gelmiyordur, fakat ağır bile gelseler bir iki tekrardan sonra kolaylıkla üstesinden geleceğinizden eminim, eğer bu da olmazsa lütfen sorunlarınızı bize yazın. Geçen iki bölümde ilk olarak ana boot rutinini ve bootblock'tan Track-Disk denilen bir device yardımıyla bilgi okumayı öğrenmiştik. Genel olarak piyasadaki bootblock'lar bu iki ana yöntemi kullanırlar. Mesela bir bootblock veya bir korumasını ele alalım. Bu iki uygulama da 700-800 byte yer tutan rutinlerden oluşmaktadırlar ve bootblock'a rahatlıkla sığarlar. Bu rutinlerin arkasına boot rutinini de koyarsanız bir bootblock hazırlamış olursunuz. Diğer tür de BootLoader diye tabir edebileceğimiz bootblock'lardır. Dergimizi takip eden okurlar bilir, geçen sayıda böyle bir rutin vermiştik. Bunların da ana amacı genel olarak ilk önce bir introyu daha sonra da oyunu yüklemektir. Verdiğimiz bu iki örnekte de bootblock öncelikli bir program gibi çalışıp, görevini bitirdikten sonra da silinip gider. Bu temel olarak boot programının yapısından ileri gelmektedir. Bu rutin çalıştığı anda bootblock'un aktifliği sona erer, yani boot kendisinden sonra bir olaya (mesela Dos veya System-Configuration'a) müdahale edemez. Tabii ki bu olay biz kullanıcıları bağlamaz, hele ki C-64 gibi numaralarla dolu bir makineyi programlama şansına (veya şanssızlığına) erişmiş eski topraklar için bu hiç de sorun değildir. Bakın bu işi nasıl beceriyoruz; bilindiği üzere disk takıldığında ilk önce Bootblock adıyla bildiğimiz ilk iki block okunur. Daha sonra burada bulunan program harekete geçirilir, eğer bu programın sonunda Boot rutini varsa sistem Dos'a çıkmak için harekete geçer. Sistem ilk önce Dos'u açar, daha sonra diskten system-configuration'ı yükler ve CLI'ı buna göre açar. Bundan sonra Startup-Sequence denilen dosyayı yükler ve buradaki programları işleme koyar. Son olarak ta 1> promptunu çıkararak kullanıcının bir giriş yapmasını bekler, madem bootblock aktif kalamıyor öyleyse biz de yapacağı işi bir başka task'i değiştirerek yaptırırız. Yani olay şu; bootblock çalışacak, kendisinden sonra işleme konulacak bir komutu değiştirip istediğimiz işin daha sonra bu komut tarafından yapılmasını sağlayacak, bu işlemden sonra da komutu eski haline döndürecek. Bu aynı zamanda de temel mantık ama bu tamamıyla ayrı bir konu. Dilerseniz programın açıklamasına geçelim; İlk önce program Main rutinine dallanarak bazı ana değişiklikleri gerçekleştiriyor. Bu ilki programı hafızada belli bir adrese yerleştirmek. Daha önceki sayılarımızı takip edenler bilirler, bootblock chip mem içinde herhangi bir adrese yüklenir, bunun genel olarak bir zararı yok ama bizim yapacağımız işte fonksiyonu sabit bir adrese yerleştirmemiz gerekmekte. Bu yüzden biz de programı TRANS rutini sayesinde hafızanın pek fazla kullanılmayan bir yeri olan $7F000'a yolluyoruz. Daha sonra da Intuition'ı açıyoruz. BACKUP rutini ile OpenWindow komutunun asıl adresi olan değeri alıp ileride kullanmak üzere saklıyoruz. Bunun ardından ise NEWSTRT rutini içinde kullandığımız SetFunction komutu ile bilgisayarın her OpenWindow komutu ile bizim programımıza dallanmasını sağlıyoruz. Bu iş de bittikten sonra yani kendimizi sisteme yerleştirdikten sonra klasik boot rutinini çalıştırıp sistemden çıkıyoruz. Görünüşe göre boot burada bitiyor, peki ya geri kalan kısımlar ne? İşin aslı şimdiye kadar yaptıklarımız sadece sistemin içine bir casus yollamaktı, asıl olay yani casusun rolü bundan sonra başlıyor. Sistem hiçbir şey yokmuş gibi yoluna devam ediyor. Güzel güzel system-configuration'ı yüklüyor ve bir window açmaya karar veriyor. İşte bu noktada devreye casusumuz giriyor. NEWFUN isimli rutin OpenWindow komutu ile çalıştırılıyor. İlk yaptığı iş bu olay devamlı tekrarlanmasın diye OpenWindow komutunu eski haline getirmek, eğer bu yapılmazsa her OpenWindow komutunda bilgisayar window ismi olarak bizim yazdıklarımızı alır. Bundan sonraki kısım ise EXEC adındaki rutin. Bu rutin OpenWindow komutunun bazı parametrelerini düzenler. Orta düzeyde bir assembler bilgisi ile bu parametreleri kolaylıkla anlayabilirsiniz. Burada yapılan iş window'un 256 yükseklikte açılması ve başlığında TITLE sonra gelen yazının bulunması. Bu da yapıldıktan sonra Rts komutu ile programdan çıkılır. Her türlü soru ve eleştirilerinizi bekliyorum, bana yazın. Gelecek Bootblock'ta yepyeni bir uygulama ile sizlerle olmak üzere, KIVILCIM HİNDİSTAN
BOOT DCb
del del START
880
BSALMAN
60: MOVEL LEA JSR MOVEL MOVEL MOVEO ARTS MAİN:
aç -$0060(A6) DOAO SOOTELAO)AO 4800.00
BSR.s TRANS
JMP SONRA:
BSR.s CPENNT BSR.s BACKUP BSR.s
Ris TRANS: LEA LEA MOVEW DONGU: MOVEL RTS BACKUP: MOVEL MOVEL ARTS NEWSTR1 MOVEL MOVEL MOVEL MOVEL JSR ARTS ÖPENİNT.
TURLU D7,DONGU
Tintbasa-boctl#DEST.AO -$O0CA(AO), [funbase-boot]+ DEST
A
Set Functior
(POJAT -$0198(A6)
MOVEL JSR MOVEL RTS NEWFUN:
— DEST
MOVEML HAT)
BSR.s BSR.s
NEWSTR2 EKC
MOVEML.
MOVEL RTS NEWSTR2 MOVEL MOVEL MOVEL MOVEL MOVEL JSR MOVEL RIS EXC: MOVEW MOVEL Window Başlığ
(AT)
— Öpen Window Functlor “SOTAMASI A0
;SetFunctior
V #fitel
Başlığı
ARTS FUNBASE İNTBASE DOS: TITEL:
bikb
DCB
12000
DC10 800 “dosllbrary 500 “Amiga Dergisi