image of READY prompt

Wang2200.org

Listing of file='LPINTED ' on disk='vmedia/701-2721C.wvd.zip'

# Sector 318, program filename = 'LPINTED'
1500 REM %  EDIT FIELD SUBROUTINE ('56)     LPINTED
1565 DEFFN'56
   : DIM E1,E2,E3,E4,E5,J1,K,L,U9,S,X,X1,Y,Z,F1$1
   : DIM I$2,U2$8
   : K=VAL(STR(G3$(I),10,2),2)
   : E1=VAL(STR(G3$(I),14,1))
   : E2=VAL(STR(G3$(I),15,1))
   : F1$=STR(G3$(I),9,1)
   : IF F1$="A"THEN GOTO 1985
   : ELSE IF F1$="C"THEN GOTO 2005
   : MAT SEARCHL3$(),=STR(G3$(I),26,L4)TO I$STEP L6
   : J2=(VAL(I$,2)-1)/L6+1
1625 IF STR(G3$(I),22,3)<>"NO "THEN S=12
   : ELSE S=VAL(STR(L3$(J2),12,2),2)
   : E3=VAL(STR(G3$(I),16,1))
   : E4=VAL(STR(G3$(I),17,1))
   : E5=VAL(STR(G3$(I),18,1))
   : IF E5<2THEN GOTO 1640
   : GOSUB '46
   : STR(B1$(),K,S)=F9$()
   : RETURN
1640 STR(F9$(),1,S)=ALL("0")
   : Y=K+S-1
   : X1=0
   : X=S
   : FOR Z=STO 1STEP -1
   : F1$=STR(B1$(),Y,1)
   : IF F1$<>"-"THEN GOTO 1685
   : F9$(1)="-"
   : GOTO 1715
1685 IF F1$<>" "THEN GOTO 1700
   : IF X1=1THEN X=X-1
   : GOTO 1715
1700 F9$(X)=F1$
   : X1=1
   : X=X-1
1715 Y=Y-1
   : NEXT Z
   : STR(B1$(),K,S)=STR(F9$(),1,S)
   : X=100
   : Y=K
   : IF STR(B1$(),Y,1)="-"THEN U9=1
   : ELSE U9=0
   : S=S-U9
   : IF E3<>2OR U9=0THEN GOTO 1765
   : STR(F9$(),X-1)="CR"
   : X=X-2
1765 IF STR(G3$(I),22,3)<>"NO "THEN Y=K+12-1
   : ELSE Y=K+VAL(STR(L3$(J2),12,2),2)-1
   : F9$(X)=STR(B1$(),Y,1)
   : X=X-1
   : Y=Y-1
   : IF S=1THEN GOTO 1930
   : D1=POS(STR(B1$(),K,S)=HEX(2E))
   : IF D1=0THEN 1815
   : D2=S+U9-D1
   : X=X-D2
   : STR(F9$(),X+1,D2)=STR(B1$(),K+D1-1,D2)
   : Y=Y-D2
   : S=S-D2
   : IF D1=2AND U9=1OR D1=1THEN 1875
1815 IF D1=0THEN J1=1
   : ELSE J1=0
   : FOR Z=S-1TO 1STEP -1
   : F1$=STR(B1$(),Y,1)
   : F9$(X)=F1$
   : X=X-1
   : Y=Y-1
   : J1=J1+1
   : IF E1=1OR MOD(J1,3)<>0THEN GOTO 1865
   : F9$(X)=","
   : X=X-1
1865 NEXT Z
   : IF F9$(X+1)=","THEN X=X+1
1875 ON E2GOTO 1930,1900,1880
1880 F1$=STR(F9$(),X+1,1)
   : IF F1$<>"0"AND F1$<>","OR X=99THEN GOTO 1930
   : X=X+1
   : GOTO 1880
1900 Y=X+1
1905 F1$=STR(F9$(),Y,1)
   : IF F1$<>"0"AND F1$<>","OR Y=100THEN GOTO 1930
   : STR(F9$(),Y,1)="*"
   : Y=Y+1
   : GOTO 1905
1930 IF E4=1THEN GOTO 1945
   : ELSE IF E4=2THEN F1$="$"
   : ELSE F1$=STR(G3$(I),17,1)
   : F9$(X)=F1$
   : X=X-1
1945 IF E3=1AND U9=1THEN GOTO 1960
   : X=X+1
   : GOTO 1965
1960 F9$(X)="-"
1965 S=VAL(STR(G3$(I),12,2),2)
   : STR(B1$(),K,S)=STR(F9$(),X)
   : RETURN
1985 S=VAL(STR(G3$(I),12,2),2)
   : IF E1=1OR E1=3THEN RETURN
   : ELSE IF E1=2THEN GOSUB '58
   : ELSE GOSUB '57
   : RETURN
2005 S=VAL(STR(G3$(I),12,2),2)
   : IF E1=1THEN RETURN
   : ELSE IF E1=2THEN GOSUB '58
   : ELSE IF E1=3THEN GOSUB '59
   : ELSE GOSUB '57
   : RETURN
2025 DEFFN'57
   : FOR L=KTO K+S-1STEP 1
   : IF VER(STR(B1$(),L,1),"A")=1THEN OR (STR(B1$(),L,1),20)
   : NEXT L
   : RETURN
2050 DEFFN'59
   : FOR L=KTO K+S-1STEP 1
   : IF VER(STR(B1$(),L,1),"A")=1THEN AND (STR(B1$(),L,1),DF)
   : NEXT L
   : RETURN
2075 DEFFN'58
   : X=K
   : Y=S
2090 L=POS(STR(B1$(),X,Y)<>20)-1
   : IF L=-1THEN RETURN
   : X=X+L
   : Y=Y-L
   : L=POS(STR(B1$(),X,Y)=20)
   : Y=POS(STR(B1$(),X,Y)>60)
   : IF Y>0THEN RETURN
   : IF L=0THEN Y=K+S-X
   : ELSE Y=L-1
   : IF E2=1THEN GOTO 2260
   : FOR I1=1TO 4STEP 1
   : DATA LOAD BA T(L8(1)+I1)STR(D4$(),(I1-1)*256+1,256)
   : NEXT I1
   : MAT SEARCHD4$(),=STR(B1$(),X,Y)TO I$STEP 16
   : I1=VAL(I$,2)
   : IF I1=0THEN GOTO 2170
   : I1=(I1-1)/16+1
2160 STR(B1$(),X,Y)=D4$(I1,2)
   : GOTO 2270
2170 FOR I1=1TO 4STEP 1
   : DATA LOAD BA T(L8(1)+10+I1)STR(D4$(),(I1-1)*256+1,256)
   : NEXT I1
   : J1=1
   : K1=0
2195 MAT SEARCHSTR(D4$(),J1),=STR(B1$(),X,1)TO I$STEP 16
   : I1=VAL(I$,2)
   : J1=J1+(I1-1)+16
   : IF I1=0THEN GOTO 2260
   : I1=(I1-1)/16+1
   : K1=K1+I1
   : U2$=D4$(K1,1)
   : IF STR(B1$(),X,LEN(U2$))<>U2$THEN GOTO 2195
   : STR(B1$(),X,LEN(U2$))=D4$(K1,2)
   : X=X+LEN(U2$)
   : Y=Y-LEN(U2$)
   : L=L-LEN(U2$)
   : GOTO 2265
2260 IF VER(STR(B1$(),X,1),"A")=1THEN AND (STR(B1$(),X,1),DF)
2265 IF Y>1THEN OR (STR(B1$(),X+1,Y-1),20)
2270 IF L=0THEN RETURN
   : X=X+L
   : Y=K+S-X
   : IF Y<=0THEN RETURN
   : GOTO 2090
2300 DEFFN'46
   : F9$()=" "
   : MAT REDIM U2$(16)16
   : DATA LOAD BA T(L8(1)+20)U2$()
   : MAT REDIM U2$(12)9
   : IF E5<>2THEN GOTO 2330
   : N=K
   : STR(F9$(),1,2)=STR(B1$(),N,2)
   : N=N+2
   : STR(F9$(),3,1)="/"
   : STR(F9$(),4,2)=STR(B1$(),N,2)
   : N=N+2
   : STR(F9$(),6,1)="/"
   : STR(F9$(),7,2)=STR(B1$(),N,2)
   : S=8
   : RETURN
2330 N=K
   : IF E5=4THEN N=N+2
   : Z7$=STR(B1$(),N,2)
   : IF VER(Z7$,"##")<>2THEN GOTO 2360
   : CONVERT Z7$TO Z4
   : IF Z4<1OR Z4>12THEN GOTO 2360
   : STR(F9$(),1,LEN(U2$(Z4)))=U2$(Z4)
   : IF E5=3THEN N=N+2
   : ELSE N=K
   : STR(F9$(),LEN(U2$(Z4))+2,2)=STR(B1$(),N,2)
   : IF STR(F9$(),LEN(U2$(Z4))+2,1)="0"THEN STR(F9$(),LEN(U2$(Z4))+2,1)=" "
2345 STR(F9$(),LEN(U2$(Z4))+4,1)=","
   : N=K+4
   : Z5$="19"&STR(B1$(),N,2)
   : STR(F9$(),LEN(U2$(Z4))+6,4)=Z5$
   : S=18
   : RETURN
2360 S=18
   : F9$()=ALL("?")
   : RETURN
9000 DEFFN'0"SCRATCH T ";HEX(22);"LPINTED";HEX(22)
9010 DEFFN'1"SAVE T () ";HEX(22);"LPINTED";HEX(22)