Listing of file='BSC-LIST' on disk='vmedia/tbo_81.wvd.zip'
# Sector 141, program filename = 'BSC-LIST' 0010 REM BSC-LIST 11/13/75 : COM F$ : SELECT PRINT 005(64),INPUT 001 0020 DIM H$(4)64,B1$(4)62,F4$2 : F4$=HEX(A03E) 0030 DIM K$1,T$1,B$(2,255)1,T$(4) : GOSUB 730 : GOSUB 520 0040 REM %PERIPHERALS : REM %0 #0 CASSETTE, #1 DISK, /215 PRINTER 0050 REM %VARIABLES : REM %0 A DISK SECTOR, B1$( READ AREA 0060 REM %0 B BUFFER PTR, B9 BUFFER END, B$( BUFFER AREA 0070 REM %0 D DEVICE FLAG, F$ FILE NAME, F4$ (A03E) 0080 REM %0 L IMG.LENGTH, R TAPE BLK #, R1 IMAGE # 0090 REM %0 M$ MESSAGE, T TYPE DISPLAY, T$( TYPE TABLE 0100 REM %0 T$ CONTROL BYTE, K$ K$1, S S, Z Z 0110 REM %SPECIAL FUNCTIONS : REM % LIST OPTIONS 0120 REM %0 '0 ASCII-HEX, '1 BINARY-HEX, '2 PRINTER, '3 FAST CRT 0130 REM %0 '13 FORM FEED, '14 VERTICAL TAB, '15 MENU 0140 SELECT PRINT 005(64) : GOSUB 810 0150 IF D=0THEN 160 : A=A1 0160 INPUT T 0170 T=INT(T) : IF T>3THEN 140 : IF T=2THEN 500 0180 R,R1=0 0190 PRINT "REQUESTED LIST TYPE";T;" ";T$(T+1) : IF T<>2THEN 220 0200 SELECT PRINT 215(120) : PRINT : PRINT "***START LIST OF FILE--";F$ 0210 PRINT "BLK# IMG.#--....!....1....!....2....!....3....!....4....!....5.... !....6....!....7....!....8" 0220 INIT(00)B$() : GOSUB 440 0230 IF D=0THEN 240 : DATA LOAD DC #1,B1$() : GOTO 250 0240 DATA LOAD B1$() : REM .^ ERR 52 SHOWS TAPE IS NOT IN STANDARD WANG COMMUNICATIONS FORMAT I E. ARRAYS 4(62) 0250 $PACK(F=F4$)B$()FROMB1$() : T$=B$(1,1) : R=R+1 0260 IF END THEN 690 0270 %BLOCK NO.=#### CARD NO.=### 0280 REM %INTERPRET BISYNC DATA RECORD : GOSUB 400 0290 R1=R1+1 0300 L=VAL(B$(1,B)) : S,B=B+1 : ON T-1GOTO 620,660 0310 PRINTUSING 270,R,R1 0320 IF T=0THEN 350 0330 PRINT "BINARY RECORD DISPLAYED IN HEX" 0340 HEXPRINT B$(1,B); : B=B+1 : IF B<S+LTHEN 340 : GOTO 380 0350 K$=B$(1,B) : IF K$<" "THEN 360 : PRINT K$; : GOTO 370 0360 PRINT "'"; : HEXPRINT K$; : PRINT "'"; 0370 B=B+1 : IF B<S+LTHEN 350 0380 PRINT : GOSUB 430 : IF B<B9THEN 290 : PRINT : PRINT 0390 IF T$<>HEX(F0)THEN 220 : GOTO 690 0400 T$=B$(1,1) : B=3 : B9=VAL(B$(1,2)) : IF T$=HEX(00)THEN 420 : IF T$=HEX(F0)THEN 420 0410 PRINT "IMPROPER TAPE FORMAT FOR BISYNC DATA" : GOTO 140 0420 Z=VAL(B$(1,B)) : IF Z=0THEN 410 : B=B+Z+1 : IF B<B9THEN 420 : IF B>B9THEN 410 : B=3 : RETURN : REM %CHECK KEYBOARD 0430 KEYIN K$,450,450 0440 RETURN 0450 SELECT PRINT 005 : PRINT "KEY (EXEC) TO CONTINUE" 0460 KEYIN K$,440,470 : GOTO 460 0470 IF K$>HEX(03)THEN 440 : T=VAL(K$) : SELECT PRINT 005(64) : RETURN 0480 DEFFN'0 : T=0 : GOTO 180 0490 DEFFN'1 : T=1 : GOTO 180 0500 DEFFN'2 : T=2 : SELECT PRINT 005 : PRINT " OUTPUT IS TO PRINTER" : GOTO 180 0510 DEFFN'3 : T=3 : GOTO 180 0520 D=0 : INPUT "INPUT DEVICE 0=TAPE 1=(F)310 2=(R)B10 3=(F)320 4=(R)B20",D : D=INT(D) : IF D<0THEN 520 : IF D>4THEN 520 : IF D>0THEN 530 : F$="CASSETTE" : RETURN 0530 PRINT "DATA FILE NAME=";F$;" OR"; : INPUT F$ : ON D GOSUB 560,570,580,590 0540 DATA LOAD DC OPEN T #1,F$ : REM ^ERR 80 NO SUCH FILE 0550 RETURN 0560 SELECT #1 310 : RETURN 0570 SELECT #1 B10 : RETURN 0580 SELECT #1 320 : RETURN 0590 SELECT #1 B20 : RETURN 0600 %#### #####-- 0610 %BLK# LREC#--....!....1....!....2....!....3....!....4....!....5....!....6 ....!....7....!....8" 0620 SELECT PRINT 215 : PRINTUSING 600,R,R1; : SELECT PRINT 005 0630 $GIO/215(A200 400D 4000,P8$)B$()<B,L> 0640 B=B+L : IF B<S+LTHEN 620 : IF B<B9THEN 290 : IF T$<>HEX(F0)THEN 220 0650 SELECT PRINT 215 : GOTO 690 0660 PRINT "BLOCK=";R,"CARD IMAGE=";R1 : $GIO/005(A200,P8$)B$()<B,60> : PRINT 0670 $GIO/005(A200,P8$)B$()<B+60,20> : PRINT : GOSUB 430 0680 B=B+L : IF B<S+LTHEN 660 : IF B<B9THEN 290 : IF T$<>HEX(F0)THEN 220 0690 PRINT R1;" CARD IMAGES FOUND---END OF FILE ";F$ : SELECT PRINT 005(64) : IF D=0THEN 695 : GOSUB 540 : GOTO 140 0695 PRINT "POSITIONING BEYOND END--", : REM SKIP1F : PRINT "DONE" : GOTO 140 0700 DEFFN'13 : M$="FORM FEED" : K$=HEX(0C) : GOTO 720 0710 DEFFN'14 : M$="VERTICAL TAB" : K$=HEX(0B) 0720 SELECT PRINT 005 : PRINT M$;" PRINTER" : SELECT PRINT 215 : PRINT K$ : SELECT PRINT 005 : RETURN 0730 T$(1)="BISYNC.ASCII" : T$(2)="BISYNC.BINARY" : T$(3)="FAST PRINTER" : T$(4)="FAST CRT" 0740 DEFFN'15 : PRINT HEX(03),,"BISYNC SUPPORT--BSC-LIST" 0750 GOSUB 810 : PRINT "KEYING (EXEC) WILL STOP LISTING" 0755 GOSUB 760 : PRINT : PRINT "YOU MUST FIRST SELECT AN INPUT DEVICE" : RETURN 0760 PRINT : PRINT "LINE PRINTER CONTROL" 0770 PRINT "S.F. '13 FORM FEED" 0780 PRINT "S.F. '14 VERTICAL TAB" 0790 PRINT "S.F. '15 MENU" 0800 RETURN 0810 PRINT "S.F. '0--'3 LISTING VARIATIONS" 0820 PRINT " '0=";T$(1),," '1=";T$(2)," '2=";T$(3),," '3=";T$(4) 0830 RETURN 0840 DEFFN'6 : DIM C$(4)64 : Z=0 0850 DATA LOAD BTC$() 0860 Z=Z+1 : PRINT "RECORD=";Z 0870 HEXPRINT C$() 0880 INPUT Z : GOTO 850 0890 DEFFN'7 : FOR Z=1 TO 120 : HEXPRINT B$(1,Z); : NEXT Z : RETURN 0900 DEFFN'8 : LIMITS T#1,F$,A,A9,Z 0910 DATA LOAD BA T#1, (A,A) C$() 0920 PRINT "SECTOR=";A 0930 HEXPRINT C$() 0940 INPUT Z : GOTO 910