to CASSETTE ; ¤ T.DIJKSTRA 1989 SCR label "x INIT I2 I2 OUT KDR if rc = "\* [] setsplit 1 ct (type [AGAIN? (y / n)] char 32) if rc = "n [erall stop] go "x end to INIT make "nr 1 make "LINE [] make "S 2 make "N 1 make "A 1 ht end to I2 ts ct (pr [PLEASE TYPE TEXT (max.] :NL [lines, 28 characters each) for SIDE] :A) make "N 1 pr [] repeat :NL [(type :N char 32) I make "LINE se :LINE :line make "N :N + 1] make "A 2 cs ct end to OUT make "N 1 repeat 2 * :NL [make "line item :nr :LINE SC make "nr :nr + 1 make "N :N + 1] setcursor [3 24] type :TTL end to I make "line rq make "X count :line if :X - 28 > 0 [type char 7 I] end to SC make "SC se :S :N + 1 setcursor :SC (pr :N char 32 :line) if :nr = :NL [make "S 36 make "N 0] end to KDR fs pu setpos [-360 263] pd rt 90 repeat 2 [fd 564 rt 90 fd 390 rt 90] lt 90 bk 528 rt 90 fd 564 lt 90 fd 136 bk 66 lt 90 fd 564 end to SCR ts ct setcursor [30 0] rv type [* * C A S S E T T E * * ¤ TD '89 * *] rvo l pr [This program enables you to print labels for audio - cassettes.] pr [You can print up to 20 lines (of 28 characters each) on both side A and B.] l pr [Printing: EXTRA + PTR - key] label "x l (type [Number of lines?] char 32) make "NL rq if not numberp :NL [go "x] if 20 - :NL < 0 [go "x] label "y l pr [Please type the TITLE for this CASSETTE (up to 55 characters)] make "TTL rq make "N count :TTL if 55 - :N < 0 [go "y] end to rv type word char 27 "p end to rvo pr word char 27 "q end to l pr [] end :LINE SC make