;:poke56,117 ;:sys36864 ;.opt oo write =$ffd2 errvec =$300 basvec =$308 inter =$a7ae execold =$a7e7 mem =56 tmp =2 chrget =115 chrgot =121 yptr =$a8fb getx =$b79e illquan =$b248 return =$aad7 error =$a36a errt =$a326 *= $7500 jmp init errnr .byt 0 hlp .byte "help" .byt 0 err0 .byte "\x93\x05was ist denn ? sie haben doch noch kei- " .byte "nen fehler gemacht !" .byt 13,0 er1 .byte "sie haben zu viele files auf einmal ge-" .byt 13 .byte "oeffnet. vielleicht haben sie vergessen," .byte "eine datei zu schliessen ?" .byt 13,0 er2 .byte "ein file dieser nummer existiert schon." .byt 13 .byte "schliessen sie es erst, oder verwenden" .byt 13 .byte "sie eine andere filenummer !" .byt 13,0 er3 .byte "sie versuchen, ein file anzusprechen," .byt 13 .byte "welches sie noch gar nicht definiert" .byt 13 .byte "haben ! oeffnen (open) sie es bitte" .byt 13 .byte "vorher..." .byt 13,0 er4 .byte "ein programm mit diesem namen existiert" .byt 13 .byte "nicht auf dieser cassette oder diskette." .byt 13,0 er5 .byte "das angesprochene geraet reagiert nicht." .byte "haben sie es nicht angeschlossen ? oder" .byt 13 .byte "vielleicht haben sie eine falsche ge-" .byt 13 .byte "raeteadresse verwendet ?" .byt 13,0 er6 .byte "sie versuchen, daten von einer datei" .byt 13 .byte "zu lesen, die zum schreiben geoffnet" .byt 13 .byte "ist !" .byt 13,0 er7 .byte "sie versuchen, daten auf eine datei" .byt 13 .byte "zu schreiben, die zum lesen geoffnet" .byt 13 .byte "ist !" .byt 13,0 er8 .byte "sie haben vergessen, den filenamen anzu-" .byte "geben ! oder der string, der den namen" .byt 13 .byte "enthalten soll, ist leer ?" .byt 13,0 er9 .byte "sie haben eine falsche geraetenummer" .byt 13 .byte "verwendet, z.b. weil sie versucht haben," .byte "auf den bildschirm zu speichern." .byt 13,0 er10 .byte "sie haben den next befehl zu oft ange-" .byt 13 .byte "wendet. zaehlen sie die for- und die" .byt 13 .byte "next befehle !" .byt 13,0 er11 .byte "hoppla, sie haben einen tippfehler ge-" .byt 13 .byte "macht ! wahrscheinlich fehlt ein komma" .byt 13 .byte "oder eine klammer ist zu wenig oder zu" .byt 13 .byte "viel, oder sie haben ein wort falsch" .byt 13 .byte "eingegeben (prant statt print)." .byt 13,0 er12 .byte "sie haben den return befehl zu oft ange-" .byte "wendet. zaehlen sie die gosub- und die" .byt 13 .byte "return befehle !" .byt 13,0 er13 .byte "sie haben einen read befehl verwendet," .byt 13 .byte "aber vergessen, ihm eine data zeile" .byt 13 .byte "zuzuordnen. oder sie haben eine read" .byt 13 .byte "schleife, deren grenzen falsch sind." .byt 13 .byte "ueberpruefen sie die read- und data be-" .byt 13 .byte "fehle !" .byt 13,0 er14 .byte "eine zahl hat den erlaubten bereich" .byt 13 .byte "ueberschritten. dies kann etwa bei poke" .byt 13 .byte "oder peek befehlen passieren, oder sie" .byt 13 .byte "haben in einer stringfunktion falsche" .byt 13 .byte "werte verwendet." .byt 13,0 er15 .byte "eine zahl ist groesser als ca. 10 hoch" .byt 13 .byte "38 geworden. vielleicht haben sie aus" .byt 13 .byte "versehen in einer rechung etwas falsch" .byt 13 .byte "gemacht ?" .byt 13,0 er16 .byte "sie haben keinen speicherplatz mehr." .byt 13 .byte "entweder haben sie zu viele gosub-return" .byte "for-next oder klammern verwendet, oder" .byt 13 .byte "ihr programm ist zu lang oder hat zu" .byt 13 .byte "viele variablen. verkuerzen sie es !" .byt 13,0 er17 .byte "sie haben einen goto oder gosub befehl" .byt 13 .byte "auf eine nicht existierende zeile be-" .byt 13 .byte "zogen. vielleicht war sie eine rem" .byt 13 .byte "zeile, die sie geloescht haben ?" .byt 13,0 er18 .byte "bei einer indizierten variable ist der" .byt 13 .byte "index groesser als erlaubt geworden." .byt 13 .byte "ueberpruefen und korrigieren sie die" .byt 13 .byte "dim befehle !" .byt 13,0 er19 .byte "sie haben eine indizierte variable aus" .byt 13 .byte "versehen 2 mal definiert. aendern sie" .byt 13 .byte "den 2. dim befehl !" .byt 13,0 er20 .byte "ueberpruefen sie ihre rechungen: sie ha-" .byte "ben durch null geteilt." .byt 13,0 er21 .byte "sie duerfen die get und input befehle" .byt 13 .byte "nur im programm verwenden, nicht im " .byte "direktmodus !" .byt 13,0 er22 .byte "sie haben variablentypen verwechselt:" .byt 13 .byte "vielleicht haben sie einer textvariablen" .byte "einen numerischen wert gegeben, oder" .byt 13 .byte "umgekehrt ?" .byt 13,0 er23 .byte "eine textvariable ist laenger als 255" .byt 13 .byte "zeichen geworden. teilen sie sie in" .byt 13 .byte "mehrere teile !" .byt 13,0 er24 .byte "in der datei, die sie gerade lesen, wur-" .byte "den textstellen gefunden, obwohl zahlen " .byte "erwartet wurden. korrigieren sie die da-" .byte "tei oder ihr programm !" .byt 13,0 er25 .byte "ihre textzusammenstellung in einem be-" .byt 13 .byte "fehl ist sooo komplex, dass ich die" .byt 13 .byte "zwischenergebnisse nicht speichern" .byt 13 .byte "kann ! teilen sie ihn auf !" .byt 13,0 er26 .byte "sie haben seit dem letzten programmab- " .byte "bruch etwas am programm veraendert, oder" .byte "eine fehlermeldung ist erschienen. der " .byte "befehl 'cont' funktioniert nicht !" .byt 13,0 er27 .byte "sie beziehen sich auf eine benutzerfunk-" .byte "tion, die sie noch nicht definiert ha- " .byte "ben. stellen sie alle def befehle an den" .byte "programmanfang !" .byt 13,0 er28 .byte "beim ueberpruefen ist ein unterschied " .byte "festgestellt worden. haben sie vor dem " .byte "verify befehl das programm geaendert ? " .byte "wiederholen sie das speichern und das" .byt 13 .byte "verify. tritt der fehler erneut auf, ist" .byte "mit dem geraet oder datentraeger etwas " .byte "nicht in ordnung ! tip: benutzen sie das" .byte "nss programm verify support !" .byt 13,0 er29 .byte "beim laden des programmes ist ein fehler" .byte "aufgetreten. laden sie erneut. tritt der" .byte "fehler erneut auf, ist mit dem geraet" .byt 13 .byte "oder datentraeger etwas nicht in ordnung" .byt 13,0 er30 .byte "sie haben das laden oder speichern mit" .byt 13 .byte "der stop taste unterbrochen ! das ist" .byt 13 .byte "nicht erlaubt ...\x17" .byt 13,0 et .word er1,er2,er3,er4,er5,er6,er7,er8,er9,er10 .word er11,er12,er13,er14,er15,er16,er17,er18,er19,er20 .word er21,er22,er23,er24,er25,er26,er27,er28,er29,er30 hello .byte "\x93\x05 *************************" .byt 13 .byte " * n.s.s. error support *" .byt 13 .byte " * by n. heusler 24.2.86 *" .byt 13 .byte " * *" .byt 13 .byte " * zum start 'help' *" .byt 13 .byte " * befehl eingeben und *" .byt 13 .byte " * taste. *" .byt 13 .byte " *************************\x11\x11\x11\x11\x11" .byt 13,0 er99 .byte "\x93\x05erklaerung der fehlermeldung:" .byt 13,0 init lda #exec sta basvec sty basvec+1 lda #errpr sta errvec sty errvec+1 lda #0 sta 53280 sta 53281 lda #hello strout sta tmp sty tmp+1 ldy #0 lp lda (tmp),y beq end jsr write inc tmp bne lp inc tmp+1 bne lp end rts errpr txa bmi noerr stx errnr noerr jmp 58251 exec jsr chrget ldy #255 vgl iny lda hlp,y beq ja cmp (122),y beq vgl jsr chrgot jmp execold ja jsr yptr jsr chrgot beq nopara jsr getx stx errnr nopara lda errnr bne tats lda #err0 jsr strout far lda #6 sta 53280 sta 53281 jsr chrgot jmp inter tats cmp #31 bcc tatz jmp illquan tatz pha lda #er99 jsr strout pla pha asl tax lda errt+1,x sta tmp+1 lda errt,x sta tmp jsr erout lda #error jsr strout lda #":" jsr write jsr return jsr return pla sec sbc #1 asl tax lda et+1,x tay lda et,x jsr strout jmp far erout ldy #0 ex lda (tmp),y pha and #127 jsr write iny pla bpl ex rts