Listing of file='IDS2PP00' on disk='vmedia/701-2717B.wvd.zip'
# Sector 939, program filename = 'IDS2PP00'
1000 REM "IDS2PP00" - Release 2.1 - INTERACTIVE PROGRAM ACCESS SECURITY MODULE
1010 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
1020 IF E6$>HEX(02)THEN LOAD T#2,R3$(1)1000,
: ELSE G=VAL(E6$)
: GOSUB '32("IDS2sSC0")
: E$()=E9$(4)
: PRINT AT(0,7);HEX(020402000E);"Interactive Program Generator - Access Sec
urity Module";HEX(0F);AT(11,42);"program to be"
: IF G=0THEN E$="created"
: ELSE IF G=1THEN E$="revised"
: ELSE IF G=2THEN E$="protected"
: ELSE IF G=3THEN E$="copied"
1050 PRINT AT(11,56);E$
1060 F6$(12)="N"
: GOSUB '34(1)
: IF E$<>" "THEN 1080
: PRINT HEX(07)
: GOTO 1060
1080 GOSUB '39(E$,4)
: LIMITS T#P,E$,A,B,C,D
: IF G=0THEN 1570
: DATA LOAD BA T#P,(A+1)STR(F$(),1,256)
: E7$=E$
: IF D<>1THEN 1100
: Z=0
: IF STR(F$(),156,14)="E & D Priv UC="AND D=1THEN 1120
: Z=1
: IF STR(F$(),74,6)=HEX(100145243D22)AND STR(F$(),140,3)=HEX(100297)AND D=1
THEN 1120
: IF STR(F$(),138,1)="\F0"THEN 1120
1100 GOSUB '35("Specified file is not an IDEAS-generated program")
: GOTO 1060
1120 IF Z=0THEN F3$=STR(F$(),176)
: ELSE F3$=STR(F$(),89)
: IF F3$=" "OR F3$=R4$THEN 1140
: GOSUB '35("Another user has exclusive edit and documentatation rights")
: GOTO 1060
1140 IF Z=0THEN E6$=F$(170)
: ELSE E6$=F$(88)
: IF E6$<=R8$THEN 1160
: GOSUB '35("Your user class is not authorized to revise this file")
: GOTO 1060
1160 IF Z=0THEN F5$=STR(F$(),190)
: ELSE F5$=STR(F$(),92)
: IF F5$=" "THEN 1200
: PRINT HEX(06020400000E);AT(15,6);BOX(1,67);" Please enter the password as
sociated with this program"
: GOSUB '34(2)
: PRINT AT(15,6,66);BOX(-1,-67)
1190 IF E$=F5$THEN 1200
: GOSUB '63("Invalid password"," - Enter new file name, CANCEL, or touch EX
ECUTE to try again","!")
: GOTO 1060
1200 GOSUB '39(E7$,4)
: LIMITS T#P,E7$,A,B,C,D
: FOR I=1TO 4
: DATA LOAD BA T#P,(A+I)STR(F$(),I*256-255,256)
: NEXT I
: IF Z=0THEN STR(E$(),9)=STR(F$(),16,32)
: ELSE STR(E$(),9)=STR(F$(),17,32)
: IF Z=0THEN STR(E$(),41)=STR(F$(),96,3)
: ELSE STR(E$(),41)=STR(F$(),53,3)
: IF Z=0THEN STR(E$(),44)=STR(F$(),71,2)&STR(F$(),74,2)&STR(F$(),77,2)
1231 IF Z>0THEN STR(E$(),44)=STR(F$(),61,2)&STR(F$(),64,2)&STR(F$(),67,2)
: IF STR(E$(),44,6)=" "THEN STR(E$(),44)=R2$
: IF Z=0THEN STR(E$(),50)=STR(F$(),67,3)
: ELSE STR(E$(),50)=STR(F$(),57,3)
: IF STR(E$(),50,3)=" "THEN STR(E$(),50)=R4$
1250 FOR I=0TO 7
: E$=HEX(FF10)
: PACK(##)STR(E$,3)FROMI+7-5*Z
: MAT SEARCHF$(),=STR(E$,1,3)TO F9$
: IF F9$=HEX(0000)THEN 1270
: ON ZGOTO 1261
: X=VAL(F9$,2)+14
: STR(E$(),I*48+53)=STR(F$(),X,8)&STR(F$(),X+21,32)&STR(F$(),X+10,4)&STR(F$
(),X+15,4)
: GOTO 1270
1261 X=VAL(F9$,2)+5
: STR(E$(),I*48+53)=STR(F$(),X,8)&STR(F$(),X+9,32)
1270 NEXT I
: IF Z=0THEN STR(E$(),437)=F$(114)&STR(F$(),130,3)&STR(F$(),145,4)
: ELSE STR(E$(),437)=STR(F$(),80,8)
: FOR I=0TO 1
: ON ZGOTO 1291
: X=50*I+170
: STR(E$(),I*12+445)=F$(X)&STR(F$(),X+6,3)&STR(F$(),X+20,8)
: GOTO 1299
1291 X=I*21+88
: STR(E$(),I*12+445,12)=F$(X)&STR(F$(),X+1+7*SGN(I),3)&STR(F$(),X+4+14*SGN(
I),8)
: STR(E$(),I*3+469)=F$(I+100)
1299 NEXT I
: E$(471)=F$(139)
: ON ZGOTO 1490
: MAT SEARCHF$(),="Save protected? "TO F9$
: IF F9$=HEX(0000)THEN E$(469)=" "
: ELSE E$(469)=F$(VAL(F9$,2)+16)
: E$(470)=F$(267)
1490 E9$(4)=E$()
: E6$=BIN(G)
: ON GGOTO ,1530,1540
: LOAD T#2,"IDS2PP01"1000
1530 LOAD T#2,"IDS2PP30"1000,
1540 STOP #
: LOAD T#2,"BATCHDOC"1000
1570 IF D=0THEN 1490
: GOSUB '35("File already exists - Please CANCEL or enter new file name")
: GOTO 1060
1580 DEFFN'0
: E6$=HEX(00)
: GOTO 1020
1590 DEFFN'1
: E6$=HEX(01)
: GOTO 1020
1600 DEFFN'2
: E6$=HEX(02)
: GOTO 1020
1610 DEFFN'3
: E6$=HEX(03)
: GOTO 1020
3699 ON ERRORE1$,E2$GOTO 3700
3700 DEFFN'31
: E$="IDS2PP00"
: IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000,
: STOP "ERROR"