Program Döküm Eki sayı 22, sayfa 16
Sayfanın metni

Sayfa 16

Bu program sayesinde sık sık kullanım kılavuzunu veya el kitabınızı açıp hata mesajlarının anlamlarını araştırmaktan kurtulacaksınız. Çünkü COMMODORE 64'ünüz artık hata mesajlarını Türkçe olarak verecek. Üstelik bu mesajları siz, dilediğiniz gibi değiştirebileceksiniz.

Programı MDE ile yazabilmek için size gerekli olan bilgiler şunlar: Program ismi:T-HATA, Başlangıç Adresi: 0801, Bitiş Adresi: 0A6B. Ayrıca makina dili ile ilgilenen arkadaşlar için programın assembler listing'ini yayınlıyoruz. Böylece programı inceleyip kendi amaçlarınıza uygun değişiklikler yapabilirsiniz.

Programı yazıp kasete veya diskete kayıt ettikten sonra tekrar yükleyerek 'RUN' komutu ile çalıştırın. 'READY.' mesajı ile karşılaştığınızda artık Türkçe Hata Mesajları emrinizdedir. İsterseniz birkaç deneme yapalım. Şu satırı yazın:

PRIND 7-4 (RETURN)

?YAZIM HATASI mesajı ile karşılaşacaksınız. Eğer program modunda, 10 NEXT RUN (RETURN) verirseniz, ?FOR'SUZ NEXT HATASI SATIR 10 cevabı alacaksınız. Artık programlarınızdaki hataları bulmak ve anlamak daha kolay değil mi?

Şimdi de işin teknik yönüne bir göz atalım: COMMODORE 64'ün bazı ROM rutinlerini işaretleyen vektörler RAM bölgesindedir. Bunun anlamı bizim bu vektörlere rahatlıkla ulaşabileceğimiz ve onları değiştirebileceğimizdir. Normalde $300/$301 (ondalık 768/769) vektörünün işaretlediği Rom rutini $4437 adresindedir. Bu rutinin görevi, program bir hatadan dolayı durmuş ise uygun hata mesajını ekrana göndermek veya normal bir END komutu ile sona ermiş ise 'READY.' mesajını göndermektir. İşte bu noktada devreye biz giriyoruz.

$300/$301 vektörünü bizim rutinimizi işaretleyecek şekilde değiştiriyoruz. Artık bir hata olduğunda veya program sona erdiğinde bilgisayar bir indirek atlama komutu ile -JMP ($300)- bizim rutinimize atlayacaktır. Bizim rutinimiz ROM'daki hata değerlendirme rutinine oldukça benziyor. Farklılık, hata mesajlarını ROM'daki tablodan değil de, bizim tablodan almasında. İlgili hata numarası X registerinden geliyor ve burada uygun hata mesajının adresi hesaplanarak ekrana basılıyor. İşte hepsi bu kadar...

Aşağıdaki tabloda hata numaralarını, bilgisayarın vereceği mesajı ve bu program çalıştırıldıktan sonra karşılaşacağınız mesajları bulacaksınız. Dikkat etmeniz gereken nokta mesajların son harflerinin SHFT'e basılarak yazıldığıdır. Ancak bu şekilde COMMODORE 64 hata mesajının bittiğini anlamakta ve 'READY.' mesajını yollayarak görevini tamamlamaktadır. Eğer hata mesajlarını değiştirmek istiyorsanız source (kaynak) programda son harfleri SHFT'e basarak yazmaya dikkat etmelisiniz.

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