image of READY prompt

Wang2200.org

Listing of file='KFAM3703' on disk='vmedia/701-2049C.wvd.zip'

# Sector 567, program filename = 'KFAM3703'
4000 REM KFAM3703,VER.11/16/76
4330 DIM X$64,E0$(4)64,R4$2,R$2,R9$2
4380 LOAD DA T#3,(R6$,R6$)4400,4459
4400 DIM A0$(4)64,I0$(4)64
4460 GOSUB 6850
   : PRINT "REORGANIZE -- PART 1"
4530 R$=R3$
   : R1=1
   : C1=0
   : INIT(FF)R4$
   : GOSUB '235(1)
   : IF Q$=" "THEN 4690
   : IF Q$="N"THEN 4600
   : GOSUB '70("FINDFIRST ERROR")
4600 GOSUB '70("NULL FILE")
4640 GOSUB '237(1)
   : IF Q$=" "THEN 4690
   : IF Q$="E"THEN 5160
   : GOSUB '70("FINDNEXT ERROR")
4690 R9$=T4$
   : C1=C1+1
   : IF R2$<"M"THEN 4820
   : ADDC(R9$,R1$)
   : FOR X=1TO S9
   : IF R$>=M3$THEN 6650
   : DATA LOAD BA T#1,(R9$,R9$)A0$()
   : DATA SAVE BA T$#3,(R$,R$)A0$()
   : NEXT X
   : GOTO 4640
4820 IF R9$=R4$THEN 4870
   : ADDC(R9$,R1$)
4860 DATA LOAD BA T#1,(R9$,R9$)A0$()
4870 IF R2$="A"THEN 4980
   : X=M6+(Q-1)*R
   : Y=M6+(R1-1)*R
   : MAT COPY A0$()<X,R>TO I0$()<Y,R>
   : GOTO 5000
4980 X=0
5000 R4$=T4$
   : R1=R1+1
   : IF R1<=R0THEN 4640
   : GOSUB 5070
   : GOTO 4640
5070 IF R$>=M3$THEN 6650
5100 DATA SAVE BA T$#3,(R$,R$)I0$()
5120 R1=1
   : RETURN
5160 IF R1=1THEN 5190
   : GOSUB 5070
5190 GOSUB 6850
   : PRINT "REORGANIZE -- PART 2"
   : IF O6$="C"THEN 5220
   : Q3$=U3$
5220 INIT(00)Q2$,V5$,R$
   : V2$,T2$=HEX(0001)
   : V3$=U4$
   : V0$=R0$
   : T1=4
   : T2=3
   : T0=1
   : V8=.5
   : T8$="X"
   : INIT(FF)T0$()
   : INIT(00)STR(T0$(1),1,R5),T7$
   : T9$,T2$(1)=T2$
   : GOSUB 5410
   : T(1)=1
   : C2=0
   : GOTO 5510
5410 V9$=T9$
   : ADDC(V9$,V0$)
   : DATA SAVE DA T$#T1,(V9$,V9$)T9$,T0$()
   : RETURN
5470 ADD(V5$,01)
   : IF V5$<=V8$THEN 5570
   : ADDC(Q2$,V6$)
5510 R9$=R3$
   : ADDC(R9$,Q2$)
   : ADDC(R9$,R7$)
   : DATA LOAD BA T#3,(R9$,R9$)E0$()
   : V5$=HEX(01)
5570 X=R3+(VAL(V5$)-1)*I
   : MAT COPY E0$()<X,R5>TO T3$()
   : T1$=T3$(1)
   : IF T1$>T7$THEN 5630
   : GOSUB '70("SEQUENCE ERROR, HEX KEY =")
5630 T6$,T7$=T1$
   : IF T6$=HEX(FF)THEN 6620
   : T3$=Q2$
   : STR(T3$,3)=V5$
   : T4$=T3$
   : T3=1
   : IF T9$=T2$(1)THEN 5760
   : V9$=T2$(1)
   : GOSUB 545
5760 T=T(T3)+T5
   : IF T<193THEN 6090
   : INIT(FF)T0$()
   : STR(T0$(1),1,T4)=T1$
   : STR(T0$(1),T4+1,3)=T3$
   : ADDC(V2$,01)
   : IF V2$>V3$THEN 6630
   : T9$,T2$(T3),T3$=V2$
   : T(T3)=1
   : GOSUB 5410
   : T3=T3+1
   : IF T3>T0THEN 5960
   : V9$=T2$(T3)
   : GOSUB 545
   : GOTO 5760
5960 T0=T0+1
   : IF T0>8THEN 6640
   : INIT(FF)T0$()
   : INIT(00)STR(T0$(1),1,T5)
   : STR(T0$(1),T4+1,2)=STR(T2$,1,2)
   : ADDC(V2$,01)
   : IF V2$>V3$THEN 6630
   : T9$,T2$,T2$(T3)=V2$
   : T(T3)=1
   : GOTO 5760
6090 T3$(1)=T1$
   : STR(T3$(1),T4+1,3)=T3$
   : T(T3)=T
   : MAT COPY T3$()<1,T5>TO T0$()<T,T5>
   : GOSUB 5410
6220 C2=C2+1
   : IF C2<C1THEN 5470
   : GOSUB 1015
   : V9=0
   : T0$(1)=HEX(A0FD)
   : STR(T0$(1),3)=Q2$
   : STR(T0$(1),5)=V5$
   : STR(T0$(1),6)=V8$
   : STR(T0$(1),7)=V1$
   : STR(T0$(1),15)=V6$
   : DATA SAVE BA T$#3,(M3$,V9$)T0$()
   : IF O6$<>"C"THEN 6510
   : GOSUB 6850
6360 PRINT "REORGANIZE -- PART 3"
   : R$=R1$
   : V9$,R9$=R3$
   : ADDC(V9$,Q2$)
   : ADDC(V9$,V6$)
6410 DATA LOAD BA T#3,(R9$,R9$)E0$()
   : DATA SAVE BA T$#1,(R$,R$)E0$()
   : IF R9$<V9$THEN 6410
   : DATA LOAD BA T#3,(M3$,R9$)E0$()
   : DATA LOAD DC OPEN T#1,N1$
   : DSKIP #1,U1-2S
   : DATA SAVE DC $#1,END
   : DATA SAVE BA T$#1,(M1$,R9$)E0$()
6510 COM CLEAR N1$
   : IF N5$=" "THEN 6610
   : IF O5$="X"THEN 6590
   : GOSUB 6850
   : PRINTUSING 6560,N5$,P5$
6560 %MOUNT DISK CONTAINING PROGRAM ######## ON DEVICE ########
6570 PRINT "KEY RETURN(EXEC) TO RESUME"
   : INPUT T6$
6590 PRINT HEX(03)
   : LOAD DC T#5,N5$
6610 GOSUB '70("END OF PROGRAM")
6620 GOSUB '71("INVALID KEY, HEX VALUE =")
6630 GOSUB '70("OUTPUT KEY FILE SPACE EXCEEDED")
6640 GOSUB '70("8 LEVELS OF INDEX EXCEEDED")
6650 GOSUB '70("OUTPUT USER FILE SPACE EXCEEDED")
6710 DEFFN'70(X$)
   : GOSUB 6850
   : PRINT X$
   : STOP
6760 DEFFN'71(X$)
   : GOSUB 6850
   : PRINT X$
   : HEXPRINT STR(T1$,1,T4)
   : PRINT "KEY RETURN(EXEC) TO SKIP RECORD"
   : INPUT T6$
   : GOSUB 6850
   : GOTO 6220
6850 PRINT HEX(01)
   : FOR X=1TO 4
   : PRINT TAB(64)
   : NEXT X
   : PRINT HEX(01)
   : RETURN