See all articles from ZX-Appeal Oct-Nov 87
Here is a short program for the 2068 that will create a label for your cassettes. It’s really nice to have all your cassettes labeled, indexed, and all the same! Make sure that your program titles aren’t over 10 characters long or they will be cut to 10. After the label is printed, just tear it off and fold it so it fits the case.
5 REM bugs!!!!!
10 REM TAPE LABLE By James G. DuPuy 2-3-85 in April Ramtop
12 PRINT AT 10,2; FLASH 1;"STOP TAPE AND TURN ON PRINTER"
13 BEEP .5,30
14 PRINT AT 14,0;" Press ENTER to start. "
15 POKE 23609,20
16 PRINT AT 16,0;"To skip to side B or to skip B, just enter ""STOP"" by holding theSym. Shift and press the ""A"" keyat the program title prompts.": INPUT Z$
20 BORDER 6: CLS
30 DIM N$(10)
35 PRINT AT 0,0;"\:'\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\. ";AT 1,0;"\: ";TAB 31;"\: "
40 PRINT AT 2,0;"\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::\::";AT 20,0;"\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\.."
50 FOR N=3 TO 19
60 PRINT AT N,0;"\: ";AT N,15;"\: ";AT N,31;"\: "
70 NEXT N
80 PRINT AT 3,4;"Side:A";AT 3,20;"Side:B"
85 FOR n=5 TO 19
90 PRINT AT n,1;"______________";AT n,16;"______________"
100 NEXT n
120 PRINT AT 21,2; FLASH 1;"Enter tape title or number."
130 INPUT a$: IF a$="" THEN GO TO 130
135 PRINT AT 1,2;a$
140 LET o=1
150 FOR n=5 TO 19
155 PRINT AT 21,0;" "
160 PRINT AT 21,0; FLASH 1;"Enter title for side A#:";o
170 INPUT n$: IF n$=" STOP " THEN GO TO 210
178 PRINT AT n,1; OVER 1;n$
180 PRINT AT 21,0; FLASH 1;"Enter number for #:";o
185 INPUT i$
190 PRINT AT n,11; OVER 1;">";i$
192 INPUT "OK (ENT/N) ";Z$: IF z$="N" OR Z$="N" THEN PRINT AT N,1; OVER 1;N$;AT N,11; OVER 1;">";I$: GO TO 155
195 LET o=o+1
200 NEXT n
210 LET o=1
215 FOR n=5 TO 19
220 PRINT AT 21,0;" "
230 PRINT AT 21,0; FLASH 1;"Enter title for side B #:";o
240 INPUT n$: IF n$=" STOP " THEN GO TO 295
245 PRINT AT n,16; OVER 1;n$
250 PRINT AT 21,0; FLASH 1;"Enter index number for #:";o
260 INPUT i$
270 PRINT AT n,26; OVER 1;">";i$
275 INPUT "OK (ENT/N) ";Z$: IF Z$="N" OR Z$="n" THEN PRINT AT N,16; OVER 1;N$;AT N,26; OVER 1;">";I$: GO TO 220
280 LET o=o+1
290 NEXT n
295 INPUT "OK?(Y/N) ";z$: IF z$="n" OR z$="N" THEN RUN
297 PRINT AT 21,0;" "
300 COPY
305 CLS
310 PRINT "\:'\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\. ";AT 3,0;"\:.\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\.:"
315 FOR n=1 TO 2: PRINT AT n,0;"\: ";AT n,31;"\: ": NEXT n
320 LET b=0: DIM a(8): FOR d=1 TO LEN A$: LET n=CODE a$(d TO d)
325 FOR x=1 TO 8: LET a(x)=PEEK (15615+8*(n-32)+x): NEXT x
330 FOR f=0 TO 7 STEP 2: LET b=b+1: POKE USR "A"+f,a(b): POKE USR "A"+(f+1),a(b): NEXT f
335 FOR f=0 TO 7 STEP 2: LET b=b+1: POKE USR "B"+f,a(b): POKE USR "B"+(f+1),a(b): NEXT f
336 PRINT AT 1,d+1;CHR$ 144;AT 2,d+1;CHR$ 145
340 LET b=0
341 NEXT d
350 COPY
360 INPUT FLASH 1;"For another run PressENT "; LINE z$
370 IF Z$="" THEN GO TO 20
380 STOP
9999 CLEAR : SAVE "TAPE LABLE" LINE 1