Listing of file='B327TRAC' on disk='vmedia/bsc_3271_rel_1.14.04.wvd.zip'
# Sector 1292, program filename = 'B327TRAC'
0010 REM .B327TRAC 05/17/84 2200/3270 Trace/Monitor
0020 COM F$8,A1$3
0030 DIM A$64,T$12,T1$12,T2$24,D$24,D1$24,D2$48,T$(10)12,D$(10)24,K$1,C2$2
: I=1
0040 DIM K1$24
: K1$=".1.2.3.4.5.6.7.8.A.B.C.D"
0050 SELECT PRINT 005(80)
: PRINT HEX(03);"2200/3270 TRACE"
0060 A1$="310"
: LINPUT "2200/3270 TRACE DISK, IF ANY",A1$
: IF A1$=" "THEN 90
0070 SELECT #1<A1$>
0080 F$="B32TDATA"
: LINPUT "File name",F$
: DATA LOAD DC OPEN T#1,F$
0090 INPUT "MODE 1=TRACE 2=LIST 3=LIST TO PRINTER",M
: ON MGOTO 100,230,330,440
: GOTO 90
0100 SELECT @PART"3270UNIV"
0110 PRINT "T$ = Transfer status D$ = Device status"
: PRINT ".1.2.3.4.5.6.7.8.A.B.C.D .1 .2 .3 .4 .5 .6 .7 .8 .A .B .
C .D"
0120 A=1
: INIT(00)T$(),D$()
0130 $BREAK
: IF @D$()=D$THEN IF @T$()=T$THEN 130
0140 D$(A),D$=@D$()
: T$(A),T$=@T$()
0150 $IF OFF /005,170
: PRINT HEXOF(T$);" ";HEXOF(D$);" ";I
: I=I+1
0160 PRINT ".1.2.3.4.5.6.7.8.A.B.C.D .1 .2 .3 .4 .5 .6 .7 .8 .A .B .
C .D"
: PRINT HEX(0C)
0170 $IF ON /001,210
: A=A+1
: IF A<11THEN 130
0180 IF A1$=" "THEN 120
0190 DATA SAVE DC #1,D$(),T$(),I
: GOTO 120
0200 DEFFN'10
0210 DATA SAVE DC #1,D$(),T$(),I
: DATA SAVE DC #1,END
: PRINT "CLOSED"
: RETURN
0220 DEFFN'30
: DATA SAVE DC OPEN T #1, (500)"B32TDATA"
: RETURN
0230 DATA LOAD DC #1,D$(),T$(),I
: IF END THEN 280
0240 FOR A=1 TO 10
: L=L+1
: PRINT HEXOF(T$(A));" ";HEXOF(D$(A));" ";L
: NEXT A
0250 PRINT ".1.2.3.4.5.6.7.8.A.B.C.D .1 .2 .3 .4 .5 .6 .7 .8 .A .B .
C .D"
: PRINT HEX(0C)
0260 KEYIN K$,270,270
: GOTO 230
0270 KEYIN K$
: GOTO 230
0280 STOP "END OF FILE "#
0290 B=POS(T2$>HEX(80))
: IF B=0THEN 310
: C2$=STR(T2$,B,2)
: RESTORE LINE320
: PRINT STR(K1$,B,2);" ";
0300 READ A$
: IF STR(A$,1,2)<>C2$THEN 300
: PRINT STR(A$,4,16 );
: RETURN
0310 PRINT "No change";
: RETURN
0320 DATA "\B0\B0 Clear","\B0\B1 Reset","\B0\B2 AID Pending","\B0\B3 Status","
\B1\B0 Input Inhibit","\B1\B1 DLP wants buffer","\B1\B2 DLP has buffer","
\B1\B3 Reset Ack","\B1\B4 DLP wants AID buffer"," "
0330 SELECT PRINT 215(132)
: PRINT HEX(0C0D0E);"2200/3270 TRACE DATA"
0340 READ A$
: PRINT A$
: IF A$<>" "THEN 340
0350 DATA LOAD DC #1,D$(),T$(),I
: IF END THEN 280
0360 FOR A=1 TO 10
: L=L+1
: D$=D$(A)
: T$=T$(A)
: HEXUNPACKT$TO T2$
: B=0
0370 B=B+1
: IF STR(T1$,B,1)<>STR(T$,B,1)THEN ADD(STR(T2$,2*B-1,2),80)
: IF B<12THEN 370
0380 FOR B=1TO 12
: PRINT STR(T2$,2*B-1,2);" ";
: NEXT B
: PRINT " ";
: FOR B=1 TO 21STEP 2
: PRINT HEXOF(STR(D$(A),B,2));" ";
: NEXT B
: PRINT " ";L;
: IF L>1THEN GOSUB 290
0390 PRINT
: D1$=D$
: T1$=T$
: NEXT A
0400 PRINT ".1 .2 .3 .4 .5 .6 .7 .8 .A .B .C .D .1 .2 .3 .4 .5 .6
.7 .8 .A .B .C .D"
0410 GOTO 350
0420 DEFFN'5
: SELECT PRINT 215
0430 L=0
: DBACKSPACE #1,BEG
0440 PRINT HEX(0C0D0E);"2200/3270 TRACE DATA"
0450 LINPUT "STREAM ",K$
: IF K$>"8"THEN B=VAL(K$)-56
: ELSE B=VAL(K$)-48
0460 DATA LOAD DC #1,D$(),T$(),I
: IF END THEN 280
0470 IF L>0THEN 480
: PRINT "STREAM ";K$;" ";HEXOF(STR(D$(),2*B-1,2))
: PRINTUSING 510,L+1;
0480 IF B>8THEN 520
0490 FOR A=1 TO 10
: L=L+1
: IF K$=STR(T$(A),B,1)THEN 500
: K$=STR(T$(A),B,1)
: PRINT HEXOF(K$);" ";
: IF K$>HEX(00)THEN 500
: PRINT
: PRINTUSING 510,L+1;
0500 NEXT A
: GOTO 460
0510 % #### Seq. .
0520 FOR A=1 TO 10
: L=L+1
: IF K$=STR(T$(A),B,1)THEN 540
: K$=STR(T$(A),B,1)
: IF K$<>HEX(03)THEN 530
: PRINT
: PRINTUSING 510,L;
0530 PRINT HEXOF(K$);" ";
0540 NEXT A
: GOTO 460