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)