image of READY prompt

Wang2200.org

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"