forked from robhagemans/basicode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathB16_Verzamelbulletin.bc3
312 lines (311 loc) · 15.1 KB
/
B16_Verzamelbulletin.bc3
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
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
1000 A=500:GOTO20:REM BASICODE-3 COMPUTERBULLETIN
1010 HT=HO:VT=VE:S$="":FORI=1 TOHT:S$=S$+" ":NEXTI
1020 HL=0:HR=HT:VL=2:VR=VT-2:R$="":READT$
1030 GOSUB1340:HO=(HT-LEN(SR$)-6)/2:VE=0:GOSUB110
1040 GOSUB150:PRINT:PRINT:PRINT
1050 PRINT"Wilt u het bulletin op"
1060 PRINT:PRINT" 1 Het beeldscherm,"
1070 PRINT" 2 De printer."
1080 PRINT:PRINT"Welk nummer kiest u ";:GOSUB210
1090 SC=IN-48:PRINTSC:IFSC<>2 THENSC=1:GOTO1180
1100 PRINT:PRINT"Hoeveel spaties wilt u aan het"
1110 PRINT"begin van elke regel ";:INPUTHL
1120 PRINT:PRINT"Hoeveel tekens echte tekst wilt"
1130 PRINT"u op elke regel ";:INPUTI:HR=HL+I-1
1140 PRINT:PRINT"Hoeveel regels wilt u bij de scheurlijn"
1150 PRINT"laten overslaan ";:INPUTVL
1160 PRINT:PRINT"Hoeveel echte tekstregels wilt u op"
1170 PRINT"elk blad ";:INPUTVR:VR=VR+VL-3
1180 MM$="":IFHL>0 THENMM$=LEFT$(S$,HL)
1190 GOSUB1310:M$=MM$:AL=VL:IFSC=2 THEN GOSUB1290
1200 IFLEN(R$)>HR-HL THEN GOSUB1640
1210 GOSUB1370:IFR$<>"" THENR$=R$+" "
1220 R$=R$+D$:GOTO1200
1230 IFSC=2 THENSR$=M$+SR$:GOSUB350:GOSUB360:GOTO1250
1240 GOSUB120:PRINTM$;SR$;:VE=VE+1:HO=0:GOSUB110:HL=0
1250 M$=MM$:AL=AL+1:IFAL<=VR THENRETURN
1260 IFSC=1 THEN1310
1270 IFVL>0 THENFORI=1 TOVL:GOSUB360:NEXTI
1280 AL=VL
1290 SR$=LEFT$(S$,(HR-HL-LEN(T$))/2)+T$:GOSUB1230
1300 SR$="":GOSUB1230:AL=VL:RETURN
1310 HO=3:VE=VT:GOSUB110
1320 SR$="VERVOLG: druk op <return>":GOSUB150
1330 GOSUB210:IFIN<>13 THEN1330
1340 GOSUB100:AL=VL:SR$=T$
1350 PRINTLEFT$(S$,(HT-LEN(SR$))/2-3);:GOSUB150
1360 PRINT:PRINT:RETURN
1370 READD$
1380 IFD$="" THEN1370
1390 IFLEFT$(D$,1)="." THEN1440
1400 IFLEFT$(D$,1)<>" " THENRETURN
1410 IFD$=" " THEND$="":GOTO1430
1420 D$=RIGHT$(D$,LEN(D$)-1)
1430 GOSUB1580:GOTO1380
1440 IFD$<>".E" THEN1490
1450 J=1:GOSUB1580:T$="Einde van dit bulletin"
1460 SR$="":GOSUB1230:GOSUB1230:SR$=T$:GOSUB1230:T$=""
1470 SR$="":GOSUB1230:IFAL<>VL THEN1470
1480 GOTO950
1490 DD$=MID$(D$,2,1):D$=RIGHT$(D$,LEN(D$)-2)
1500 IFDD$<>"R" THEN1550
1510 IFSC=2 THENRETURN
1520 IFLEN(R$)+6+LEN(D$)>=HR-HL THENSR$=R$:GOSUB1230:R$=""
1530 PRINTM$;R$;:SR$=D$:GOSUB150:M$=""
1540 HL=HL+LEN(R$)+LEN(D$)+6:R$="":GOTO1370
1550 IFDD$="P" THENJ=VAL(D$):GOSUB1580:GOSUB1600:GOTO1370
1560 IFDD$="Q" THENR$=R$+CHR$(34)+D$:GOTO1370
1570 GOTO1370
1580 GOSUB1640:SR$=R$:GOSUB1230:R$="":J=J-1
1590 RETURN
1600 IF(SC=1)OR(AL+J>VR) THEN1620
1610 SR$="":GOSUB1230:GOSUB1230:RETURN
1620 IFAL<>VL THENSR$="":GOSUB1230:GOTO1620
1630 RETURN
1640 K=HR-HL+1-LEN(M$)
1650 IFLEN(R$)<=K THENRETURN
1660 IFMID$(R$,K,1)=" " THEN1690
1670 K=K-1:IFK>0 THEN1660
1680 SR$="":GOTO1700
1690 SR$=LEFT$(R$,K-1):R$=RIGHT$(R$,LEN(R$)-K)
1700 GOSUB1230:GOTO1640
25000 DATA"BASICODE-3 BULLETIN"
25010 DATA".RHET BASICODE-3 BOEK"," De eerste druk van het"
25020 DATA"BASICODE-3 boek is op, alle drie de gemaakte"
25030 DATA"oplagen. Bij het samenstellen van de tweede druk"
25040 DATA"van het boek hebben we niet alleen een aantal"
25050 DATA"nieuwe vertaalprogramma's kunnen toevoegen maar"
25060 DATA"hebben we meteen de eisen, veplichtingen en"
25070 DATA"verboden in BASICODE kritisch onder de loupe"
25080 DATA"genomen. Dat heeft geleid tot enkele"
25090 DATA"verruimingen van wat voortaan in BASICODE-3 is"
25100 DATA"toegestaan. In een enkel geval (met name de"
25110 DATA"Spectrum) zullen bepaalde nieuwigheden alleen"
25120 DATA"goed werken indien gebruik wordt gemaakt van de"
25130 DATA"nieuwe versie van het vertaalprogramma zoals die"
25140 DATA"met ingang van de tweede druk van het boek op de"
25150 DATA"cassette staat. Bij gebruik van een oud"
25160 DATA"vertaalprogramma is het dus mogelijk dat er in"
25170 DATA"een programma opdrachten staan die niet goed"
25180 DATA"werken. Probeer daarom zo snel mogelijk bij uw"
25190 DATA"gebruikersclub de nieuwste versie van het"
25200 DATA"vertaalprogramma te krijgen. In Appendix 5 van"
25210 DATA"het BASICODE-3 boek vindt u doorgaans het juiste"
25220 DATA"adres. Mensen die een P2000T gebruiken kunnen"
25230 DATA"het vertaalprogramma ook via modem en telefoon"
25240 DATA"ontvangen door de databank van de PTC (de"
25250 DATA"Philips Thuiscomputer Club) op te bellen. Het"
25260 DATA"nummer is (040)-837125. Er zitten trouwens meer"
25270 DATA"vertaalprogramma in dergelijke databanken. Deze"
25280 DATA"databanken worden door de diverse"
25290 DATA"gebruikersclubs beheerd en de leden van die"
25300 DATA"clubs weten het telefoonnummer wel of vinden het"
25310 DATA"in het clubblad.",".P9"
25320 DATA".RVERTAALPROGRAMMA'S"," Het BASICODE-3 boek is"
25330 DATA"in de tweede druk uitgebreid met"
25340 DATA"vertaalprogramma's voor:"
25350 DATA" de Acorn MASTER en Master-Compact"
25360 DATA" de Commodore 3000, 4000 en 8000 serie"
25370 DATA" de IBM PC en daarmee compatibele computers"
25380 DATA" de Schneider CPC-464, CPC-664 en CPC-6128"
25390 DATA" de Tandy TRS-80 Color Computer"
25400 DATA" Verder zijn er vertaalprogramma's voor de"
25410 DATA"Electuur Computers EC-65 en EC-65K plus voor de"
25420 DATA"Sinclair QL. Deze zijn niet in het boek"
25430 DATA"opgenomen maar wel apart verkrijgbaar (op"
25440 DATA"diskette c.q. in ROM-pack)."," Voor alle"
25450 DATA"computers zijn de bekende fouten en foutjes uit"
25460 DATA"de vertaalprogramma's gehaald. Voor sommige"
25470 DATA"machines is het vertaalprogramma meteen wat"
25480 DATA"verder verbeterd en/of uitgebreid. Het nieuwe"
25490 DATA"MSX-vertaalprogramma kan nu op MSX-2 computers"
25500 DATA"werken in 80 kolommen en met een hogere"
25510 DATA"grafische resolutie. In het"
25520 DATA"Commodore-vertaalprogramma zijn de vaste"
25530 DATA"subroutines 'onzichtbaar' geworden waardoor de"
25540 DATA"vertaalde programma's minder ruimte op diskette"
25550 DATA"innemen en sneller werken.",".P9"
25560 DATA".RNIEUWE MOGELIJKHEDEN"," De verruimingen en"
25570 DATA"uitbreidingen in BASICODE-3:"
25580 DATA" .RDIM"," Na een opdracht als DIM A(99) hebben"
25590 DATA"in alle computers alle elementen A(0) tot en met"
25600 DATA"A(99) de waarde 0."," Na DIM A$(24) zijn alle"
25610 DATA"elementen A$(0) tot en met A$(24) lege strings."
25620 DATA"Het is dus niet meer nodig, deze elementen leeg"
25630 DATA"te maken.",".P9"
25640 DATA".RINPUT"," Voortaan is de volgende constructie"
25650 DATA"toegestaan:"," INPUT",".QHoe heet je ",".Q;NA$"
25660 DATA" Dit vervangt het wat omslachtige:"
25670 DATA" PRINT",".QHoe heet je ",".Q;:INPUTNA$"
25680 DATA" Bij de Exidy Sorcerer met CP/M moet er een"
25690 DATA"spatie staan tussen INPUT en ",".Q. Als het"
25700 DATA"vertaalprogramma dat niet heeft gedaan dient de"
25710 DATA"gebruiker zelf deze spatie toe te voegen."
25720 DATA" In de eerste serie BBC-computers (met BASIC-1)"
25730 DATA"geeft deze INPUT-constructie een foutmelding. In"
25740 DATA"dat geval dient de ; te worden vervangen door"
25750 DATA"een komma. Overigens doen BBC-gebruikers met de"
25760 DATA"oude BASIC-1 er verstandig aan, hun BASIC-ROM te"
25770 DATA"vervangen door een latere BASIC-versie."
25780 DATA"Inlichtingen daarover verstrekt de"
25790 DATA"gebruikersvereniging.",".P9"
25800 DATA".RMID$"," De volgende constructie is voortaan"
25810 DATA"toegestaan:"
25820 DATA" MID$(A$,B) in plaats van"
25830 DATA" MID$(A$,B,LEN(A$)-B+1)"
25840 DATA" Let op: de SPECTRUM-computer kan alleen met"
25850 DATA"deze constructie overweg indien het nieuwe"
25860 DATA"vertaalprogramma wordt gebruikt.",".P9"
25870 DATA".RDEFFN"," Voortaan is DEFFN toegestaan, zij"
25880 DATA"het met enige beperkingen. Voorbeelden van"
25890 DATA"toegestane constructies zijn:"
25900 DATA" DEFFNSH(X)=(EXP(X)-EXP(-X))/2"
25910 DATA" DEFFNM1(A$)=INT((HT-LEN(A$))/2)"
25920 DATA" DEFFNC(Z)=(Z>=0)AND(Z<=9)AND(Z=INT(Z))"
25930 DATA" Kortom:"
25940 DATA" - tussen FN en het openingshaakje dient een"
25950 DATA"naam te staan die bestaat uit een of twee"
25960 DATA"letters dan wel uit een letter gevolgd door een"
25970 DATA"cijfer (bijvoorbeeld SH, M1 of C)."
25980 DATA" - Tussen de haakjes moet precies een parameter"
25990 DATA"staan (in de voorbeelden X, A$ en TP), dus geen"
26000 DATA"twee of meer parameters."
26010 DATA" - De uitkomst van de expressie moet een getal"
26020 DATA"of een logische waarde zijn. Een string als"
26030 DATA"uitkomst is niet toegestaan."
26040 DATA" - De DEF-regel mag geen : bevatten en moet op"
26050 DATA"een programmaregel passen."
26060 DATA" - De DEF-regel dient bij voorkeur vooraan in"
26070 DATA"het programma te staan, in elk geval dient hij"
26080 DATA"te worden 'uitgevoerd' voordat de functie wordt"
26090 DATA"gebruikt.",".P9"
26100 DATA".RSUBROUTINE 210"," Subroutine 210 levert in"
26110 DATA"IN$ de aangeslagen toets af als een string van 1"
26120 DATA"teken lang en in IN een bijbehorende waarde die"
26130 DATA"bij normale toetsen minstens 32 en hoogstens 95"
26140 DATA"bedraagt. Alleen voor de return-toets, de"
26150 DATA"cursortoetsen en de delete-toets gelden andere"
26160 DATA"waarden. De subroutines 200 en 450 kunnen"
26170 DATA"bovendien IN$=leeg en IN=0 afleveren. Voor alle"
26180 DATA"drie gelden de volgende uitzonderingen:"
26190 DATA" Als de wistoets was ingedrukt, is IN=127 en"
26200 DATA"dan mag IN$ langer dan 1 teken zijn. PRINTIN$;"
26210 DATA"heeft in dat geval namelijk het volgende tot"
26220 DATA"gevolg: Als de cursor aan het begin van de regel"
26230 DATA"staat, gebeurt er niets. Als de cursor verder op"
26240 DATA"een regel staat, wordt deze een positie naar"
26250 DATA"links geplaatst en wordt het teken dat op die"
26260 DATA"positie stond uitgewist."
26270 DATA" Als een cursortoets is ingedrukt heeft IN een"
26280 DATA"waarde van 29..31. IN$ kan dan langer dan 1"
26290 DATA"teken zijn. PRINTIN$; heeft in zo'n geval tot"
26300 DATA"gevolg dat de cursor over een afstand van een"
26310 DATA"positie in de overeenkomstige richting wordt"
26320 DATA"verplaatst. Let op: dit werkt alleen zolang de"
26330 DATA"cursor niet aan de rand van het scherm staat!"
26340 DATA" Indien een niet-ASCII-toets wordt ingedrukt,"
26350 DATA"bijvoorbeeld een functietoets of een CTRL-toets,"
26360 DATA"dan wordt in IN een negatief getal afgeleverd."
26370 DATA".P9"
26380 DATA".RVERZAMELCASSETTES BASICODE-3"
26390 DATA" Er zijn tot dusverre vijf verzamelcassettes"
26400 DATA"met BASICODE-3 programma's uitgebracht. Daarop"
26410 DATA"staan alle programma's die door de TROS zijn"
26420 DATA"uitgezonden plus soms nog enkele andere aardige"
26430 DATA"programma's. In enkele gevallen bleek na"
26440 DATA"uitzending van een programma dat er nog een"
26450 DATA"kleiner of groter foutje in zat; op de"
26460 DATA"verzamelcassettes zijn die foutjes natuurlijk"
26470 DATA"verbeterd."
26480 DATA" Elke cassette is tweemaal 30 minuten lang."
26490 DATA"Verzamelcassette 1 bevat de programma's uit de"
26500 DATA"periode van juli 1986 tot februari 1987;"
26510 DATA"cassette 2 bevat de programma's van februari"
26520 DATA"1987 tot juli 1987; cassette 3 bevat de"
26530 DATA"programma's van juli 1987 tot januari 1988."
26540 DATA"Nummer 4 bevat de van januari tot september 1988"
26550 DATA"uitgezonden programma's en op nummer 5 vindt u"
26560 DATA"de uitzendingen daarna tot medio april 1989. De"
26570 DATA"uitgezonden BULLETINS staan meestal niet op de"
26580 DATA"verzamelcassettes, wel soms een speciaal"
26590 DATA"samengesteld VERZAMELBULLETIN (zoals dit)."
26600 DATA" Deze cassettes zijn verkrijgbaar bij de"
26610 DATA"Stichting BASICODE, de prijs is f 9,50 per stuk"
26620 DATA"(inclusief verzendkosten). Deze prijs geldt ook"
26630 DATA"voor Belgie, Duitsland en andere vormen van"
26640 DATA"buitenland."
26650 DATA" U kunt verzamelcassettes bestellen door het"
26660 DATA"juiste bedrag over te maken op bankrekening"
26670 DATA"nummer 86.42.13.859 of op girorekening 5591330"
26680 DATA"van de Stichting BASICODE te Eindhoven onder"
26690 DATA"vermelding van de gewenste cassette(s). Het"
26700 DATA"bestelde wordt dan zo spoedig mogelijk"
26710 DATA"thuisgestuurd."
26720 DATA" Indien u op andere wijze dan met een gewone"
26730 DATA"giro-overschrijving betaalt, bijvoorbeeld via"
26740 DATA"GIROTEL of via uw BANK, vermeld dan bij de"
26750 DATA"'opmerkingen' niet alleen welke cassette(s) u"
26760 DATA"wilt maar vermeld daar bovendien uw eigen naam,"
26770 DATA"postcode en adres. Zonder die gegevens kunnen we"
26780 DATA"u de cassettes immers niet thuissturen.",".P9"
26790 DATA".RRADIO-DDR"," Radio-DDR begint eind juni 1989"
26800 DATA"met het uitzenden van programma's in BASICODE."
26810 DATA"Dat gebeurt in een uitzending van de"
26820 DATA"'Schulfunk', namelijk in het programma"
26830 DATA"'REM-Computermagazine' dat eenmaal per twee"
26840 DATA"weken op woensdag wordt uitgezonden van 17.00"
26850 DATA"tot 17.30 uur via Radio DDR-2 op FM. Dit"
26860 DATA"programma wordt op de eropvolgende zaterdag"
26870 DATA"vanaf 15.15 uur herhaald op de 'Jugendradio' via"
26880 DATA"de zender DT-64, eveneens op FM maar bovendien"
26890 DATA"via de middengolfzenders te Burg, Neubrandenburg"
26900 DATA"en Reichenbach, alle op 657 kHz."
26910 DATA" De regionale FM-kanalen zijn te horen via de"
26920 DATA"volgende zenders (erachter eerst de frekwenties"
26930 DATA"in MHz voor DDR-2, daarna de frekwentie van"
26940 DATA"DT-64):"
26950 DATA" Frankfurt/O 87.6 / 101.5"
26960 DATA" Putbus 88.6 / 91.5"
26970 DATA" Helpterberg 90.5 / 103.8"
26980 DATA" Marlow 91.0 / 100.8"
26990 DATA" Sonneberg 91.7 / 102.7"
27000 DATA" Dresden 92.2 / 102.4"
27010 DATA" Inselsberg 92.5 / 102.2"
27020 DATA" Schwerin 92.8 / 101.3"
27030 DATA" K.M.-Stadt 92.8 / 100.0"
27040 DATA" Suhl 93.7 / -"
27050 DATA" Leipzig 93.9 / 102.9"
27060 DATA" Brocken 94.6 / 101.4"
27070 DATA" Dequede 94.9 / 101.0"
27080 DATA" Loebau 98.2 / 91.8"
27090 DATA" Cottbus 98.6 / 103.2"
27100 DATA" Berlin 99.7 / 102.6"
27110 DATA" Hoyerswerda 100.4 / -"
27120 DATA" Marlow 102.0 / -"
27130 DATA" De FM-zenders zijn in Nederland natuurlijk"
27140 DATA"niet te ontvangen, maar als u in de vakantietijd"
27150 DATA"wat dichter in de buurt (of helemaal ter"
27160 DATA"plaatse) bent, kunt u ze wel ontvangen. Neem het"
27170 DATA"dan eens op en stuur ons uw bandje toe! De"
27180 DATA"middengolfzender DT-64 is tot nu toe in ons land"
27190 DATA"alleen 'savonds door sommige luisteraars"
27200 DATA"opgevangen en dan nog met bijzonder veel fading."
27210 DATA" In het algemeen kunnen middengolfzenders na"
27220 DATA"zonsondergang tot op grote afstand ontvangen"
27230 DATA"worden. Ook voor de ontvangst van de"
27240 DATA"computeruitzending via DT-64 op middengolf zijn"
27250 DATA"we geinteresseerd in uw ervaringen. Laat dus wat"
27260 DATA"van u horen!"
27270 DATA".P14","Dit was:"
27280 DATA" "
32000 DATA" **************************"
32010 DATA" * *"
32020 DATA" * BASICODE-3 *"
32025 DATA" * Speciaal Bulletin *"
32030 DATA" * bij verzamelcassette-5 *"
32050 DATA" * *"
32060 DATA" * Stichting BASICODE *"
32070 DATA" * Postbus 1410 *"
32080 DATA" * 5602 BK EINDHOVEN *"
32090 DATA" * *"
32100 DATA" **************************",".E"