; A simple tape catalog routine ; ============================= TapeBuffer=&5BEF .TapeInfo LD IX,TapeBuffer LD DE,17 XOR A:SCF:CALL &0556 :\ LD_BYTES LD BC,&0A00 :\ 10 chars to print RET NC :\ Nothing, so exit with BC<>0 LD HL,TapeBuffer+1 .PrName LD A,(HL):RST &10 INC HL:DJNZ PrName RET :\ Exit with BC=0 \ On exit: \ BC=0 - Ok \ BC<>0 - Nothing loaded or BREAK pressed : \ TapeBuffer \ 5BEF Type \ 5BF0 Filename \ 5B0A Length \ 5B0C Start \ 5B0E Exec \ This can be used from Basic as follows \ \ 30 REM Build machine code \ 40 RESTORE:FOR a=23300 TO 23324:READ q:POKE a,q:NEXT a \ 50 DATA 221,33,239,91,17,17,0,175,55,205,86,5,1,0,10 \ 52 DATA 208,33,240,91,126,215,35,16,251,201 \ \ 1100 REM Catalog tape files \ 1102 LET q=0 \ 1103 LET bc=USR 23300 \ 1104 IF bc=0 THEN LET q=(q+1)AND(q<2):IF q>0 THEN PRINT " "; \ 1106 LET q$=INKEY$:IF q$="" THEN GOTO 1103 \ 1106 IF q>0 THEN PRINT \ 1107 IF INKEY$<>"" THEN GOTO 1107 \ 1108 PAUSE 1:PRINT#0;"Press SPACE to continue":PAUSE 0:INPUT;:RETURN