image of READY prompt

Wang2200.org

Listing of file='SORT302A' on disk='vmedia/701-2047D.wvd.zip'

# Sector 297, program filename = 'SORT302A'
0010 REM SORT302A,00-00(02/18/76),12003A - COPYRIGHT WANG LABS. INC., 1976
0180 COM A,B,R4,C,E,P5,Y,X,L,I,H
0400 DIM P7$(36)2,P8$(36)3
   : DIM S7$(36)2,S8$(36)3,S4$(255)2
   : DIM N1$2,N0$2,P1$3
   : DIM S3$2,P$3,X1$2
0500 PRINT HEX(030A0A0A0A)
   : PRINT "PASS 2 - MERGE"
   : LOAD DA T#2,(S2$,S2$)500,599
0570 DIM S6$(02)2,S5$(03)1
   : DIM R0$(005)3,R$(02,005)3,R1$(005)3
   : DIM S0$(005)20,S$(02,005)20,S1$(005)20
   : DIM S3$(02)2,P3$(02)3,S9$(04)2
0600 GOTO 5000
1000 MAT MERGES$()TO S5$(),S6$(),S4$()
   : IF S4$(1)=HEX(0000)THEN 5400
   : H=0
   : IF S5$(P6+1)=HEX(00)THEN 1050
   : GOSUB '40(VAL(S5$(P6+1)))
1050 G=1
1055 R=P2
   : MAT MOVE S$(),S4$(G),RTO S1$(O)
   : MAT MOVE R$(),S4$(G),RTO R1$(O)
   : O=O+R
   : IF O<=P2THEN 1200
   : M2$=S9$(1)
   : S3$=S9$(2)
   : MAT COPY S9$()<3,P3>TO S9$()
   : I=I-1
   : DATA SAVE DA T$#2,(M2$,M2$)S3$,S1$(),R1$()
   : O=1
1200 G=G+R
   : IF G>255THEN 1250
   : IF S4$(G)=HEX(0000)THEN 1250
   : GOTO 1055
1250 GOSUB 1300
   : GOTO 1000
1300 IF H=0THEN 1330
   : MAT COPY S0$()TO S$()<(X-1)*S3+1,S3>
   : MAT COPY R0$()TO R$()<(X-1)*R3+1,R3>
1330 RETURN
2000 DEFFN'40(X)
   : P$=P3$(X)
   : S3$=S3$(X)
   : IF P$=HEX(000000)THEN 2140
   : S9$(I)=S3$
   : I=I+1
   : DATA LOAD DA T#2,(S3$,X1$)S3$,S0$(),R0$()
   : H=1
   : S5$(X)=HEX(01)
   : S3$(X)=S3$
   : ADDC(P$,P3$)
   : IF P$<P3$(X)THEN 2130
   : INIT(00)P$
2130 P3$(X)=P$
2140 RETURN
5000 IF S9=1THEN 5600
   : R4=9E9
   : C=P6
   : X=INT((S9-1)/(P6-1))
   : X=S9-1-(P6-1)*X
   : IF X=0THEN 5080
   : C=X+1
5080 I=1
   : INIT(FF)S5$()
   : INIT(00)P1$
   : FOR Y=1TO C
5130 R4=R4+1
   : IF R4>S9THEN 6000
5150 B=B+1
   : IF B>ATHEN 5700
   : S3$(Y)=S7$(B)
   : P3$(Y)=S8$(B)
   : ADDC(P1$,S8$(B))
   : IF S8$(B)=HEX(000000)THEN 5230
   : H=0
   : GOSUB '40(Y)
   : GOSUB 1300
5230 NEXT Y
   : S8$=P1$
   : S7$=S9$(1)
   : O=1
   : GOTO 1000
5400 E=E+1
   : S4=S4+1
   : IF S4<=36THEN 5460
   : GOSUB 5900
   : S4=1
5460 IF S9+E-R4=1THEN 5600
   : P8$(S4)=S8$
   : P7$(S4)=S7$
   : C=P6
   : GOTO 5080
5600 IF H$=" "THEN 5640
   : LOAD DC T#6,H$
5640 LOAD DC T#0,"SORT303A"
5700 GOSUB 5800
   : P5=P5-36
   : A=36
   : IF P5>=0THEN 5150
   : A=P5+36
   : GOTO 5150
5800 DATA LOAD DA T#2,(N0$,N0$)S7$(),S8$()
   : B=0
   : RETURN
5900 DATA SAVE DA T$#2,(N1$,N1$)P7$(),P8$()
   : S4=0
   : RETURN
6000 IF R4>9E9THEN 6300
   : IF E>36THEN 6070
   : MAT COPY P7$()TO S7$()
   : MAT COPY P8$()TO S8$()
   : GOTO 6110
6070 GOSUB 5900
   : N0$,N1$=M0$
   : GOSUB 5800
6110 S9=E
6120 E=0
   : P5=S9-36
   : S4=0
   : B=0
   : R4=0
   : A=36
   : IF P5>=0THEN 5130
   : A=P5+36
   : GOTO 5130
6300 N0$,N1$=M0$
   : GOSUB 5800
   : S8$(1)=S8$
   : S7$(1)=S7$
   : GOTO 6120