Listing of file='IDS2PS40' on disk='vmedia/701-2724B.wvd.zip'
# Sector 564, program filename = 'IDS2PS40' 1000 REM "IDS2PS40" - SCREEN MASK EDITOR - SAVE SCREEN MASK 1010 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM" : DIM J1$32,J2$16 : J2$=E$ : IF E0$="IDS2sS00"THEN J1=0 : ELSE J1=1 : E0$=" " : J2=SGN(MAX(Q,J1)) : IF J1=1AND J2=1THEN 1270 : GOSUB '43(33) : IF E$=" "THEN Q=-1 : GOSUB '55(33,Q+1) : GOSUB '43(34) : IF E$=R4$THEN 1125 : GOSUB '45(34,R4$) 1125 STR(E$(),147,6)=R2$ : GOSUB '43(2) : J1$=E$ADDALL(E0) : FOR I=32TO 1STEP -1 : ROTATEC(STR(J1$,I),2) : NEXT I : F5$=STR(E$(),134,7)&HEX(00) : AND (F5$,01) : FOR I=7TO 1STEP -1 : ROTATEC(STR(F5$,I),7) : NEXT I : STR(E$(),134,7)=F5$ : STR(E$(),10,24)=J1$ : E2$()=F$() 1270 ON J1GOTO 1420 : GOSUB 1610 : F5$="IDS2wS" : CONVERT R0TO STR(F5$,7),(##) : LIMITS T#3,F5$,A,B,C,D : IF D=0THEN DATA SAVE DC OPEN T#3,(186)F5$ : ERRORGOSUB '35("Not enough room for work file -- FN '31tocancel") : GOSUB '34(250) : LOAD T#2,"IDS2MS01"1000, 1331 IF D<>0THEN DATA LOAD DC OPEN T#3,F5$ : DSKIP #3,184S : DATA SAVE DC #3,END : DBACKSPACE #3,BEG : DATA LOAD DC OPEN T#3,F5$ : MAT REDIM E$(24)83,F$(27)83,E3$(24)83 : DATA SAVE DC #3,E$() : DATA SAVE DC #3,F$() : DATA SAVE DC #3,E3$() : MAT REDIM E$(E8)1,F$(E9)1,E3$(249)8 : E2$()=F$() 1420 IF J2=0THEN 1580 : ON J1GOSUB 1610 1460 GOSUB '39(E9$(2),3) : IF Q=0THEN DATA SAVE DC OPEN T#P,(27)E9$(2) : ERRORGOSUB '35("Not enough room for screen file -- FN '31tocancel") : GOSUB '34(250) : LOAD T#2,"IDS2MS01"1000, 1475 IF Q=0THEN 1460 : IF M-A >=(X+Y)/3+9 THEN 1490 : SCRATCH T#P,E9$(2) : J=0 : E7$="JUNK" 1485 J=J+1 : CONVERT JTO STR(E7$,5),(####) : LIMITS T#P,E7$,B,B,B,B : IF B<>0THEN 1485 : SAVE T#P,(E9$(2))E7$1000,1000 : SCRATCH T#P,E7$ : GOTO 1460 1490 DATA LOAD DC OPEN T#P,E9$(2) : MAT REDIM E$(24)83 : DATA SAVE DC #P,E$() : MAT REDIM E$(E8)1 : IF X=0THEN 1570 : F$()=E2$() : STR(F$(),D2*9+1)=ALL(00) : IF J7>0THEN STR(F$(),X*83+1-J7*4)=STR(E2$(),2242-J7*4) : MAT REDIM F$(X)83 : DATA SAVE DC #P,F$() : MAT REDIM F$(E9)1 : IF Y=0THEN 1570 : MAT REDIM E3$(Y)83 : DATA SAVE DC #P,E3$() : MAT REDIM E3$(249)8 1570 DATA SAVE DC #P,END 1580 IF J1>0THEN LOAD T#2,"IDS2MS01"1000, : E$=J2$ : IF STR(E$(),141,3)>" 0"OR STR(E$(),78,8)=" "THEN LOAD T#2,"IDS2PS02"1000 , : LOAD T#2,"IDS2PS54"1000, 1610 MAT SEARCHE3$(),=HEX(2020202020202020)TO F9$STEP 8 : IF F9$=HEX(0000)THEN N,D2=249 : ELSE N,D2=INT(VAL(F9$,2)/8) : J7=0 : IF N=249THEN 1730 : IF MOD(N*9+1,4)=3THEN X=6 : ELSE X=2 : X=X+N*9+1-MOD(N*9+1,4) : MAT SEARCHE2$()<X,2242-X>,>HEX(00000000)TO F9$STEP 4 : IF F9$=HEX(0000)THEN 1730 : X=X-1+VAL(F9$,2) : FOR P=XTO 2238STEP 4 : J7=J7+1 1680 MAT SEARCHE2$()<P,2242-P>,=HEX(00000000)TO F9$STEP 4 : IF F9$=HEX(0000)THEN 1720 : STR(E2$(),P+VAL(F9$,2)-1,4)=STR(E2$(),P,4) : STR(E2$(),P,4)=ALL(00) : J7=J7-1 1720 NEXT P 1730 E$(135)=BIN(N) : E$(136)=BIN(J7) : X=3*ABS(INT(-(N*9+J7*4)/249)) : Y=3*ABS(INT(-N*8/249)) : E$(137)=BIN(X) : E$(138)=BIN(Y) : RETURN 2000 FOR I=0TO 249 : P=9*I+1 : IF MOD(P,4)=3THEN X=6 : ELSE X=2 : X=X+P-MOD(P,4) : PRINT P,MOD(P,4);X,MOD(2242-X,4) : NEXT I : ON ERRORE1$,E2$GOTO 3700 3700 DEFFN'31 : E$="IDS2PS40" : IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000, : STOP "ERROR"