Bu sayfadaki yazılar
Sayfanın metni
Sayfa 17
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
Klavyeyle gezinmek için ← ve → tuşları.
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.