10
20
30 :
40 DIM mcode% &100
50 TapeBuffer=&5BEF
60 FOR P=0 TO 1
70 P%=23300
80 O%=mcode%
90 [OPT P*3+4
100 .TapeCat
110 LD BC,3
120 .TapeCatLp
130 LD IX,TapeBuffer
140 LD DE,17:PUSH BC
150 XOR A:SCF:CALL &0556 :\ LD_BYTES
160 POP BC :\ BC=column number
170 BIT 5,(IY+1):RET NZ :\ Key pressed
180 JR NC,TapeCatLp :\ Loop for another header
190 LD HL,TapeBuffer+1
200 LD B,10
210 .TapeName
220 LD A,(HL):RST &10 :\ Print filename
230 INC HL:DJNZ TapeName
240 DEC C:JR Z,TapeCat
250 LD A,32:RST &10 :\ Pad between columns
260 JR TapeCatLp
270 ]NEXT
280 END
290
300
310 FOR a=23300 TO 23341:READ b:POKE a,b:NEXT a
320 DATA 1,3,0,221,33,239,91,17,17,0,197,175,55,205,86,5,193
330 DATA 6,10,253,203,1,110,192,48,233,33,240,91,126,215,35
340 DATA 16,251,13,40,219,62,32,215,24,217
350 :
360
370 IF USR 23300<3 THEN PRINT
380 IF INKEY$<>"" THEN GOTO 380
390 PAUSE 1:PRINT#0;"Press SPACE to continue":PAUSE 0:INPUT;:RETURN