image of READY prompt

Wang2200.org

Listing of file='TBO.ANDF' on disk='vmedia/toolbox.wvd.zip'

# Sector 1044, program filename = 'TBO.ANDF'
0010 REM .TBO.ANDF 09/13/83 ANALYZE DATA FILE STRUCTURE
0020 IF D1$(10)=" "THEN LOAD T#0,"TBODISKS"8000,8800 BEG 30
0030 DIM A$(16)16,B$(16)16,C$1,C0$1,C1$1,Z$64, C$(256)1,F$8,S$(4095)1,E$1,E0$1
0040 SELECT PRINT 005(64)
   : PRINT HEX(03);
   : GOSUB '15
   : PRINT
   : PRINT "Key '15 to see file examples"
0050 GOSUB '98
   : REM /Get surface
   : SELECT #1<D1$(D9)>
   : D1=D9
0060 LINPUT "File name=",-F$
0065 H9=0
   : REM /.H9 =1 PRINT Value bytes
0070 LIMITS T#1,F$,A1,A2,A3,A4
0080 IF A4=2THEN 90
   : PRINT "This is not a data file"
   : GOTO 50
0090 PRINT "File size = ";A3;" Sectors"
0100 DATA LOAD DC OPEN T#1,F$
0110 DATA LOAD BA T#1,(A1,A1)A$()
0120 IF END  THEN STOP "END OF FILE "#
0130 REM PRINT "Sector ";A1;" ";HEXOF(STR(A$(),1,2))
0140 GOSUB '77(A$())
   : IF A<256THEN STR(A$(),A+1)=" "
   : IF H9=1THEN PRINT HEX(0D0D)
0150 SELECT PRINT 005(80)
   : IF C$=HEX(A0)THEN GOSUB 300
   : IF A$=" "THEN 110
   : PRINT A$
   : STOP "End of Job "#
   : GOTO 10
0160 FOR B=1TO S
   : PRINT HEXOF(STR(S$(),B,1));" ";
   : NEXT B
   : PRINT
   : PRINT "pause";
   : KEYIN K$
   : RETURN
0170 REM %.S.R.List sector contents in hex
0180 SELECT PRINT 005(79)
   : FOR C=1 TO 16
   : HEXUNPACKA$(C) TO Z$
   : FOR C1=1 TO 32STEP 2
   : PRINT STR(Z$,C1,2);" ";
   : NEXT C1
   : NEXT C
   : PRINT
   : RETURN
0190 DEFFN'0
   : LOAD DC T "START"
0200 DEFFN'77(C$())
   : A$=" "
   : C$,C1$=STR(C$(),,1)
   : C$=C$AND HEX(A0)
   : IF C$=HEX(00)THEN A$="Not a Data file"
   : IF C$=HEX(A0)THEN A$="END of file"
   : IF A$<>" "THEN RETURN
0210 C$=STR(C$(),2,1)
   : A=3
   : IF C$>HEX(01)THEN 230
   : IF S>0THEN GOSUB 300
0220 S=1
   : INIT(00)S$()
0230 IF C$<>HEX(01)THEN IF VAL(C$)-1<>VAL(C2$)THEN STOP "Out of sequence "#
   : C2$=C$
   : GOTO 250
0240 STR(S$(),S,1)=C1$
   : S=S+1
0250 C$,C0$,C1$=STR(C$(),A,1)
   : IF H9=1THEN PRINT HEXOF(C$);" ";
   : IF C$=HEX(FD)THEN RETURN
   : C$=C$AND HEX(7F)
0260 A=A+VAL(C$)+1
   : IF A<=256THEN 240
   : STOP "Illegal value "#
   : RETURN
0270 REM %.Analyze BASIC-2 value bytes
0280 PRINT "BASIC-2 value bytes"
   : SELECT PRINT 005(78)
   : FOR B=1TO S-1
   : PRINT HEXOF(STR(S$(),B,1));" ";
   : NEXT B
   : PRINT
0300 S0=S0+1
   : PRINT "File=";F$,"BASIC-2 data structure -- SAVE number ";S0
   : SELECT PRINT 005(80)
0310 E$,E0$=STR(S$(),,1)
   : GOSUB 400
   : FOR B=2TO S
   : E$=STR(S$(),B,1)
   : IF E$=E0$THEN 320
   : PRINT T$;
   : IF E>0THEN PRINT "(";E+1;")";
   : IF T$="$"THEN PRINT VAL(E0$)-128;
   : PRINT ,
   : GOSUB 400
   : E=E-1
   : E0$=E$
0320 E=E+1
   : NEXT B
   : PRINT
   : $IF OFF /001,340
   : KEYIN K$
0330 IF K$=HEX(0F)THEN GOSUB '15
   : PRINT "pause";HEX(0D);
   : KEYIN K$
   : IF K$=HEX(0F)THEN 330
0340 RETURN
0400 E=0
   : IF E$=HEX(08)THEN T$="Scalar"
   : ELSE T$="$"
   : RETURN
0500 DEFFN'15
   : PRINT ,"A n a l y z e  D a t a  F i l e   F o r m a t"
0510 PRINT "$(4)62",,"Wang T.C. file format"
0520 PRINT "$2, $3, $(4)60",,"Wang Prom file format"
0530 PRINT "$(256)16",,"4K T.C. microcode"
0540 PRINT "$(512)16",,"8K T.C. microcode"
0550 PRINT "$(34)121",,"4K T.C. ucode (min.disk storage)"
0560 PRINT "$(3)83",,"3270 Spooler names file"
0562 PRINT "$(3)80",,"3270*PQ"
0570 PRINT "$31, $(128)2, Scalar(3)","VFU format tape"
0572 PRINT "$8, Scalar, $32, $2(16), $(16)8, $(33)2","@SYSFILE"
0580 RETURN