List the contents of a cassette tape.
Content
Source Code
10 CLEAR 32000: LOAD "Saver code"CODE : BEEP .2,22
20 CLS : PRINT TAB 10;" S A V E R ";AT 4,9;"THIS PROGRAM";AT 6,6;"DISPLAYS OR PRINTS";AT 8,4;"TAPE HEADER INFORMATION"
30 POKE 33293,0: POKE 33294,0
40 PRINT FLASH 1;AT 18,3;" PRESS ENTER AND START TAPE "; FLASH 0;AT 20,11;"WHEN READY"
50 PAUSE 0: PRINT AT 18,1;" ";" NOW LOADING HEADER ";AT 20,8;"STOP TAPE AT BEEP"
60 RANDOMIZE USR 32768
70 BEEP .8,22: CLS
80 LET T=PEEK 33280: RESTORE 230: FOR Q=0 TO T: READ T$: READ D$: NEXT Q
90 LET n$="": FOR q=33281 TO 33290: LET n$=n$+CHR$ (PEEK q): NEXT q
100 FOR q=10 TO 1 STEP -1: IF n$(q)=" " THEN NEXT q
110 LET c=q
120 LET s$=" (Address)": IF T=0 THEN LET s$=" (Line #)"
130 LET L=(PEEK 33292)*256+PEEK 33291: LET S=(PEEK 33294)*256+PEEK 33293
140 LET E$="": IF T=0 OR T=3 THEN LET E$=STR$ S: IF T=3 THEN LET E$=E$+","+STR$ L
150 IF s=16384 AND l=6912 THEN LET E$="SCREEN$": LET D$=""
160 PRINT AT 0,10;" S A V E R ";AT 2,0;"TYPE OF FILE: ";t$;AT 4,0;"NAME OF FILE: ";n$( TO c);AT 6,0;"LENGTH OF FILE:";L;" Bytes";AT 8,0;"START OF FILE: ";S;s$
170 PRINT AT 12,0;"TO SAVE THIS FILE USE:";AT 14,0;"SAVE """;N$( TO c);""" ";D$;" ";E$
180 PRINT AT 18,0;"PRESS 'P' TO PRINT ABOVE DATA","PRESS 'H' TO LOAD ANOTHER HEADERPRESS 'S' TO SAVE THIS PROGRAM"
190 PAUSE 0: IF INKEY$="p" THEN LPRINT "SAVE """;N$( TO c);""" ";D$;" ";E$: LPRINT : LPRINT
200 IF INKEY$="h" THEN CLS : GO TO 20
210 IF INKEY$="s" THEN CLS : GO TO 240
220 GO TO 190
230 DATA "Basic Program","LINE","Numeric Array","DATA ()","String Array","DATA $ ()","Machine Code","CODE"
240 SAVE "SAVER" LINE 10: SAVE "Saver code"CODE 32768,472