image of READY prompt

Wang2200.org

Listing of file='32WPCAT' on disk='vmedia/bsc_3271_rel_1.14.04.wvd.zip'

# Sector 536, program filename = '32WPCAT'
0005 REM 32WPCAT 4/06/82
   : REM .REC.CRE+INIT+(prim)+CAT.DEL+FCRE+FO/C+INIT+INS+LIST+OPEN+PRIM+RD+VCR
     E+VLIS+VMAN
4502 DIM V2$(256)1,V2$67,V3$16,U3$(10)2,U2$85,U2(6),V8$4,V7$2,U7$68,V6$1,U1$2,
     V0$8,V7(10),U3(9),A,B,C,D,M,T,U3,U5,U9,U8$,U9$,V1,V5$
4508 DIM R1$1,V5$(160)1,V7$(256)1,U0(23),V9$2,V1$2,U0$3,U3$1,U7$(256)1,U0$(128
     )2,U4$4,V4$1,V6(9),V9(9),U5(10),V5(9),H,I,U,U0,U4,U6,U8,V0,V2,V3,V5,V6,V8
     ,V9
   : REM .R1$1,U1$(),U2$(),V1$(3)82 defined in maincode
4514 DEFFN'210(U7$,U8$,U9$)
   : M=0
   : R1$=BIN(0)
   : V3$=U8$
   : GOSUB 4788
   : V2$=U7$
   : V7(8)=3
   : GOSUB 4598
   : IF V7(4)>0THEN 4516
   : R1$=BIN(2)
   : GOTO 4518
4516 U3(1)=0
   : GOSUB 4710
   : U5(3)=VAL(STR(V2$(),V7(8)+13,2),2)
   : STR(V2$(),V7(8)+31,2)=BIN(VAL(STR(V2$(),V7(8)+31,2),2)+1,2)
   : GOSUB 4714
4517 STR(V2$(),V7(8)+1,22)=ALL(00)
   : STR(V2$(),V7(8)+58,67)=V2$
   : STR(V2$(),3,1)=BIN(1)
   : STR(V2$(),V7(8)+5,6)=U9$
   : STR(V2$(),V7(8)+15,2)=BIN(V7(4),2)
   : STR(V2$(),V7(8)+33,2)=BIN(V7(10),2)
   : U3(1)=V7(4)
   : STR(V2$(),V7(8)+13,2)=BIN(U5(3),2)
   : GOSUB 4714
4518 STR(U4$,V3+1,1)="0"
   : GOTO 4836
4524 DEFFN'211(U7$,U8$,U9$,V6$)
   : M=0
   : IF V6$=HEX(01)OR V6$=HEX(FF)THEN 4526
   : R1$=BIN(6)
   : RETURN
4526 R1$=BIN(0)
   : V3$=U8$
   : GOSUB 4788
   : GOSUB 4610
   : IF V7(4)>0THEN 4530
4528 R1$=BIN(3)
   : GOTO 4542
4530 U3(1)=V7(4)
   : GOSUB 4710
   : V7(8)=3
   : IF VAL(STR(V2$(),3,1))<>1THEN 4528
   : IF STR(V2$(),V7(8)+5,6)=U9$OR STR(V2$(),V7(8)+5,6)=" "THEN 4532
   : R1$=BIN(5)
   : GOTO 4542
4532 IF STR(V2$(),V7(8)+4,1)<>HEX(FF)THEN 4536
4534 R1$=BIN(6)
   : GOTO 4542
4536 IF STR(V2$(),V7(8)+4,1)<>HEX(00)THEN 4538
   : STR(V2$(),V7(8)+4,1)=V6$
   : GOTO 4540
4538 IF V6$=HEX(01)THEN STR(V2$(),V7(8)+4,1)=BIN(VAL(STR(V2$(),V7(8)+4,1))+1)
   : ELSE GOTO 4534
4540 STR(V2$(),V7(8)+23,2)=BIN(U9,2)
   : GOSUB 4714
   : STR(V5$(),V3*32+1,32)=STR(V2$(),4,32)
   : V2=VAL(STR(V5$(),V3*32+29,1))
   : U1$()=STR(V2$(),129,128)
   : GOTO 4544
4542 STR(U4$,V3+1,1)="0"
4544 $CLOSE#U0
   : $CLOSE#0
   : RETURN
4546 DEFFN'212(V3)
   : M=0
   : GOSUB 4726
   : U3(1)=VAL(STR(V5$(),V7(8)+15,2),2)
   : GOSUB 4710
   : IF STR(V5$(),V7(8)+4,1)=HEX(FF)THEN STR(V5$(),V7(8)+4,1)=BIN(0)
   : ELSE STR(V5$(),V7(8)+4,1)=BIN(VAL(STR(V5$(),V7(8)+4,1))-1)
   : STR(V2$(),4,32)=STR(V5$(),V7(8)+1,32)
   : GOSUB 4714
   : IF U4=V3THEN U4=-1
   : STR(U4$,V3+1,1)="0"
   : $CLOSE#U0
   : $CLOSE#0
   : RETURN
4598 M=M+1
   : V7(5)=0
   : GOSUB 4724
   : V7(4)=0
   : IF V7(3)=0THEN 4838
   : V7(4)=U3(4)
   : STR(U7$,LEN(U7$)+1,1)="."
4600 GOSUB 4722
   : U3(1)=V7(4)
   : GOSUB 4616
   : IF U3(2)=0THEN 4602
   : V7(10)=U3(1)
   : V7(4)=VAL(STR(V2$(),U3(2)+16,2),2)
   : V7(3)=V7(3)-1
   : IF V7(3)>0THEN 4600
   : V7(4)=0
   : GOTO 4838
4602 GOSUB 4742
   : IF V7(5)=0THEN 4604
   : V2$()=ALL(00)
   : STR(V2$(),1,2)=BIN(0,2)
   : STR(V2$(),3,1)=BIN(0)
   : V7(9)=0
   : STR(V2$(),4,2)=BIN(0,2)
4604 U3(1)=V7(4)
   : U3(8)=U3(2)
   : IF V7(5)=0THEN GOSUB 4630
   : ELSE GOSUB 4636
   : V7(10)=V7(4)
   : V7(4)=U3(8)
   : V7(5)=1
   : V7(3)=V7(3)-1
   : IF V7(3)=0THEN 4838
   : GOSUB 4722
   : GOTO 4602
4610 M=M+1
   : GOSUB 4724
   : V7(4)=0
   : IF V7(3)=0THEN 4838
   : V7(4)=U3(4)
   : U3(9)=0
   : STR(U7$,LEN(U7$)+1,1)="."
4612 GOSUB 4722
   : U3(1)=V7(4)
   : U3(9)=U3(9)+1
   : U2(U3(9))=U3(1)
   : GOSUB 4616
   : IF U3(2)<>0THEN 4614
   : V7(4)=0
   : GOTO 4838
4614 V7(4)=VAL(STR(V2$(),U3(2)+16,2),2)
   : V7(3)=V7(3)-1
   : IF V7(3)=0THEN GOTO 4838
   : GOTO 4612
4616 M=M+1
   : U3(6)=0
4618 GOSUB 4710
   : IF V7(9)<>0THEN 4620
   : U3(2)=0
   : GOTO 4622
4620 MAT SEARCHSTR(V2$(),6,V7(9)*18),=STR(V3$)TO U3$()STEP 18
   : U3(2)=VAL(U3$(),2)
   : IF U3(2)=0THEN 4622
   : U3(2)=U3(2)+5
   : GOTO 4838
4622 U3(6)=U3(1)
   : U3(1)=VAL(STR(V2$(),4,2),2)
   : IF U3(1)<>0THEN 4618
   : GOTO 4838
4628 U3(1)=U3(2)
   : GOTO 4632
4630 M=M+1
4632 GOSUB 4710
   : IF V7(9)<>13THEN GOTO 4634
   : U3(2)=VAL(STR(V2$(),4,2),2)
   : IF U3(2)<>0THEN 4628
   : ELSE GOSUB 4684
   : STR(V2$(),3,1)=BIN(0)
4634 STR(V2$(),6+V7(9)*18,16)=V3$
   : STR(V2$(),22+V7(9)*18,2)=BIN(U3(8),2)
   : STR(V2$(),1,2)=BIN(V7(9)+1,2)
   : GOSUB 4714
   : GOTO 4838
4636 M=M+1
   : STR(V2$(),240,2)=BIN(V7(10),2)
   : GOTO 4634
4642 M=M+1
   : V1=0
   : IF U7$<>" "THEN 4644
   : U3(1)=U3(4)
   : GOTO 4646
4644 GOSUB 4610
   : IF V7(4)=0THEN 4838
   : U3(1)=V7(4)
4646 U3(2)=0
   : V1=0
   : IF U3=0OR V7(6)=0THEN 4838
4648 IF U3(1)<>0THEN 4650
   : V1=0
   : GOTO 4838
4650 GOSUB 4710
   : V7(6)=V7(6)-V7(9)
   : U3(1)=VAL(STR(V2$(),4,2),2)
   : IF VAL(STR(V2$(),3,1))=0THEN 4652
   : STR(U1$(),1,128)=STR(V2$(),129,128)
   : GOTO 4838
4652 IF V7(6)>0THEN 4648
   : V7(6)=V7(6)+V7(9)-1
4654 IF V7(6)>=V7(9)THEN 4656
   : STR(U1$(),1+U3(2)*16,16)=STR(V2$(),6+V7(6)*18,16)
   : HEXUNPACKSTR(V2$(),V7(6)*18+22,2)TO STR(U2$(),1+U3(2)*4,4)
   : U3(2)=U3(2)+1
   : V7(6)=V7(6)+1
   : V1=V1+1
4656 IF V1=U3THEN 4838
   : IF V7(6)<V7(9)THEN 4654
   : IF U3(1)=0THEN 4838
   : GOSUB 4710
   : U3(1)=VAL(STR(V2$(),4,2),2)
   : V7(6)=0
   : GOTO 4654
4662 M=M+1
   : U2$=U7$
   : GOSUB 4610
   : IF V7(4)=0THEN 4838
   : U3(1)=V7(4)
   : GOSUB 4710
   : IF VAL(STR(V2$(),3,1))=1THEN 4664
   : R1$=BIN(10)
   : GOTO 4834
4664 U3(6)=0
   : GOSUB 4690
4666 IF U3(9)<>1THEN 4668
   : V3$=U2$
   : GOTO 4670
4668 MAT SEARCHU2$,="."TO U3$()
   : V3$=STR(U2$,VAL(U3$(U3(9)-1),2)+1)
   : U2$=STR(U2$,1,VAL(U3$(U3(9)-1),2)-1)
4670 U3(1)=U2(U3(9))
   : GOSUB 4672
   : U3(9)=U3(9)-1
   : IF U3(9)=0THEN 4838
   : IF U3(2)=-1THEN 4838
   : IF U3(2)=-2THEN 4666
   : MAT SEARCHU2$,="."TO U3$()
   : V3$=STR(U2$,VAL(U3$(U3(9)-1),2)+1)
   : U3(1)=U2(U3(9))
   : U3(9)=U3(2)
   : GOSUB 4616
   : STR(V2$(),U3(2)+16,2)=BIN(U3(9),2)
   : GOSUB 4714
   : GOTO 4838
4672 M=M+1
   : GOSUB 4616
   : IF U3(2)=0THEN 4838
   : U3(5)=(U3(2)-6)/18+1
   : IF U3(5)<>V7(9)THEN 4674
   : STR(V2$(),U3(2),18)=ALL(" ")
   : GOTO 4676
4674 STR(V2$(),U3(2),(V7(9)-U3(5))*18)=STR(V2$(),U3(2)+18,(V7(9)-U3(5))*18)
   : STR(V2$(),6+(V7(9)-1)*18,18)=ALL(" ")
4676 STR(V2$(),1,2)=BIN(V7(9)-1,2)
   : GOSUB 4714
   : U3(2)=-1
   : IF V7(9)<>1THEN 4838
   : IF U3(6)<>0THEN 4678
   : U3(2)=VAL(STR(V2$(),4,2),2)
   : IF U3(2)=0THEN U3(2)=-2
4678 GOSUB 4690
   : GOTO 4838
4684 M=M+1
   : GOSUB 4742
   : GOSUB 4710
   : STR(V2$(),4,2)=BIN(U3(2),2)
   : GOSUB 4714
   : STR(V2$(),1,239)=ALL(00)
   : IF STR(V2$(),242,2)=HEX(0000)THEN STR(V2$(),242,2)=BIN(U3(1),2)
   : U3(1)=U3(2)
   : V7(9)=0
   : STR(V2$(),4,2)=BIN(0,2)
   : GOTO 4838
4690 M=M+1
   : IF U3(1)=U3(4)THEN 4838
   : V1=VAL(STR(V2$(),4,2),2)
   : GOSUB 4706
   : U3(5)=VAL(STR(V2$(),3),2)+1
   : IF U3(5)=124THEN 4838
   : STR(V2$(),3,2)=BIN(U3(5),2)
   : STR(V2$(),3+U3(5)*2,2)=BIN(U3(1),2)
   : GOSUB 4718
   : V2$()=ALL(00)
   : DATA SAVE BA T#U0,(U9+U3(1))V2$()
   : ERRORGOTO 4830
4692 IF U3(6)=0THEN 4838
   : U3(1)=U3(6)
   : GOSUB 4710
   : STR(V2$(),4,2)=BIN(V1,2)
   : GOSUB 4714
   : GOTO 4838
4698 $OPEN #U0
   : ERRORGOTO 4830
4700 DATA LOAD DC OPEN T#U0,V0$
   : ERRORIF V0$<>"32WPSYST"THEN STR(U4$,POS(U4$="0")-1,1)="0"
   : GOTO 4830
4702 LIMITS T#U0,U3(1),U3(2),U3(3)
   : ERRORGOTO 4830
4704 U9=U3(1)
   : U3(3)=1
   : GOSUB 4706
   : U3(4)=VAL(STR(V2$(),1,2),2)
   : U3(1)=U3(4)
   : RETURN
4706 DATA LOAD BA T#U0,(U3(3)+U9)V2$()
   : ERRORGOTO 4830
4708 RETURN
4710 DATA LOAD BA T#U0,(U3(1)+U9)V2$()
   : ERRORGOTO 4830
4712 V7(9)=VAL(STR(V2$(),1,2),2)
   : RETURN
4714 IF U3(1)>0THEN STR(V2$(),255,2)=BIN(4,2)
   : DATA SAVE BA T#U0,(U3(1)+U9)V2$()
   : ERRORGOTO 4830
4716 RETURN
4718 STR(V2$(),255,2)=BIN(3,2)
   : DATA SAVE BA T#U0,(U3(3)+U9)V2$()
   : ERRORGOTO 4830
4720 RETURN
4722 V3$=STR(U7$,1,(POS(U7$=".")-1))
   : U7$=STR(U7$,POS(U7$=".")+1)
   : RETURN
4724 MAT SEARCHU7$,="."TO U3$()
   : MAT SEARCHU3$(),=HEX(0000)TO U3$()STEP 2
   : V7(3)=(1+VAL(U3$(),2))/2
   : RETURN
4726 IF V3>=0AND V3<4THEN 4728
   : R1$=BIN(8)
   : GOTO 4832
4728 V7(8)=V3*32
   : R1$=BIN(0)
   : IF VAL(STR(V5$(),V7(8)+4,1))>0THEN 4730
   : R1$=BIN(7)
   : GOTO 4832
4730 U0=15-V3
   : U9=VAL(STR(V5$(),V7(8)+23,2),2)
   : RETURN
4736 M=M+1
   : STR(V2$(),1,2)=BIN(U3(3)+1,2)
   : U3(4)=U3(3)+1
   : U3(1)=U3(4)
   : STR(V2$(),3,2)=BIN(7,2)
   : FOR I=1TO 7
   : STR(V2$(),3+I*2,2)=BIN(U3(3)+I+1,2)
   : NEXT I
   : GOSUB 4718
   : GOSUB 4710
   : STR(V2$(),1,2)=BIN(0,2)
   : STR(V2$(),4,2)=BIN(0,2)
   : GOSUB 4714
   : GOTO 4838
4742 M=M+1
   : U1$=BIN(U3(1),2)
   : GOSUB 4706
   : U3(2)=VAL(STR(V2$(),3),2)
   : IF U3(2)>0THEN 4748
   : U3(1)=0
   : GOSUB 4710
   : STR(V2$(),26,2)=BIN(U9,2)
   : STR(V5$(),4*32+1,32)=STR(V2$(),4,32)
   : V7(1)=VAL(STR(V2$(),32,1))
   : STR(V5$(),132,1)=BIN(255)
   : V7(2)=V3
   : GOSUB '225(4,1,FIX(10/V7(1)+1),2)
   : IF R1$>HEX(00)THEN 4834
4744 H=5
   : V3=V7(2)
   : V2$()=ALL(00)
   : FOR U5=1TO V8
   : FOR U=0TO V7(1)-1
   : STR(V2$(),H,2)=BIN((VAL(U0$(U5),2)-1)*V7(1)+U,2)
   : IF STR(V2$(),H,2)<=STR(V5$(),4*32+25,2)THEN 4746
   : PRINT AT(22,0);"Please contact your Wang representative. A serious error
     has occured.";HEX(07)
   : STOP #
   : END
4746 H=H+2
   : NEXT U
   : NEXT U5
   : U3(2)=V7(1)*V8
   : STR(V2$(),1,2)=BIN(2,2)
4748 STR(V2$(),3,2)=BIN(U3(2)-1,2)
   : GOSUB 4718
   : U3(2)=VAL(STR(V2$(),3+U3(2)*2,2),2)
   : U3(1)=VAL(U1$,2)
   : DATA LOAD BA T#U0,(U9+U3(2))V2$()
   : ERRORGOTO 4830
4750 IF POS(V2$()>HEX(00))=0THEN 4838
   : ELSE PRINT AT(22,0);"Serious error has occurred.";HEX(07)
   : STOP "Please contact your WANG Representative immediately."#
   : END
4756 R1$=BIN(0)
   : U0=0
   : V0$="32WPSYST"
   : GOTO 4698
4762 DEFFN'231(V3$,V8$,U8,V2,U6)
   : M=0
   : V5$=STR(V3$,,8)
   : GOSUB 4756
   : GOSUB 4616
   : IF U3(2)=0THEN 4764
   : R1$=HEX(02)
   : GOTO 4836
4764 U0=11
   : SELECT #U0<V8$>
   : $OPEN #U0
   : ERRORGOTO 4830
4766 LIMITS T#U0,V5$,U3(1),U3(2),U3(3),U3
   : ERRORR1$=BIN(ERR)
   : GOTO 4834
4767 IF U3<>0THEN 4770
   : DATA SAVE DC OPEN T#U0,(U8+2)V5$
   : ERRORR1$=BIN(ERR)
   : GOTO 4834
4768 GOTO 4778
4770 IF U3<1THEN 4772
   : R1$=HEX(02)
   : GOTO 4836
4772 IF U3(2)-U3(1)+1>=U8+2THEN 4774
   : R1$=HEX(09)
   : GOTO 4836
4774 DATA SAVE DC OPEN T#U0,(V5$)V5$
   : ERRORGOTO 4830
4778 DSKIP #U0,U8S
   : DATA SAVE DC #U0,END
   : LIMITS T#U0,V5$,U3(1),U3(2),U3(3),U3
   : ERRORGOTO 4830
4780 GOSUB '243(U8,U3(1),V2,V3$,U6)
   : IF VAL(R1$)<>0THEN 4834
   : $CLOSE#U0
   : U0=0
4782 HEXPACKV7$FROMV8$
   : U3(8)=VAL(V7$,2)
   : U3(1)=2
   : U3(3)=1
   : GOSUB 4630
   : GOTO 4836
4788 M=M+1
   : GOSUB 4756
   : GOSUB 4616
   : IF U3(2)<>0THEN 4790
   : R1$=BIN(03)
   : GOTO 4834
4790 HEXUNPACKSTR(V2$(),U3(2)+16,2)TO V8$
   : V8$=STR(V8$,1,3)
   : IF STR(U4$,1,1)="1"THEN 4792
   : U0=15
   : V3=0
   : STR(U4$,1,1)="1"
   : GOTO 4800
4792 IF STR(U4$,2,1)="1"THEN 4794
   : U0=14
   : V3=1
   : STR(U4$,2,1)="1"
   : GOTO 4800
4794 IF STR(U4$,3,1)="1"THEN 4796
   : U0=13
   : V3=2
   : STR(U4$,3,1)="1"
   : GOTO 4800
4796 IF STR(U4$,4,1)="0"THEN 4798
   : R1$=BIN(04)
   : GOTO 4834
4798 U0=12
   : V3=3
   : STR(U4$,4,1)="1"
4800 V0$=V3$
   : SELECT #U0<V8$>
   : GOSUB 4698
   : $CLOSE#0
   : GOTO 4838
4806 DEFFN'236(U3,V7(6))
   : M=0
   : GOSUB 4756
   : U7$=" "
   : GOSUB 4642
   : GOTO 4836
4812 DEFFN'234(V3$)
   : M=0
   : GOSUB 4756
   : U3(1)=2
   : GOSUB 4672
   : IF U3(2)=0THEN R1$=BIN(03)
   : GOTO 4836
4814 DEFFN'238(V3$,V8$)
   : M=0
   : GOSUB 4756
   : GOSUB 4616
   : IF U3(2)<>0THEN 4816
   : R1$=BIN(3)
   : GOTO 4836
4816 HEXPACKV7$FROMV8$
   : STR(V2$(),U3(2)+16,2)=STR(V7$,1,2)
   : GOSUB 4714
   : GOTO 4836
4822 M=0
4824 GOSUB 4756
   : GOSUB 4706
   : GOSUB 4736
   : GOTO 4836
4830 R1$=BIN(ERR)
4832 RETURN CLEAR
4834 IF M=0THEN 4836
   : M=M-1
   : GOTO 4832
4836 $CLOSE#U0
   : $CLOSE#0
   : RETURN
4838 M=M-1
   : RETURN
4844 DEFFN'239(V3$,V8$)
   : M=0
   : GOSUB 4756
   : GOSUB 4616
   : IF U3(2)=0THEN 4782
   : R1$=HEX(02)
   : GOTO 4836
4846 DEFFN'237(V3$)
   : M=0
   : GOSUB 4756
   : GOSUB 4616
   : IF U3(2)<>0THEN 4848
   : R1$=BIN(03)
   : GOTO 4834
4848 HEXUNPACKSTR(V2$(),U3(2)+16,2)TO V8$
   : V8$=STR(V8$,1,3)
   : SELECT #11<V8$>
   : SCRATCH T#11,STR(V3$,,8)
   : ERRORR1$=BIN(ERR)
   : GOTO 4836
4850 U3(1)=2
   : GOSUB 4672
   : IF U3(2)=0THEN R1$=BIN(03)
   : GOTO 4836
4856 DEFFN'232
   : M=0
   : $OPEN #0
   : DATA SAVE DC OPEN T#0,(10)"32WPSYST"
   : ERRORR1$=BIN(ERR)
   : IF VAL(R1$)<>83AND VAL(R1$)<>86THEN 4834
   : DATA SAVE DC OPEN T#0,("32WPSYST")"32WPSYST"
   : ERRORR1$=BIN(ERR)
   : IF VAL(R1$)<>84THEN 4834
   : DATA LOAD DC OPEN T#0,"32WPSYST"
4858 DSKIP #0,8S
   : DATA SAVE DC #0,END
   : V2$()=ALL(00)
   : LIMITS T#0,"32WPSYST",A,B,C,D
   : FOR I=ATO B-2
   : DATA SAVE BA T#0,(I)V2$()
   : NEXT I
   : GOTO 4824
4864 DEFFN'246(U0(23))
   : V5=127
   : U0(5)=32
   : U4$="0000"
   : U4,U5(4),U5(6),U0(2),U0(18)=-1
   : RETURN
4870 DEFFN'243(U8,V5(2),V2,V3$,U6)
   : R1$=HEX(00)
   : U8=V2*FIX(U8/V2)
   : IF V2>0AND V2<256AND V2=INT(V2)AND V5(2)>0AND V5(2)<99999AND V5(2)=INT(V5
     (2))AND U8>99AND U8<65536AND U8=INT(U8)AND U6<3AND U6>0AND U6=INT(U6)THEN
      4872
   : R1$=HEX(26)
   : RETURN
4872 V5(2)=V5(2)-1
   : V9(4)=U8/V2
   : U0(3),V8=1+FIX(V9(4)/V5/V2)
   : U5(3)=2+FIX((64+(U8/V2/V5))/V2)
   : V9(8)=FIX(V9(4)/V5)
   : U0(20)=MAX(1,FIX(8/V2))
   : V5(6)=FIX(.5*(V9(4)-(1+MOD(U6,2))*V8-U0(20)))+1
   : IF V5(6)+U5(3)>V9(4)THEN U5(3)=V9(4)-V5(6)-1
   : U5(1)=V2*(V5(6)-1)+1
4874 IF V5-(U5(1)-(INT(U5(1)/V5)*V5)-1)<V8THEN U5(1)=(INT(U5(1)/V5)*V5)+V5-V8+
     1
   : IF V5-((U5(1)+U5(3))-(INT((U5(1)+U5(3))/V5)*V5)-1)<V8THEN U5(3)=((INT((U5
     (1)+U5(3))/V5)*V5)+V5-V8+1)-U5(1)
   : V7$()=ALL(00)
   : FOR U=1TO U8
   : DATA SAVE BA T#U0,(V5(2)+U)V7$()
   : ERRORGOTO 5000
4876 NEXT U
   : V7$()=ALL(FF)
   : STR(V7$(),255)=HEX(0001)
   : FOR U=0TO V9(8)
   : DATA SAVE BA T$#U0,(U5(1)+V5(2)+U)V7$()
   : ERRORGOTO 5000
4878 IF U6=1THEN DATA SAVE BA T$#U0,(U5(1)+V5(2)+U5(3)*V2+U)V7$()
   : ERRORGOTO 5000
4880 NEXT U
   : STR(V7$(),2*MOD(V9(4),V5)+1)=ALL(00)
   : STR(V7$(),255)=HEX(0001)
   : DATA SAVE BA T$#U0,(V5(2)+U5(1)+V9(8))V7$()
   : ERRORGOTO 5000
4882 IF U6=1THEN DATA SAVE BA T$#U0,(V5(2)+U5(1)+V9(8)+U5(3)*V2)V7$()
   : ERRORGOTO 5000
4884 U0(15)=V5(6)
   : V5(7)=1
   : GOSUB 4892
   : IF U6=2THEN 4886
   : U0(15)=V5(6)+U5(3)
   : GOSUB 4892
   : IF V2=1THEN V8=3
   : GOTO 4888
4886 IF V2=2THEN V8=2
   : ELSE V8=1
4888 U0(15)=1
   : GOSUB 4892
   : V8=U0(20)
   : U0(15)=V5(6)+U0(3)
   : GOSUB 4892
   : V0=V0+V8
   : V3=4
   : V6(1)=V3*U0(5)
   : STR(V5$(),V6(1)+1,22)=ALL(00)
   : STR(V5$(),V6(1)+5,6)=STR(V3$,,6)
   : STR(V5$(),V6(1)+13,2)=BIN(U5(3),2)
   : STR(V5$(),V6(1)+23,10)=BIN(V5(2)+1,2)&BIN(U8,2)&BIN(U5(1),2)&BIN(V2)&BIN(
     U6)&HEX(0004)
4890 U0(4)=0
   : U3$=BIN(0)
   : STR(U7$(),251,4)=HEX(322E3036)
   : STR(U7$(),255,2)=HEX(0002)
   : GOSUB 5144
   : GOSUB 4894
   : U4=-1
   : RETURN
4892 V9(1)=U0(15)
   : GOSUB '244(V9(1),V8)
   : IF R1$<>HEX(00)THEN RETURN
   : V0,U5(7),U5(8)=0
   : V6(2)=VAL(U0$(1),2)
   : IF U0(15)<>VAL(U0$(1),2)THEN U0(15)=VAL(U0$(1),2)
   : V6(3)=1
   : V9=1
   : GOSUB '242(U0$(),V8,U0(15))
   : RETURN
4894 V7$()=ALL(00)
   : T=0
   : FOR U=1TO V8
   : FOR H=1TO V2
   : T=T+1
   : STR(V7$(),2*(T-1)+5,2)=BIN((VAL(U0$(U),2)-1)*V2+H-1,2)
   : NEXT H
   : NEXT U
   : STR(V7$(),255)=HEX(0003)
   : STR(V7$(),,4)=BIN(2,2)&BIN(U*V2,2)
   : DATA SAVE BA T#U0,(V5(2)+2)V7$()
   : ERRORGOTO 4998
4896 V6(4)=0
   : RETURN
4998 RETURN CLEAR
5000 RETURN CLEAR
   : $CLOSE#U0
5002 U0(18)=-1
   : R1$=BIN(ERR)
   : RETURN
5144 DATA SAVE BA T#U0,(V6(4)+V5(2))V7$()
   : ERRORGOTO 4998
5146 IF U6=1THEN DATA SAVE BA T#U0,(V6(4)+V5(2)+U5(3)*V2)V7$()
   : ERRORGOTO 4998
5148 STR(V5$(),V6(1)+13,2)=BIN(U5(3),2)
   : STR(V5$(),V6(1)+19,4)=BIN(V6(2),2)&BIN(V6(3),2)
   : STR(V5$(),V6(1)+2,2)=BIN(V0,2)
   : STR(V5$(),V6(1)+11,2)=BIN(U5(8),2)
   : STR(V5$(),V6(1)+17,2)=BIN(U5(7),2)
   : IF U3$=HEX(FF)AND MOD(V9,U0(23))<>0OR U0(23)=-1THEN RETURN
   : IF U3$=HEX(FF)THEN DATA LOAD BA T#U0,(U0(4)+V5(2)+1)U7$()
   : ERRORGOTO 4998
5152 STR(U7$(),4,U0(5))=STR(V5$(),V6(1)+1,U0(5))
   : DATA SAVE BA T#U0,(U0(4)+V5(2)+1)U7$()
   : ERRORGOTO 4998
5154 RETURN