100 REM +++++++++++++++++++++++++++++++ 101 REM ! Program .... SIGNALMA 102 REM ! Utg}va 1.1 83-11-29 103 REM ! av (c) Bertil Lindau Nr. 812 104 REM ! Minne 32 Kbytes f|r flexskiva 105 REM ! Ins{nt av Bertil Lindau 106 REM +++++++++++++++++++++++++++++++ 107 REM 108 REM Inmatningsprogram f|r 109 REM signalmatrisen till program- 110 REM paketet LOGSIM 111 REM 112 DIM T$(19%)=3%,S%(19%,50%) 113 FOR I%=0% TO 19% 114 READ T$(I%) : NEXT I% 115 DATA NOD,VS,TA,TB,TC,TD,TE,TF,TG,TH 116 DATA TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR 117 REM %%%% Data f|r menyn %%%% 118 DATA 4 119 DATA Inmatning 120 DATA "Spara matris" 121 DATA "H{mta matris" 122 DATA "Till meny" 123 RESTORE 118 124 Q$="S I G N A L M A T R I S" 125 GOSUB 140 : REM Menyval 126 PRINT CUR(15%,0%); 127 IF G0%<>G1% 139 128 IF F8%<>1% 135 129 E9%=106% 130 GOSUB 199 : REM Felmedelande 131 GET A$ 132 IF A$="j" OR A$="J" 315 133 IF A$="N" OR A$="n" 138 134 GOTO 131 135 E9%=100% 136 GOSUB 202 : REM Medelande 137 PRINT CUR(18%,0%); 138 CHAIN "DR1:LOGSIM" 139 ON G0% GOTO 231,315,352 140 REM 141 REM ***************** 142 REM ==== MENYVAL ==== 143 REM ***************** 144 REM 145 REM G9% Lopvariabel 146 REM G1% Antal menyhopp 147 REM F$(G1%) Delnamn 148 REM G0% Hoppvariabel 149 REM A$ Inmatningsvariabel 150 REM 151 GOSUB 183 : REM Systemrad 152 READ G1% 153 FOR G9%=1% TO G1% 154 READ F$(G9%) 155 PRINT CUR(3%+2%*G9%,10%)G9%". "F$(G9%) 156 NEXT G9% 157 GOSUB 172 : REM Medelanderad 158 PRINT TAB(8%); 159 PRINT " V{lj rutin (1-"; 160 PRINT RIGHT$(NUM$(G1%),2%)") "; 161 GET A$ 162 LET G0%=ASC(A$)-48% 163 IF G0%<1% OR G0%>G1% 161 164 PRINT CUR(3%+2%*G0%,7%)"==>" 165 GOSUB 172 : REM Medelanderad 166 RETURN 167 REM 168 REM ********************** 169 REM ==== MEDELANDERAD ==== 170 REM ********************** 171 REM 172 PRINT CUR(23%,0%)TAB(39%); 173 PRINT CUR(23%,2%); 174 RETURN 175 REM 176 REM ******************* 177 REM ==== SYSTEMRAD ==== 178 REM ******************* 179 REM 180 REM X% Tabvariabel 181 REM Q$ Systemnamn 182 REM 183 LET X%=18%-LEN(Q$)/2% 184 PRINT CHR$(12%); 185 PRINT TAB(X%)Q$ 186 PRINT CHR$(151%)STRING$(38%,35%) 187 PRINT CUR(22%,0%)STRING$(39%,61%); 188 RETURN 189 REM 190 REM ***************** 191 REM ==== FELRUTIN === 192 REM ***************** 193 REM 194 REM E9% Felkode 195 REM F9% Lopvariabel 196 REM A$ Slaskvariabel 197 REM X% Tabvariabel 198 REM 199 IF E9%=0% RETURN 200 POKE 32720%,ASC(">")+128% 201 PRINT CHR$(7%); 202 GOSUB 172 : REM Medelanderad 203 IF E9%<100% 210 204 RESTORE 217 205 FOR F9%=100% TO E9% 206 READ A$ : NEXT F9% 207 X%=19%-LEN(A$)/2% 208 PRINT TAB(X%)A$; 209 RETURN 210 PRINT TAB(6%); 211 PRINT " Fel nr"E9%" (Se fellistan)"; 212 RETURN 213 REM ======================= 214 REM ==== FELMEDELANDEN ==== 215 REM ======================= 216 REM 217 DATA "Var god v{nta!" 218 DATA "Svara ett tal mellan 1 och 50" 219 DATA "Fel nodnamn" 220 DATA "VS skall vara mellan 0 och 2" 221 DATA "Skall jag skriva |ver?" 222 DATA "Hittar ej filen" 223 DATA "Gl|mt att skriva filen?" 224 DATA "Nod 1 {r upptagen av systemet" 225 REM 226 REM 227 REM **************************** 228 REM == Inmatning signalmatris == 229 REM **************************** 230 REM 231 Q$="INMATNING SIGNALMATRIS" 232 F8%=1% 233 GOSUB 183 : REM Systemrad 234 PRINT CUR(2%,0%)"Noder:" 235 PRINT "------" 236 PRINT "VS Startv{rde" 237 PRINT "TA-TR Omslagstid" 238 PRINT STRING$(40%,61%) 239 GOSUB 293 : REM Skriv matrisrad 240 PRINT CUR(21%,0%)TAB(39%); 241 PRINT CUR(21%,0%)"Ange rad "; 242 INPUTLINE A$ 243 GOSUB 172 : REM Medelanderad 244 A$=LEFT$(A$,LEN(A$)-2%) 245 IF LEN(A$)=0% 123 246 ONERRORGOTO 279 247 R%=VAL(A$) 248 IF R%<1% OR R%>50% 282 249 PRINT CUR(7%,0%)"Rad nr:"R%" " 250 D%=0% 251 GOSUB 304 : REM Skriv matris 252 PRINT CUR(21%,0%)TAB(39%); 253 PRINT CUR(21%,0%)"Ange datan "; 254 PRINT "("T$(D%)") "; 255 INPUTLINE A$ 256 GOSUB 172 : REM Medelanderad 257 A$=LEFT$(A$,LEN(A$)-2%) 258 IF LEN(A$)=0% 240 259 IF ASC(A$)<58% AND ASC(A$)>47% I%=D% : GOTO 270 260 FOR I%=0% TO 19% 261 IF LEN(A$)2%) 284 273 IF I%=0% AND K%=1% 286 274 S%(I%,R%)=K% 275 D%=I%+1% 276 IF D%>19% D%=0% 277 GOSUB 304 278 GOTO 252 279 E9%=ERRCODE 280 GOSUB 199 : REM Felmedelande 281 GOTO 240 282 E9%=101% 283 GOTO 280 284 E9%=103% 285 GOTO 265 286 E9%=107% 287 GOTO 265 288 REM 289 REM ========================= 290 REM ==== Skriv matrisrad ==== 291 REM ========================= 292 REM 293 FOR I%=0% TO 19% 294 IF I%<10% I1%=9% ELSE I1%=14% 295 IF I%>9% I0%=40% ELSE I0%=0% 296 PRINT CUR(I1%,I%*4%-I0%)T$(I%) 297 NEXT I% 298 RETURN 299 REM 300 REM ============================ 301 REM ==== Skriv signalmatris ==== 302 REM ============================ 303 REM 304 FOR I%=0% TO 19% 305 IF I%<10% I1%=10% ELSE I1%=15% 306 IF I%>9% I0%=40% ELSE I0%=0% 307 PRINT CUR(I1%,I%*4%-I0%)RIGHT$(NUM$(S%(I%,R%)),2%)" " 308 NEXT I% 309 RETURN 310 REM 311 REM ************************ 312 REM ===== Spara matris ===== 313 REM ************************ 314 REM 315 Q$="S P A R A M A T R I S" 316 GOSUB 183 : REM Systemrad 317 GOSUB 172 : REM Medelanderad 318 GOSUB 376 : REM H{mta filnamn 319 IF F1%=1% 118 320 ONERRORGOTO 329 321 OPEN N$ ASFILE 1% 322 CLOSE 1% 323 E9%=104% 324 GOSUB 199 : REM Felmedelande 325 GET A$ 326 IF A$="J" OR A$="j" 329 327 IF A$="N" OR A$="n" 317 328 GOTO 325 329 PRINT CUR(3%,0%)"Jag skriver p} filen "N$ 330 FOR I%=1% TO 50% 331 IF S%(0%,I%)=0% 335 332 FOR J%=2% TO 19% 333 IF R1%