C64 Türkiye sayı 7, sayfa 12
Sayfanın metni

Sayfa 12

ACME

Önce crossassembler nedir onu söyleyeyim. Crossassembler, host platformda yazdığınız assembler dilindeki kaynak kodu hedef platformda çalışacak bir binary dosyaya dönüştüren araçtır. Assembler programlarının genel özellikleri olan etiketler ve makrolar ACME'nin de en işe yarayan özellikleri arasında. ACME'nin önemli bir özelliği ise çok hızlı çalışması.

Kod editörü: EMACS

PC'de kod yazarken önemli bir avantajınız, çok fazla değişik kod editörü seçme imkanınız olması. Kod editörü içinde herhangi bir dilde program yazdığınız araçlardır. Windows Not Defteri ya da Microsoft Visual Studio da kod editörü olarak kullanılabilir. Genelde bir kod editörünün içinden kodları derleyip çalıştırabilmenize ve hatta debug edebilmenize izin verecek şekilde yapılır. Bunlara entegre geliştirme çevreleri (integrated development environment) anlamına gelen IDE adı verilir. Pek çok programcı aslında günümüzde IDE'leri tercih ediyor. Benim gibi dinozorlar ve UNIX tabanlı programcılar ise editor, compiler, debugger vs. için ayrı ayrı araçları tercih ederler. Bu araçlardaki avantaj şudur: Aynı kod editörü ile hem C64 hem PC hem de başka platformlar için kod yazabilirsiniz. Yani compiler/assembler veya debugger değiştirirken alıştığınız kod editörünü kullanmaya devam edebilirsiniz.

Kod editörü gerçekten çok kritik bir konu değildir. Herkes genelde rahat ettiği bir editör bulur ve onunla devam eder. Ben üç yıl önce evde ve işte EMACS kullanmaya başladım. EMACS, şu meşhur özgür yazılım hareketini 80'lerde başlatan FSF (Free Software Foundation) tarafından yürütülen GNU projesinin editörüdür. Avrupa ve Amerika’daki pek çok yazılımcı tarafından VI editörü ile birlikte dünyanın en iyi editörü kabul edilir.

VI ve EMACS görünüşte çok sade yazılımlardır. Fakat her ikisinin de temel prensibi kullanıcının elini normal daktilo konumunda tuttuğu zaman elini klavyeden hiç kaldırmadan pek çok işi yapabilmesidir. Genelde pek çok diğer janjanlı editördeki gibi mouse ile klavye arasında elinizi götürüp getirerek zaman kaybetmeniz gerekmez. İkinci önemli özellik de EMACS'in pek çok bölümünün Lisp adı verilen bir dille yazılmış olmasıdır. Bu dille çok çeşitli küçük rutinler yazıp editöre eklemeniz mümkündür. Yani herhangi bir istediğiniz özelliği genelde 20-50 satır Lisp kodu yazarak EMACS'e kazandırabilirsiniz.

Eğer EMACS kullanmaya karar verirseniz tutorial'leri takip ederek tuş kullanımını ve kısayolları iyice öğrenmeye çalışın. Bu başta zor gelecek ve biraz zaman alacaktır. Ama alıştıktan sonra size çok rahat gelebilir.

Geliştirme döngüsü Kod geliştirirken kullandığımız üç ana araçtan bahsettik: 1- kod editörü: EMACS 2- assembler: ACME 3- debugger/emülatör: VICE

Normalde kod geliştirirken sürekli bu üç ana araç arasında döneceksiniz. Öncelikle editör içinde kod yazacak ve bir dosyaya kaydedeceksiniz. Ardından bu dosyayı ACME ile assemble edeceksiniz. Eğer bir takım yazım hataları yaptıysanız ACME size hangi dosyanın hangi satırında hata yaptığınızı söyleyen hata mesajları çıkaracak. Ardından bunları tek tek editörde yeniden düzelteceksiniz. En sonunda ACME bir hata vermeden kaynak kodlarınızı assemble edecek ve bir C64 dosyası oluşturacak. Daha sonra bu dosyayı VICE emülatörü ile çalıştıracaksınız. Büyük olasılıkla çalışmayacak. VICE monitör ile bir süre debug edip hataları bulacaksınız. Bu hataları EMACS ile düzeltip yeniden ACME ve yeniden VICE çalıştıracaksınız. Ta ki yazdığınız kod parçası istediğiniz gibi çalışana kadar.

Genelde biraz büyükçe projeleri önce kafanızda çalıştırılması gereken alt parçalara böldüğünüz için VICE üstünde parçaları tek tek çalıştırıp memnun kalınca bunları birleştireceksiniz. Birleştirme sonucu çıkan hatalar da ayıklandığı zaman sonuca ulaşmış olacaksınız. C64 üstünde istediğiniz gibi çalışan bir ürün.

Klavyeyle gezinmek için ← ve → tuşları.