Listing of file='TPUT080A' on disk='vmedia/733-1004.wvd.zip'
# Sector 315, program filename = 'TPUT080A' 0012 REM TPUT080A .... 800 TO 1600 BPI CONVERSION ROUTINE 4/10/77 0180 DIM C$(10)40,B$10,W$1 : SELECT #107B : SELECT #217B 0220 H8=0 : U1=0 0250 PRINT HEX(03);" ****** TAPE TO TAPE DATA CONVERSION ******" : $GIOREWIND#1(6CF544008607,B$) : $GIOREWIND#2(44468607,B$) 0310 $GIOREAD#1(6CFB4400C2228607,B$)C$() 0330 GOSUB '32(1) 0350 W$=HEX(04) : AND (W$,STR(B$,7,1)) : IF W$=HEX(00)THEN 490 : $GIOWEOF#2(44038607,B$) : GOSUB '32(2) : H8=H8+1 : IF H8=1THEN 310 : STOP "END OF PROCESSING" 0490 L0=256*VAL(STR(B$,9,1))+VAL(STR(B$,10,1)) : IF L0>4096THEN 610 : $GIOWRITE#2(4429A20044018607,B$)C$()<1,L0> : GOSUB '32(2) 0540 H8=0 : U1=U1+1 0570 PRINT HEX(010A);"BLOCK";U1;"WRITTEN ON TAPE" : GOTO 310 0610 STOP "BUFFER OVERFLOW ON WRITE" 0660 DEFFN'32(I) 0700 W$=HEX(02) : AND (W$,STR(B$,7,1)) : IF W$=HEX(00)THEN 750 : STOP "TAPE UNIT NOT READY" 0750 IF I=1THEN 810 : W$=HEX(10) : AND (W$,STR(B$,7,1)) : IF W$=HEX(00)THEN 810 : STOP "1600 BPI TAPE IS PROTECTED, UNABLE TO WRITE ON" 0810 IF I=2THEN 1000 : Z7,Z6=0 0830 W$=HEX(40) : AND (W$,STR(B$,7,1)) : IF W$=HEX(00)THEN 1000 : Z6=Z6+1 : IF Z6>15THEN 910 : $GIOREREAD#1(6CF84400C2228607,B$)C$() : GOTO 830 0910 IF Z7=1THEN 980 : $GIOCLEAN#1(6CF744008607,B$) : Z6=0 : Z7=1 : $GIOREAD#1(6CFB4400C2228607,B$)C$() : GOTO 830 0980 STOP "SINGLE TRACK ERROR ON READ. UNABLE TO CORRECT" 1000 W$=HEX(80) : AND (W$,STR(B$,7,1)) : IF W$=HEX(00)THEN 1070 : IF I=2THEN 1050 : STOP "HARD TRANSMISSION ERROR ON 800 BPI TAPE DRIVE" 1050 STOP "HARD TRANSMISSION ERROR ON 1600 BPI TAPE DRIVE" 1070 IF I=2THEN 1230 : W$=HEX(01) : AND (W$,STR(B$,8,1)) : IF W$=HEX(00)THEN 1130 : STOP "BUFFER OVERFLOW ON READING FROM 800 BPI TAPE" 1130 W$=HEX(02) : AND (W$,STR(B$,8,1)) : IF W$=HEX(00)THEN 1180 : STOP "PERMANENT LRC ERROR ON 800 BPI TAPE" 1180 W$=HEX(04) : AND (W$,STR(B$,8,1)) : IF W$=HEX(00)THEN 1230 : STOP "ILLEGAL MICROCOMMAND" 1230 W$=HEX(08) : AND (W$,STR(B$,7,1)) : IF W$=HEX(00)THEN 1340 : IF I=2THEN 1300 : PRINT "EOT SENSED ON 800 BPI TAPE UNIT. MOUNT NEXT TAPE, AND KEY RETURN(E XEC)" : INPUT A : RETURN 1300 PRINT "EOT SENSED ON 1600 BPI TAPE UNIT. MOUNT NEXT TAPE, AND KEY RETURN( EXEC)" : INPUT A : RETURN 1340 RETURN