@endo: saat gecenin bir yarısı olmasa on kere telefon etmiştim sana. bazı şeyleri çözene kadar kafayı çizdim ama birçoğunu şans eseri buldum, hallettim. bahsettiğim sadece 68k asm değil, aynı zamanda asmpro kullanımıyla ilgili.
yaşadığım komik olaylar.
1) nasıl satır silineceğini bilmiyorum. sinüs tablosunu yanlışlıkla copper kodlarının altında oluşturmuş durumdayım. ne block cut paste yapmayı biliyorum ne de hızlı bir silme yöntemi. neyse ki hemen öncesinde kodu kaydetmiştim, önceki versiyonu yükleyerek çözdüm.
2) debug işleminin [A]+D olduğunu görüyorum menüden. Tuşlara basıyorum ve o da ne... Bir satır uçuyor. Bu benim az önce aradığım özellik. Meğer olay case sensitivemiş. [A]+D demek [A]+Shift+d imiş.
Bu sayede hem satır silmeyi keşfediyorum hem de shift ile debug kısayolunu kullanmayı öğreniyorum.
3) Assemble et demek için [A]+a'ya basıyorum. Yukarıdakine benzer bir hata ile "Add Watch"un kısa yolunu bulmuş oluyorum ki o anda ihtiyacım olan şey de tam bu zaten.
4) En son Endo'nun AsmPro ile ilgili Plazma #5'deki 2. yazısı olan AsmPro Kılavuzu'na baştan sonra bir göz atıyorum ve birçok şeyi oradan öğreniyorum.
Bu sorunları yaşamamdaki en büyük neden ise çok komik. Elimde bir tane Amiga Mouse'u var şu anda (diğer annemleri eski evde kalmış). Onun da sağ tuşu çok zor basıyor ve temassızlık yapıyor. Yani üstteki menüleri bir türlü kullanamıyorum. Onları kullanabilsem herşey çok daha basit olacak tabii. En kısa sürede annemlerdeki sağlam mouse'u alıp bu sorunu da aşıcam. Ama bu sorun sayesinde de epey bir keyboard shortcut öğrendim ki beni çok hızlandırdı.
şu anda yapmayı öğrendiğim en önemli şey editörü birçok debug özelliğiyle birlikte sağlam bir biçimde kullanmayı öğrenmem oldu. breakpoint koymak, watch'a label eklemek, step by step debug etmek, tekrar bu noktaya gelene kadar çalış demek (loop içinde muhteşem bir özellik) v.s. hepsini klavye shortcutlarıyla hızlıca kullanabiliyorum. Bundan sonrası için çok çok önemli bir gelişme bu.
Gelelim alışmam gereken şeylere. 68k asm oldukça kolay (hele ki 6502'nin limitlerini düşünürsek). Kaldı ki 68000+'a özel komutları da düşünürsek artık işin cılkı çıkıyor, x86 Asm gibi birşey resmen. Ancak beni zorlayan şeyler daha çok OpenGL ve DirectX'in ikisini birden kullanmış kişilerin karşılaştığı farklılıkları gibi. Mesela Blitter EOR fill'i yukarıdan aşağı değil soldan sağa yapıyor (sanırım reverse mode ile sağdan sola da yapabiliyor). Ben C64'den gelen alışkanlıkla bu güne kadar EOR filling için line slopları çizdirirken hep 45 dereceden büyük açılardaki değerler için step atlanması gerektiğini düşünmüşken burada olay tersine dönüyor. OpenGL ve DirectX'in matrislerinin eksenleri birbirine göre swap edilmiş biçimde kullanması gibi. Yani elbette ki C64'deki bilgilerimin bana sağladığı çok büyük avantajlar var. Ama bir o kadar da alışkanlıklarımı değiştirmem gereken nokta var. Neyse ki Blitter lineları çizmeye kadar herşeyi üstleniyor da ben kafamı çok yormayacağım bu işlere.