image of READY prompt

Wang2200.org

Listing of file='LIST030A' on disk='vmedia/701-2048D.wvd.zip'

# Sector 544, program filename = 'LIST030A'
0010 REM LIST030A,00-00(02/18/76),12003A - COPYRIGHT WANG LABS. INC., 1976
0030 SELECT #3215
   : GOTO 1720
0060 RETURN
0080 GOSUB 990
   : GOSUB 1480
   : GOSUB 650
   : GOSUB 490
   : A$=HEX(220427023A0320002020)
   : $TRAN(A$(),A$)R
   : P2=1
0200 MAT SEARCHA$()<P2,1024-P2>,=A1$(11)TO B$()
   : IF B$(1)=HEX(0000)THEN 310
   : P1=256*VAL(B$(1))+VAL(STR(B$(1),2,1))
   : IF P1<=L9-5THEN 280
   : MAT COPY -A$()<P2+L9-6,1023-P2-L9>TO -A$()<P2+L9-6,1024-P2-L9+6>
0250 MAT COPY A1$()<11,1>TO A$()<P2+L9-6,1>
   : P2=P2+L9-3
   : GOTO 200
0280 P2=P2+P1+2
   : GOTO 200
0310 P2=1
0320 MAT SEARCHA$()<P2,1024-P2>,=A1$(11)TO B$()
   : IF B$(1)=HEX(0000)THEN 80
   : P1=256*VAL(B$(1))+VAL(STR(B$(1),2,1))
   : L7=L7+1
   : IF L7<=L8THEN 430
   : L6=L6+1
   : CONVERT L6TO STR(H$,29,2),(##)
   : IF L6>9THEN 410
   : STR(H$,29,1)=" "
0410 $GIO#3(A200400A,B$)H$
   : L7=2
0430 $GIO#3(4020402040204020A200,B$)A$()<P2,P1>
   : P2=P2+P1
   : GOTO 320
0490 MAT SEARCHA$(),>=A1$(3)TO B$()
   : P1=256*VAL(B$(1))+VAL(STR(B$(1),2,1))
   : MAT COPY A$()<P1,1>TO B$()<1,1>
   : IF STR(B$(1),1,1)=HEX(FD)THEN 60
   : W=VAL(B$(1))-127
   : L=LEN(W$(W))+1-INT(VAL(B$(1))/192)
0590 MAT COPY -A$()<P1,1024-P1-L>TO -A$()<P1,1023-P1>
   : MAT COPY W$()<11*(W-1)+1,L>TO A$()<P1,L>
   : GOTO 490
0650 A$=HEX(042202272020)
   : FOR P1=9TO 10
   : P2=1
0680 MAT SEARCHA$()<P2,1024-P2>,=A1$(P1)TO B$()
   : IF B$(1)=HEX(0000)THEN 760
   : P2=P2+256*VAL(B$(1))+VAL(STR(B$(1),2,1))
   : MAT SEARCHA$()<P2,1024-P2>,=A1$(11)TO B$()
   : P3=256*VAL(B$(1))+VAL(STR(B$(1),2,1))
0730 $TRAN(A$()<P2,P3>,A$)R
   : P2=P2+P3
   : GOTO 680
0760 NEXT P1
   : P2=1
   : A$=HEX(3AEC2020)
0800 MAT SEARCHA$()<P2,1024-P2>,=A1$(7)TO B$()
   : P3=256*VAL(B$(1))+VAL(STR(B$(1),2,1))
   : MAT SEARCHA$()<P2,1024-P2>,=A1$(8)TO B$()
   : P4=256*VAL(B$(1))+VAL(STR(B$(1),2,1))
   : IF P3+P4=0THEN 60
   : IF P4=0THEN 880
   : IF P3=0THEN 930
0870 IF P4<P3THEN 930
0880 MAT SEARCHA$()<P2+P3,1024-P2-P3>,=A1$(7)TO B$()
0890 P6=256*VAL(B$(1))+VAL(STR(B$(1),2,1))
   : $TRAN(A$()<P2+P3,P6>,A$)R
   : P2=P2+P3+P6
   : GOTO 800
0930 MAT SEARCHA$()<P2+P4,1024-P2-P4>,=A1$(8)TO B$()
   : P3=P4
   : GOTO 890
0990 IF C$=HEX(20)THEN 1430
1000 INIT(20)A$()
   : PRINT HEX(010A);"CURRENT BLOCK =";X1-X2+1;TAB(32);"TOTAL BLOCKS =";Z1
   : DATA LOAD BA T#2,(X1,X1)A$()
   : C$=A$(1)
   : AND (C$,F0)
   : STR(A$(1),1,1)=HEX(20)
   : IF C$=HEX(40)THEN 1000
   : IF C$<>HEX(50)THEN 1150
1110 PRINT HEX(01),TAB(64),"FILE - ";N$;" - CAN NOT BE LISTED"
   : INPUT "KEY RETURN(EXEC) TO RESUME",A$
   : GOTO 1430
1150 L$(1)=HEX(FDFE2020)
   : $TRAN(A$(),L$())R
   : MAT SEARCHA$(),=A1$(2)TO B$()
   : IF B$(1)=HEX(0002)THEN 1430
   : P1=256*VAL(B$(1))+VAL(STR(B$(1),2,1))-2
   : A$=" "
   : $TRAN(A$()<P1+1>,A$<1>)00
   : $TRAN(A$()<P1,1>,L$())00
1240 MAT COPY -A$()<2,1021>TO -A$()<2,1022>
   : A$=HEX(EC3A2020)
   : $TRAN(A$(),A$)R
   : FOR P2=4TO 5
   : A$=HEX(02)
   : P3=1
1320 MAT SEARCHA$()<P3,1024-P3>,=A1$(P2)TO B$()
   : IF B$(1)=HEX(0000)THEN 1410
   : P3=P3+256*VAL(B$(1))+VAL(STR(B$(1),2,1))
   : MAT SEARCHA$()<P3,1024-P3>,<>A1$(6)TO B$()
   : P3=P3+256*VAL(B$(1))+VAL(STR(B$(1),2,1))-1
1370 MAT COPY A$()<P3,1>TO B$()<1,1>
   : IF STR(B$(1),1,1)<>HEX(27)THEN 1320
   : $TRAN(A$()<P3,1>,A$<1,1>)00
   : GOTO 1320
1410 NEXT P2
   : RETURN
1430 RETURN CLEAR
1440 RETURN
1480 MAT SEARCHA$(),=A1$(1)TO B$()
   : IF B$(1)=HEX(0000)THEN 60
   : P1=256*VAL(B$(1))+VAL(STR(B$(1),2,1))
   : MAT COPY A$()<P1+1,2>TO B$()<1,2>
   : UNPACK(####)B$(1)TO L
   : L$(1)=" "
   : IF L<1000THEN 1590
   : CONVERT LTO L$(1),(####)
   : GOTO 1660
1590 IF L<100THEN 1620
   : CONVERT LTO STR(L$(1),2,3),(###)
   : GOTO 1660
1620 IF L<10THEN 1650
   : CONVERT LTO STR(L$(1),3,2),(##)
   : GOTO 1660
1650 CONVERT LTO STR(L$(1),4,1),(#)
1660 MAT COPY -A$()<P1,1023-P1>TO -A$()<P1,1024-P1>
   : MAT COPY L$()TO A$()<P1,4>
   : GOTO 1480
1720 PRINT HEX(01);TAB(64),"MOUNT INPUT DISK",TAB(64),TAB(64);HEX(0D0C)
1730 KEYIN A$,1730,1730
   : INPUT "KEY RETURN(EXEC) TO RESUME",A$
   : PRINT HEX(0C0C),TAB(64),TAB(64)
   : H$=HEX(0D0C0E)
   : STR(H$,19,8)=Q1$
   : STR(H$,32,1)=HEX(0D)
   : P=1
   : N$=HEX(0000000000000000)
1830 GOSUB 2070
   : C$=HEX(00)
   : IF N$=HEX(0000000000000000)THEN 1990
   : PRINT HEX(01);"LISTING FILE NUMBER";P-1;TAB(32);"FILE NAME = ";N$;TAB(64)
   : PRINT TAB(64)
   : STR(H$,6,8)=N$
   : L6=0
   : L7=9E99
   : LIMITS T#2,N$,X1,Y1,Z1
   : X2=X1
   : GOSUB 80
   : GOTO 1830
1990 DEFFN'15
   : PRINT HEX(03);"MOUNT ISS PLATTER"
2010 KEYIN A$,2010,2010
   : INPUT "KEY RETURN(EXEC) TO RESUME",A$
   : COM CLEAR P5
   : LOAD DC T#0,"START040"
2070 IF M$="ALL"THEN 2130
   : IF P>=P5THEN 2110
   : N$=N$(P)
   : GOTO 2140
2110 INIT(00)N$
   : RETURN
2130 GOSUB 2180
2140 P=P+1
   : RETURN
2180 GOSUB '129(2,N$)
   : N6=0
   : IF R6<>0THEN 2230
   : R=0
   : GOTO 2370
2230 IF R6=16THEN 2350
   : R6=R6+1
2250 FOR N4=R6TO 16
   : IF (N4-1)+ABS(R-1)=0THEN 2340
   : IF STR(R9$(N4),1,1)=HEX(21)THEN 2340
   : ON VAL(STR(R9$(N4),1,1))-15GOTO 2300,2340
   : GOTO 2330
2300 IF STR(R9$(N4),2,1)=HEX(00)THEN 2340
   : N$=STR(R9$(N4),9,8)
   : N6=1
2330 N4=16
2340 NEXT N4
2350 IF N6=1THEN 2410
   : IF R>=R4THEN 2400
2370 DATA LOAD BA T#2,(R,R)R9$()
   : R6=1
   : GOTO 2250
2400 INIT(00)N$
2410 RETURN
2430 DEFFN'129(R9,R9$)
   : DATA LOAD BA T#R9,(0,R3)R9$()
   : AND (STR(R9$(1),2,1),7F)
   : R4=VAL(STR(R9$(1),2,1))
   : R1$=R9$
   : XOR (STR(R1$,2),R1$)
   : R2$=STR(R1$,8,1)
   : R3$=HEX(0000)
   : ADDC(R3$,R2$)
   : ADDC(R3$,R2$)
   : ADDC(R3$,R2$)
2620 ADD(STR(R3$,1,1),STR(R3$,2,1))
   : R3=VAL(R3$)
   : R3=R3-INT(R3/R4)*R4
   : R5=R3
2700 DATA LOAD BA T#R9,(R3,R)R9$()
   : R6=0
   : FOR R7=1TO 16
   : IF R3<>0THEN 2820
   : IF R7<>1THEN 2820
   : R7=2
2820 R2$=STR(R9$(R7),1,1)
   : IF R2$=HEX(00)THEN 2940
   : IF R2$=HEX(10)THEN 2900
   : IF R2$<>HEX(11)THEN 2960
2900 IF STR(R9$(R7),9,8)<>R9$THEN 2960
   : R6=R7
2940 R7=16
2960 NEXT R7
   : IF R2$=HEX(00)THEN 3100
   : IF R6<>0THEN 3100
   : R3=R3-1
   : IF R3=R5THEN 3100
   : IF R3>=0THEN 2700
   : R3=R4-1
   : GOTO 2700
3100 RETURN