1 ' ADVANCED TAPE HEADER READER
2 ' BY EDWARD JOHN REID 3 ' AMSTRAD ACTION SEPTEMBER 1988 10 GOSUB 410 20 CLS 30 PRINT "Insert tape then press play then any key" 40 CALL &BB06 50 CALL &8000 60 bl.num=PEEK(16400):la.blo=PEEK(16401) 70 fi.typ=PEEK(16402):fi.blo=PEEK(16407) 80 bl.len=PEEK(16403)+256*PEEK(16404) 90 st.add=PEEK(16405)+256*PEEK(16406) 100 le.add=PEEK(16408)+256*PEEK(16409) 110 ex.add=PEEK(16410)+256*PEEK(16411) 120 IF fi.blo=&FF THEN fi.blo$="YES" ELSE fi.blo$="NO" 130 IF la.blo=&FF THEN la.blo$="YES" ELSE la.blo$="NO" 140 IF fi.typ=0 THEN fi.typ$="UNPROTECTED BASIC" 150 IF fi.typ=1 THEN fi.typ$="PROTECTED BASIC" 160 IF fi.typ=2 THEN fi.typ$="UNPROTECTED BINARY" 170 IF fi.typ=3 THEN fi.typ$="PROTECTED BINARY" 180 IF fi.typ=4 THEN fi.typ$="UNPROTECTED ASCII" 190 IF fi.typ=5 THEN fi.typ$="PROTECTED ASCII" 200 IF fi.typ>5 THEN fi.typ$="FUNNY TAPE FORMAT" 210 FOR loop=16384 TO 16399:byte=PEEK(loop) 220 IF byte=0 THEN loop=16400:GOTO 240 230 name$=name$+CHR$(byte) 240 NEXT loop 250 MODE 1 260 LOCATE 9,1:PRINT "Header Reader Mk1.9" 270 LOCATE 9,2:PRINT "By Edward John Reid":PRINT 280 PRINT "FILE NAME : ";name$:PRINT 290 PRINT "FIRST BLOCK : ";fi.blo$:PRINT 300 PRINT "LAST BLOCK : ";la.blo$:PRINT 310 PRINT "BLOCK NUMBER :";bl.num:PRINT 320 PRINT "FILE TYPE NO :";fi.typ:PRINT 330 PRINT "FILE TYPE : ";fi.typ$:PRINT 340 PRINT "START ADDRESS : &";HEX$(st.add,4):PRINT 350 PRINT "LENGTH : &";HEX$(le.add,4):PRINT 360 PRINT "EXEC ADDRESS : &";HEX$(ex.add,4):PRINT 370 PRINT "BLOCK LENGTH : &";HEX$(bl.len,4):PRINT 380 LOCATE 8,25:PRINT "PRESS ANY KEY TO CONTINUE" 390 WHILE INKEY$="":WEND 400 MODE 1:GOTO 20 410 READ a$:IF a$="END" THEN RETURN 420 POKE &8000+i,VAL("&"+a$) 430 i=i+1:GOTO 410 440 DATA 3e,2c,11,40,00,21,00,40,cd,al,bc,c9,END |