Plazma sayı 5, sayfa 91

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 91

Programın sonucu Atari'de bu şekilde görünecektir.

Şekil 8.

Atari Assembler Editor Kartuşu Hata Kodu Listesi

Programlarınızı derlerken alabileceğiniz hata kodlarının anlamları aşağıdaki listede orijinal dokümanından alındığı şekliyle verilmiştir.

1 : Insufficient memory for

2 : The number xx cannot be found for the "DEL xx,yy" command

3 : Error in specifying an address in mini-assembler 4 : File cannot be loaded 5 : Undefined reference label 6 : Syntax error in a statement 7 : Label defined more than once 8 : Buffer overflow

9 : No label given before

10 : Byte expression is greater than 255

11 : Null string used where invalid 12 : Address or address type specified is incorrect 13 : Phase error: inconsistent result found from pass 1 to pass 2 14 : Undefined forward reference 15 : Line too large

16 : Source statement not recognized by assembler

17 : Line number too large

18 : LOMEM command attempted after other instructions

19 : No starting address given

Atari Assembler Editor İle İlgili Detaylı Bilgiler

Program yazmayı, çalıştırmayı öğrendik. Ancak Atari Assembler Editor'ün yetenekleri çok fazla. Eğer gerçekten bu kartuş hoşunuza gider ve kullanmak isterseniz daha fazla detay için "www.atariarchives.org" sitesini gezmenizi öneririm. Özellikle aşağıdaki adreste ihtiyacınız olan diğer komutların bir kısmını bulabilirsiniz.

http://www.atariarchives.org/roots/chapter 5.php

Biz şimdi bu kartuşu kullanmak yerine farklı bir yol çizeceğiz.

Atari İçin Çapraz Geliştirme

Atari Assembler Editor'ün nasıl kullanıldığını gördük. Ancak günümüzde Atari üzerinde çalışmak o kadar da pratik bir yol değil. Birçoğumuzun elinde çalışır halde bir Atari bile yok (ben de dahil olmak üzere). Olanların da çalışmalarını kaset ya da 5.25 disketlere emanet etmek isteyeceklerinden şüpheliyim. Dolayısıyla nostaljik sebepleri bir kenara bırakacak olursak PC ve emülatör kullanarak Atari için program yazmak en güvenilir ve rahat çözüm olacaktır.

Atari için uzun süre çapraz geliştirme ortamımı hazırlamak için araştırmalar yaptım. Bazı açık kaynak kodlu amatörce geliştirilen projelerde kullanılan çapraz geliştirme araçlarını gördüm, inceledim. Ancak dönüp dolaşıp eski bir dost olan ACME Crossassembler'da karar kıldım. Aslında ACME genellikle Commodore 64'e yönelik olarak hazırlanmış bir derleyici. Ancak sonuç olarak 6502 her halükarda 6502'dir. Yani ACME'nin üreteceği binary kodlar Atari'de çalışabilecek durumda olacaklar. Peki bu durumda her şey çözülmüş oluyor mu? Ne yazık ki hayır, biraz daha çaba sarf edeceğiz.

Problemlerimiz neler? ACME'nin üreteceği binary dosyaları Atari'nin hafızasına istediğimiz adresten yükletmek ve çalıştırmak zahmetli bir iş olacaktır. Commodore 64'ün *.prg dosya formatında dosyanın ilk iki byte'ı 16 bitlik bir hafıza adresi içerir ve bu sayede Commodore 64 dosyayı hafızaya nereden yükleyeceğini bilir. Ancak Atari'de durumlar biraz farklı.

Araştırmalarım sonunda Atari'nin otomatik olarak program yüklendiği gibi çalışabilen bir EXE formatını buldum. PC EXE'leriyle karıştırılmaması için genellikle XEX şeklinde uzantı kullanıyorlar. Bu dosyalar kolaylıkla yüklenebiliyor ve çalıştırılabiliyorlar.

XEX Dosya Formatı

Bu dosya formatı programın başlangıç ve bitiş adreslerine ihtiyaç duyar. En temel haliyle format şu şekilde verilebilir.

Kullanacağımız kısaltmalar:

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