TÜRKÇE HATA MESAJLARI

Program dökümü: TÜRKÇE HATA MESAJLARI

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.

TABLO 1:

1 | TOO MANY FILES | FAZLA DOSYA

2 | FILE OPEN | ACIK DOSYA

3 | FILE NOT OPEN | KAPALI DOSYA

4 | FILE NOT FOUND | KAYIP DOSYA

5 | DEVICE NOT PRESENT | AYGIT HAZIR DEGIL

6 | NOT INPUT FILE | GIRDI DOSYASI DEGIL

7 | NOT OUTPUT FILE | CIKTI DOSYASI DEGIL

8 | MISSING FILENAME | KAYIP DOSYA ISMI

9 | ILLEGAL DEVICE NUMBER | GECERSIZ AYGIT NO

10 | NEXT WITHOUT FOR | FOR'SUZ NEXT

11 | SYNTAX | YAZIM

12 | RETURN WITHOUT GOSUB | GOSUB'SUZ RETURN

13 | OUT OF DATA | YETERSIZ DATA

14 | ILLEGAL QUANTITY | GECERSIZ NICELIK

15 | OVERFLOW | TASMA

16 | OUT OF MEMORY | YETERSIZ BELLEK

17 | UNDEF'D STATEMENT | TANIMLANMAMIS KOMUT

18 | 'BAD SUBSCRIPT | YANLIS PARANTEZ

19 | REDIM'D ARRAY | YENIDEN BOYUTLAMA

20 | DIVISION BY ZERO | SIFIRLA BOLUM

21 | ILLEGAL DIREKT | GECERSIZ KOMUT

22 | TYPE MISMATCH | TUR UYUSMAZLIGI

23 | STRING TOO LONG | COK UZUN DIZI

24 | FILE DATA | DOSYA VERISI

25 | FORMULA TOO COMPLEX | COK KARISIK FORMUL

26 | CON'T CONTINUE | DEVAM EDEMEZ

27 | UNDEF'D FUNCTION | TANIMSIZ FONKSIYON

28 | VERIFY | DOGRULAMA

29 | LOAD | YUKLEME

Bu yazıdaki programlar

Dergideki dökümlerden çıkarıldı; satırlar derginin kontrol toplamlarıyla doğrulandı ve programlar VICE emülatöründe denendi. Tarayıcıdaki C64'te çalıştırabilir, indirip bir emülatöre sürükleyip bırakabilir ya da gerçek bir C64'te LOAD "AD",8,1 ile yükleyebilirsiniz. "Sorun bulundu" yazanlarda bazı satırlar okunamadı ya da tutmadı; düzeltilmiş bir sürümünüz varsa contact@coze.org adresine gönderin.