2bc0 4d86 0000 B ... JOURNAL-.B
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)

 1000 A=500:GOTO 20:REM BASICODE-3 JOURNAL 2
 1010 HT=HO:VT=VE:S$="":FOR I=1 TO HT:S$=S$+" ":NEXT I
 1020 HL=0:HR=HT:VL=2:VR=VT-2:R$="":READ T$
 1030 GOSUB 1340:HO=(HT-LEN(SR$)-6)/2:VE=0:GOSUB 110
 1040 GOSUB 150:PRINT:PRINT:PRINT
 1050 PRINT "Ausdruck ueber"
 1060 PRINT:PRINT "   - 1  den Bildschirm,"
 1070 PRINT "   - 2  den Drucker."
 1080 PRINT:PRINT "Welche Nummer ?";:GOSUB 210
 1090 SC=IN-48:PRINT SC:IF SC<>2 THEN SC=1:GOTO 1180
 1100 PRINT:PRINT "Wieviel Leerzeichen  "
 1110 PRINT "am Zeilenanfang      ";:INPUT HL
 1120 PRINT:PRINT "Wieviel Text-Zeichen "
 1130 PRINT "auf jeder Zeile      ";:INPUT I:HR=HL+I-1
 1140 PRINT:PRINT "Wieviel Leer-Zeilen  "
 1150 PRINT "am Seitenende        ";:INPUT VL
 1160 PRINT:PRINT "Wieviel Text-Zeilen  "
 1170 PRINT "auf jeder Seite      ";:INPUT VR:VR=VR+VL-3
 1180 MM$="":IF HL>0 THEN MM$=LEFT$(S$,HL)
 1190 GOSUB 1310:M$=MM$:AL=VL:IF SC=2 THEN GOSUB 1290
 1200 IF LEN(R$)>HR-HL THEN GOSUB 1730
 1210 GOSUB 1370:IF R$<>"" THEN R$=R$+" "
 1220 R$=R$+D$:GOTO 1200
 1230 IF SC=2 THEN SR$=M$+SR$:GOSUB 350:GOSUB 360:GOTO 1250
 1240 GOSUB 120:PRINT M$;SR$;:VE=VE+1:HO=0:GOSUB 110:HL=0
 1250 M$=MM$:AL=AL+1:IF AL<=VR THEN RETURN
 1260 IF SC=1 THEN 1310
 1270 IF VL>0 THEN FOR I=1 TO VL:GOSUB 360:NEXT I
 1280 AL=VL
 1290 SR$=LEFT$(S$,(HR-HL-LEN(T$))/2)+T$:GOSUB 1230
 1300 SR$="":GOSUB 1230:AL=VL:RETURN
 1310 HO=4:VE=VT:GOSUB 110AUBTEN
 1320 SR$="WEITER: druecke <RETURN/ENTER>":GOSUB 150
 1330 GOSUB 210:IF IN<>13 THEN 1330
 1340 GOSUB 100:AL=VL:SR$=T$
 1350 PRINT LEFT$(S$,(HT-LEN(SR$))/2-3);:GOSUB 150
 1360 PRINT:PRINT:RETURN
 1370 READ D$
 1380 IF D$="" THEN 1370
 1390 IF LEFT$(D$,1)="." THEN 1440
 1400 IF LEFT$(D$,1)<>"!" THEN RETURN
 1410 IF D$="!" THEN D$="":GOTO 1430
 1420 D$=RIGHT$(D$,LEN(D$)-1)
 1430 GOSUB 1670:GOTO 1380
 1440 IF D$<>".E" THEN 1490
 1450 J=1:GOSUB 1670:T$="E N D E"
 1460 SR$="":GOSUB 1230:GOSUB 1230:SR$=T$:GOSUB 1230:T$=""
 1470 SR$="":GOSUB 1230:IF AL<>VL THEN 1470
 1480 GOTO 950
 1490 DD$=MID$(D$,2,1):D$=RIGHT$(D$,LEN(D$)-2)
 1500 IF DD$<>"R" THEN 1550
 1510 IF SC=2 THEN RETURN
 1520 IF LEN(R$)+6+LEN(D$)>=HR-HL THEN SR$=R$:GOSUB 1230:R$=""
 1530 PRINT M$;R$;:SR$=D$:GOSUB 150:M$=""
 1540 HL=HL+LEN(R$)+LEN(D$)+6:R$="":GOTO 1370
 1550 IF DD$<>"M" THEN 1580
 1560 I=VAL(D$):MM$="":IF I+HL=0 THEN 1370
 1570 MM$=LEFT$(S$,I+HL):GOTO 1370
 1580 IF DD$="P" THEN J=VAL(D$):GOSUB 1670:GOSUB 1690:GOTO 1370
 1590 IF DD$="T" THEN T$=D$:J=10:GOSUB 1670:GOSUB 1690:GOTO 1510
 1600 IF DD$="Q" THEN R$=R$+CHR$(34)+D$:GOTO 1370
 1610 IF DD$<>"F" THEN 1640
 1620 J=VAL(D$):GOSUB 1670
 1630 J=J-1:IF J>-1 THEN SR$="":GOSUB 1230:GOTO 1630
 1640 IF DD$<>"C" THEN 1660
 1650 SR$=LEFT$(S$,(HR-HL-LEN(D$))/2)+D$:GOSUB 1230
 1660 GOTO 1370
 1670 GOSUB 1730:SR$=R$:GOSUB 1230:R$="":J=J-1
 1680 RETURN
 1690 IF(SC=1)OR(AL+J>VR) THEN 1710
 1700 SR$="":GOSUB 1230:GOSUB 1230:RETURN
 1710 IF AL<>VL THEN SR$="":GOSUB 1230:GOTO 1710
 1720 RETURN
 1730 K=HR-HL+1-LEN(M$)
 1740 IF LEN(R$)<=K THEN RETURN
 1750 IF MID$(R$,K,1)=" " THEN 1780
 1760 K=K-1:IF K>0 THEN 1750
 1770 SR$="":GOTO 1790
 1780 SR$=LEFT$(R$,K-1):R$=RIGHT$(R$,LEN(R$)-K)
 1790 GOSUB 1230:GOTO 1730
 1800 REM---------------------------------
 1810 REM UEBERSETZTE VERSION:
 1820 REM
 1830 REM COMPUTER-BULLETIN NO.32 (7/89)
 1840 REM STICHTING BASICODE, EINDHOVEN
 1850 REM---------------------------------
25000 DATA "Programmieren in BASICODE (1)"
25010 DATA "Grundlagen zum Programmieren in BASICODE sind"
25020 DATA "!!- die Programmiersprache BASIC,"
25030 DATA "!- der BASIC-Dialekt des Computers,"
25040 DATA "!- die unter BASICODE erlaubten Anweisungen,"
25050 DATA "Funktionen, Operatoren und Variablennamen,"
25060 DATA "!- die BASICODE-Subroutinen (Unterprogramme) und"
25070 DATA "!- die Regeln zum Aufbau eines Programms."
25080 DATA ".P0"
25090 DATA "Ausgehend vom 'BASICODE-3-Protokoll' soll auf"
25100 DATA "die Besonderheiten hingewiesen werden."
25110 DATA "!!BASIC bzw. BASICODE schliessen strukturiertes"
25120 DATA "Programmieren nicht aus, erzwingen es aber auch"
25130 DATA "nicht, wie z.B. Pascal. Die Gestaltung eines"
25140 DATA "Programms liegt in der Hand des Programmierers."
25150 DATA "Vorhandene BASICODE-Programme zeigen, dass es"
25160 DATA "moeglich ist, Programme zu strukturieren; sie"
25170 DATA "geben Anregungen und Beispiele."
25180 DATA ".P0"
25190 DATA ".RDer Programmaufbau"
25200 DATA "!!Ein Programm besteht aus den Zeilen"
25210 DATA "!!    0 -   999 - BASICODE-Subroutinen,"
25220 DATA "! 1000 - 32767 - BASICODE-Programm."
25230 DATA "!!Der erste Teil (# 0 - 999) wird im Speicher"
25240 DATA "als BASIC- oder Maschinensprache-Programm"
25250 DATA "(durch Laden des Bascoders) abgelegt."
25260 DATA "!Der zweite Teil (# 1000 - 32767) - das"
25270 DATA "BASICODE-Programm - wird mit dem fuer"
25280 DATA "jeden Rechner spezifischen Befehl nachgeladen"
25290 DATA "oder kann frei programmiert werden."
25300 DATA "!!Die Zeilen # 0 - 999 koennen bzw. duerfen"
25310 DATA "nicht veraendert werden!"
25320 DATA ".P0"
25330 DATA "Der Zeilenbereich # 0 - 999 hat folgenden"
25340 DATA "Aufbau:"
25350 DATA "!!    10 GOTO 1000"
25360 DATA "!    20  -  Ueberfuehren des Computers in"
25370 DATA "!           die Betriebsart 'BASICODE'"
25380 DATA "!    25 GOTO 1010"
25390 DATA "!   100 )"
25400 DATA "!    .  (-  Computerspezifische"
25410 DATA "!    .  (   BASICODE-Subroutinen"
25420 DATA "!   650 )"
25430 DATA "!   950  -  Zuruecksetzen in die"
25440 DATA "!           normale Betriebsart"
25450 DATA "!   955 END"
25460 DATA "!!Ist dieser Teil als Maschinenspracheprogramm"
25470 DATA "abgelegt, so bleibt er 'verdeckt'; er ist nicht"
25480 DATA "listbar."
25490 DATA ".P0"
25500 DATA "Das eigentliche Programm beginnt mit der"
25510 DATA "Zeilenummer # 1000. Der Inhalt dieser Zeile ist"
25520 DATA "verbindlich vorgeschrieben."
25530 DATA "!!  1000 A=wert:GOTO 20:REM programmname"
25540 DATA "!  1010 )"
25550 DATA "!   .   ( Hauptprogramm"
25560 DATA "!   .   ( GOTO 950 (Ende)"
25570 DATA "! 19999 )"
25580 DATA "! 20000 )"
25590 DATA "!   .   ( Computerspezifische"
25600 DATA "!   .   ( Unterprogramme, die in"
25610 DATA "!   .   ( BASICODE nicht erlaubte"
25620 DATA "!   .   ( Anweisungen enthalten"
25630 DATA "! 24999 )"
25640 DATA ".P0"
25650 DATA " 25000 )"
25660 DATA "!   .   ( DATA-Zeilen"
25670 DATA "! 29999 )"
25680 DATA "! 30000 )"
25690 DATA "!   .   ( REM-Zeilen"
25700 DATA "!   .   ( Hinweise, Bemerkungen"
25710 DATA "! 31999 )"
25720 DATA "! 32000 )"
25730 DATA "!   .   ( REM-Zeilen"
25740 DATA "!   .   ( Autor, Computer, Datum"
25750 DATA "! 32767 )"
25760 DATA ".P0"
25770 DATA ".RDie Programmzeile"
25780 DATA "!!Die Laenge einer Programmzeile ist auf"
25790 DATA "60 Zeichen beschraenkt - einschliesslich"
25800 DATA "!! - Zeilennummer,"
25810 DATA "! - Zwischenraeume und"
25820 DATA "! - Abschlusszeichen"
25830 DATA "!   (Carriage return, CHR$(13))."
25840 DATA "!!In einer Programmzeile koennem mehrere"
25850 DATA "Anweisungen - getrennt durch ':' (Doppelpunkt) -"
25860 DATA "aufgenommen werden."
25870 DATA "!Es ist eine gute Gewohnheit,  die Zeilen in"
25880 DATA "Schritten von '10' zu numerieren (z.B. ... 2000,"
25890 DATA "2010, 2020, ...); es bleibt Raum fuer"
25900 DATA "Aenderungen und Ergaenzungen."
25910 DATA ".P0"
25920 DATA ".RDie Programmzeile # 1000"
25930 DATA "!!Der Inhalt der Zeile # 1000 ist festgelegt:"
25940 DATA "!! A=wert : GOTO 20 : REM programmname"
25950 DATA "!!Mit dem Sprung zur Zeile # 20 wird der"
25960 DATA "Computer in die Betriebsart 'BASICODE' versetzt."
25970 DATA "Dazu gehoeren:"
25980 DATA "!! - Loeschen des Bildschirms (CLS),"
25990 DATA "! - Loeschen der Variablen (CLR),"
26000 DATA "! - Wahl des Text-Modus,"
26010 DATA "! - Setzen der Bildschirmfarben"
26020 DATA "!   (Zeichen - weiss,"
26030 DATA "!   Hintergrund - dunkel),"
26040 DATA "! - Deklarieren und Initialisieren der"
26050 DATA "!   Variablen HO, VE, HG, VG und SV."
26060 DATA ".P0"
26070 DATA "Wichtig ist der Wert der Variablen A, der vom"
26080 DATA "Programmierer festzulegen ist. Fuer Computer,"
26090 DATA "die mit einer Z-80-aehnlichen CPU arbeiten,"
26100 DATA "muss der String-Speicherraum festgelegt werden"
26110 DATA "(z.B. CLEAR 500). Reicht der Speicherplatz nicht"
26120 DATA "aus, wird ein 'Out of string space'"
26130 DATA "   (OS) - Fehler   angezeigt."
26140 DATA "!Bei Rechnern mit dynamischer Speicherverwaltung"
26150 DATA "(z.B. Commodore) spielt das keine Rolle,ist aber"
26160 DATA "zu beachten, um die Portabilitaet der Programme"
26170 DATA "zu gewaehrleisten. Fuer eine Abschaetzung der"
26180 DATA "Wertzuweisung bietet sich an, die Subroutine"
26190 DATA "# 270 zu nutzen, die in der Variablen FR den"
26200 DATA "freien Speicherplatz (in Byte) zurueckgibt:"
26210 DATA ".P0"
26220 DATA " - Aufstellen des Programms mit A=500,"
26230 DATA "! - Abspeichern des Programms,"
26240 DATA "! - Aus/Einschalten bzw. Reset,"
26250 DATA "! - Laden des Programms,"
26260 DATA "! - GOSUB 270 : PRINT FR (RETURN),"
26270 DATA "! - Lauf des Programms,"
26280 DATA "! - GOSUB 270 : PRINT FR (RETURN)."
26290 DATA "!!Die Differenz beider Werte ergibt annaehernd"
26300 DATA "den Wert der aufgerundet der Variablen A"
26310 DATA "zuzuweisen ist."
26320 DATA ".P0"
26330 DATA ".RBeenden des Programms"
26340 DATA "!!Das Programm ist ordnungsgemaess zu beenden;"
26350 DATA "die Verwendung der Anweisungen END oder STOP"
26360 DATA "ist verboten. Mit dem Sprung 'GOTO 950' wird"
26370 DATA "das Programm beendet, der Bildschirm wird"
26380 DATA "geloescht, BASICODE-Programm und"
26390 DATA "-Subroutinen bleiben erhalten."
26400 DATA ".P0"
26410 DATA ".REin BASICODE-Programm"
26420 DATA "!!Das folgende Programm ('programm') laeuft"
26430 DATA "schnell ab, hat keinen Effekt, ist aber ein"
26440 DATA "BASICODE-Programm:"
26450 DATA "!! 1000 A=100:GOTO 20:REM programm"
26460 DATA "! 1010 REM hauptprogramm"
26470 DATA "! 1020 GOTO 950"
26490 DATA ".P10","Das war das","!!"
26500 DATA ".C**************************"
26510 DATA ".C*                        *"
26520 DATA ".C*  BASICODE-3   Journal  *"
26530 DATA ".C*        Nummer 2        *"
26540 DATA ".C*     21 Februar 1990    *"
26550 DATA ".C*                        *"
26560 DATA ".C**************************",".E"
30000 REM
30010 REM GRUNDLAGEN VON BASICODE
30020 REM     -- PROG-1 --
30030 REM
32000 REM ---------------------
32010 REM FRIEDRICH DORMEIER
32020 REM
32030 REM D-1000 BERLIN 39
32040 REM
32050 REM 11/1989 - C64/C128
32060 REM ---------------------
32070 REM
32080 REM ERSTAUSSTRAHLUNG: RADIO DDR
32090 REM 900221