Listing of file='IDS2PM01' on disk='vmedia/701-2717B.wvd.zip'
# Sector 674, program filename = 'IDS2PM01'
1000 REM "IDS2PM01" - MENU EDITOR MODULE
: COM D0
1010 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
: GOSUB '32("IDS2sM01")
: STR(E$(),9)=" "
: GOSUB '45(1,E9$(5))
1040 F=0
1050 F=F+1
: IF F>F0THEN 1200
1070 IF F<13OR MOD(F+4,6)>0THEN 1072
: IF F=14THEN E3$=HEX(0515)
: IF F>14AND F<110THEN E3$=HEX(05150616)
: IF F=110THEN E3$=HEX(0616)
: F6$(53)="Y"
1071 E$=" "
: IF VAL(E3$)=5THEN E$="FN '05 - Cursor down, FN '21 - Line down"
: IF LEN(E3$)=4THEN E$=E$&", "
: IF VAL(E3$)=6OR LEN(E3$)=4THEN E$=E$&"FN '06 - Cursor up, FN '22 - Line u
p"
: GOSUB '63(STR(E$,,16),STR(E$,17)," ")
1072 GOSUB '34(F)
: E3$=" "
: F6$(53)="N"
: ON FGOTO 1110,,,,,,,,,,1140,1160
: IF POS(HEX(05061516)=E6$)>0THEN 1095
: IF F>13AND F<110THEN 1100
: GOTO 1050
1092 IF STR(E$(),P+73,L)<>" "THEN 1096
: STR(E$(),P+73,L)=STR(E$(),P,L)
: STR(E$(),P,L)=" "
: GOSUB '36
: F=F+6
: GOTO 1070
1094 IF STR(E$(),P-73,L)<>" "THEN 1096
: STR(E$(),P-73,L)=STR(E$(),P,L)
: STR(E$(),P,L)=" "
: F=F-6
: GOSUB '36
: GOTO 1070
1095 ON VAL(E6$)-4GOTO 1097,1098
: X=F
: N=(F-14)/6
: P=N*73+111
: L=73
: ON VAL(E6$)-20GOTO 1092,1094
1096 PRINT HEX(07);
: GOTO 1070
1097 IF F<110THEN F=F+6
: GOTO 1070
1098 IF F>14THEN F=F-6
: GOTO 1070
1100 X=MOD(F+4,6)
: ON X+1GOTO 1170,1190,1195,1140,1165,1105,1100
1105 ON E1GOTO 1200
: GOTO 1050
1110 ON E1GOTO 1050
: GOSUB '39(E$,4)
: D=Q
: B=M
: C=N
: D0=P
: IF D=0THEN J0=0
: ELSE J0=1
: IF J0=1THEN 1130
: STR(E$(),12)=R2$&R4$
: STR(E$(),99)=R8$
: GOTO 1050
1130 GOSUB '43(3)
: IF E$<>" "THEN 1050
: R3$(1)="\C4\CF\CE\D4\CC\CF\C1\C4"
: LOAD DA T#D0,(A)1000,1005BEG 1131
1131 GOSUB 1000
: R3$(1)="IDS2MM01"
: $TRAN(E$(),HEX(22A2))R
: IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
: GOSUB '36
: GOTO 1200
1140 C1$=E$
: IF E$>="0"AND E$<="9"THEN 1050
: IF E$>="A"AND E$<="F"THEN 1050
: GOSUB '35("User class must be 0 - 9 or A - F. Please re-enter")
: GOTO 1070
1160 E7$=E$
: GOSUB '43(F-1)
: IF E7$=R4$AND R8$<E$THEN GOSUB '35("You won't be able to edit this menu a
gain !")
: E$=E7$
: GOTO 1050
1165 IF E$=" "THEN 1050
: GOSUB '41("IDS2f005",E$,0)
: IF Q=0THEN 1070
: ELSE GOTO 1050
1170 IF E$=" "THEN 1180
: GOSUB '43(F+3)
: IF E$=" "THEN STR(E$(),(F-14)/6*73+172,1)=C1$
: GOTO 1050
1180 FOR I=F+1TO F+5
: GOSUB '45(I," ")
: NEXT I
: ON E1GOTO 1200
: GOTO 1050
1190 GOSUB '43(F-1)
: IF E$=" "THEN F=F+4
: IF E$=" "THEN ON E1GOTO 1200
: GOTO 1050
1195 IF POS(" IWX"=E$)>0THEN 1050
: GOSUB '35("Must be blank, I, W, or X")
: GOTO 1072
1200 GOSUB '53("EXEC=Accept, EDIT=Modify, FN'0-FN'16=Edit a line, FN'31=Cancel
")
: E1=0
: GOSUB '34(250)
: E1=1
: IF Q=33THEN 1040
: E1=0
: IF Q=32THEN 1220
: IF Q<17THEN 1212
: IF Q<>31THEN 1200
: LOAD T#2,"IDS2MM01"1000,
1212 E1=1
: F=Q*6+14
: IF C1$=" "THEN C1$=R8$
: GOTO 1070
1220 GOSUB '43(1)
: LIMITS T#D0,E$,X,B,C,D
: IF D=0THEN 1230
: IF B-X>6THEN 1240
: GOSUB '35("Not enough room in old file - PLEASE CANCEL")
: GOTO 1200
1230 DATA SAVE DC OPEN T#D0,(8)E$
: ERRORCONVERT D0TO F9$,(#)
: F0$="Disk device #"&F9$&" is full - FN '31 to cancel"
: GOSUB '35(F0$)
: GOSUB '34(250)
: LOAD T#2,"IDS2MM01"1000,
1235 GOTO 1220
1240 SCRATCH T#D0,E$
: GOSUB '43(2)
: IF E$=" "THEN Q=-1
: GOSUB '55(2,Q+1)
: STR(E$(),12,9)=R2$&R4$
: E$=STR(E$(),1,8)
: $TRAN(E$(),HEX(A222))R
: F$()=HEX(40)&STR(E$,1,8)&HEX(FD)&ALL(00)
: DATA SAVE BA T#D0,(X)STR(F$(),1,256)
: FOR I=0TO 5
: F$()=HEX(00FF10)&BIN(I)&HEX(D3)&"E$(), )="&HEX(22)
: Q=I*234+1
: CONVERT QTO STR(F$(),11,4),(####)
1310 F$()=F$()&STR(E$(),Q,234)&HEX(220D0000FD)
: IF I<5THEN 1330
: STR(F$(),1,1)=HEX(20)
: STR(F$(),195)=HEX(223A9F)&"R3$(1)="&HEX(22)&"\C4\CF\CE\D4\CC\CF\C1\C4"&HE
X(22B19B3A9F)&"E5$<>"&HEX(224D22B1A1)&"T#2,"&HEX(22)&"IDS2MX01"&HEX(22FF1
0002C0D0000FE)&ALL(00)
1330 DATA SAVE BA T#D0,(X+1+I)STR(F$(),1,256)
: NEXT I
: F$()=HEX(200008)&ALL(00)
: DATA SAVE BA T#D0,(X+7)STR(F$(),1,256)
: LOAD DA T#D0,(X)1000,1005BEG 1360
1360 SAVE T#D0,()E$1000,1005
: COM CLEAR D0
: LOAD T#2,R3$(1)1000,
3699 ON ERRORE1$,E2$GOTO 3700
3700 DEFFN'31
: E$="IDS2PM01"
: IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000,
: STOP "ERROR"