image of READY prompt

Wang2200.org

Listing of file='uKeyEdit' on disk='vmedia/mvp-diag-2.6.2.wvd.zip'

# Sector 3838, program filename = 'uKeyEdit'
2000 REM % EDIT/DELETE NODE
   : INIT(20)U$()
   : RESTORE LINE7012
   : READ X$(1),X$(3),U$(1),U$(2)
   : GOSUB 190
   : ON N-1GOTO 2080,2040
2040 REM % MENU DELETE OPTIONS
   : INIT(20)U$()
   : RESTORE LINE7016
   : READ X$(1),X$(3),U$(1),U$(2)
   : GOSUB 190
   : ON N-1GOTO 2050,2060
2050 REM % DELETE A KEYDATA FILE
   : U6$="\AA"
   : GOSUB 600
   : RESTORE LINE7020
   : GOTO 2070
2060 REM % DELETE A KEYPATTERN FILE
   : U6$="\A6"
   : GOSUB 600
   : RESTORE LINE7024
2070 READ X$(1),X$(3)
   : GOSUB 190
   : SCRATCH TU$
   : GOTO 10
2080 REM % CREATE DATA OR PATTERN NODE
   : INIT(20)U$()
   : RESTORE LINE7028
   : READ X$(1),U$(1),U$(2)
   : GOSUB 190
   : ON N-1GOTO 2090,2150
2090 REM % CREATE A NEW KEYDATA FILE
   : U6$="\A6"
   : GOSUB 600
   : RESTORE LINE7032
   : READ X$(1)
   : GOSUB 190
   : GOSUB 570
   : GOSUB 2430
   : IF U6$="N"THEN 2090
2100 REM % SELECT MODE PROMPT SET
   : INIT(20)U$()
   : RESTORE LINE6110
   : READ X$(1),S
   : FOR I=1TO S
   : READ U$(I)
   : NEXT I
   : GOSUB 190
   : S=N-2
   : PRINT HEX(03)
   : RESTORE LINE6120,S*6+1
   : FOR I=1TO 6
   : READ X$(4)
   : PRINT AT(8+I,20);X$(4)
   : NEXT I
   : R=20
   : GOSUB 2390
   : IF U6$="N"THEN 2100
   : I=0
2110 I=I+1
   : GOSUB 750
   : IF R+C<>0THEN 2110
   : CONVERT STO STR(K$(I),5,2),(##)
2120 RESTORE LINE7056
   : GOSUB 770
   : GOSUB 670
   : N=1
   : N1=1
2130 IF MOD(N-1,18)=0THEN GOSUB 720
   : GOSUB 700
   : IF R+C=0THEN 2140
   : KEYIN U6$
   : IF U6$<>HEX(FF)THEN 2131
   : KEYIN U6$
2131 STR(K$(N),5,1)=U6$
   : KEYIN U6$
   : IF U6$<>HEX(FF)THEN 2132
   : KEYIN U6$
2132 STR(K$(N),6,1)=U6$
   : N1=N
   : N=N+1
   : GOTO 2130
2140 REM % ENTRY CHECK & PROMPT
   : R=20
   : GOSUB 2390
   : IF U6$<>"Y"THEN 2090
   : U6$="\AA"
   : GOSUB 2300
   : GOTO 10
2150 REM % CREATE A NEW KEYPATTERN FILE
   : U6$="\A6"
   : GOSUB 600
   : RESTORE LINE7036
   : READ X$(1)
   : GOSUB 190
   : GOSUB 570
   : RESTORE LINE7038
   : GOSUB 770
   : READ X$(4),X$(5),X$(6),X$(7)
   : PRINT AT(4,0);X$(4);X$(5);AT(5,0);X$(6);X$(7)
   : GOSUB 670
   : N=1
   : GOSUB 2245
   : GOSUB 2171
2160 KEYIN U6$,2170,2180
   : GOTO 2160
2170 ON POS(HEX(2008)=U6$)GOSUB 2172,2173
   : GOTO 2160
2171 REM % PRINT SEQ # & STORE LOC
   : CONVERT RTO STR(K$(N),1,2),(##)
   : CONVERT CTO STR(K$(N),3,2),(##)
   : CONVERT NTO X$(2),(###)
   : PRINT AT(R,C);HEX(0202020F020402020E);STR(X$(2),2,2)
   : PRINT HEX(0F)
   : RETURN
2172 REM % SPACE
   : GOSUB 2250
   : N=N+1
   : CONVERT NTO X$(2),(###)
   : GOSUB 2245
   : PRINT AT(R,C);HEX(020402020E);STR(X$(2),2,2);HEX(0F)
   : RETURN
2173 REM % BACKSPACE
   : IF N<2THEN RETURN
   : GOSUB 2250
   : GOSUB 2245
   : PRINT AT(R,C);HEX(0202020FCFC5)
   : N=N-1
   : GOSUB 2245
   : GOSUB 2171
   : RETURN
2180 IF U6$=HEX(F0)THEN 2270
   : GOSUB 2250
   : ON POS(HEX(0506090A0B0C0D0E)=U6$)GOSUB 2190,2200,2181,2186,2210,2220,2230
     ,2240
   : GOTO 2160
2181 REM % DELETE
   : GOSUB 2250
   : I=R
   : S1=C
   : GOSUB 2245
   : IF I<>ROR S1<>CTHEN RETURN
   : GOSUB 2500
   : FOR I=NTO 142
   : K$(I)=K$(I+1)
   : NEXT I
   : PRINT AT(R,C);"  "
   : GOSUB 2510
   : GOSUB 2245
   : GOSUB 2171
   : RETURN
2186 REM % INSERT
   : GOSUB 2500
   : FOR I=142TO NSTEP -1
   : K$(I+1)=K$(I)
   : NEXT I
   : GOSUB 2171
   : GOSUB 2510
   : N=N+1
   : GOSUB 2245
   : GOSUB 2171
   : RETURN
2190 REM % DOWN
   : IF R>17THEN RETURN
   : GOSUB 2250
   : R=R+1
   : GOSUB 2260
   : RETURN
2200 REM % UP
   : IF R<10THEN RETURN
   : GOSUB 2250
   : R=R-1
   : GOSUB 2260
   : RETURN
2210 REM % 5 RIGHT
   : IF C>74THEN RETURN
   : GOSUB 2250
   : C=C+5
   : GOSUB 2260
   : RETURN
2220 REM % 1 RIGHT
   : IF C>78THEN RETURN
   : GOSUB 2250
   : C=C+1
   : GOSUB 2260
   : RETURN
2230 REM % 1 LEFT
   : IF C<1THEN RETURN
   : GOSUB 2250
   : C=C-1
   : GOSUB 2260
   : RETURN
2240 REM % 5 LEFT
   : IF C<6THEN RETURN
   : GOSUB 2250
   : C=C-5
   : GOSUB 2260
   : RETURN
2245 REM % READ R C FROM KEY RECORD
   : IF N>143THEN 2246
   : IF STR(K$(N),1,4)=HEX(30303030)THEN RETURN
   : CONVERT STR(K$(N),1,2)TO R
   : CONVERT STR(K$(N),3,2)TO C
   : RETURN
2246 N=N-1
   : RETURN
2250 REM % CLEAR CURSOR
   : PRINT AT(R,C-1);BOX(-1,-2)
   : RETURN
2260 REM % POSITION & PRINT CURSOR
   : PRINT AT(R,C-1);BOX(1,2)
   : RETURN
2270 REM % ENTRY CHECK & UNTESTABLE KEY
   : R=20
   : GOSUB 2390
   : IF U6$="N"THEN 2150
   : GOSUB 2430
   : IF U6$="N"THEN 2150
   : U6$="\A6"
   : GOSUB 2300
   : GOTO 10
2280 REM % SAVE DATA FILE SUBROUTINE..........
2290 REM ENTRY U6$ = IDENTIFIER BYTE
   : REM       K$( = DATA TO BE SAVED
2300 REM LOAD TEXT
   : RESTORE LINE7044
   : READ X$(4),X$(5),X$(6)
2310 REM LOAD IDENTIFIER BYTE
   : U$=" "
   : STR(U$,1,1)=U6$
2320 REM % DISPLAY PROMPT
   : PRINT HEX(030202000F);AT(10,30);X$(4);HEX(08080808080808);
   : I=2
2330 REM % FILENAME KEYIN
   : KEYIN U6$,2340,2330
   : GOTO 2330
2340 REM % PROCESS KEYIN
   : IF U6$=HEX(0D)THEN 2350
   : IF U6$<" "THEN 2330
   : STR(U$,I,1)=U6$
   : PRINT U6$;
   : I=I+1
   : IF I>8THEN 2350
   : GOTO 2330
2350 REM % ENTRY CHECK & PROMPT
   : R=12
   : GOSUB 2390
   : IF U6$="Y"THEN 2370
   : GOTO 2320
2360 IF U6$="Y"OR U6$="y"THEN 2370
   : GOTO 2320
2370 REM % SAVE DATA ON DISK
   : PRINT AT(12,30);X$(3);BOX(1,I);" ";U$
   : DATA SAVE DC OPEN T (7) U$
   : DATA SAVE DC K$()
   : DATA SAVE DC END
   : DATA SAVE DC CLOSEALL
2380 RETURN
2390 REM % OPERATOR VERIFICATION
   : REM R = PROMPT ROW
   : REM RETURN Y or N IN U6$
   : REM % ENTRY CHECK & PROMPT
   : RESTORE LINE7044,2
   : READ X$(5),X$(6)
   : PRINT HEX(0607);AT(R,40-(LEN(X$(5))+LEN(X$(6)))/2);X$(5);X$(6)
   : KEYIN U6$
   : $TRAN(U6$,HEX(590D4E20))R
   : U6$=BOOL8HEX(DF)
   : IF U6$="Y"OR U6$="N"THEN RETURN
   : GOTO 2390
2400 REM % PLACE KEY RECORD IN UNTESTED KEY FILE
   : K$(144)=K$(N)
   : I=N-1
2410 I=I+1
   : K$(I)=K$(I+1)
   : GOSUB 750
   : IF R+C<>0THEN 2410
2420 I=I+1
   : K$(I)=K$(I+1)
   : GOSUB 750
   : IF R+C<>0THEN 2420
   : K$(I)=K$(144)
   : GOSUB 670
   : RETURN
2430 REM % UNTESTABLE KEY ROUTINE
   : RESTORE LINE7052
   : GOSUB 770
   : GOSUB 670
   : N=1
   : N1=N
2440 GOSUB 700
   : IF R+C=0THEN GOSUB 2490
   : KEYIN U6$
   : $TRAN(U6$,HEX(0120020D030804F0))R
   : ON U6$GOSUB 2450,2470,2460,2490
   : IF U6$="Y"OR U6$="N"THEN RETURN
   : GOTO 2440
2450 N1=N
   : N=N+1
   : RETURN
2460 IF N-1<1THEN RETURN
   : N1=N
   : N=N-1
   : RETURN
2470 GOSUB 2500
   : GOSUB 2400
2480 KEYIN U6$,2480,2480
   : GOSUB 2510
   : RETURN
2490 RETURN CLEAR
   : R=20
   : GOSUB 2390
   : RETURN
2500 REM % IN PROCESS PROMPT
   : RESTORE LINE7070
   : READ X$(2)
   : PRINT AT(8,40-LEN(X$(2))/2);HEX(020402020E);X$(2);HEX(0F)
   : RETURN
2510 REM % TURN PROMPT OFF
   : PRINT AT(8,10,60)
   : RETURN