--- title: "Cassette Label Maker (Syntax)" id: 76366 type: "computer_media" slug: "cassette-label-maker-syntax" url: "http://localhost/computer_media/cassette-label-maker-syntax/" markdown_url: "http://localhost/computer_media/cassette-label-maker-syntax.md" published_at: "2026-11-11T08:03:05+00:00" modified_at: "2026-11-11T08:03:05+00:00" author: "David Anderson" featured_image: url: "http://localhost/wp-content/uploads/2026/11/cassette-label-maker-syntax-1.png" excerpt: "Design a three-line cassette label on screen, then print as many copies as you need on the ZX printer." post_tag: - name: "Downloadable" slug: "downloadable" taxonomy: "post_tag" url: "http://localhost/tag/downloadable/" - name: "TS 1000" slug: "ts1000" taxonomy: "post_tag" url: "http://localhost/tag/ts1000/" - name: "ZX81" slug: "zx81" taxonomy: "post_tag" url: "http://localhost/tag/zx81/" model: - name: "Sinclair ZX81" slug: "zx81" taxonomy: "model" url: "http://localhost/model/zx81/" - name: "Timex/Sinclair 1000" slug: "ts-1000" taxonomy: "model" url: "http://localhost/model/ts-1000/" indiv: - name: "Lee Gayman" slug: "lee-gayman" taxonomy: "indiv" url: "http://localhost/indiv/lee-gayman/" genre: - name: "Utility" slug: "utility" taxonomy: "genre" url: "http://localhost/type/utility/" media_type: "Program" programmers: - name: "Lee Gayman" slug: "lee-gayman" taxonomy: "indiv" url: "http://localhost/indiv/lee-gayman/" download_url: "https://archive.org/download/timex-sinclair-software-archive/Cassette%20Label%20Maker%20%281983%29%28Gayman%2C%20Lee%29%28TS1000%29%28US%29%28Program%29.zip" mediadate: "1983" images: - url: "http://localhost/wp-content/uploads/2026/11/cassette-label-maker-syntax-1.png" article_media: - id: 19572 title: "Cassette Label Maker" type: "article" url: "http://localhost/article/cassette-label-maker/" media_type_tags: "Utility" license: false --- # Cassette Label Maker (Syntax) A label maker for the ZX printer. Type up to three lines of up to 30 characters each; each line appears in a box on the screen, and you can retype it until it looks right, then press ENTER on an empty line to go on. Then press C to print a copy of the boxed label, as many times as you like, or N to start a new label. The article explains how to edit a line instead of retyping it, by adding to the string in the edit line. Published in Syntax December 1983 ([Cassette Label Maker](https://timexsinclair.com/article/cassette-label-maker/)). ## Source Code ``` 10 REM CASSETTE LABEL PROGRAM 20 REM 30 REM BY L. GAYMAN 9/12/83 40 REM MECHANICSBURG, PA. 50 REM 60 LET X$=" " 70 LET Y$=" " 80 LET Z$=" " 90 PRINT " CASSETTE LABEL PROGRAM " 100 PRINT ,,"USE WITH PRINTER TO MAKE LABELS." 110 PRINT ,,"YOU MAY MAKE 3 LINES, EACH","LIMITED TO 30 CHARACTERS. ENTER","ONE LINE AT A TIME, FOLLOWED BY","N/L." 120 PRINT AT 20,0;"NOW ENTER LINE 1:" 130 PRINT AT 10,0;"▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄" 140 FOR I=1 TO 3 150 PRINT "▌";TAB 31;"▐" 160 NEXT I 170 PRINT "▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀" 180 INPUT A$ 190 IF A$>"" THEN LET X$=A$ 200 IF A$="" THEN GOTO 270 210 IF LEN A$>30 THEN GOSUB 620 220 IF LEN A$>30 THEN GOTO 180 230 PRINT AT 11,1;" " 240 PRINT AT 11,1;A$ 250 GOSUB 640 260 GOTO 180 270 PRINT AT 20,0;"NEXT, PLEASE ENTER LINE 2: " 280 INPUT B$ 290 IF B$>"" THEN LET Y$=B$ 300 IF B$="" THEN GOTO 370 310 IF LEN B$>30 THEN GOSUB 620 320 IF LEN B$>30 THEN GOTO 280 330 PRINT AT 12,1;" " 340 PRINT AT 12,1;B$ 350 GOSUB 640 360 GOTO 280 370 PRINT AT 20,0;"NOW ENTER YOUR LAST LINE: " 380 INPUT C$ 390 IF C$>"" THEN LET Z$=C$ 400 IF C$="" THEN GOTO 470 410 IF LEN C$>30 THEN GOSUB 620 420 IF LEN C$>30 THEN GOTO 380 430 PRINT AT 13,1;" " 440 PRINT AT 13,1;C$ 450 GOSUB 640 460 GOTO 380 470 PRINT AT 20,0;" "C" FOR COPY,"N" FOR NEW LABEL " 480 PAUSE 4E4 490 LET D$=INKEY$ 500 IF D$="N" THEN CLS 510 IF D$="N" THEN RUN 520 IF D$="" THEN GOTO 480 530 LPRINT "▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄" 540 LPRINT "▌";X$;TAB 31;"▐" 550 LPRINT "▌";Y$;TAB 31;"▐" 560 LPRINT "▌";Z$;TAB 31;"▐" 570 LPRINT "▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀" 580 FOR I=1 TO 3 590 LPRINT 600 NEXT I 610 GOTO 470 620 PRINT AT 20,0;"TOO MANY LETTERS,PLEASE RE-ENTER" 630 RETURN 640 PRINT AT 20,0;" PRESS N/L IF O.K. (OR RE-ENTER)" 650 RETURN 9998 SAVE "L" 9999 RUN ```