-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathBC-INFO.bc
220 lines (220 loc) · 9.1 KB
/
BC-INFO.bc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
1000 A=4000:GOTO20:REM BASICODE-INFO
1010 GOSUB100
1011 PRINT"======================================="
1012 PRINT"*** ** *** *** *** *** *** ****"
1013 PRINT"* * * * * * * * * * * *"
1014 PRINT"*** * * ** * * * * * * *"
1015 PRINT"* * **** * * * * * * * ***"
1016 PRINT"* * * * * * * * * * * * "
1017 PRINT"*** * * *** *** *** *** *** ****"
1018 PRINT
1019 PRINT"*** * * **** ***"
1020 PRINT" * ** * * * *"
1021 PRINT" * * * * *** * * (C) BIDAT'89"
1022 PRINT" * * ** * * *"
1023 PRINT"*** * * * ***"
1024 PRINT"======================================="
1025 PRINT
1026 PRINT"DIESES PROGRAMM INFORMIERT SIE UEBER"
1027 PRINT"DEN SPRACHUMFANG VON BASICODE-3. GEBEN"
1028 PRINT"SIE EINEN BASIC-BEFEHL IHRES COMPUTERS"
1029 PRINT"EIN UND DAS PROGRAMM SAGT IHNEN, WIE"
1030 PRINT"SIE MIT BASICODE-3 DIE ENTSPRECHENDE"
1031 PRINT"FUNKTION AUSFUEHREN KOENNEN, ODER DASS"
1032 PRINT"ES DAFUER NICHTS GLEICHWERTIGES GIBT."
1038 PRINT:US$="BASICODE-3 INFO-SERVICE"
1040 DIMP$(88),P(88),Q$(63),R$(63),E(63),F(63),E$(24),F$(15)
1050 RESTORE:FORI=1 TO88:READP$(I),P(I):NEXTI
1060 FORI=1 TO63:READQ$(I),R$(I),E(I),F(I)
1070 NEXTI:FORI=1 TO24:READE$(I):NEXTI
1080 FORI=1 TO15:READF$(I):NEXTI
1090 GOTO1120
1100 GOSUB100
1110 PRINT:SR$=US$:GOSUB150:PRINT:PRINT:PRINT
1120 INPUT"EINGABE BASIC-BEFEHL :";SR$
1130 GOSUB330:FR$=SR$:GOSUB100:PRINT:SR$=US$:GOSUB150
1140 IFFR$="ENDE" THENSR$=FR$:GOSUB150:GOTO950
1144 IFLEFT$(FR$,5)="SONST" THEN GOSUB2000:GOTO1200
1150 PRINT:PRINT:SR$=FR$:GOSUB150:PRINT:PRINT
1160 GOTO1400
1190 PRINT"UEBER DIESEN BEFEHL LIEGT KEINE INFOR-"
1191 PRINT"MATION VOR. IN BASICODE-3 GIBT ES KEINE"
1192 PRINT"GENANNTEN FUNKTIONEN. WEITERHIN GIBT ES"
1194 PRINT"KEINE MASCHINENNAHEN FUNKTIONEN UND"
1195 PRINT"NICHTS, WAS SPEZIELLE HARDWARE BRAUCHT"
1196 PRINT"WIE SPRITES/PLAYER-MISSILE-GRAFIK, MAUS"
1197 PRINT"U. JOYSTICK OD. SPEZIELLE SOUNDEFFEKTE."
1200 PRINT:PRINTTAB(24);"<ENTER>":GOSUB210
1210 GOTO1100
1400 J=0:FORI=1 TO88:L=LEN(P$(I))
1410 IFLEFT$(FR$,L)=P$(I) THENJ=P(I):I=89
1420 NEXTI:IFJ=0 THEN1190
1430 PRINT" IN BASICODE-3 :":PRINT
1440 SR$=Q$(J):IFVAL(SR$)>0 THENSR$="GOSUB "+SR$
1444 GOSUB150:PRINT:PRINT
1450 PRINT"FUNKTION:":PRINTR$(J):PRINT
1460 IFE(J)>0 THENPRINT"EINGANGSPARAMETER:":PRINTE$(E(J))
1470 PRINT
1480 IFF(J)>0 THENPRINT"AUSGANGSPARAMETER:":PRINTF$(F(J))
1490 PRINT:GOTO1200
2000 GOSUB100:SR$=US$:GOSUB150:PRINT:PRINT
2010 SR$="SONSTIGES":GOSUB150:PRINT:PRINT
2020 PRINT"PROGRAMM:ZEILE1000-19999NUTZBAR"
2021 PRINT"ZEILE1000:A=STRINGSPACE:GOTO20"
2022 PRINT"ROUTINE IN 20 ENDET MIT SPRUNG ZU 1010"
2023 PRINT"DATAZEILEN:25000-29999"
2024 PRINT"REMZEILEN :30000-32767"
2025 PRINT"BASICODE BENUTZT INTERN VARIABLEN OA-OZ"
2026 PRINT"NICHT VERWENDEN AUCH AS,AT,DI,EI,FN,GO"
2027 PRINT"GR,IF,LN,PI,SQ,ST,ST$,TI,TI$,TO"
2028 PRINT"ZEILENLAENGE MAXIMAL 60 ZEICHEN"
2030 RETURN
25000 DATA"ABS",1,"AND",2,"ASC",3
25010 DATA"ATN",4,"CHR",5,"COS",6
25020 DATA"DATA",7,"DEFFN",8,"DEF FN",8
25030 DATA"DIM",9,"EXP",10,"FOR",11
25040 DATA"GOSUB",12,"GOTO",13,"GO TO",13
25050 DATA"IF",14,"INPUT#",54,"INPUT",15
25060 DATA"INT",16,"LEFT",17,"LEN",18
25070 DATA"LET",19,"LN",20,"LOG",20
25080 DATA"MID",21,"NEXT",11,"NOT",22
25090 DATA"ON",23,"OR",24,"PRINT#2",50
25100 DATA"PRINT#",55,"PRINT",25,"READ",26
25110 DATA"REM",27,"RESTORE",28,"RETURN",29
25120 DATA"RIGHT",30,"SIN",31,"SGN",32
25130 DATA"SQR",33,"STEP",11,"TAB",34
25140 DATA"TAN",35,"THEN",14,"TO",11
25150 DATA"VAL",36,"CLS",37,"SCNCLR",37
25160 DATA"POSITION",38,"AT",38
25170 DATA"LOCATE",38,"POS",39
25180 DATA"INV",40,"FLASH",40,"BRIGHT",40
25190 DATA"INKEY",41,"GET",41,"GETKEY",42
25200 DATA"SCREEN$",43,"VGET",43
25210 DATA"BEEP",44,"RND",45,"RAND",45
25220 DATA"FRE",46,"STR$",47,"USING",48
25230 DATA"UPCASE",49,"UCASE",49
25240 DATA"LPRINT",50,"PRINT#2",50
25250 DATA"SOUND",51,"PAUSE",52
25260 DATA"OPEN",53,"CLOSE",56
25270 DATA"GRAPHIC",57,"SCREEN",57
25280 DATA"PLOT",58,"PSET",58,"DRAW",58
25290 DATA"LINE",59,"DRAWTO",59,"DRAW TO",59
25300 DATA"CHAR",60,"TEXT",60
25310 DATA"STOP",61,"END",61
25320 DATA"VARIABLE",62,"OPERATOR",63
26000 DATA"ABS(X)","ABSOLUTBETRAG",0,1
26010 DATA"AND","LOGISCHES UND (Z=X AND Y)",1,2
26020 DATA"ASC(X$)","ASCII-CODE 1. ZEICHEN",2,1
26030 DATA"ATN(X)","ARCUSTANGENS VON X",3,3
26040 DATA"CHR$(X)","ZEICHEN MIT ASCII-CODE X",3,4
26050 DATA"COS(X)","COSINUS VON X",4,1
26060 DATA"DATA","KONSTANTENLISTE, AUCH STRINGS",0,0
26070 DATA"DEFFNA(X)=F(X)","FUNKTIONSDEFINITION(A=A..Z)",3,1
26080 DATA"DIM","FELDDEKLARATION MAX.2 DIM.AUCH STRINGS",0,0
26090 DATA"EXP","EXPONENTIALFUNKTION",3,1
26100 DATA"FOR I=A TO B STEP C","LAUFANWEISUNG",5,0
26110 DATA"GOSUB","UNTERPROGRAMMAUFRUF",6,0
26120 DATA"GOTO","UNBEDINGTER SPRUNG",6,0
26130 DATA"IF B THEN C","BEDINGTE ANWEISUNG ODER SPRUNG",7,0
26140 DATA"INPUT","EINGABEANWEISUNG FUER VARIABLE(NLISTE)"
26150 DATA8,5
26160 DATA"INT(X)","GANZZAHLIGER ANTEIL VON X",3,1
26170 DATA"LEFT$(A$,N)","LINKER TEILSTRING",9,6
26180 DATA"LEN(A$)","LAENGE EINES STRINGS",2,1
26190 DATA"LET A=B*C","WERTZUWEISUNG (LET KANN ENTFALLEN"
26200 DATA0,0
26210 DATA"LOG(X)","NATUERLICHER LOGARITHMUS",3,1
26220 DATA"MID$(A$,M,N)","MITTLERER TEILSTRING",10,1
26240 DATA"NOT","LOGISCHES NEIN A=NOT B",1,2
26250 DATA"ON X GOTO/GOSUB N","MEHRFACHVERZWEIGUNG UEBER X"
26260 DATA11,0
26270 DATA"OR","LOGISCHES ODER A=B OR C",1,2
26280 DATA"PRINT A;B","AUSGABE EINER VARIABLEN(LISTE)",0,7
26290 DATA"READ A,B","LESEN AUS DATA-TABELLE",0,5
26300 DATA"REM TEXT","KOMMENTAR",0,0
26310 DATA"RESTORE","DATA-ZEIGER SETZEN",0,0
26320 DATA"RETURN","RUECKKEHR AUS UNTERPROGRAMM",0,0
26330 DATA"RIGHT$(A$,N)","RECHTER TEILSTRING",9,1
26340 DATA"SIN(X)","SINUS VON X",4,1
26350 DATA"SGN(X)","VORZEICHENFUNKTION",3,8
26360 DATA"SQR(X)","QUADRATWURZEL",3,1
26380 DATA"TAB(N)","POSITIONIERUNG AUF SPALTE N",3,0
26390 DATA"TAN(X)","TANGENS VON X",4,1
26420 DATA"VAL(X$)","WERT EINES STRINGS",2,1
26430 DATA"100","TEXTMODUS EIN UND BILDSCHIRM LOESCHEN",0,0
26440 DATA"110","CURSOR POSITIONIEREN",12,0
26450 DATA"120","CURSORPOSITION ERMITTELN",0,9
26460 DATA"150","DRUCKT AUFFAELLIG SR$",13,0
26470 DATA"200","TASTATUR EINLESEN OHNE WARTEN",0,10
26480 DATA"210","TASTATUR EINLESEN MIT WARTEN",0,10
26490 DATA"220","ZEICHEN VON BILDSCHIRM RUECKLESEN",12,11
26500 DATA"250","SIGNALTON AUSGEBEN",0,0
26510 DATA"260","ZUFALLSZAHL IN [0,1] ERMITTELN",0,1
26520 DATA"270","SPEICHER ORGANISIEREN",0,12
26530 DATA"300","WANDELT WERT VON SR IN STRING SR$",15,13
26540 DATA"310","WANDELT WERT VON SR IN STRING",16,13
26550 DATA"330","WANDELT SR$ IN GROSSBUCHSTABEN",13,13
26560 DATA"350","DRUCKT SR$ OHNE ZEILENWECHSEL(GOSUB360)"
26570 DATA13,0,"400","TONAUSGABE",17,0
26580 DATA"450","WARTET SD*0.1S ODER AUF TASTE",18,0
26590 DATA"500","DATEIEROEFFNUNG",19,0
26600 DATA"540","ZEILE LESEN AUS DATEI",20,14
26610 DATA"560","ZEILE IN DATEI SCHREIBEN",21,0
26620 DATA"580","DATEI ABSCHLIESSEN",20,0
26630 DATA"600","GRAFIKMODUS AKTIVIEREN, BILDSCHIRM LOE."
26640 DATA0,15
26650 DATA"620","PUNKT SETZEN IN FARBE CN",22,0
26660 DATA"630","LINIE VOM LETZTEN PUNKT ZUM AKTUELLEN",22,0
26670 DATA"650","TEXT IM GRAFIKBEREICH AUSGEBEN",23,0
26680 DATA"950","PROGRAMMABSCHLUSS",0,0
26690 DATA"VARIABLEN","MAX.2 ALFANUM.ZEICHEN,1.ZEICH=BUCHST"
26700 DATA24,0
26710 DATA"OPERATOREN","= ^ * / + - < <= <> >= >",0,0
27000 DATA"B,C LOGISCHE AUSDRUECKE"
27010 DATA"STRINGAUSDRUCK"
27020 DATA"NUMERISCHER AUSDRUCK"
27030 DATA"WINKEL IM BOGENMASS"
27040 DATA"A=ANFANGSWERT B=ENDWERT C=SCHRITTWEITE"
27050 DATA"ZEILENNUMMER"
27060 DATA"B=LOG.AUSDRUCK C=ANWEISUNG OD.ZEILENNR."
27070 DATA"TEXTKONSTANTE"
27080 DATA"A$=STRINGAUSDRUCK N=ZEICHENZAHL"
27090 DATA"A$=STRINGAUSDRUCK M=STARTPOS. N=ANZAHL"
27100 DATA"X=NUM.AUSDRUCK N=LISTE VON ZEILENNUMMERN"
27110 DATA"HO=HORIZONTALE VE=VERTIKALE POSITION"
27120 DATA"SR$=STRING"
27130 DATA"FR=0 BREAK EIN FR=1 BREAK AUS"
27140 DATA"SR=NUMERISCHER WERT"
27150 DATA"SR=NUM.WERT CT=LAENGE CN=DEZIMALEN"
27160 DATA"SP=TONHOEHE SD=TONDAUER SV=LAUTSTAERKE"
27170 DATA"SD=WARTEZEIT"
27180 DATA"NF$=FILENAME NF=FILENR/MODUS 0=IN 1=OUT BASICODE"
27190 DATA"NF=FILENUMMER"
27200 DATA"NF=FILENUMMER SR$=STRING"
27210 DATA"HO=HORIZONTALE VE=VERTIKALE POSITION"
27220 DATA"HO=HORIZ. VE=VERTIKALPOS. SR$=STRING"
27230 DATA"A0-ZZ NUMERISCH A0$-ZZ$ STRINGVAR."
28000 DATA"NUMERISCHER WERT"
28010 DATA"LOGISCHER WERT"
28020 DATA"WINKELIM BOGENMASS"
28030 DATA"ZEICHEN"
28040 DATA"VARIABLEN ENTSPR.LISTE MIT WERTEN BELEGT"
28050 DATA"STRING"
28060 DATA"NUMERISCHER OD. STRINGAUSDRUCK"
28070 DATA"-1,0,+1"
28080 DATA"HO=HORIZONTAL VE=VERTIKALPOSITION"
28090 DATA"IN,IN$ TASTENCODE"
28100 DATA"IN=ZEICHENCODE"
28110 DATA"FR=FREIER SPEICHERPLATZ"
28120 DATA"SR$=STRING"
28130 DATA"IN$=STRING IN=STATUS"
28140 DATA"HG=SPALTENZAHL VG=ZEILENZAHL IN PIXELN"
32000 REM-----------------------------
32010 REM (C) BIDAT 11.7.89
32020 REM AUTOR:BERTHOLD BIENER
32030 REM R.-EYERMANN-RING 4/06
32040 REM 5063 ERFURT
32050 REM ENTWICKELT AUF COMMODORE +4
32060 REM-----------------------------
32070 REM Erstausstrahlung: Radio DDR
32080 REM 900530