image of READY prompt

Wang2200.org

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