image of READY prompt

Wang2200.org

Listing of file='609Ehyp' on disk='vmedia/731-0067F-disk1.wvd.zip'

# Sector 965, program filename = '609Ehyp'
0010 REM %609Ehyp - Hyphenation ----------------------------------------------
     ----
0030 DIM I0$(80)1
0040 DEFFNJ(I)=POS(V0$()=20)-1
   : IF D7=0THEN 1142
   : GOTO 1004
1004 GOSUB '94(0)
   : GOTO 1018
1012 I5=3
1016 GOSUB '93
1018 C1=1
1042 J9=LEN(V0$())
   : M=C1
   : GOSUB '91(C1,J2(C1),0,0)
   : PRINT HEX(06);AT(0,42,3);INT(J4(C1));HEX(05);
   : IF I5=3THEN M=3
1054 IF POS(V0$()=83)=LEN(V0$())THEN 1120
   : IF D2=1AND M=2AND V0$(J2(2))=HEX(8F)THEN 1110
   : GOSUB '191(M)
   : IF C>1THEN GOSUB '194(M,0)
   : IF J2(M+1)=0THEN 1012
   : IF V0$(J2(M+1))=HEX(8F)THEN 1106
   : IF J3(M)<=D7THEN 1136
   : GOSUB '197
   : IF L>0THEN 1136
   : PRINT AT(M+1,J5(M+1)+0);HEX(020402000E);STR(V0$(),J2(M+1),J3(M)-2);HEX(02
     0400000F)
   : GOSUB '195(M+1,MAX(1,MIN(J3(M-1)-2,D9)))
1090 IF A=17OR A=19THEN 1120
   : IF I1$="Error"THEN 1120
1098 IF M<C2AND M<21THEN 1054
   : IF J2(MIN(C2,21))>0AND LEN(V0$())>J2(MIN(C2,21))+J1(MIN(C2,21))-1THEN 101
     6
1106 GOSUB '191(M)
1110 IF C4$=" "AND C3>7THEN C4=C3+1
   : CONVERT C4-7TO C6$,(###)
   : IF C3=C4THEN 1120
   : GOSUB 2260
   : J7(2)=14
   : V1$()="609FpageREC.page"
   : LOAD T<2>V1$()BEG 100
1120 J1=J2(M)
   : GOSUB '35(J1)
   : J3=J4
1126 J7(3)=3
   : J7(2)=0
   : GOSUB 2250
   : LOAD DA T(D7$(1))
1136 M=M+1
1137 KEYIN D1$,1137,1162
   : GOTO 1098
1142 I9=C7
   : IF C3<8THEN 2270
   : IF C3=A0(3)AND J2(C1)+J1(C1)>J9THEN 1172
   : IF C3<A0(3)AND J2(C1)=J9THEN 2275
   : GOSUB '196
   : I5=0
   : IF POS(I1$<>FF)>0THEN 1042
   : GOTO 1126
1162 IF D1$<>HEX(50)AND D1$<>HEX(F0)THEN 1166
   : GOTO 1126
1166 GOSUB 2210
   : GOTO 1137
1172 GOSUB 2232
   : J1=J2(C1)+J3-1
   : GOTO 1126
1202 DEFFN'191(C1)
   : PRINT HEX(06);AT(0,42,3);INT(J4(C1+1));HEX(05);
   : C=1
1214 IF POS(STR(V0$(),J2(C1)+C-1)="-")=0THEN 1242
   : IF POS(STR(V0$(),J2(C1)+C-1)="-")+C>J1(C1)THEN 1242
   : C=C+POS(STR(V0$(),J2(C1)+C-1)="-")
   : IF C>J1(C1)AND J1(C1)>0THEN 1242
   : IF V0$(J2(C1)+C-1)<>HEX(80)THEN 1214
   : IF J2(C1)+C=2OR POS(HEX(5C5E5F7B808182838485868B8C8D8F)=V0$(J2(C1)+C-3))>
     0THEN 1214
1234 STR(V0$(),J2(C1)+C-2)=STR(V0$(),J2(C1)+C)
   : J1(C1)=J1(C1)-2
   : IF C1=C2THEN 1238
   : FOR I=C1+1TO C2
   : J2(I)=J2(I)-2
   : NEXT I
1238 GOSUB '198(2,J2(C1)+C-2)
   : GOTO 1214
1242 J9=FNJ(1)
   : RETURN
1246 DEFFN'192(C)
   : I1$=ALL(" ")
   : IF LEN(V0$())+2<=J8THEN 1264
   : I1$="Error"
   : GOTO 1276
1264 MAT COPY -V0$()<C,J8-C-1>TO -V0$()<C+2,J8-C-1>
   : V0$(C)="-"
   : V0$(C+1)=HEX(80)
   : FOR I=M+1TO C2
   : J2(I)=J2(I)+2
   : NEXT I
   : J1(M-1)=J1(M-1)+2
   : GOSUB '198(1,C)
1276 J9=FNJ(1)
   : RETURN
1296 DEFFN'194(M,I)
   : GOSUB '91(M,J2(M),1,I)
   : PRINT HEX(06);AT(0,42,3);INT(J4(M));HEX(05);
   : RETURN
1320 DEFFN'195(M,I9)
1324 PRINT HEX(06);AT(0,57,3);I9+J5(M);HEX(05);AT(M,I9-1+J5(M));
   : A=0
   : KEYIN D1$,,1338
   : A=1
1338 A=2*POS(HEX(82A14D5D4C5C081850F0)=D1$)+A-1
   : ON AGOTO ,1354,,1354,1376,,1376,,1376,,1376,,1387,1376,1387,,1387,,1387
   : GOSUB 2210
   : GOTO 1324
1354 GOSUB '192(J2(M)+I9-1)
   : IF I1$<>"Error"THEN 1367
   : GOSUB 2230
1364 RETURN
1367 M=MAX(1,M-1)
   : GOSUB '91(M,J2(M),1,0)
   : M=M+1
   : PRINT HEX(06);AT(0,42,3);INT(J4(M));HEX(05);
   : GOTO 1364
1376 IF A=5OR A=7OR A=14THEN I9=MAX(2,I9-1)
   : IF A=9OR A=11THEN I9=MIN(I9+1,J3(M-1)-2)
   : GOTO 1324
1387 GOSUB '96(J2(M),M)
   : GOSUB '61
   : RETURN
   : PRINT AT(M-1+1,J5(M)+0);STR(D1$());
   : RETURN
1388 PRINT AT(M,J5(M)+0);HEX(020400000F);STR(V0$(),J2(M),J3(M-1)-2)
   : RETURN
1394 DEFFN'196
   : GOSUB 2220
   : I1$=ALL(FF)
   : L=1
1410 PRINT HEX(06);AT(23,48,32);
1412 PRINT HEX(06);AT(0,L+75);HEX(02050F);
   : KEYIN D1$,,1460
   : IF L>2THEN 1428
   : IF VER(D1$,"#")=1THEN 1448
1428 IF D1$<>HEX(08)AND D1$<>HEX(18)THEN 1468
   : IF L=1THEN 1442
   : L=MAX(1,L-1)
   : STR(I1$,L,1)=HEX(FF)
   : PRINT HEX(082006)
   : GOTO 1410
1442 GOSUB 2210
   : GOTO 1412
1448 STR(I1$,L,1)=D1$
   : L=L+1
   : PRINT D1$
   : GOTO 1410
1460 IF D1$<>HEX(50)AND D1$<>HEX(F0)THEN 1442
   : I1$=ALL(FF)
   : RETURN
1468 IF D1$<>HEX(82)AND D1$<>HEX(A1)THEN 1442
   : IF L=1THEN 1442
   : CONVERT STR(I1$,,L-1)TO D7
   : IF D7<3THEN 1442
   : PRINT HEX(06);AT(23,48,32);
   : RETURN
1484 DEFFN'197
   : I1$=HEX(5C5E5F7B808182838485868B8C8D8F)
   : L=0
   : FOR I=1TO LEN(I1$)
   : L=L+POS(STR(V0$(),J2(M+1),J3(M)-2)=STR(I1$,I,1))
   : NEXT I
   : RETURN
1508 DEFFN'198(P,Q)
   : IF J9$=HEX(000000)THEN RETURN
   : IF VAL(STR(J9$,3))<>C3THEN RETURN
   : IF Q>VAL(J9$,2)THEN RETURN
   : IF P=1THEN STR(J9$,,2)=BIN(VAL(J9$,2)+2,2)
   : IF P=2THEN STR(J9$,,2)=BIN(VAL(J9$,2)-2,2)
   : RETURN
2005 C3$="(Autoscore Mode)"
   : GOTO 2440
2025 C3$="(Document End)"
   : GOTO 2450
2135 C3$="(Page End)"
   : GOTO 2450
2210 C3$="Invalid key - Ignored"
   : GOTO 2410
2220 C3$="Zone length:"
   : GOTO 2445
2230 C3$="Page Full - Please Cancel"
   : GOTO 2235
2232 C3$="Document End - Please Cancel"&HEX(07)
2235 GOSUB 2450
2240 KEYIN D1$
   : IF D1$<>HEX(50)AND D1$<>HEX(F0)THEN 2240
   : RETURN
2250 C3$="(Loading Edit)"
   : GOTO 2445
2260 C3$="Going to page"
   : GOTO 2435
2270 C3$="Invalid page - Please Cancel"
   : GOSUB 2410
   : GOSUB 2240
   : PRINT HEX(06);AT(23,31,LEN(C3$));
   : J1=J2(C1)+J1(C1)-1
   : GOTO 1126
2275 C3$="Invalid positn - Please Cancel"
   : GOSUB 2410
   : GOSUB 2240
   : PRINT HEX(06);AT(23,31,LEN(C3$));
   : J1=J9
   : GOTO 1126
2345 C3$="Page Full"
   : GOTO 2410
2410 IF I0$=" "AND C3$=" "THEN 2425
   : IF C3$<>" "THEN PRINT HEX(07);
   : IF I0$<>" "OR C3$<>" "THEN PRINT HEX(06);AT(23,48,32);B5$(2);C3$;HEX(0204
     00000E);
   : I0$=C3$
2425 PRINT HEX(06);AT(0,42);INT(J4(C1));AT(0,57);J0;HEX(020400000E);AT(C1,C7);
     HEX(02050F);
   : C3$=" "
   : RETURN
2435 PRINT HEX(0306);AT(7,30);B5$(3);C3$;" ";C6$;B5$(1)
   : RETURN
2440 PRINT HEX(06);AT(23,31,20);B5$(2);C3$;B5$(1);
   : RETURN
2445 PRINT HEX(06);AT(0,63,17);B5$(2);C3$;B5$(1);
   : RETURN
2450 PRINT HEX(06);AT(23,0,39);B5$(2);C3$;B5$(1);
   : RETURN
2455 %Document #####    Now on Page ###-   Line ###   Position ###
3000 DEFFN'31
   : A5=0
   : A5$()="609CloseJCATSMAL"
   : A5$=R3$()
   : R3$()=STR(R3$(),10)
   : IF A1>-1OR A2>-1THEN LOAD T<2>A5$()
   : COM CLEAR C
   : LOAD TA5$