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$)