96 REM 97 REM 98 REM 99 REM 100 REM +-----------------------------+ 101 REM ! Program .... ERRORSYS.BAS ! 102 REM ! Utg}va 1.0 1982-28-03 ! 103 REM ! Av (c) Nils H{ggblom <592> ! 104 REM ! F|r 16kbytes och flexskiva ! 105 REM +-----------------------------+ 106 REM 108 DIM Q0$=253%,A$=253% 109 DIM F$(80%)=40% 110 ; CHR$(12%)TAB(6%)'Regenerering av BASICERR.SYS' 111 ; TAB(5%)CHR$(151%)'############################' 112 ONERRORGOTO 121 113 OPEN 'Basicerr.sys' ASFILE 1 114 D0$='Dr'+NUM$(PEEK(64769%))+':' 115 ; : ; 'Filen BASICERR.SYS finns i 'D0$ 116 Z%=CALL(28666%,1%)+CALL(28668%,X%) 117 Y0%=1% : FOR Y%=2% TO 253% 118 W%=ASC(RIGHT$(Q0$,Y%)) 119 IF W%>127% F$(ASC(RIGHT$(Q0$,Y0%))-128%)=MID$(Q0$,Y0%+1%,Y%-Y0%-1%) : Y0%=Y% : IF W%=255% X%=X%+1% : GOTO 116 120 NEXT Y% 121 CLOSE 1% : N%=0% 122 ; CUR(23%,0%)'Kommandon: #,$ eller felnumret.'; 123 ; CUR(6%,0%)'Felmeddelande ('RIGHT$(NUM$(N%),2%)')'TAB(21%)':'SPACE$(120%)CUR(6%,23%); 124 POKE 65013%,0% 125 INPUTLINE A$ 126 ONERRORGOTO 123 127 A$=LEFT$(A$,LEN(A$)-2%) 128 IF LEN(A$)>10% 123 129 IF A$='' ; CHR$(8%)N% : GOTO 135 130 IF A$='$' 152 131 IF A$='#' 170 132 X%=VAL(A$) 133 IF X%>71% OR X%<0% 123 134 N%=X% 135 ; CUR(10%,0%)SPACE$(559%); 136 ; CUR(10%,0%)'Nuvarande meddelande f|r fel'N%' :' 137 ; : ; F$(N%) : ; CUR(13%,0%)STRING$(LEN(F$(N%)),95%) 138 ; CUR(15%,0%)'Nytt meddelande :' : ; 139 INPUTLINE A$ 140 A$=LEFT$(A$,LEN(A$)-2%) 141 IF A$='' ; F$(N%) : GOTO 149 142 IF LEN(A$)>40% ; CUR(23%,0%)'Meddelandet l{ngre {n 40 tecken.'; : GOTO 122 143 X%=N%/8%*8% 144 Z%=0% : FOR Y%=X% TO X%+7% 145 IF Y%=N% Z%=Z%+LEN(A$) ELSE Z%=Z%+LEN(F$(Y%)) 146 NEXT Y% 147 IF Z%>244% ; CUR(23%,0%)'Fler {n 244 tecken i f{lt'X%' -'X%+7%'.'; : GOTO 122 148 F$(N%)=A$ : F1%=1% 149 ; CUR(18%,0%)STRING$(LEN(F$(N%)),95%) 150 IF N%<>71% N%=N%+1% 151 GOTO 122 152 REM Regenerera Basic Error Sytem 153 IF F1%=0% 168 154 ; CUR(23%,0%)'Nu g|r jag BASICERR.SYS up to date.'; 155 IF D0$<>'' KILL D0$+'Basicerr.sys' 156 PREPARE D0$+'basicerr.sys' ASFILE 1% 157 FOR X%=0% TO 71% STEP 8% 158 A$='' 159 FOR Y%=X% TO X%+7% 160 A$=A$+CHR$(Y%+128%)+F$(Y%) 161 NEXT Y% 162 A$=A$+CHR$(255%) 163 Z%=CALL(28666%,1%) 164 Q0$=A$ 165 Z%=CALL(28670%,X%/8%) 166 NEXT X% 167 CLOSE 1% 168 ; CHR$(12%)'Klart !' 169 END 170 REM Skriv ut felmeddelande 171 ONERRORGOTO 173 172 OPEN 'Pr:' ASFILE 1% : GOTO 175 173 ; CUR(23%,0%)'Printerrutinen {r ej laddad.'; 174 GOTO 122 175 ; #1%,CHR$(14%)'Lista |ver felmeddelande :' 176 ; #1%'==========================' 177 ; #1%CHR$(15%) 178 FOR X%=0% TO 71% 179 ; #1%'Fel #'X%TAB(10%)': 'F$(X%) 180 NEXT X% 181 CLOSE 1% 182 GOTO 122