Screenshot 1
2bc0 3475 0000 B ... DATAGEN.
Das Programm erwartet die Eingaben von Mc-Anfang, Mc-Ende sowie Standort fuer die DATA-Zeilen und deren Zeilennummer. Nach dem Start wird das Mc-Programm dezimal in DATA gewandelt und mit LIST#1 auf Kassette gerettet. Es erfolgt eine Vorankuendigung. Recorder auf Aufnahme stellen und Geduld haben. Gelesen wird das Programm mit LOAD#1'data'. Beim Uebergang von Adr. 7FFFH auf 8000H gibt es einen Fehler !!!
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)

   10 REM KNECHT FER 9 BAD SUELZE
   20 REM-------------------------
   30 WINDOW:CLS:P$="   D A T A G E N E R A T O R ":PRINT:PRINT P$
   40 N$="    (C) ROLAND KNECHT y56ya":PRINT:PRINT N$:PRINT
   50 PRINT "Das Programm erwartet die Ein-"
   60 PRINT:PRINT "gaben von Mc-Anfang, Mc-Ende"
   70 PRINT:PRINT "sowie Standort fuer die "
   80 PRINT:PRINT "DATA-Zeilen und deren Zeilen-" 
   90 PRINT:PRINT "nummer. Nach dem Start wird das"
  100 PRINT:PRINT "Mc-Programm dezimal in DATA"
  110 PRINT:PRINT "gewandelt und mit LIST#1 auf"       
  120 PRINT:PRINT "Kassette gerettet. Es erfolgt"
  130 PRINT:PRINT "eine Vorankuendigung. Recorder"
  140 PRINT:PRINT "auf Aufnahme stellen und Geduld"
  150 PRINT:PRINT "haben. Gelesen wird das Pro-"
  160 PRINT:PRINT "gramm mit LOAD#1'data'. Beim "
  170 PRINT:PRINT "Uebergang von Adr. 7FFFH auf"
  180 PRINT:PRINT "8000H gibt es einen Fehler !!!";
  190 PAUSE 100:CLS
  200 PRINT:PRINT P$:PRINT:PRINT N$
  210 PRINT:PRINT:INPUT " Mc-Anfang";H$:GOSUB 560:M=D
  220 IF M>32768 THEN M=M-65536
  230 PRINT:INPUT " Mc-Ende  ";H$:GOSUB 560:EA=D:IF EA>32768 THEN EA=EA-65536
  240 PRINT:INPUT " DATA-Adr.";H$:GOSUB 560:BA=D
  250 IF BA>32768 THEN BA=BA-65536
  260 PA=BA
  270 VA=BA:Z=0:REM Variable Adresse
  280 REM-------------------------
  290 PRINT:INPUT " Zeilennr.";NR
  300 PRINT:PRINT " Adresse "
  310 BA=VA:Z=0:VA=VA+2:DOKE VA,NR:VA=VA+2:NR=NR+10 :Z=Z+4
  320 POKE VA,131:REM Token DATA 83H
  330 VA=VA+1:Z=Z+1
  340 D=M:GOSUB 460:PRINT AT(14,10);H$
  350 D=PEEK(M):GOSUB 460:M=M+1
  360 H$=STR$(D)
  370 FOR I=2 TO LEN(H$)
  380 A=ASC(MID$(H$,I,1))
  390 POKE VA,A:VA=VA+1:Z=Z+1
  400 NEXT
  410 POKE VA,44:VA=VA+1:Z=Z+1
  420 IF M=EA THEN VA=VA-1:POKE VA,0:DOKE VA+1,0:DOKE BA,(BA+Z):GOTO 610
  430 IF Z<64 GOTO 340:ELSE VA=VA-1:POKE VA,0:VA=VA+1:DOKE BA,(BA+Z):GOTO 310
  440 END 
  450 REM------------------------
  460 REM DEZ-HEX WANDLUNG
  470 REM D/H$
  480 H$=" ":B=INT(D/256):GOSUB 500
  490 B=D-B*256
  500 L=(B AND 15)+48:H=(B AND 240)/16+48
  510 IF H>57 THEN H=H+7
  520 IF L>57 THEN L=L+7
  530 H$=H$+CHR$(H)+CHR$(L) 
  540 RETURN
  550 REM ------------------------
  560 REM HEX-DEZ WANDLUNG H$/D
  570 J=1:D=0:FOR I=LEN(H$) TO 1 STEP -1
  580 N=ASC(MID$(H$,I,1))-48
  590 IF N>9 THEN N=N-7
  600 D=D+J*N:J=J*16:NEXT:RETURN
  610 REM-----------------------
  620 REM---LIST#1"DATA"--------
  630 H$="2B5F":GOSUB 560:DOKE D,PA
  640 PRINT:PRINT "DATA wird mit NAMEN 'data' "
  650 PRINT:PRINT "gesaved. Danach wird auf 2B5FH"
  660 PRINT:PRINT "die neue Programmadresse ge-"
  670 PRINT:PRINT "pokt und die SAVE-Routine auf-"
  680 PRINT:PRINT "gerufen. Nach dem Save die Pro-"
  690 PRINT:PRINT "grammadresse des Interpreters"
  700 PRINT:PRINT "mit DOKE 11103,11265 wieder "
  710 PRINT:INPUT "einstellen !! Start Tape -->";A
  720 LIST#1 "data"1