Feature rich text editor.
Content
Source Code
1 REM itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-56749 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.11.2 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.11.1"\C6
Skip to content
ZX Linotype
Feature rich text editor.
Content
Source Code
1 REM \01\C6\00\2A\0C\40\09\54\5D\01\E7\00\2A\0C\40\09\01\8C\01\ED\B0\C9\01\73\02\2A\0C\40\09\54\5D\01\52\02\2A\0C\40\09\01\8C\01\ED\B8\C9\21\22\23\24\25\1C
4 REM ZX LINOTYPE (C) 1985 BY JAMES L. HILL
5 GOSUB 9000
10 DIM T$(2250)
30 LET H$="BEGIN NEW DOCUMENT"
40 DIM I$(C)
50 LET T=0
147 DIM P$(C)
148 PRINT AT 6,15-LEN H$/2;H$
150 LET X=1
160 PRINT AT 2,0;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''";AT 5,0;"\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..";AT 19,0;"<><><><><><><><><><><><><><><><>"
165 PRINT AT 20,0;T$(X TO X+C-1)
170 LET S=1
180 PRINT AT 0,0;S$(S)
299 REM %I%N%P%U%T% %R%O%U%T%I%N%E
300 FAST
301 PRINT AT 3,0;"ENTER TEXT - ENTER ""£"" TO CHANGESTATUS OR ""££"" FOR LINE NUMBERS "
302 IF S=1 THEN PRINT AT 19,0;"<<<<<<%T%Y%P%E% %O%V%E%R% %N%E%X%T% %L%I%N%E>>>>>>>"
303 IF S=2 THEN PRINT AT 19,0;"<<<<<<<<%I%N%S%E%R%T% %T%E%X%T% %H%E%R%E>>>>>>>>"
309 PRINT AT 21,0;"\..%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0\.."
310 INPUT I$
320 IF I$(1)="£" THEN GOTO 500
330 IF S=1 AND X>=2250-C+1 THEN GOTO 310
340 IF S=2 AND T>=2250-C THEN GOTO 310
350 IF S=1 THEN LET T$=T$( TO X-1)+I$+T$(X+C TO )
360 IF S=2 THEN LET T$=T$( TO X-1)+I$+T$(X TO )
370 LET X=X+C
375 IF S=1 AND X>T THEN LET T=T+C
380 IF S=2 THEN LET T=T+C
390 PRINT AT 18,USR 16514;I$
400 PRINT AT 20,0;T$(X TO X+C-1)
410 GOTO 309
499 REM %S%T%A%T%U%S
500 SLOW
501 IF I$(2)="£" THEN GOTO 2000
502 IF INKEY$<>"" THEN GOTO 502
503 PRINT AT 3,0;" USE ARROWS TO CHANGE STATUS THEN TOUCH ""ENTER"" ";AT 19,0;"<><><><><><><><><><><><><><><><>"
504 LET D$=INKEY$
506 IF D$="8" THEN LET S=S+(S<=7)-7*(S=8)
507 IF D$="5" THEN LET S=S-(S>=2)+7*(S=1)
508 PRINT AT 0,0;S$(S)
530 IF D$=CHR$ 118 THEN GOTO 300*(S<3)+600*(S=3)+700*(S=4)+900*(S=5)+1000*(S=6)+1400*(S=7)+1500*(S=8)
560 PRINT AT 0,0;"0VER INSERT DELETE SCROLL FIND PRINT SAVE ERASE "
570 GOTO 504
600 REM %D%E%L%E%T%E
601 IF INKEY$<>"" THEN GOTO 615
605 PRINT AT 3,0;" SHIFT ""0"" TO DELETE OR TOUCH ""ENTER"" TO CHANGE STATUS ";AT 19,0;"<<<<<<<<%D%E%L%E%T%E% %N%E%X%T% %L%I%N%E>>>>>>>>"
615 IF INKEY$<>"" THEN GOTO 615
620 LET D$=INKEY$
640 IF D$=CHR$ 118 THEN GOTO 500
645 IF X>T OR X>=2250-C+1 THEN GOTO 620
650 IF D$=CHR$ 119 THEN LET T$=T$( TO X-1)+T$(X+C TO )
655 IF D$=CHR$ 119 THEN LET T=T-C
660 PRINT AT 20,0;T$(X TO X+C-1)
670 GOTO 620
700 REM %S%C%R%O%L%L
701 IF INKEY$<>"" THEN GOTO 701
702 PRINT AT 3,0;" USE ARROWS TO SCROLL OR TOUCH ""ENTER"" TO CHANGE STATUS "
710 LET D$=INKEY$
730 IF D$="7" AND X<T AND X<2250-C+1 THEN GOTO 760
740 IF D$="6" AND X>=C+1 THEN GOTO 810
750 IF D$=CHR$ 118 THEN GOTO 500
755 GOTO 710
760 PRINT AT 18,USR 16514;T$(X TO X+C-1)
770 LET X=X+C
790 PRINT AT 20,0;T$(X TO X+C-1)
800 GOTO 710
820 LET X=X-C
830 PRINT AT 20,0;T$(X TO X+C-1)
840 IF X>=13*C+1 THEN PRINT AT 6,USR 16536;T$(X-13*C TO X-13*C+C-1)
850 IF X<13*C+1 THEN PRINT AT 6,USR 16536;E$
860 GOTO 710
900 REM %F%I%N%D
901 IF INKEY$<>"" THEN GOTO 901
905 PRINT AT 3,0;"ENTER WORD OR PHRASE TO FIND OR TOUCH ""ENTER"" TO CHANGE STATUS "
910 SLOW
911 INPUT D$
912 PRINT AT 20,0;E$
915 IF D$="" THEN GOTO 500
920 FAST
921 FOR N=6 TO 18
922 PRINT AT N,0;E$
923 NEXT N
930 IF D$<>"£" THEN LET F$=D$
940 IF D$<>"£" THEN LET X=1
941 FOR N=X TO T-LEN F$+1
945 IF T$(N TO N+LEN F$-1)=F$ THEN GOTO 965
950 NEXT N
955 PRINT AT 20,0;"*******SEARCH IS COMPLETE*******"
960 GOTO 905
965 LET X=INT (N/C)*C+1
970 PRINT AT 20,0;T$(X TO X+C-1);AT 3,0;"ENTER ""£"" TO CONTINUE SEARCH OR"
973 LET X=X+C
975 GOTO 910
1000 REM %P%R%I%N%T
1010 IF INKEY$<>"" THEN GOTO 1010
1020 PRINT AT 3,0;"ENTER ""P""(PRINTER) - ""S""(SCREEN)TOUCH ""ENTER"" TO CHANGE STATUS "
1030 INPUT D$
1035 IF D$="" THEN GOTO 500
1040 LET PS=(D$="P")
1050 PRINT AT 3,0;"ENTER NO. OF FIRST LINE TO PRINT";E$
1060 INPUT L1
1070 PRINT AT 4,0;"ENTER NO. OF LAST LINE TO PRINT "
1080 INPUT L2
1082 FOR N=6 TO 18
1084 PRINT AT N,0;E$
1086 NEXT N
1087 PRINT AT 20,0;E$
1090 IF PS=1 THEN FAST
1092 LET J=0
1100 IF L2*C>T THEN LET L2=T/C
1110 FOR N=L1 TO L2
1115 LET CJ=0
1120 LET P$=T$(N*C-C+1 TO N*C)
1130 IF P$(C)="<" THEN LET J=1
1140 IF P$(C)=">" THEN LET J=0
1150 IF P$(C)=">" OR P$(C)="<" THEN LET P$(C)=" "
1160 IF P$(C)="*" THEN GOTO 1270
1165 IF J=0 THEN GOTO 1310
1170 FOR M=C TO 1 STEP -1
1180 IF P$(M)="." OR P$(M)=":" OR P$(M)="?" THEN GOTO 1310
1190 IF P$(M)<>" " THEN GOTO 1220
1200 NEXT M
1210 GOTO 1310
1220 FOR Q=M TO 1 STEP -1
1225 IF P$(Q)=" " THEN LET CJ=1
1230 IF P$(Q)=" " THEN LET P$=P$( TO Q)+P$(Q TO )
1240 IF P$(C)<>" " THEN GOTO 1310
1250 NEXT Q
1260 IF CJ=1 THEN GOTO 1170
1265 GOTO 1310
1270 FOR M=C-1 TO 1 STEP -1
1280 IF P$(M)<>" " THEN GOTO 1300
1290 NEXT M
1300 LET P$=E$( TO (C-M)/2)+P$
1310 IF PS=1 THEN LPRINT P$
1320 IF PS=0 THEN PRINT AT 18,USR 16514;P$
1330 NEXT N
1340 SLOW
1350 GOTO 1020
1400 REM %S%A%V%E
1410 IF INKEY$<>"" THEN GOTO 1410
1420 PRINT AT 3,0;" ENTER NAME OF DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1430 INPUT H$
1440 IF H$="" THEN GOTO 500
1450 PRINT AT 3,0;"ENTER ""S"" WHEN RECORDER IS READY";E$
1460 INPUT D$
1470 SAVE H$
1480 GOTO 148
1500 REM %E%R%A%S%E
1510 IF INKEY$<>"" THEN GOTO 1510
1520 PRINT AT 3,0;" ENTER ""E"" TO ERASE DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1530 INPUT D$
1540 IF D$<>"E" THEN GOTO 500
1545 CLS
1546 FAST
1550 GOTO 1
2000 REM %L%I%N%E% %N%U%M%B%E%R%S
2001 PRINT AT 19,0;E$;AT 19,0;"%L%I%N%E% %B%E%L%O%W%= ";(X+C-1)/C,"%L%I%N%E%S% %U%S%E%D%= ";T/C
2010 SLOW
2020 FOR N=1 TO 40
2030 NEXT N
2040 GOTO 300
3000 REM %L%O%C%A%T%E
3001 PRINT "ENTER LINE NUMBER"
3010 INPUT D$
3015 FAST
3020 LET X=(VAL D$)*C-C+1
3030 IF X>T THEN LET X=T-C+1
3040 GOTO 160
9000 REM %T%I%T%L%E
9001 SLOW
9002 PRINT AT 6,10;"ZX LINOTYPE";AT 10,3;"(C) 1985 - JAMES L. HILL";AT 19,4;"TOUCH ""ENTER"" TO BEGIN"
9010 INPUT D$
9021 PRINT AT 19,0;" COLUMN WIDTH? (ENTER A NUMBER 1 THROUGH 32)"
9022 INPUT C
9023 FAST
9024 CLS
9030 RETURN
9050 SAVE "ZX %L"
9060 GOTO 1
People
Skip to content
ZX Linotype
Feature rich text editor.
Content
Source Code
1 REM \01\C6\00\2A\0C\40\09\54\5D\01\E7\00\2A\0C\40\09\01\8C\01\ED\B0\C9\01\73\02\2A\0C\40\09\54\5D\01\52\02\2A\0C\40\09\01\8C\01\ED\B8\C9\21\22\23\24\25\1C
4 REM ZX LINOTYPE (C) 1985 BY JAMES L. HILL
5 GOSUB 9000
10 DIM T$(2250)
30 LET H$="BEGIN NEW DOCUMENT"
40 DIM I$(C)
50 LET T=0
147 DIM P$(C)
148 PRINT AT 6,15-LEN H$/2;H$
150 LET X=1
160 PRINT AT 2,0;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''";AT 5,0;"\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..";AT 19,0;"<><><><><><><><><><><><><><><><>"
165 PRINT AT 20,0;T$(X TO X+C-1)
170 LET S=1
180 PRINT AT 0,0;S$(S)
299 REM %I%N%P%U%T% %R%O%U%T%I%N%E
300 FAST
301 PRINT AT 3,0;"ENTER TEXT - ENTER ""£"" TO CHANGESTATUS OR ""££"" FOR LINE NUMBERS "
302 IF S=1 THEN PRINT AT 19,0;"<<<<<<%T%Y%P%E% %O%V%E%R% %N%E%X%T% %L%I%N%E>>>>>>>"
303 IF S=2 THEN PRINT AT 19,0;"<<<<<<<<%I%N%S%E%R%T% %T%E%X%T% %H%E%R%E>>>>>>>>"
309 PRINT AT 21,0;"\..%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0\.."
310 INPUT I$
320 IF I$(1)="£" THEN GOTO 500
330 IF S=1 AND X>=2250-C+1 THEN GOTO 310
340 IF S=2 AND T>=2250-C THEN GOTO 310
350 IF S=1 THEN LET T$=T$( TO X-1)+I$+T$(X+C TO )
360 IF S=2 THEN LET T$=T$( TO X-1)+I$+T$(X TO )
370 LET X=X+C
375 IF S=1 AND X>T THEN LET T=T+C
380 IF S=2 THEN LET T=T+C
390 PRINT AT 18,USR 16514;I$
400 PRINT AT 20,0;T$(X TO X+C-1)
410 GOTO 309
499 REM %S%T%A%T%U%S
500 SLOW
501 IF I$(2)="£" THEN GOTO 2000
502 IF INKEY$<>"" THEN GOTO 502
503 PRINT AT 3,0;" USE ARROWS TO CHANGE STATUS THEN TOUCH ""ENTER"" ";AT 19,0;"<><><><><><><><><><><><><><><><>"
504 LET D$=INKEY$
506 IF D$="8" THEN LET S=S+(S<=7)-7*(S=8)
507 IF D$="5" THEN LET S=S-(S>=2)+7*(S=1)
508 PRINT AT 0,0;S$(S)
530 IF D$=CHR$ 118 THEN GOTO 300*(S<3)+600*(S=3)+700*(S=4)+900*(S=5)+1000*(S=6)+1400*(S=7)+1500*(S=8)
560 PRINT AT 0,0;"0VER INSERT DELETE SCROLL FIND PRINT SAVE ERASE "
570 GOTO 504
600 REM %D%E%L%E%T%E
601 IF INKEY$<>"" THEN GOTO 615
605 PRINT AT 3,0;" SHIFT ""0"" TO DELETE OR TOUCH ""ENTER"" TO CHANGE STATUS ";AT 19,0;"<<<<<<<<%D%E%L%E%T%E% %N%E%X%T% %L%I%N%E>>>>>>>>"
615 IF INKEY$<>"" THEN GOTO 615
620 LET D$=INKEY$
640 IF D$=CHR$ 118 THEN GOTO 500
645 IF X>T OR X>=2250-C+1 THEN GOTO 620
650 IF D$=CHR$ 119 THEN LET T$=T$( TO X-1)+T$(X+C TO )
655 IF D$=CHR$ 119 THEN LET T=T-C
660 PRINT AT 20,0;T$(X TO X+C-1)
670 GOTO 620
700 REM %S%C%R%O%L%L
701 IF INKEY$<>"" THEN GOTO 701
702 PRINT AT 3,0;" USE ARROWS TO SCROLL OR TOUCH ""ENTER"" TO CHANGE STATUS "
710 LET D$=INKEY$
730 IF D$="7" AND X<T AND X<2250-C+1 THEN GOTO 760
740 IF D$="6" AND X>=C+1 THEN GOTO 810
750 IF D$=CHR$ 118 THEN GOTO 500
755 GOTO 710
760 PRINT AT 18,USR 16514;T$(X TO X+C-1)
770 LET X=X+C
790 PRINT AT 20,0;T$(X TO X+C-1)
800 GOTO 710
820 LET X=X-C
830 PRINT AT 20,0;T$(X TO X+C-1)
840 IF X>=13*C+1 THEN PRINT AT 6,USR 16536;T$(X-13*C TO X-13*C+C-1)
850 IF X<13*C+1 THEN PRINT AT 6,USR 16536;E$
860 GOTO 710
900 REM %F%I%N%D
901 IF INKEY$<>"" THEN GOTO 901
905 PRINT AT 3,0;"ENTER WORD OR PHRASE TO FIND OR TOUCH ""ENTER"" TO CHANGE STATUS "
910 SLOW
911 INPUT D$
912 PRINT AT 20,0;E$
915 IF D$="" THEN GOTO 500
920 FAST
921 FOR N=6 TO 18
922 PRINT AT N,0;E$
923 NEXT N
930 IF D$<>"£" THEN LET F$=D$
940 IF D$<>"£" THEN LET X=1
941 FOR N=X TO T-LEN F$+1
945 IF T$(N TO N+LEN F$-1)=F$ THEN GOTO 965
950 NEXT N
955 PRINT AT 20,0;"*******SEARCH IS COMPLETE*******"
960 GOTO 905
965 LET X=INT (N/C)*C+1
970 PRINT AT 20,0;T$(X TO X+C-1);AT 3,0;"ENTER ""£"" TO CONTINUE SEARCH OR"
973 LET X=X+C
975 GOTO 910
1000 REM %P%R%I%N%T
1010 IF INKEY$<>"" THEN GOTO 1010
1020 PRINT AT 3,0;"ENTER ""P""(PRINTER) - ""S""(SCREEN)TOUCH ""ENTER"" TO CHANGE STATUS "
1030 INPUT D$
1035 IF D$="" THEN GOTO 500
1040 LET PS=(D$="P")
1050 PRINT AT 3,0;"ENTER NO. OF FIRST LINE TO PRINT";E$
1060 INPUT L1
1070 PRINT AT 4,0;"ENTER NO. OF LAST LINE TO PRINT "
1080 INPUT L2
1082 FOR N=6 TO 18
1084 PRINT AT N,0;E$
1086 NEXT N
1087 PRINT AT 20,0;E$
1090 IF PS=1 THEN FAST
1092 LET J=0
1100 IF L2*C>T THEN LET L2=T/C
1110 FOR N=L1 TO L2
1115 LET CJ=0
1120 LET P$=T$(N*C-C+1 TO N*C)
1130 IF P$(C)="<" THEN LET J=1
1140 IF P$(C)=">" THEN LET J=0
1150 IF P$(C)=">" OR P$(C)="<" THEN LET P$(C)=" "
1160 IF P$(C)="*" THEN GOTO 1270
1165 IF J=0 THEN GOTO 1310
1170 FOR M=C TO 1 STEP -1
1180 IF P$(M)="." OR P$(M)=":" OR P$(M)="?" THEN GOTO 1310
1190 IF P$(M)<>" " THEN GOTO 1220
1200 NEXT M
1210 GOTO 1310
1220 FOR Q=M TO 1 STEP -1
1225 IF P$(Q)=" " THEN LET CJ=1
1230 IF P$(Q)=" " THEN LET P$=P$( TO Q)+P$(Q TO )
1240 IF P$(C)<>" " THEN GOTO 1310
1250 NEXT Q
1260 IF CJ=1 THEN GOTO 1170
1265 GOTO 1310
1270 FOR M=C-1 TO 1 STEP -1
1280 IF P$(M)<>" " THEN GOTO 1300
1290 NEXT M
1300 LET P$=E$( TO (C-M)/2)+P$
1310 IF PS=1 THEN LPRINT P$
1320 IF PS=0 THEN PRINT AT 18,USR 16514;P$
1330 NEXT N
1340 SLOW
1350 GOTO 1020
1400 REM %S%A%V%E
1410 IF INKEY$<>"" THEN GOTO 1410
1420 PRINT AT 3,0;" ENTER NAME OF DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1430 INPUT H$
1440 IF H$="" THEN GOTO 500
1450 PRINT AT 3,0;"ENTER ""S"" WHEN RECORDER IS READY";E$
1460 INPUT D$
1470 SAVE H$
1480 GOTO 148
1500 REM %E%R%A%S%E
1510 IF INKEY$<>"" THEN GOTO 1510
1520 PRINT AT 3,0;" ENTER ""E"" TO ERASE DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1530 INPUT D$
1540 IF D$<>"E" THEN GOTO 500
1545 CLS
1546 FAST
1550 GOTO 1
2000 REM %L%I%N%E% %N%U%M%B%E%R%S
2001 PRINT AT 19,0;E$;AT 19,0;"%L%I%N%E% %B%E%L%O%W%= ";(X+C-1)/C,"%L%I%N%E%S% %U%S%E%D%= ";T/C
2010 SLOW
2020 FOR N=1 TO 40
2030 NEXT N
2040 GOTO 300
3000 REM %L%O%C%A%T%E
3001 PRINT "ENTER LINE NUMBER"
3010 INPUT D$
3015 FAST
3020 LET X=(VAL D$)*C-C+1
3030 IF X>T THEN LET X=T-C+1
3040 GOTO 160
9000 REM %T%I%T%L%E
9001 SLOW
9002 PRINT AT 6,10;"ZX LINOTYPE";AT 10,3;"(C) 1985 - JAMES L. HILL";AT 19,4;"TOUCH ""ENTER"" TO BEGIN"
9010 INPUT D$
9021 PRINT AT 19,0;" COLUMN WIDTH? (ENTER A NUMBER 1 THROUGH 32)"
9022 INPUT C
9023 FAST
9024 CLS
9030 RETURN
9050 SAVE "ZX %L"
9060 GOTO 1
People
A
Skip to content
ZX Linotype
Feature rich text editor.
Content
Source Code
1 REM \01\C6\00\2A\0C\40\09\54\5D\01\E7\00\2A\0C\40\09\01\8C\01\ED\B0\C9\01\73\02\2A\0C\40\09\54\5D\01\52\02\2A\0C\40\09\01\8C\01\ED\B8\C9\21\22\23\24\25\1C
4 REM ZX LINOTYPE (C) 1985 BY JAMES L. HILL
5 GOSUB 9000
10 DIM T$(2250)
30 LET H$="BEGIN NEW DOCUMENT"
40 DIM I$(C)
50 LET T=0
147 DIM P$(C)
148 PRINT AT 6,15-LEN H$/2;H$
150 LET X=1
160 PRINT AT 2,0;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''";AT 5,0;"\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..";AT 19,0;"<><><><><><><><><><><><><><><><>"
165 PRINT AT 20,0;T$(X TO X+C-1)
170 LET S=1
180 PRINT AT 0,0;S$(S)
299 REM %I%N%P%U%T% %R%O%U%T%I%N%E
300 FAST
301 PRINT AT 3,0;"ENTER TEXT - ENTER ""£"" TO CHANGESTATUS OR ""££"" FOR LINE NUMBERS "
302 IF S=1 THEN PRINT AT 19,0;"<<<<<<%T%Y%P%E% %O%V%E%R% %N%E%X%T% %L%I%N%E>>>>>>>"
303 IF S=2 THEN PRINT AT 19,0;"<<<<<<<<%I%N%S%E%R%T% %T%E%X%T% %H%E%R%E>>>>>>>>"
309 PRINT AT 21,0;"\..%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0\.."
310 INPUT I$
320 IF I$(1)="£" THEN GOTO 500
330 IF S=1 AND X>=2250-C+1 THEN GOTO 310
340 IF S=2 AND T>=2250-C THEN GOTO 310
350 IF S=1 THEN LET T$=T$( TO X-1)+I$+T$(X+C TO )
360 IF S=2 THEN LET T$=T$( TO X-1)+I$+T$(X TO )
370 LET X=X+C
375 IF S=1 AND X>T THEN LET T=T+C
380 IF S=2 THEN LET T=T+C
390 PRINT AT 18,USR 16514;I$
400 PRINT AT 20,0;T$(X TO X+C-1)
410 GOTO 309
499 REM %S%T%A%T%U%S
500 SLOW
501 IF I$(2)="£" THEN GOTO 2000
502 IF INKEY$<>"" THEN GOTO 502
503 PRINT AT 3,0;" USE ARROWS TO CHANGE STATUS THEN TOUCH ""ENTER"" ";AT 19,0;"<><><><><><><><><><><><><><><><>"
504 LET D$=INKEY$
506 IF D$="8" THEN LET S=S+(S<=7)-7*(S=8)
507 IF D$="5" THEN LET S=S-(S>=2)+7*(S=1)
508 PRINT AT 0,0;S$(S)
530 IF D$=CHR$ 118 THEN GOTO 300*(S<3)+600*(S=3)+700*(S=4)+900*(S=5)+1000*(S=6)+1400*(S=7)+1500*(S=8)
560 PRINT AT 0,0;"0VER INSERT DELETE SCROLL FIND PRINT SAVE ERASE "
570 GOTO 504
600 REM %D%E%L%E%T%E
601 IF INKEY$<>"" THEN GOTO 615
605 PRINT AT 3,0;" SHIFT ""0"" TO DELETE OR TOUCH ""ENTER"" TO CHANGE STATUS ";AT 19,0;"<<<<<<<<%D%E%L%E%T%E% %N%E%X%T% %L%I%N%E>>>>>>>>"
615 IF INKEY$<>"" THEN GOTO 615
620 LET D$=INKEY$
640 IF D$=CHR$ 118 THEN GOTO 500
645 IF X>T OR X>=2250-C+1 THEN GOTO 620
650 IF D$=CHR$ 119 THEN LET T$=T$( TO X-1)+T$(X+C TO )
655 IF D$=CHR$ 119 THEN LET T=T-C
660 PRINT AT 20,0;T$(X TO X+C-1)
670 GOTO 620
700 REM %S%C%R%O%L%L
701 IF INKEY$<>"" THEN GOTO 701
702 PRINT AT 3,0;" USE ARROWS TO SCROLL OR TOUCH ""ENTER"" TO CHANGE STATUS "
710 LET D$=INKEY$
730 IF D$="7" AND X<T AND X<2250-C+1 THEN GOTO 760
740 IF D$="6" AND X>=C+1 THEN GOTO 810
750 IF D$=CHR$ 118 THEN GOTO 500
755 GOTO 710
760 PRINT AT 18,USR 16514;T$(X TO X+C-1)
770 LET X=X+C
790 PRINT AT 20,0;T$(X TO X+C-1)
800 GOTO 710
820 LET X=X-C
830 PRINT AT 20,0;T$(X TO X+C-1)
840 IF X>=13*C+1 THEN PRINT AT 6,USR 16536;T$(X-13*C TO X-13*C+C-1)
850 IF X<13*C+1 THEN PRINT AT 6,USR 16536;E$
860 GOTO 710
900 REM %F%I%N%D
901 IF INKEY$<>"" THEN GOTO 901
905 PRINT AT 3,0;"ENTER WORD OR PHRASE TO FIND OR TOUCH ""ENTER"" TO CHANGE STATUS "
910 SLOW
911 INPUT D$
912 PRINT AT 20,0;E$
915 IF D$="" THEN GOTO 500
920 FAST
921 FOR N=6 TO 18
922 PRINT AT N,0;E$
923 NEXT N
930 IF D$<>"£" THEN LET F$=D$
940 IF D$<>"£" THEN LET X=1
941 FOR N=X TO T-LEN F$+1
945 IF T$(N TO N+LEN F$-1)=F$ THEN GOTO 965
950 NEXT N
955 PRINT AT 20,0;"*******SEARCH IS COMPLETE*******"
960 GOTO 905
965 LET X=INT (N/C)*C+1
970 PRINT AT 20,0;T$(X TO X+C-1);AT 3,0;"ENTER ""£"" TO CONTINUE SEARCH OR"
973 LET X=X+C
975 GOTO 910
1000 REM %P%R%I%N%T
1010 IF INKEY$<>"" THEN GOTO 1010
1020 PRINT AT 3,0;"ENTER ""P""(PRINTER) - ""S""(SCREEN)TOUCH ""ENTER"" TO CHANGE STATUS "
1030 INPUT D$
1035 IF D$="" THEN GOTO 500
1040 LET PS=(D$="P")
1050 PRINT AT 3,0;"ENTER NO. OF FIRST LINE TO PRINT";E$
1060 INPUT L1
1070 PRINT AT 4,0;"ENTER NO. OF LAST LINE TO PRINT "
1080 INPUT L2
1082 FOR N=6 TO 18
1084 PRINT AT N,0;E$
1086 NEXT N
1087 PRINT AT 20,0;E$
1090 IF PS=1 THEN FAST
1092 LET J=0
1100 IF L2*C>T THEN LET L2=T/C
1110 FOR N=L1 TO L2
1115 LET CJ=0
1120 LET P$=T$(N*C-C+1 TO N*C)
1130 IF P$(C)="<" THEN LET J=1
1140 IF P$(C)=">" THEN LET J=0
1150 IF P$(C)=">" OR P$(C)="<" THEN LET P$(C)=" "
1160 IF P$(C)="*" THEN GOTO 1270
1165 IF J=0 THEN GOTO 1310
1170 FOR M=C TO 1 STEP -1
1180 IF P$(M)="." OR P$(M)=":" OR P$(M)="?" THEN GOTO 1310
1190 IF P$(M)<>" " THEN GOTO 1220
1200 NEXT M
1210 GOTO 1310
1220 FOR Q=M TO 1 STEP -1
1225 IF P$(Q)=" " THEN LET CJ=1
1230 IF P$(Q)=" " THEN LET P$=P$( TO Q)+P$(Q TO )
1240 IF P$(C)<>" " THEN GOTO 1310
1250 NEXT Q
1260 IF CJ=1 THEN GOTO 1170
1265 GOTO 1310
1270 FOR M=C-1 TO 1 STEP -1
1280 IF P$(M)<>" " THEN GOTO 1300
1290 NEXT M
1300 LET P$=E$( TO (C-M)/2)+P$
1310 IF PS=1 THEN LPRINT P$
1320 IF PS=0 THEN PRINT AT 18,USR 16514;P$
1330 NEXT N
1340 SLOW
1350 GOTO 1020
1400 REM %S%A%V%E
1410 IF INKEY$<>"" THEN GOTO 1410
1420 PRINT AT 3,0;" ENTER NAME OF DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1430 INPUT H$
1440 IF H$="" THEN GOTO 500
1450 PRINT AT 3,0;"ENTER ""S"" WHEN RECORDER IS READY";E$
1460 INPUT D$
1470 SAVE H$
1480 GOTO 148
1500 REM %E%R%A%S%E
1510 IF INKEY$<>"" THEN GOTO 1510
1520 PRINT AT 3,0;" ENTER ""E"" TO ERASE DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1530 INPUT D$
1540 IF D$<>"E" THEN GOTO 500
1545 CLS
1546 FAST
1550 GOTO 1
2000 REM %L%I%N%E% %N%U%M%B%E%R%S
2001 PRINT AT 19,0;E$;AT 19,0;"%L%I%N%E% %B%E%L%O%W%= ";(X+C-1)/C,"%L%I%N%E%S% %U%S%E%D%= ";T/C
2010 SLOW
2020 FOR N=1 TO 40
2030 NEXT N
2040 GOTO 300
3000 REM %L%O%C%A%T%E
3001 PRINT "ENTER LINE NUMBER"
3010 INPUT D$
3015 FAST
3020 LET X=(VAL D$)*C-C+1
3030 IF X>T THEN LET X=T-C+1
3040 GOTO 160
9000 REM %T%I%T%L%E
9001 SLOW
9002 PRINT AT 6,10;"ZX LINOTYPE";AT 10,3;"(C) 1985 - JAMES L. HILL";AT 19,4;"TOUCH ""ENTER"" TO BEGIN"
9010 INPUT D$
9021 PRINT AT 19,0;" COLUMN WIDTH? (ENTER A NUMBER 1 THROUGH 32)"
9022 INPUT C
9023 FAST
9024 CLS
9030 RETURN
9050 SAVE "ZX %L"
9060 GOTO 1
People
CD itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-56749 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.11.2 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.11.1"\E7
Skip to content
ZX Linotype
Feature rich text editor.
Content
Source Code
1 REM \01\C6\00\2A\0C\40\09\54\5D\01\E7\00\2A\0C\40\09\01\8C\01\ED\B0\C9\01\73\02\2A\0C\40\09\54\5D\01\52\02\2A\0C\40\09\01\8C\01\ED\B8\C9\21\22\23\24\25\1C
4 REM ZX LINOTYPE (C) 1985 BY JAMES L. HILL
5 GOSUB 9000
10 DIM T$(2250)
30 LET H$="BEGIN NEW DOCUMENT"
40 DIM I$(C)
50 LET T=0
147 DIM P$(C)
148 PRINT AT 6,15-LEN H$/2;H$
150 LET X=1
160 PRINT AT 2,0;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''";AT 5,0;"\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..";AT 19,0;"<><><><><><><><><><><><><><><><>"
165 PRINT AT 20,0;T$(X TO X+C-1)
170 LET S=1
180 PRINT AT 0,0;S$(S)
299 REM %I%N%P%U%T% %R%O%U%T%I%N%E
300 FAST
301 PRINT AT 3,0;"ENTER TEXT - ENTER ""£"" TO CHANGESTATUS OR ""££"" FOR LINE NUMBERS "
302 IF S=1 THEN PRINT AT 19,0;"<<<<<<%T%Y%P%E% %O%V%E%R% %N%E%X%T% %L%I%N%E>>>>>>>"
303 IF S=2 THEN PRINT AT 19,0;"<<<<<<<<%I%N%S%E%R%T% %T%E%X%T% %H%E%R%E>>>>>>>>"
309 PRINT AT 21,0;"\..%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0\.."
310 INPUT I$
320 IF I$(1)="£" THEN GOTO 500
330 IF S=1 AND X>=2250-C+1 THEN GOTO 310
340 IF S=2 AND T>=2250-C THEN GOTO 310
350 IF S=1 THEN LET T$=T$( TO X-1)+I$+T$(X+C TO )
360 IF S=2 THEN LET T$=T$( TO X-1)+I$+T$(X TO )
370 LET X=X+C
375 IF S=1 AND X>T THEN LET T=T+C
380 IF S=2 THEN LET T=T+C
390 PRINT AT 18,USR 16514;I$
400 PRINT AT 20,0;T$(X TO X+C-1)
410 GOTO 309
499 REM %S%T%A%T%U%S
500 SLOW
501 IF I$(2)="£" THEN GOTO 2000
502 IF INKEY$<>"" THEN GOTO 502
503 PRINT AT 3,0;" USE ARROWS TO CHANGE STATUS THEN TOUCH ""ENTER"" ";AT 19,0;"<><><><><><><><><><><><><><><><>"
504 LET D$=INKEY$
506 IF D$="8" THEN LET S=S+(S<=7)-7*(S=8)
507 IF D$="5" THEN LET S=S-(S>=2)+7*(S=1)
508 PRINT AT 0,0;S$(S)
530 IF D$=CHR$ 118 THEN GOTO 300*(S<3)+600*(S=3)+700*(S=4)+900*(S=5)+1000*(S=6)+1400*(S=7)+1500*(S=8)
560 PRINT AT 0,0;"0VER INSERT DELETE SCROLL FIND PRINT SAVE ERASE "
570 GOTO 504
600 REM %D%E%L%E%T%E
601 IF INKEY$<>"" THEN GOTO 615
605 PRINT AT 3,0;" SHIFT ""0"" TO DELETE OR TOUCH ""ENTER"" TO CHANGE STATUS ";AT 19,0;"<<<<<<<<%D%E%L%E%T%E% %N%E%X%T% %L%I%N%E>>>>>>>>"
615 IF INKEY$<>"" THEN GOTO 615
620 LET D$=INKEY$
640 IF D$=CHR$ 118 THEN GOTO 500
645 IF X>T OR X>=2250-C+1 THEN GOTO 620
650 IF D$=CHR$ 119 THEN LET T$=T$( TO X-1)+T$(X+C TO )
655 IF D$=CHR$ 119 THEN LET T=T-C
660 PRINT AT 20,0;T$(X TO X+C-1)
670 GOTO 620
700 REM %S%C%R%O%L%L
701 IF INKEY$<>"" THEN GOTO 701
702 PRINT AT 3,0;" USE ARROWS TO SCROLL OR TOUCH ""ENTER"" TO CHANGE STATUS "
710 LET D$=INKEY$
730 IF D$="7" AND X<T AND X<2250-C+1 THEN GOTO 760
740 IF D$="6" AND X>=C+1 THEN GOTO 810
750 IF D$=CHR$ 118 THEN GOTO 500
755 GOTO 710
760 PRINT AT 18,USR 16514;T$(X TO X+C-1)
770 LET X=X+C
790 PRINT AT 20,0;T$(X TO X+C-1)
800 GOTO 710
820 LET X=X-C
830 PRINT AT 20,0;T$(X TO X+C-1)
840 IF X>=13*C+1 THEN PRINT AT 6,USR 16536;T$(X-13*C TO X-13*C+C-1)
850 IF X<13*C+1 THEN PRINT AT 6,USR 16536;E$
860 GOTO 710
900 REM %F%I%N%D
901 IF INKEY$<>"" THEN GOTO 901
905 PRINT AT 3,0;"ENTER WORD OR PHRASE TO FIND OR TOUCH ""ENTER"" TO CHANGE STATUS "
910 SLOW
911 INPUT D$
912 PRINT AT 20,0;E$
915 IF D$="" THEN GOTO 500
920 FAST
921 FOR N=6 TO 18
922 PRINT AT N,0;E$
923 NEXT N
930 IF D$<>"£" THEN LET F$=D$
940 IF D$<>"£" THEN LET X=1
941 FOR N=X TO T-LEN F$+1
945 IF T$(N TO N+LEN F$-1)=F$ THEN GOTO 965
950 NEXT N
955 PRINT AT 20,0;"*******SEARCH IS COMPLETE*******"
960 GOTO 905
965 LET X=INT (N/C)*C+1
970 PRINT AT 20,0;T$(X TO X+C-1);AT 3,0;"ENTER ""£"" TO CONTINUE SEARCH OR"
973 LET X=X+C
975 GOTO 910
1000 REM %P%R%I%N%T
1010 IF INKEY$<>"" THEN GOTO 1010
1020 PRINT AT 3,0;"ENTER ""P""(PRINTER) - ""S""(SCREEN)TOUCH ""ENTER"" TO CHANGE STATUS "
1030 INPUT D$
1035 IF D$="" THEN GOTO 500
1040 LET PS=(D$="P")
1050 PRINT AT 3,0;"ENTER NO. OF FIRST LINE TO PRINT";E$
1060 INPUT L1
1070 PRINT AT 4,0;"ENTER NO. OF LAST LINE TO PRINT "
1080 INPUT L2
1082 FOR N=6 TO 18
1084 PRINT AT N,0;E$
1086 NEXT N
1087 PRINT AT 20,0;E$
1090 IF PS=1 THEN FAST
1092 LET J=0
1100 IF L2*C>T THEN LET L2=T/C
1110 FOR N=L1 TO L2
1115 LET CJ=0
1120 LET P$=T$(N*C-C+1 TO N*C)
1130 IF P$(C)="<" THEN LET J=1
1140 IF P$(C)=">" THEN LET J=0
1150 IF P$(C)=">" OR P$(C)="<" THEN LET P$(C)=" "
1160 IF P$(C)="*" THEN GOTO 1270
1165 IF J=0 THEN GOTO 1310
1170 FOR M=C TO 1 STEP -1
1180 IF P$(M)="." OR P$(M)=":" OR P$(M)="?" THEN GOTO 1310
1190 IF P$(M)<>" " THEN GOTO 1220
1200 NEXT M
1210 GOTO 1310
1220 FOR Q=M TO 1 STEP -1
1225 IF P$(Q)=" " THEN LET CJ=1
1230 IF P$(Q)=" " THEN LET P$=P$( TO Q)+P$(Q TO )
1240 IF P$(C)<>" " THEN GOTO 1310
1250 NEXT Q
1260 IF CJ=1 THEN GOTO 1170
1265 GOTO 1310
1270 FOR M=C-1 TO 1 STEP -1
1280 IF P$(M)<>" " THEN GOTO 1300
1290 NEXT M
1300 LET P$=E$( TO (C-M)/2)+P$
1310 IF PS=1 THEN LPRINT P$
1320 IF PS=0 THEN PRINT AT 18,USR 16514;P$
1330 NEXT N
1340 SLOW
1350 GOTO 1020
1400 REM %S%A%V%E
1410 IF INKEY$<>"" THEN GOTO 1410
1420 PRINT AT 3,0;" ENTER NAME OF DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1430 INPUT H$
1440 IF H$="" THEN GOTO 500
1450 PRINT AT 3,0;"ENTER ""S"" WHEN RECORDER IS READY";E$
1460 INPUT D$
1470 SAVE H$
1480 GOTO 148
1500 REM %E%R%A%S%E
1510 IF INKEY$<>"" THEN GOTO 1510
1520 PRINT AT 3,0;" ENTER ""E"" TO ERASE DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1530 INPUT D$
1540 IF D$<>"E" THEN GOTO 500
1545 CLS
1546 FAST
1550 GOTO 1
2000 REM %L%I%N%E% %N%U%M%B%E%R%S
2001 PRINT AT 19,0;E$;AT 19,0;"%L%I%N%E% %B%E%L%O%W%= ";(X+C-1)/C,"%L%I%N%E%S% %U%S%E%D%= ";T/C
2010 SLOW
2020 FOR N=1 TO 40
2030 NEXT N
2040 GOTO 300
3000 REM %L%O%C%A%T%E
3001 PRINT "ENTER LINE NUMBER"
3010 INPUT D$
3015 FAST
3020 LET X=(VAL D$)*C-C+1
3030 IF X>T THEN LET X=T-C+1
3040 GOTO 160
9000 REM %T%I%T%L%E
9001 SLOW
9002 PRINT AT 6,10;"ZX LINOTYPE";AT 10,3;"(C) 1985 - JAMES L. HILL";AT 19,4;"TOUCH ""ENTER"" TO BEGIN"
9010 INPUT D$
9021 PRINT AT 19,0;" COLUMN WIDTH? (ENTER A NUMBER 1 THROUGH 32)"
9022 INPUT C
9023 FAST
9024 CLS
9030 RETURN
9050 SAVE "ZX %L"
9060 GOTO 1
People
Skip to content
ZX Linotype
Feature rich text editor.
Content
Source Code
1 REM \01\C6\00\2A\0C\40\09\54\5D\01\E7\00\2A\0C\40\09\01\8C\01\ED\B0\C9\01\73\02\2A\0C\40\09\54\5D\01\52\02\2A\0C\40\09\01\8C\01\ED\B8\C9\21\22\23\24\25\1C
4 REM ZX LINOTYPE (C) 1985 BY JAMES L. HILL
5 GOSUB 9000
10 DIM T$(2250)
30 LET H$="BEGIN NEW DOCUMENT"
40 DIM I$(C)
50 LET T=0
147 DIM P$(C)
148 PRINT AT 6,15-LEN H$/2;H$
150 LET X=1
160 PRINT AT 2,0;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''";AT 5,0;"\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..";AT 19,0;"<><><><><><><><><><><><><><><><>"
165 PRINT AT 20,0;T$(X TO X+C-1)
170 LET S=1
180 PRINT AT 0,0;S$(S)
299 REM %I%N%P%U%T% %R%O%U%T%I%N%E
300 FAST
301 PRINT AT 3,0;"ENTER TEXT - ENTER ""£"" TO CHANGESTATUS OR ""££"" FOR LINE NUMBERS "
302 IF S=1 THEN PRINT AT 19,0;"<<<<<<%T%Y%P%E% %O%V%E%R% %N%E%X%T% %L%I%N%E>>>>>>>"
303 IF S=2 THEN PRINT AT 19,0;"<<<<<<<<%I%N%S%E%R%T% %T%E%X%T% %H%E%R%E>>>>>>>>"
309 PRINT AT 21,0;"\..%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0\.."
310 INPUT I$
320 IF I$(1)="£" THEN GOTO 500
330 IF S=1 AND X>=2250-C+1 THEN GOTO 310
340 IF S=2 AND T>=2250-C THEN GOTO 310
350 IF S=1 THEN LET T$=T$( TO X-1)+I$+T$(X+C TO )
360 IF S=2 THEN LET T$=T$( TO X-1)+I$+T$(X TO )
370 LET X=X+C
375 IF S=1 AND X>T THEN LET T=T+C
380 IF S=2 THEN LET T=T+C
390 PRINT AT 18,USR 16514;I$
400 PRINT AT 20,0;T$(X TO X+C-1)
410 GOTO 309
499 REM %S%T%A%T%U%S
500 SLOW
501 IF I$(2)="£" THEN GOTO 2000
502 IF INKEY$<>"" THEN GOTO 502
503 PRINT AT 3,0;" USE ARROWS TO CHANGE STATUS THEN TOUCH ""ENTER"" ";AT 19,0;"<><><><><><><><><><><><><><><><>"
504 LET D$=INKEY$
506 IF D$="8" THEN LET S=S+(S<=7)-7*(S=8)
507 IF D$="5" THEN LET S=S-(S>=2)+7*(S=1)
508 PRINT AT 0,0;S$(S)
530 IF D$=CHR$ 118 THEN GOTO 300*(S<3)+600*(S=3)+700*(S=4)+900*(S=5)+1000*(S=6)+1400*(S=7)+1500*(S=8)
560 PRINT AT 0,0;"0VER INSERT DELETE SCROLL FIND PRINT SAVE ERASE "
570 GOTO 504
600 REM %D%E%L%E%T%E
601 IF INKEY$<>"" THEN GOTO 615
605 PRINT AT 3,0;" SHIFT ""0"" TO DELETE OR TOUCH ""ENTER"" TO CHANGE STATUS ";AT 19,0;"<<<<<<<<%D%E%L%E%T%E% %N%E%X%T% %L%I%N%E>>>>>>>>"
615 IF INKEY$<>"" THEN GOTO 615
620 LET D$=INKEY$
640 IF D$=CHR$ 118 THEN GOTO 500
645 IF X>T OR X>=2250-C+1 THEN GOTO 620
650 IF D$=CHR$ 119 THEN LET T$=T$( TO X-1)+T$(X+C TO )
655 IF D$=CHR$ 119 THEN LET T=T-C
660 PRINT AT 20,0;T$(X TO X+C-1)
670 GOTO 620
700 REM %S%C%R%O%L%L
701 IF INKEY$<>"" THEN GOTO 701
702 PRINT AT 3,0;" USE ARROWS TO SCROLL OR TOUCH ""ENTER"" TO CHANGE STATUS "
710 LET D$=INKEY$
730 IF D$="7" AND X<T AND X<2250-C+1 THEN GOTO 760
740 IF D$="6" AND X>=C+1 THEN GOTO 810
750 IF D$=CHR$ 118 THEN GOTO 500
755 GOTO 710
760 PRINT AT 18,USR 16514;T$(X TO X+C-1)
770 LET X=X+C
790 PRINT AT 20,0;T$(X TO X+C-1)
800 GOTO 710
820 LET X=X-C
830 PRINT AT 20,0;T$(X TO X+C-1)
840 IF X>=13*C+1 THEN PRINT AT 6,USR 16536;T$(X-13*C TO X-13*C+C-1)
850 IF X<13*C+1 THEN PRINT AT 6,USR 16536;E$
860 GOTO 710
900 REM %F%I%N%D
901 IF INKEY$<>"" THEN GOTO 901
905 PRINT AT 3,0;"ENTER WORD OR PHRASE TO FIND OR TOUCH ""ENTER"" TO CHANGE STATUS "
910 SLOW
911 INPUT D$
912 PRINT AT 20,0;E$
915 IF D$="" THEN GOTO 500
920 FAST
921 FOR N=6 TO 18
922 PRINT AT N,0;E$
923 NEXT N
930 IF D$<>"£" THEN LET F$=D$
940 IF D$<>"£" THEN LET X=1
941 FOR N=X TO T-LEN F$+1
945 IF T$(N TO N+LEN F$-1)=F$ THEN GOTO 965
950 NEXT N
955 PRINT AT 20,0;"*******SEARCH IS COMPLETE*******"
960 GOTO 905
965 LET X=INT (N/C)*C+1
970 PRINT AT 20,0;T$(X TO X+C-1);AT 3,0;"ENTER ""£"" TO CONTINUE SEARCH OR"
973 LET X=X+C
975 GOTO 910
1000 REM %P%R%I%N%T
1010 IF INKEY$<>"" THEN GOTO 1010
1020 PRINT AT 3,0;"ENTER ""P""(PRINTER) - ""S""(SCREEN)TOUCH ""ENTER"" TO CHANGE STATUS "
1030 INPUT D$
1035 IF D$="" THEN GOTO 500
1040 LET PS=(D$="P")
1050 PRINT AT 3,0;"ENTER NO. OF FIRST LINE TO PRINT";E$
1060 INPUT L1
1070 PRINT AT 4,0;"ENTER NO. OF LAST LINE TO PRINT "
1080 INPUT L2
1082 FOR N=6 TO 18
1084 PRINT AT N,0;E$
1086 NEXT N
1087 PRINT AT 20,0;E$
1090 IF PS=1 THEN FAST
1092 LET J=0
1100 IF L2*C>T THEN LET L2=T/C
1110 FOR N=L1 TO L2
1115 LET CJ=0
1120 LET P$=T$(N*C-C+1 TO N*C)
1130 IF P$(C)="<" THEN LET J=1
1140 IF P$(C)=">" THEN LET J=0
1150 IF P$(C)=">" OR P$(C)="<" THEN LET P$(C)=" "
1160 IF P$(C)="*" THEN GOTO 1270
1165 IF J=0 THEN GOTO 1310
1170 FOR M=C TO 1 STEP -1
1180 IF P$(M)="." OR P$(M)=":" OR P$(M)="?" THEN GOTO 1310
1190 IF P$(M)<>" " THEN GOTO 1220
1200 NEXT M
1210 GOTO 1310
1220 FOR Q=M TO 1 STEP -1
1225 IF P$(Q)=" " THEN LET CJ=1
1230 IF P$(Q)=" " THEN LET P$=P$( TO Q)+P$(Q TO )
1240 IF P$(C)<>" " THEN GOTO 1310
1250 NEXT Q
1260 IF CJ=1 THEN GOTO 1170
1265 GOTO 1310
1270 FOR M=C-1 TO 1 STEP -1
1280 IF P$(M)<>" " THEN GOTO 1300
1290 NEXT M
1300 LET P$=E$( TO (C-M)/2)+P$
1310 IF PS=1 THEN LPRINT P$
1320 IF PS=0 THEN PRINT AT 18,USR 16514;P$
1330 NEXT N
1340 SLOW
1350 GOTO 1020
1400 REM %S%A%V%E
1410 IF INKEY$<>"" THEN GOTO 1410
1420 PRINT AT 3,0;" ENTER NAME OF DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1430 INPUT H$
1440 IF H$="" THEN GOTO 500
1450 PRINT AT 3,0;"ENTER ""S"" WHEN RECORDER IS READY";E$
1460 INPUT D$
1470 SAVE H$
1480 GOTO 148
1500 REM %E%R%A%S%E
1510 IF INKEY$<>"" THEN GOTO 1510
1520 PRINT AT 3,0;" ENTER ""E"" TO ERASE DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1530 INPUT D$
1540 IF D$<>"E" THEN GOTO 500
1545 CLS
1546 FAST
1550 GOTO 1
2000 REM %L%I%N%E% %N%U%M%B%E%R%S
2001 PRINT AT 19,0;E$;AT 19,0;"%L%I%N%E% %B%E%L%O%W%= ";(X+C-1)/C,"%L%I%N%E%S% %U%S%E%D%= ";T/C
2010 SLOW
2020 FOR N=1 TO 40
2030 NEXT N
2040 GOTO 300
3000 REM %L%O%C%A%T%E
3001 PRINT "ENTER LINE NUMBER"
3010 INPUT D$
3015 FAST
3020 LET X=(VAL D$)*C-C+1
3030 IF X>T THEN LET X=T-C+1
3040 GOTO 160
9000 REM %T%I%T%L%E
9001 SLOW
9002 PRINT AT 6,10;"ZX LINOTYPE";AT 10,3;"(C) 1985 - JAMES L. HILL";AT 19,4;"TOUCH ""ENTER"" TO BEGIN"
9010 INPUT D$
9021 PRINT AT 19,0;" COLUMN WIDTH? (ENTER A NUMBER 1 THROUGH 32)"
9022 INPUT C
9023 FAST
9024 CLS
9030 RETURN
9050 SAVE "ZX %L"
9060 GOTO 1
People
A
Skip to content
ZX Linotype
Feature rich text editor.
Content
Source Code
1 REM \01\C6\00\2A\0C\40\09\54\5D\01\E7\00\2A\0C\40\09\01\8C\01\ED\B0\C9\01\73\02\2A\0C\40\09\54\5D\01\52\02\2A\0C\40\09\01\8C\01\ED\B8\C9\21\22\23\24\25\1C
4 REM ZX LINOTYPE (C) 1985 BY JAMES L. HILL
5 GOSUB 9000
10 DIM T$(2250)
30 LET H$="BEGIN NEW DOCUMENT"
40 DIM I$(C)
50 LET T=0
147 DIM P$(C)
148 PRINT AT 6,15-LEN H$/2;H$
150 LET X=1
160 PRINT AT 2,0;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''";AT 5,0;"\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..";AT 19,0;"<><><><><><><><><><><><><><><><>"
165 PRINT AT 20,0;T$(X TO X+C-1)
170 LET S=1
180 PRINT AT 0,0;S$(S)
299 REM %I%N%P%U%T% %R%O%U%T%I%N%E
300 FAST
301 PRINT AT 3,0;"ENTER TEXT - ENTER ""£"" TO CHANGESTATUS OR ""££"" FOR LINE NUMBERS "
302 IF S=1 THEN PRINT AT 19,0;"<<<<<<%T%Y%P%E% %O%V%E%R% %N%E%X%T% %L%I%N%E>>>>>>>"
303 IF S=2 THEN PRINT AT 19,0;"<<<<<<<<%I%N%S%E%R%T% %T%E%X%T% %H%E%R%E>>>>>>>>"
309 PRINT AT 21,0;"\..%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0\.."
310 INPUT I$
320 IF I$(1)="£" THEN GOTO 500
330 IF S=1 AND X>=2250-C+1 THEN GOTO 310
340 IF S=2 AND T>=2250-C THEN GOTO 310
350 IF S=1 THEN LET T$=T$( TO X-1)+I$+T$(X+C TO )
360 IF S=2 THEN LET T$=T$( TO X-1)+I$+T$(X TO )
370 LET X=X+C
375 IF S=1 AND X>T THEN LET T=T+C
380 IF S=2 THEN LET T=T+C
390 PRINT AT 18,USR 16514;I$
400 PRINT AT 20,0;T$(X TO X+C-1)
410 GOTO 309
499 REM %S%T%A%T%U%S
500 SLOW
501 IF I$(2)="£" THEN GOTO 2000
502 IF INKEY$<>"" THEN GOTO 502
503 PRINT AT 3,0;" USE ARROWS TO CHANGE STATUS THEN TOUCH ""ENTER"" ";AT 19,0;"<><><><><><><><><><><><><><><><>"
504 LET D$=INKEY$
506 IF D$="8" THEN LET S=S+(S<=7)-7*(S=8)
507 IF D$="5" THEN LET S=S-(S>=2)+7*(S=1)
508 PRINT AT 0,0;S$(S)
530 IF D$=CHR$ 118 THEN GOTO 300*(S<3)+600*(S=3)+700*(S=4)+900*(S=5)+1000*(S=6)+1400*(S=7)+1500*(S=8)
560 PRINT AT 0,0;"0VER INSERT DELETE SCROLL FIND PRINT SAVE ERASE "
570 GOTO 504
600 REM %D%E%L%E%T%E
601 IF INKEY$<>"" THEN GOTO 615
605 PRINT AT 3,0;" SHIFT ""0"" TO DELETE OR TOUCH ""ENTER"" TO CHANGE STATUS ";AT 19,0;"<<<<<<<<%D%E%L%E%T%E% %N%E%X%T% %L%I%N%E>>>>>>>>"
615 IF INKEY$<>"" THEN GOTO 615
620 LET D$=INKEY$
640 IF D$=CHR$ 118 THEN GOTO 500
645 IF X>T OR X>=2250-C+1 THEN GOTO 620
650 IF D$=CHR$ 119 THEN LET T$=T$( TO X-1)+T$(X+C TO )
655 IF D$=CHR$ 119 THEN LET T=T-C
660 PRINT AT 20,0;T$(X TO X+C-1)
670 GOTO 620
700 REM %S%C%R%O%L%L
701 IF INKEY$<>"" THEN GOTO 701
702 PRINT AT 3,0;" USE ARROWS TO SCROLL OR TOUCH ""ENTER"" TO CHANGE STATUS "
710 LET D$=INKEY$
730 IF D$="7" AND X<T AND X<2250-C+1 THEN GOTO 760
740 IF D$="6" AND X>=C+1 THEN GOTO 810
750 IF D$=CHR$ 118 THEN GOTO 500
755 GOTO 710
760 PRINT AT 18,USR 16514;T$(X TO X+C-1)
770 LET X=X+C
790 PRINT AT 20,0;T$(X TO X+C-1)
800 GOTO 710
820 LET X=X-C
830 PRINT AT 20,0;T$(X TO X+C-1)
840 IF X>=13*C+1 THEN PRINT AT 6,USR 16536;T$(X-13*C TO X-13*C+C-1)
850 IF X<13*C+1 THEN PRINT AT 6,USR 16536;E$
860 GOTO 710
900 REM %F%I%N%D
901 IF INKEY$<>"" THEN GOTO 901
905 PRINT AT 3,0;"ENTER WORD OR PHRASE TO FIND OR TOUCH ""ENTER"" TO CHANGE STATUS "
910 SLOW
911 INPUT D$
912 PRINT AT 20,0;E$
915 IF D$="" THEN GOTO 500
920 FAST
921 FOR N=6 TO 18
922 PRINT AT N,0;E$
923 NEXT N
930 IF D$<>"£" THEN LET F$=D$
940 IF D$<>"£" THEN LET X=1
941 FOR N=X TO T-LEN F$+1
945 IF T$(N TO N+LEN F$-1)=F$ THEN GOTO 965
950 NEXT N
955 PRINT AT 20,0;"*******SEARCH IS COMPLETE*******"
960 GOTO 905
965 LET X=INT (N/C)*C+1
970 PRINT AT 20,0;T$(X TO X+C-1);AT 3,0;"ENTER ""£"" TO CONTINUE SEARCH OR"
973 LET X=X+C
975 GOTO 910
1000 REM %P%R%I%N%T
1010 IF INKEY$<>"" THEN GOTO 1010
1020 PRINT AT 3,0;"ENTER ""P""(PRINTER) - ""S""(SCREEN)TOUCH ""ENTER"" TO CHANGE STATUS "
1030 INPUT D$
1035 IF D$="" THEN GOTO 500
1040 LET PS=(D$="P")
1050 PRINT AT 3,0;"ENTER NO. OF FIRST LINE TO PRINT";E$
1060 INPUT L1
1070 PRINT AT 4,0;"ENTER NO. OF LAST LINE TO PRINT "
1080 INPUT L2
1082 FOR N=6 TO 18
1084 PRINT AT N,0;E$
1086 NEXT N
1087 PRINT AT 20,0;E$
1090 IF PS=1 THEN FAST
1092 LET J=0
1100 IF L2*C>T THEN LET L2=T/C
1110 FOR N=L1 TO L2
1115 LET CJ=0
1120 LET P$=T$(N*C-C+1 TO N*C)
1130 IF P$(C)="<" THEN LET J=1
1140 IF P$(C)=">" THEN LET J=0
1150 IF P$(C)=">" OR P$(C)="<" THEN LET P$(C)=" "
1160 IF P$(C)="*" THEN GOTO 1270
1165 IF J=0 THEN GOTO 1310
1170 FOR M=C TO 1 STEP -1
1180 IF P$(M)="." OR P$(M)=":" OR P$(M)="?" THEN GOTO 1310
1190 IF P$(M)<>" " THEN GOTO 1220
1200 NEXT M
1210 GOTO 1310
1220 FOR Q=M TO 1 STEP -1
1225 IF P$(Q)=" " THEN LET CJ=1
1230 IF P$(Q)=" " THEN LET P$=P$( TO Q)+P$(Q TO )
1240 IF P$(C)<>" " THEN GOTO 1310
1250 NEXT Q
1260 IF CJ=1 THEN GOTO 1170
1265 GOTO 1310
1270 FOR M=C-1 TO 1 STEP -1
1280 IF P$(M)<>" " THEN GOTO 1300
1290 NEXT M
1300 LET P$=E$( TO (C-M)/2)+P$
1310 IF PS=1 THEN LPRINT P$
1320 IF PS=0 THEN PRINT AT 18,USR 16514;P$
1330 NEXT N
1340 SLOW
1350 GOTO 1020
1400 REM %S%A%V%E
1410 IF INKEY$<>"" THEN GOTO 1410
1420 PRINT AT 3,0;" ENTER NAME OF DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1430 INPUT H$
1440 IF H$="" THEN GOTO 500
1450 PRINT AT 3,0;"ENTER ""S"" WHEN RECORDER IS READY";E$
1460 INPUT D$
1470 SAVE H$
1480 GOTO 148
1500 REM %E%R%A%S%E
1510 IF INKEY$<>"" THEN GOTO 1510
1520 PRINT AT 3,0;" ENTER ""E"" TO ERASE DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1530 INPUT D$
1540 IF D$<>"E" THEN GOTO 500
1545 CLS
1546 FAST
1550 GOTO 1
2000 REM %L%I%N%E% %N%U%M%B%E%R%S
2001 PRINT AT 19,0;E$;AT 19,0;"%L%I%N%E% %B%E%L%O%W%= ";(X+C-1)/C,"%L%I%N%E%S% %U%S%E%D%= ";T/C
2010 SLOW
2020 FOR N=1 TO 40
2030 NEXT N
2040 GOTO 300
3000 REM %L%O%C%A%T%E
3001 PRINT "ENTER LINE NUMBER"
3010 INPUT D$
3015 FAST
3020 LET X=(VAL D$)*C-C+1
3030 IF X>T THEN LET X=T-C+1
3040 GOTO 160
9000 REM %T%I%T%L%E
9001 SLOW
9002 PRINT AT 6,10;"ZX LINOTYPE";AT 10,3;"(C) 1985 - JAMES L. HILL";AT 19,4;"TOUCH ""ENTER"" TO BEGIN"
9010 INPUT D$
9021 PRINT AT 19,0;" COLUMN WIDTH? (ENTER A NUMBER 1 THROUGH 32)"
9022 INPUT C
9023 FAST
9024 CLS
9030 RETURN
9050 SAVE "ZX %L"
9060 GOTO 1
People
C itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-56749 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.11.2 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.11.1"C itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-56749 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.11.2 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.11.1"\ED\B0\C9 itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-56749 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.11.2 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.11.1"
Skip to content
ZX Linotype
Feature rich text editor.
Content
Source Code
1 REM \01\C6\00\2A\0C\40\09\54\5D\01\E7\00\2A\0C\40\09\01\8C\01\ED\B0\C9\01\73\02\2A\0C\40\09\54\5D\01\52\02\2A\0C\40\09\01\8C\01\ED\B8\C9\21\22\23\24\25\1C
4 REM ZX LINOTYPE (C) 1985 BY JAMES L. HILL
5 GOSUB 9000
10 DIM T$(2250)
30 LET H$="BEGIN NEW DOCUMENT"
40 DIM I$(C)
50 LET T=0
147 DIM P$(C)
148 PRINT AT 6,15-LEN H$/2;H$
150 LET X=1
160 PRINT AT 2,0;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''";AT 5,0;"\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..";AT 19,0;"<><><><><><><><><><><><><><><><>"
165 PRINT AT 20,0;T$(X TO X+C-1)
170 LET S=1
180 PRINT AT 0,0;S$(S)
299 REM %I%N%P%U%T% %R%O%U%T%I%N%E
300 FAST
301 PRINT AT 3,0;"ENTER TEXT - ENTER ""£"" TO CHANGESTATUS OR ""££"" FOR LINE NUMBERS "
302 IF S=1 THEN PRINT AT 19,0;"<<<<<<%T%Y%P%E% %O%V%E%R% %N%E%X%T% %L%I%N%E>>>>>>>"
303 IF S=2 THEN PRINT AT 19,0;"<<<<<<<<%I%N%S%E%R%T% %T%E%X%T% %H%E%R%E>>>>>>>>"
309 PRINT AT 21,0;"\..%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0\.."
310 INPUT I$
320 IF I$(1)="£" THEN GOTO 500
330 IF S=1 AND X>=2250-C+1 THEN GOTO 310
340 IF S=2 AND T>=2250-C THEN GOTO 310
350 IF S=1 THEN LET T$=T$( TO X-1)+I$+T$(X+C TO )
360 IF S=2 THEN LET T$=T$( TO X-1)+I$+T$(X TO )
370 LET X=X+C
375 IF S=1 AND X>T THEN LET T=T+C
380 IF S=2 THEN LET T=T+C
390 PRINT AT 18,USR 16514;I$
400 PRINT AT 20,0;T$(X TO X+C-1)
410 GOTO 309
499 REM %S%T%A%T%U%S
500 SLOW
501 IF I$(2)="£" THEN GOTO 2000
502 IF INKEY$<>"" THEN GOTO 502
503 PRINT AT 3,0;" USE ARROWS TO CHANGE STATUS THEN TOUCH ""ENTER"" ";AT 19,0;"<><><><><><><><><><><><><><><><>"
504 LET D$=INKEY$
506 IF D$="8" THEN LET S=S+(S<=7)-7*(S=8)
507 IF D$="5" THEN LET S=S-(S>=2)+7*(S=1)
508 PRINT AT 0,0;S$(S)
530 IF D$=CHR$ 118 THEN GOTO 300*(S<3)+600*(S=3)+700*(S=4)+900*(S=5)+1000*(S=6)+1400*(S=7)+1500*(S=8)
560 PRINT AT 0,0;"0VER INSERT DELETE SCROLL FIND PRINT SAVE ERASE "
570 GOTO 504
600 REM %D%E%L%E%T%E
601 IF INKEY$<>"" THEN GOTO 615
605 PRINT AT 3,0;" SHIFT ""0"" TO DELETE OR TOUCH ""ENTER"" TO CHANGE STATUS ";AT 19,0;"<<<<<<<<%D%E%L%E%T%E% %N%E%X%T% %L%I%N%E>>>>>>>>"
615 IF INKEY$<>"" THEN GOTO 615
620 LET D$=INKEY$
640 IF D$=CHR$ 118 THEN GOTO 500
645 IF X>T OR X>=2250-C+1 THEN GOTO 620
650 IF D$=CHR$ 119 THEN LET T$=T$( TO X-1)+T$(X+C TO )
655 IF D$=CHR$ 119 THEN LET T=T-C
660 PRINT AT 20,0;T$(X TO X+C-1)
670 GOTO 620
700 REM %S%C%R%O%L%L
701 IF INKEY$<>"" THEN GOTO 701
702 PRINT AT 3,0;" USE ARROWS TO SCROLL OR TOUCH ""ENTER"" TO CHANGE STATUS "
710 LET D$=INKEY$
730 IF D$="7" AND X<T AND X<2250-C+1 THEN GOTO 760
740 IF D$="6" AND X>=C+1 THEN GOTO 810
750 IF D$=CHR$ 118 THEN GOTO 500
755 GOTO 710
760 PRINT AT 18,USR 16514;T$(X TO X+C-1)
770 LET X=X+C
790 PRINT AT 20,0;T$(X TO X+C-1)
800 GOTO 710
820 LET X=X-C
830 PRINT AT 20,0;T$(X TO X+C-1)
840 IF X>=13*C+1 THEN PRINT AT 6,USR 16536;T$(X-13*C TO X-13*C+C-1)
850 IF X<13*C+1 THEN PRINT AT 6,USR 16536;E$
860 GOTO 710
900 REM %F%I%N%D
901 IF INKEY$<>"" THEN GOTO 901
905 PRINT AT 3,0;"ENTER WORD OR PHRASE TO FIND OR TOUCH ""ENTER"" TO CHANGE STATUS "
910 SLOW
911 INPUT D$
912 PRINT AT 20,0;E$
915 IF D$="" THEN GOTO 500
920 FAST
921 FOR N=6 TO 18
922 PRINT AT N,0;E$
923 NEXT N
930 IF D$<>"£" THEN LET F$=D$
940 IF D$<>"£" THEN LET X=1
941 FOR N=X TO T-LEN F$+1
945 IF T$(N TO N+LEN F$-1)=F$ THEN GOTO 965
950 NEXT N
955 PRINT AT 20,0;"*******SEARCH IS COMPLETE*******"
960 GOTO 905
965 LET X=INT (N/C)*C+1
970 PRINT AT 20,0;T$(X TO X+C-1);AT 3,0;"ENTER ""£"" TO CONTINUE SEARCH OR"
973 LET X=X+C
975 GOTO 910
1000 REM %P%R%I%N%T
1010 IF INKEY$<>"" THEN GOTO 1010
1020 PRINT AT 3,0;"ENTER ""P""(PRINTER) - ""S""(SCREEN)TOUCH ""ENTER"" TO CHANGE STATUS "
1030 INPUT D$
1035 IF D$="" THEN GOTO 500
1040 LET PS=(D$="P")
1050 PRINT AT 3,0;"ENTER NO. OF FIRST LINE TO PRINT";E$
1060 INPUT L1
1070 PRINT AT 4,0;"ENTER NO. OF LAST LINE TO PRINT "
1080 INPUT L2
1082 FOR N=6 TO 18
1084 PRINT AT N,0;E$
1086 NEXT N
1087 PRINT AT 20,0;E$
1090 IF PS=1 THEN FAST
1092 LET J=0
1100 IF L2*C>T THEN LET L2=T/C
1110 FOR N=L1 TO L2
1115 LET CJ=0
1120 LET P$=T$(N*C-C+1 TO N*C)
1130 IF P$(C)="<" THEN LET J=1
1140 IF P$(C)=">" THEN LET J=0
1150 IF P$(C)=">" OR P$(C)="<" THEN LET P$(C)=" "
1160 IF P$(C)="*" THEN GOTO 1270
1165 IF J=0 THEN GOTO 1310
1170 FOR M=C TO 1 STEP -1
1180 IF P$(M)="." OR P$(M)=":" OR P$(M)="?" THEN GOTO 1310
1190 IF P$(M)<>" " THEN GOTO 1220
1200 NEXT M
1210 GOTO 1310
1220 FOR Q=M TO 1 STEP -1
1225 IF P$(Q)=" " THEN LET CJ=1
1230 IF P$(Q)=" " THEN LET P$=P$( TO Q)+P$(Q TO )
1240 IF P$(C)<>" " THEN GOTO 1310
1250 NEXT Q
1260 IF CJ=1 THEN GOTO 1170
1265 GOTO 1310
1270 FOR M=C-1 TO 1 STEP -1
1280 IF P$(M)<>" " THEN GOTO 1300
1290 NEXT M
1300 LET P$=E$( TO (C-M)/2)+P$
1310 IF PS=1 THEN LPRINT P$
1320 IF PS=0 THEN PRINT AT 18,USR 16514;P$
1330 NEXT N
1340 SLOW
1350 GOTO 1020
1400 REM %S%A%V%E
1410 IF INKEY$<>"" THEN GOTO 1410
1420 PRINT AT 3,0;" ENTER NAME OF DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1430 INPUT H$
1440 IF H$="" THEN GOTO 500
1450 PRINT AT 3,0;"ENTER ""S"" WHEN RECORDER IS READY";E$
1460 INPUT D$
1470 SAVE H$
1480 GOTO 148
1500 REM %E%R%A%S%E
1510 IF INKEY$<>"" THEN GOTO 1510
1520 PRINT AT 3,0;" ENTER ""E"" TO ERASE DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1530 INPUT D$
1540 IF D$<>"E" THEN GOTO 500
1545 CLS
1546 FAST
1550 GOTO 1
2000 REM %L%I%N%E% %N%U%M%B%E%R%S
2001 PRINT AT 19,0;E$;AT 19,0;"%L%I%N%E% %B%E%L%O%W%= ";(X+C-1)/C,"%L%I%N%E%S% %U%S%E%D%= ";T/C
2010 SLOW
2020 FOR N=1 TO 40
2030 NEXT N
2040 GOTO 300
3000 REM %L%O%C%A%T%E
3001 PRINT "ENTER LINE NUMBER"
3010 INPUT D$
3015 FAST
3020 LET X=(VAL D$)*C-C+1
3030 IF X>T THEN LET X=T-C+1
3040 GOTO 160
9000 REM %T%I%T%L%E
9001 SLOW
9002 PRINT AT 6,10;"ZX LINOTYPE";AT 10,3;"(C) 1985 - JAMES L. HILL";AT 19,4;"TOUCH ""ENTER"" TO BEGIN"
9010 INPUT D$
9021 PRINT AT 19,0;" COLUMN WIDTH? (ENTER A NUMBER 1 THROUGH 32)"
9022 INPUT C
9023 FAST
9024 CLS
9030 RETURN
9050 SAVE "ZX %L"
9060 GOTO 1
People
Skip to content
ZX Linotype
Feature rich text editor.
Content
Source Code
1 REM \01\C6\00\2A\0C\40\09\54\5D\01\E7\00\2A\0C\40\09\01\8C\01\ED\B0\C9\01\73\02\2A\0C\40\09\54\5D\01\52\02\2A\0C\40\09\01\8C\01\ED\B8\C9\21\22\23\24\25\1C
4 REM ZX LINOTYPE (C) 1985 BY JAMES L. HILL
5 GOSUB 9000
10 DIM T$(2250)
30 LET H$="BEGIN NEW DOCUMENT"
40 DIM I$(C)
50 LET T=0
147 DIM P$(C)
148 PRINT AT 6,15-LEN H$/2;H$
150 LET X=1
160 PRINT AT 2,0;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''";AT 5,0;"\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..";AT 19,0;"<><><><><><><><><><><><><><><><>"
165 PRINT AT 20,0;T$(X TO X+C-1)
170 LET S=1
180 PRINT AT 0,0;S$(S)
299 REM %I%N%P%U%T% %R%O%U%T%I%N%E
300 FAST
301 PRINT AT 3,0;"ENTER TEXT - ENTER ""£"" TO CHANGESTATUS OR ""££"" FOR LINE NUMBERS "
302 IF S=1 THEN PRINT AT 19,0;"<<<<<<%T%Y%P%E% %O%V%E%R% %N%E%X%T% %L%I%N%E>>>>>>>"
303 IF S=2 THEN PRINT AT 19,0;"<<<<<<<<%I%N%S%E%R%T% %T%E%X%T% %H%E%R%E>>>>>>>>"
309 PRINT AT 21,0;"\..%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0\.."
310 INPUT I$
320 IF I$(1)="£" THEN GOTO 500
330 IF S=1 AND X>=2250-C+1 THEN GOTO 310
340 IF S=2 AND T>=2250-C THEN GOTO 310
350 IF S=1 THEN LET T$=T$( TO X-1)+I$+T$(X+C TO )
360 IF S=2 THEN LET T$=T$( TO X-1)+I$+T$(X TO )
370 LET X=X+C
375 IF S=1 AND X>T THEN LET T=T+C
380 IF S=2 THEN LET T=T+C
390 PRINT AT 18,USR 16514;I$
400 PRINT AT 20,0;T$(X TO X+C-1)
410 GOTO 309
499 REM %S%T%A%T%U%S
500 SLOW
501 IF I$(2)="£" THEN GOTO 2000
502 IF INKEY$<>"" THEN GOTO 502
503 PRINT AT 3,0;" USE ARROWS TO CHANGE STATUS THEN TOUCH ""ENTER"" ";AT 19,0;"<><><><><><><><><><><><><><><><>"
504 LET D$=INKEY$
506 IF D$="8" THEN LET S=S+(S<=7)-7*(S=8)
507 IF D$="5" THEN LET S=S-(S>=2)+7*(S=1)
508 PRINT AT 0,0;S$(S)
530 IF D$=CHR$ 118 THEN GOTO 300*(S<3)+600*(S=3)+700*(S=4)+900*(S=5)+1000*(S=6)+1400*(S=7)+1500*(S=8)
560 PRINT AT 0,0;"0VER INSERT DELETE SCROLL FIND PRINT SAVE ERASE "
570 GOTO 504
600 REM %D%E%L%E%T%E
601 IF INKEY$<>"" THEN GOTO 615
605 PRINT AT 3,0;" SHIFT ""0"" TO DELETE OR TOUCH ""ENTER"" TO CHANGE STATUS ";AT 19,0;"<<<<<<<<%D%E%L%E%T%E% %N%E%X%T% %L%I%N%E>>>>>>>>"
615 IF INKEY$<>"" THEN GOTO 615
620 LET D$=INKEY$
640 IF D$=CHR$ 118 THEN GOTO 500
645 IF X>T OR X>=2250-C+1 THEN GOTO 620
650 IF D$=CHR$ 119 THEN LET T$=T$( TO X-1)+T$(X+C TO )
655 IF D$=CHR$ 119 THEN LET T=T-C
660 PRINT AT 20,0;T$(X TO X+C-1)
670 GOTO 620
700 REM %S%C%R%O%L%L
701 IF INKEY$<>"" THEN GOTO 701
702 PRINT AT 3,0;" USE ARROWS TO SCROLL OR TOUCH ""ENTER"" TO CHANGE STATUS "
710 LET D$=INKEY$
730 IF D$="7" AND X<T AND X<2250-C+1 THEN GOTO 760
740 IF D$="6" AND X>=C+1 THEN GOTO 810
750 IF D$=CHR$ 118 THEN GOTO 500
755 GOTO 710
760 PRINT AT 18,USR 16514;T$(X TO X+C-1)
770 LET X=X+C
790 PRINT AT 20,0;T$(X TO X+C-1)
800 GOTO 710
820 LET X=X-C
830 PRINT AT 20,0;T$(X TO X+C-1)
840 IF X>=13*C+1 THEN PRINT AT 6,USR 16536;T$(X-13*C TO X-13*C+C-1)
850 IF X<13*C+1 THEN PRINT AT 6,USR 16536;E$
860 GOTO 710
900 REM %F%I%N%D
901 IF INKEY$<>"" THEN GOTO 901
905 PRINT AT 3,0;"ENTER WORD OR PHRASE TO FIND OR TOUCH ""ENTER"" TO CHANGE STATUS "
910 SLOW
911 INPUT D$
912 PRINT AT 20,0;E$
915 IF D$="" THEN GOTO 500
920 FAST
921 FOR N=6 TO 18
922 PRINT AT N,0;E$
923 NEXT N
930 IF D$<>"£" THEN LET F$=D$
940 IF D$<>"£" THEN LET X=1
941 FOR N=X TO T-LEN F$+1
945 IF T$(N TO N+LEN F$-1)=F$ THEN GOTO 965
950 NEXT N
955 PRINT AT 20,0;"*******SEARCH IS COMPLETE*******"
960 GOTO 905
965 LET X=INT (N/C)*C+1
970 PRINT AT 20,0;T$(X TO X+C-1);AT 3,0;"ENTER ""£"" TO CONTINUE SEARCH OR"
973 LET X=X+C
975 GOTO 910
1000 REM %P%R%I%N%T
1010 IF INKEY$<>"" THEN GOTO 1010
1020 PRINT AT 3,0;"ENTER ""P""(PRINTER) - ""S""(SCREEN)TOUCH ""ENTER"" TO CHANGE STATUS "
1030 INPUT D$
1035 IF D$="" THEN GOTO 500
1040 LET PS=(D$="P")
1050 PRINT AT 3,0;"ENTER NO. OF FIRST LINE TO PRINT";E$
1060 INPUT L1
1070 PRINT AT 4,0;"ENTER NO. OF LAST LINE TO PRINT "
1080 INPUT L2
1082 FOR N=6 TO 18
1084 PRINT AT N,0;E$
1086 NEXT N
1087 PRINT AT 20,0;E$
1090 IF PS=1 THEN FAST
1092 LET J=0
1100 IF L2*C>T THEN LET L2=T/C
1110 FOR N=L1 TO L2
1115 LET CJ=0
1120 LET P$=T$(N*C-C+1 TO N*C)
1130 IF P$(C)="<" THEN LET J=1
1140 IF P$(C)=">" THEN LET J=0
1150 IF P$(C)=">" OR P$(C)="<" THEN LET P$(C)=" "
1160 IF P$(C)="*" THEN GOTO 1270
1165 IF J=0 THEN GOTO 1310
1170 FOR M=C TO 1 STEP -1
1180 IF P$(M)="." OR P$(M)=":" OR P$(M)="?" THEN GOTO 1310
1190 IF P$(M)<>" " THEN GOTO 1220
1200 NEXT M
1210 GOTO 1310
1220 FOR Q=M TO 1 STEP -1
1225 IF P$(Q)=" " THEN LET CJ=1
1230 IF P$(Q)=" " THEN LET P$=P$( TO Q)+P$(Q TO )
1240 IF P$(C)<>" " THEN GOTO 1310
1250 NEXT Q
1260 IF CJ=1 THEN GOTO 1170
1265 GOTO 1310
1270 FOR M=C-1 TO 1 STEP -1
1280 IF P$(M)<>" " THEN GOTO 1300
1290 NEXT M
1300 LET P$=E$( TO (C-M)/2)+P$
1310 IF PS=1 THEN LPRINT P$
1320 IF PS=0 THEN PRINT AT 18,USR 16514;P$
1330 NEXT N
1340 SLOW
1350 GOTO 1020
1400 REM %S%A%V%E
1410 IF INKEY$<>"" THEN GOTO 1410
1420 PRINT AT 3,0;" ENTER NAME OF DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1430 INPUT H$
1440 IF H$="" THEN GOTO 500
1450 PRINT AT 3,0;"ENTER ""S"" WHEN RECORDER IS READY";E$
1460 INPUT D$
1470 SAVE H$
1480 GOTO 148
1500 REM %E%R%A%S%E
1510 IF INKEY$<>"" THEN GOTO 1510
1520 PRINT AT 3,0;" ENTER ""E"" TO ERASE DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1530 INPUT D$
1540 IF D$<>"E" THEN GOTO 500
1545 CLS
1546 FAST
1550 GOTO 1
2000 REM %L%I%N%E% %N%U%M%B%E%R%S
2001 PRINT AT 19,0;E$;AT 19,0;"%L%I%N%E% %B%E%L%O%W%= ";(X+C-1)/C,"%L%I%N%E%S% %U%S%E%D%= ";T/C
2010 SLOW
2020 FOR N=1 TO 40
2030 NEXT N
2040 GOTO 300
3000 REM %L%O%C%A%T%E
3001 PRINT "ENTER LINE NUMBER"
3010 INPUT D$
3015 FAST
3020 LET X=(VAL D$)*C-C+1
3030 IF X>T THEN LET X=T-C+1
3040 GOTO 160
9000 REM %T%I%T%L%E
9001 SLOW
9002 PRINT AT 6,10;"ZX LINOTYPE";AT 10,3;"(C) 1985 - JAMES L. HILL";AT 19,4;"TOUCH ""ENTER"" TO BEGIN"
9010 INPUT D$
9021 PRINT AT 19,0;" COLUMN WIDTH? (ENTER A NUMBER 1 THROUGH 32)"
9022 INPUT C
9023 FAST
9024 CLS
9030 RETURN
9050 SAVE "ZX %L"
9060 GOTO 1
People
A
Skip to content
ZX Linotype
Feature rich text editor.
Content
Source Code
1 REM \01\C6\00\2A\0C\40\09\54\5D\01\E7\00\2A\0C\40\09\01\8C\01\ED\B0\C9\01\73\02\2A\0C\40\09\54\5D\01\52\02\2A\0C\40\09\01\8C\01\ED\B8\C9\21\22\23\24\25\1C
4 REM ZX LINOTYPE (C) 1985 BY JAMES L. HILL
5 GOSUB 9000
10 DIM T$(2250)
30 LET H$="BEGIN NEW DOCUMENT"
40 DIM I$(C)
50 LET T=0
147 DIM P$(C)
148 PRINT AT 6,15-LEN H$/2;H$
150 LET X=1
160 PRINT AT 2,0;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''";AT 5,0;"\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..";AT 19,0;"<><><><><><><><><><><><><><><><>"
165 PRINT AT 20,0;T$(X TO X+C-1)
170 LET S=1
180 PRINT AT 0,0;S$(S)
299 REM %I%N%P%U%T% %R%O%U%T%I%N%E
300 FAST
301 PRINT AT 3,0;"ENTER TEXT - ENTER ""£"" TO CHANGESTATUS OR ""££"" FOR LINE NUMBERS "
302 IF S=1 THEN PRINT AT 19,0;"<<<<<<%T%Y%P%E% %O%V%E%R% %N%E%X%T% %L%I%N%E>>>>>>>"
303 IF S=2 THEN PRINT AT 19,0;"<<<<<<<<%I%N%S%E%R%T% %T%E%X%T% %H%E%R%E>>>>>>>>"
309 PRINT AT 21,0;"\..%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0\.."
310 INPUT I$
320 IF I$(1)="£" THEN GOTO 500
330 IF S=1 AND X>=2250-C+1 THEN GOTO 310
340 IF S=2 AND T>=2250-C THEN GOTO 310
350 IF S=1 THEN LET T$=T$( TO X-1)+I$+T$(X+C TO )
360 IF S=2 THEN LET T$=T$( TO X-1)+I$+T$(X TO )
370 LET X=X+C
375 IF S=1 AND X>T THEN LET T=T+C
380 IF S=2 THEN LET T=T+C
390 PRINT AT 18,USR 16514;I$
400 PRINT AT 20,0;T$(X TO X+C-1)
410 GOTO 309
499 REM %S%T%A%T%U%S
500 SLOW
501 IF I$(2)="£" THEN GOTO 2000
502 IF INKEY$<>"" THEN GOTO 502
503 PRINT AT 3,0;" USE ARROWS TO CHANGE STATUS THEN TOUCH ""ENTER"" ";AT 19,0;"<><><><><><><><><><><><><><><><>"
504 LET D$=INKEY$
506 IF D$="8" THEN LET S=S+(S<=7)-7*(S=8)
507 IF D$="5" THEN LET S=S-(S>=2)+7*(S=1)
508 PRINT AT 0,0;S$(S)
530 IF D$=CHR$ 118 THEN GOTO 300*(S<3)+600*(S=3)+700*(S=4)+900*(S=5)+1000*(S=6)+1400*(S=7)+1500*(S=8)
560 PRINT AT 0,0;"0VER INSERT DELETE SCROLL FIND PRINT SAVE ERASE "
570 GOTO 504
600 REM %D%E%L%E%T%E
601 IF INKEY$<>"" THEN GOTO 615
605 PRINT AT 3,0;" SHIFT ""0"" TO DELETE OR TOUCH ""ENTER"" TO CHANGE STATUS ";AT 19,0;"<<<<<<<<%D%E%L%E%T%E% %N%E%X%T% %L%I%N%E>>>>>>>>"
615 IF INKEY$<>"" THEN GOTO 615
620 LET D$=INKEY$
640 IF D$=CHR$ 118 THEN GOTO 500
645 IF X>T OR X>=2250-C+1 THEN GOTO 620
650 IF D$=CHR$ 119 THEN LET T$=T$( TO X-1)+T$(X+C TO )
655 IF D$=CHR$ 119 THEN LET T=T-C
660 PRINT AT 20,0;T$(X TO X+C-1)
670 GOTO 620
700 REM %S%C%R%O%L%L
701 IF INKEY$<>"" THEN GOTO 701
702 PRINT AT 3,0;" USE ARROWS TO SCROLL OR TOUCH ""ENTER"" TO CHANGE STATUS "
710 LET D$=INKEY$
730 IF D$="7" AND X<T AND X<2250-C+1 THEN GOTO 760
740 IF D$="6" AND X>=C+1 THEN GOTO 810
750 IF D$=CHR$ 118 THEN GOTO 500
755 GOTO 710
760 PRINT AT 18,USR 16514;T$(X TO X+C-1)
770 LET X=X+C
790 PRINT AT 20,0;T$(X TO X+C-1)
800 GOTO 710
820 LET X=X-C
830 PRINT AT 20,0;T$(X TO X+C-1)
840 IF X>=13*C+1 THEN PRINT AT 6,USR 16536;T$(X-13*C TO X-13*C+C-1)
850 IF X<13*C+1 THEN PRINT AT 6,USR 16536;E$
860 GOTO 710
900 REM %F%I%N%D
901 IF INKEY$<>"" THEN GOTO 901
905 PRINT AT 3,0;"ENTER WORD OR PHRASE TO FIND OR TOUCH ""ENTER"" TO CHANGE STATUS "
910 SLOW
911 INPUT D$
912 PRINT AT 20,0;E$
915 IF D$="" THEN GOTO 500
920 FAST
921 FOR N=6 TO 18
922 PRINT AT N,0;E$
923 NEXT N
930 IF D$<>"£" THEN LET F$=D$
940 IF D$<>"£" THEN LET X=1
941 FOR N=X TO T-LEN F$+1
945 IF T$(N TO N+LEN F$-1)=F$ THEN GOTO 965
950 NEXT N
955 PRINT AT 20,0;"*******SEARCH IS COMPLETE*******"
960 GOTO 905
965 LET X=INT (N/C)*C+1
970 PRINT AT 20,0;T$(X TO X+C-1);AT 3,0;"ENTER ""£"" TO CONTINUE SEARCH OR"
973 LET X=X+C
975 GOTO 910
1000 REM %P%R%I%N%T
1010 IF INKEY$<>"" THEN GOTO 1010
1020 PRINT AT 3,0;"ENTER ""P""(PRINTER) - ""S""(SCREEN)TOUCH ""ENTER"" TO CHANGE STATUS "
1030 INPUT D$
1035 IF D$="" THEN GOTO 500
1040 LET PS=(D$="P")
1050 PRINT AT 3,0;"ENTER NO. OF FIRST LINE TO PRINT";E$
1060 INPUT L1
1070 PRINT AT 4,0;"ENTER NO. OF LAST LINE TO PRINT "
1080 INPUT L2
1082 FOR N=6 TO 18
1084 PRINT AT N,0;E$
1086 NEXT N
1087 PRINT AT 20,0;E$
1090 IF PS=1 THEN FAST
1092 LET J=0
1100 IF L2*C>T THEN LET L2=T/C
1110 FOR N=L1 TO L2
1115 LET CJ=0
1120 LET P$=T$(N*C-C+1 TO N*C)
1130 IF P$(C)="<" THEN LET J=1
1140 IF P$(C)=">" THEN LET J=0
1150 IF P$(C)=">" OR P$(C)="<" THEN LET P$(C)=" "
1160 IF P$(C)="*" THEN GOTO 1270
1165 IF J=0 THEN GOTO 1310
1170 FOR M=C TO 1 STEP -1
1180 IF P$(M)="." OR P$(M)=":" OR P$(M)="?" THEN GOTO 1310
1190 IF P$(M)<>" " THEN GOTO 1220
1200 NEXT M
1210 GOTO 1310
1220 FOR Q=M TO 1 STEP -1
1225 IF P$(Q)=" " THEN LET CJ=1
1230 IF P$(Q)=" " THEN LET P$=P$( TO Q)+P$(Q TO )
1240 IF P$(C)<>" " THEN GOTO 1310
1250 NEXT Q
1260 IF CJ=1 THEN GOTO 1170
1265 GOTO 1310
1270 FOR M=C-1 TO 1 STEP -1
1280 IF P$(M)<>" " THEN GOTO 1300
1290 NEXT M
1300 LET P$=E$( TO (C-M)/2)+P$
1310 IF PS=1 THEN LPRINT P$
1320 IF PS=0 THEN PRINT AT 18,USR 16514;P$
1330 NEXT N
1340 SLOW
1350 GOTO 1020
1400 REM %S%A%V%E
1410 IF INKEY$<>"" THEN GOTO 1410
1420 PRINT AT 3,0;" ENTER NAME OF DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1430 INPUT H$
1440 IF H$="" THEN GOTO 500
1450 PRINT AT 3,0;"ENTER ""S"" WHEN RECORDER IS READY";E$
1460 INPUT D$
1470 SAVE H$
1480 GOTO 148
1500 REM %E%R%A%S%E
1510 IF INKEY$<>"" THEN GOTO 1510
1520 PRINT AT 3,0;" ENTER ""E"" TO ERASE DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1530 INPUT D$
1540 IF D$<>"E" THEN GOTO 500
1545 CLS
1546 FAST
1550 GOTO 1
2000 REM %L%I%N%E% %N%U%M%B%E%R%S
2001 PRINT AT 19,0;E$;AT 19,0;"%L%I%N%E% %B%E%L%O%W%= ";(X+C-1)/C,"%L%I%N%E%S% %U%S%E%D%= ";T/C
2010 SLOW
2020 FOR N=1 TO 40
2030 NEXT N
2040 GOTO 300
3000 REM %L%O%C%A%T%E
3001 PRINT "ENTER LINE NUMBER"
3010 INPUT D$
3015 FAST
3020 LET X=(VAL D$)*C-C+1
3030 IF X>T THEN LET X=T-C+1
3040 GOTO 160
9000 REM %T%I%T%L%E
9001 SLOW
9002 PRINT AT 6,10;"ZX LINOTYPE";AT 10,3;"(C) 1985 - JAMES L. HILL";AT 19,4;"TOUCH ""ENTER"" TO BEGIN"
9010 INPUT D$
9021 PRINT AT 19,0;" COLUMN WIDTH? (ENTER A NUMBER 1 THROUGH 32)"
9022 INPUT C
9023 FAST
9024 CLS
9030 RETURN
9050 SAVE "ZX %L"
9060 GOTO 1
People
CD itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-56749 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.11.2 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.11.1"
Skip to content
ZX Linotype
Feature rich text editor.
Content
Source Code
1 REM \01\C6\00\2A\0C\40\09\54\5D\01\E7\00\2A\0C\40\09\01\8C\01\ED\B0\C9\01\73\02\2A\0C\40\09\54\5D\01\52\02\2A\0C\40\09\01\8C\01\ED\B8\C9\21\22\23\24\25\1C
4 REM ZX LINOTYPE (C) 1985 BY JAMES L. HILL
5 GOSUB 9000
10 DIM T$(2250)
30 LET H$="BEGIN NEW DOCUMENT"
40 DIM I$(C)
50 LET T=0
147 DIM P$(C)
148 PRINT AT 6,15-LEN H$/2;H$
150 LET X=1
160 PRINT AT 2,0;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''";AT 5,0;"\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..";AT 19,0;"<><><><><><><><><><><><><><><><>"
165 PRINT AT 20,0;T$(X TO X+C-1)
170 LET S=1
180 PRINT AT 0,0;S$(S)
299 REM %I%N%P%U%T% %R%O%U%T%I%N%E
300 FAST
301 PRINT AT 3,0;"ENTER TEXT - ENTER ""£"" TO CHANGESTATUS OR ""££"" FOR LINE NUMBERS "
302 IF S=1 THEN PRINT AT 19,0;"<<<<<<%T%Y%P%E% %O%V%E%R% %N%E%X%T% %L%I%N%E>>>>>>>"
303 IF S=2 THEN PRINT AT 19,0;"<<<<<<<<%I%N%S%E%R%T% %T%E%X%T% %H%E%R%E>>>>>>>>"
309 PRINT AT 21,0;"\..%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0\.."
310 INPUT I$
320 IF I$(1)="£" THEN GOTO 500
330 IF S=1 AND X>=2250-C+1 THEN GOTO 310
340 IF S=2 AND T>=2250-C THEN GOTO 310
350 IF S=1 THEN LET T$=T$( TO X-1)+I$+T$(X+C TO )
360 IF S=2 THEN LET T$=T$( TO X-1)+I$+T$(X TO )
370 LET X=X+C
375 IF S=1 AND X>T THEN LET T=T+C
380 IF S=2 THEN LET T=T+C
390 PRINT AT 18,USR 16514;I$
400 PRINT AT 20,0;T$(X TO X+C-1)
410 GOTO 309
499 REM %S%T%A%T%U%S
500 SLOW
501 IF I$(2)="£" THEN GOTO 2000
502 IF INKEY$<>"" THEN GOTO 502
503 PRINT AT 3,0;" USE ARROWS TO CHANGE STATUS THEN TOUCH ""ENTER"" ";AT 19,0;"<><><><><><><><><><><><><><><><>"
504 LET D$=INKEY$
506 IF D$="8" THEN LET S=S+(S<=7)-7*(S=8)
507 IF D$="5" THEN LET S=S-(S>=2)+7*(S=1)
508 PRINT AT 0,0;S$(S)
530 IF D$=CHR$ 118 THEN GOTO 300*(S<3)+600*(S=3)+700*(S=4)+900*(S=5)+1000*(S=6)+1400*(S=7)+1500*(S=8)
560 PRINT AT 0,0;"0VER INSERT DELETE SCROLL FIND PRINT SAVE ERASE "
570 GOTO 504
600 REM %D%E%L%E%T%E
601 IF INKEY$<>"" THEN GOTO 615
605 PRINT AT 3,0;" SHIFT ""0"" TO DELETE OR TOUCH ""ENTER"" TO CHANGE STATUS ";AT 19,0;"<<<<<<<<%D%E%L%E%T%E% %N%E%X%T% %L%I%N%E>>>>>>>>"
615 IF INKEY$<>"" THEN GOTO 615
620 LET D$=INKEY$
640 IF D$=CHR$ 118 THEN GOTO 500
645 IF X>T OR X>=2250-C+1 THEN GOTO 620
650 IF D$=CHR$ 119 THEN LET T$=T$( TO X-1)+T$(X+C TO )
655 IF D$=CHR$ 119 THEN LET T=T-C
660 PRINT AT 20,0;T$(X TO X+C-1)
670 GOTO 620
700 REM %S%C%R%O%L%L
701 IF INKEY$<>"" THEN GOTO 701
702 PRINT AT 3,0;" USE ARROWS TO SCROLL OR TOUCH ""ENTER"" TO CHANGE STATUS "
710 LET D$=INKEY$
730 IF D$="7" AND X<T AND X<2250-C+1 THEN GOTO 760
740 IF D$="6" AND X>=C+1 THEN GOTO 810
750 IF D$=CHR$ 118 THEN GOTO 500
755 GOTO 710
760 PRINT AT 18,USR 16514;T$(X TO X+C-1)
770 LET X=X+C
790 PRINT AT 20,0;T$(X TO X+C-1)
800 GOTO 710
820 LET X=X-C
830 PRINT AT 20,0;T$(X TO X+C-1)
840 IF X>=13*C+1 THEN PRINT AT 6,USR 16536;T$(X-13*C TO X-13*C+C-1)
850 IF X<13*C+1 THEN PRINT AT 6,USR 16536;E$
860 GOTO 710
900 REM %F%I%N%D
901 IF INKEY$<>"" THEN GOTO 901
905 PRINT AT 3,0;"ENTER WORD OR PHRASE TO FIND OR TOUCH ""ENTER"" TO CHANGE STATUS "
910 SLOW
911 INPUT D$
912 PRINT AT 20,0;E$
915 IF D$="" THEN GOTO 500
920 FAST
921 FOR N=6 TO 18
922 PRINT AT N,0;E$
923 NEXT N
930 IF D$<>"£" THEN LET F$=D$
940 IF D$<>"£" THEN LET X=1
941 FOR N=X TO T-LEN F$+1
945 IF T$(N TO N+LEN F$-1)=F$ THEN GOTO 965
950 NEXT N
955 PRINT AT 20,0;"*******SEARCH IS COMPLETE*******"
960 GOTO 905
965 LET X=INT (N/C)*C+1
970 PRINT AT 20,0;T$(X TO X+C-1);AT 3,0;"ENTER ""£"" TO CONTINUE SEARCH OR"
973 LET X=X+C
975 GOTO 910
1000 REM %P%R%I%N%T
1010 IF INKEY$<>"" THEN GOTO 1010
1020 PRINT AT 3,0;"ENTER ""P""(PRINTER) - ""S""(SCREEN)TOUCH ""ENTER"" TO CHANGE STATUS "
1030 INPUT D$
1035 IF D$="" THEN GOTO 500
1040 LET PS=(D$="P")
1050 PRINT AT 3,0;"ENTER NO. OF FIRST LINE TO PRINT";E$
1060 INPUT L1
1070 PRINT AT 4,0;"ENTER NO. OF LAST LINE TO PRINT "
1080 INPUT L2
1082 FOR N=6 TO 18
1084 PRINT AT N,0;E$
1086 NEXT N
1087 PRINT AT 20,0;E$
1090 IF PS=1 THEN FAST
1092 LET J=0
1100 IF L2*C>T THEN LET L2=T/C
1110 FOR N=L1 TO L2
1115 LET CJ=0
1120 LET P$=T$(N*C-C+1 TO N*C)
1130 IF P$(C)="<" THEN LET J=1
1140 IF P$(C)=">" THEN LET J=0
1150 IF P$(C)=">" OR P$(C)="<" THEN LET P$(C)=" "
1160 IF P$(C)="*" THEN GOTO 1270
1165 IF J=0 THEN GOTO 1310
1170 FOR M=C TO 1 STEP -1
1180 IF P$(M)="." OR P$(M)=":" OR P$(M)="?" THEN GOTO 1310
1190 IF P$(M)<>" " THEN GOTO 1220
1200 NEXT M
1210 GOTO 1310
1220 FOR Q=M TO 1 STEP -1
1225 IF P$(Q)=" " THEN LET CJ=1
1230 IF P$(Q)=" " THEN LET P$=P$( TO Q)+P$(Q TO )
1240 IF P$(C)<>" " THEN GOTO 1310
1250 NEXT Q
1260 IF CJ=1 THEN GOTO 1170
1265 GOTO 1310
1270 FOR M=C-1 TO 1 STEP -1
1280 IF P$(M)<>" " THEN GOTO 1300
1290 NEXT M
1300 LET P$=E$( TO (C-M)/2)+P$
1310 IF PS=1 THEN LPRINT P$
1320 IF PS=0 THEN PRINT AT 18,USR 16514;P$
1330 NEXT N
1340 SLOW
1350 GOTO 1020
1400 REM %S%A%V%E
1410 IF INKEY$<>"" THEN GOTO 1410
1420 PRINT AT 3,0;" ENTER NAME OF DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1430 INPUT H$
1440 IF H$="" THEN GOTO 500
1450 PRINT AT 3,0;"ENTER ""S"" WHEN RECORDER IS READY";E$
1460 INPUT D$
1470 SAVE H$
1480 GOTO 148
1500 REM %E%R%A%S%E
1510 IF INKEY$<>"" THEN GOTO 1510
1520 PRINT AT 3,0;" ENTER ""E"" TO ERASE DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1530 INPUT D$
1540 IF D$<>"E" THEN GOTO 500
1545 CLS
1546 FAST
1550 GOTO 1
2000 REM %L%I%N%E% %N%U%M%B%E%R%S
2001 PRINT AT 19,0;E$;AT 19,0;"%L%I%N%E% %B%E%L%O%W%= ";(X+C-1)/C,"%L%I%N%E%S% %U%S%E%D%= ";T/C
2010 SLOW
2020 FOR N=1 TO 40
2030 NEXT N
2040 GOTO 300
3000 REM %L%O%C%A%T%E
3001 PRINT "ENTER LINE NUMBER"
3010 INPUT D$
3015 FAST
3020 LET X=(VAL D$)*C-C+1
3030 IF X>T THEN LET X=T-C+1
3040 GOTO 160
9000 REM %T%I%T%L%E
9001 SLOW
9002 PRINT AT 6,10;"ZX LINOTYPE";AT 10,3;"(C) 1985 - JAMES L. HILL";AT 19,4;"TOUCH ""ENTER"" TO BEGIN"
9010 INPUT D$
9021 PRINT AT 19,0;" COLUMN WIDTH? (ENTER A NUMBER 1 THROUGH 32)"
9022 INPUT C
9023 FAST
9024 CLS
9030 RETURN
9050 SAVE "ZX %L"
9060 GOTO 1
People
Skip to content
ZX Linotype
Feature rich text editor.
Content
Source Code
1 REM \01\C6\00\2A\0C\40\09\54\5D\01\E7\00\2A\0C\40\09\01\8C\01\ED\B0\C9\01\73\02\2A\0C\40\09\54\5D\01\52\02\2A\0C\40\09\01\8C\01\ED\B8\C9\21\22\23\24\25\1C
4 REM ZX LINOTYPE (C) 1985 BY JAMES L. HILL
5 GOSUB 9000
10 DIM T$(2250)
30 LET H$="BEGIN NEW DOCUMENT"
40 DIM I$(C)
50 LET T=0
147 DIM P$(C)
148 PRINT AT 6,15-LEN H$/2;H$
150 LET X=1
160 PRINT AT 2,0;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''";AT 5,0;"\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..";AT 19,0;"<><><><><><><><><><><><><><><><>"
165 PRINT AT 20,0;T$(X TO X+C-1)
170 LET S=1
180 PRINT AT 0,0;S$(S)
299 REM %I%N%P%U%T% %R%O%U%T%I%N%E
300 FAST
301 PRINT AT 3,0;"ENTER TEXT - ENTER ""£"" TO CHANGESTATUS OR ""££"" FOR LINE NUMBERS "
302 IF S=1 THEN PRINT AT 19,0;"<<<<<<%T%Y%P%E% %O%V%E%R% %N%E%X%T% %L%I%N%E>>>>>>>"
303 IF S=2 THEN PRINT AT 19,0;"<<<<<<<<%I%N%S%E%R%T% %T%E%X%T% %H%E%R%E>>>>>>>>"
309 PRINT AT 21,0;"\..%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0\.."
310 INPUT I$
320 IF I$(1)="£" THEN GOTO 500
330 IF S=1 AND X>=2250-C+1 THEN GOTO 310
340 IF S=2 AND T>=2250-C THEN GOTO 310
350 IF S=1 THEN LET T$=T$( TO X-1)+I$+T$(X+C TO )
360 IF S=2 THEN LET T$=T$( TO X-1)+I$+T$(X TO )
370 LET X=X+C
375 IF S=1 AND X>T THEN LET T=T+C
380 IF S=2 THEN LET T=T+C
390 PRINT AT 18,USR 16514;I$
400 PRINT AT 20,0;T$(X TO X+C-1)
410 GOTO 309
499 REM %S%T%A%T%U%S
500 SLOW
501 IF I$(2)="£" THEN GOTO 2000
502 IF INKEY$<>"" THEN GOTO 502
503 PRINT AT 3,0;" USE ARROWS TO CHANGE STATUS THEN TOUCH ""ENTER"" ";AT 19,0;"<><><><><><><><><><><><><><><><>"
504 LET D$=INKEY$
506 IF D$="8" THEN LET S=S+(S<=7)-7*(S=8)
507 IF D$="5" THEN LET S=S-(S>=2)+7*(S=1)
508 PRINT AT 0,0;S$(S)
530 IF D$=CHR$ 118 THEN GOTO 300*(S<3)+600*(S=3)+700*(S=4)+900*(S=5)+1000*(S=6)+1400*(S=7)+1500*(S=8)
560 PRINT AT 0,0;"0VER INSERT DELETE SCROLL FIND PRINT SAVE ERASE "
570 GOTO 504
600 REM %D%E%L%E%T%E
601 IF INKEY$<>"" THEN GOTO 615
605 PRINT AT 3,0;" SHIFT ""0"" TO DELETE OR TOUCH ""ENTER"" TO CHANGE STATUS ";AT 19,0;"<<<<<<<<%D%E%L%E%T%E% %N%E%X%T% %L%I%N%E>>>>>>>>"
615 IF INKEY$<>"" THEN GOTO 615
620 LET D$=INKEY$
640 IF D$=CHR$ 118 THEN GOTO 500
645 IF X>T OR X>=2250-C+1 THEN GOTO 620
650 IF D$=CHR$ 119 THEN LET T$=T$( TO X-1)+T$(X+C TO )
655 IF D$=CHR$ 119 THEN LET T=T-C
660 PRINT AT 20,0;T$(X TO X+C-1)
670 GOTO 620
700 REM %S%C%R%O%L%L
701 IF INKEY$<>"" THEN GOTO 701
702 PRINT AT 3,0;" USE ARROWS TO SCROLL OR TOUCH ""ENTER"" TO CHANGE STATUS "
710 LET D$=INKEY$
730 IF D$="7" AND X<T AND X<2250-C+1 THEN GOTO 760
740 IF D$="6" AND X>=C+1 THEN GOTO 810
750 IF D$=CHR$ 118 THEN GOTO 500
755 GOTO 710
760 PRINT AT 18,USR 16514;T$(X TO X+C-1)
770 LET X=X+C
790 PRINT AT 20,0;T$(X TO X+C-1)
800 GOTO 710
820 LET X=X-C
830 PRINT AT 20,0;T$(X TO X+C-1)
840 IF X>=13*C+1 THEN PRINT AT 6,USR 16536;T$(X-13*C TO X-13*C+C-1)
850 IF X<13*C+1 THEN PRINT AT 6,USR 16536;E$
860 GOTO 710
900 REM %F%I%N%D
901 IF INKEY$<>"" THEN GOTO 901
905 PRINT AT 3,0;"ENTER WORD OR PHRASE TO FIND OR TOUCH ""ENTER"" TO CHANGE STATUS "
910 SLOW
911 INPUT D$
912 PRINT AT 20,0;E$
915 IF D$="" THEN GOTO 500
920 FAST
921 FOR N=6 TO 18
922 PRINT AT N,0;E$
923 NEXT N
930 IF D$<>"£" THEN LET F$=D$
940 IF D$<>"£" THEN LET X=1
941 FOR N=X TO T-LEN F$+1
945 IF T$(N TO N+LEN F$-1)=F$ THEN GOTO 965
950 NEXT N
955 PRINT AT 20,0;"*******SEARCH IS COMPLETE*******"
960 GOTO 905
965 LET X=INT (N/C)*C+1
970 PRINT AT 20,0;T$(X TO X+C-1);AT 3,0;"ENTER ""£"" TO CONTINUE SEARCH OR"
973 LET X=X+C
975 GOTO 910
1000 REM %P%R%I%N%T
1010 IF INKEY$<>"" THEN GOTO 1010
1020 PRINT AT 3,0;"ENTER ""P""(PRINTER) - ""S""(SCREEN)TOUCH ""ENTER"" TO CHANGE STATUS "
1030 INPUT D$
1035 IF D$="" THEN GOTO 500
1040 LET PS=(D$="P")
1050 PRINT AT 3,0;"ENTER NO. OF FIRST LINE TO PRINT";E$
1060 INPUT L1
1070 PRINT AT 4,0;"ENTER NO. OF LAST LINE TO PRINT "
1080 INPUT L2
1082 FOR N=6 TO 18
1084 PRINT AT N,0;E$
1086 NEXT N
1087 PRINT AT 20,0;E$
1090 IF PS=1 THEN FAST
1092 LET J=0
1100 IF L2*C>T THEN LET L2=T/C
1110 FOR N=L1 TO L2
1115 LET CJ=0
1120 LET P$=T$(N*C-C+1 TO N*C)
1130 IF P$(C)="<" THEN LET J=1
1140 IF P$(C)=">" THEN LET J=0
1150 IF P$(C)=">" OR P$(C)="<" THEN LET P$(C)=" "
1160 IF P$(C)="*" THEN GOTO 1270
1165 IF J=0 THEN GOTO 1310
1170 FOR M=C TO 1 STEP -1
1180 IF P$(M)="." OR P$(M)=":" OR P$(M)="?" THEN GOTO 1310
1190 IF P$(M)<>" " THEN GOTO 1220
1200 NEXT M
1210 GOTO 1310
1220 FOR Q=M TO 1 STEP -1
1225 IF P$(Q)=" " THEN LET CJ=1
1230 IF P$(Q)=" " THEN LET P$=P$( TO Q)+P$(Q TO )
1240 IF P$(C)<>" " THEN GOTO 1310
1250 NEXT Q
1260 IF CJ=1 THEN GOTO 1170
1265 GOTO 1310
1270 FOR M=C-1 TO 1 STEP -1
1280 IF P$(M)<>" " THEN GOTO 1300
1290 NEXT M
1300 LET P$=E$( TO (C-M)/2)+P$
1310 IF PS=1 THEN LPRINT P$
1320 IF PS=0 THEN PRINT AT 18,USR 16514;P$
1330 NEXT N
1340 SLOW
1350 GOTO 1020
1400 REM %S%A%V%E
1410 IF INKEY$<>"" THEN GOTO 1410
1420 PRINT AT 3,0;" ENTER NAME OF DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1430 INPUT H$
1440 IF H$="" THEN GOTO 500
1450 PRINT AT 3,0;"ENTER ""S"" WHEN RECORDER IS READY";E$
1460 INPUT D$
1470 SAVE H$
1480 GOTO 148
1500 REM %E%R%A%S%E
1510 IF INKEY$<>"" THEN GOTO 1510
1520 PRINT AT 3,0;" ENTER ""E"" TO ERASE DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1530 INPUT D$
1540 IF D$<>"E" THEN GOTO 500
1545 CLS
1546 FAST
1550 GOTO 1
2000 REM %L%I%N%E% %N%U%M%B%E%R%S
2001 PRINT AT 19,0;E$;AT 19,0;"%L%I%N%E% %B%E%L%O%W%= ";(X+C-1)/C,"%L%I%N%E%S% %U%S%E%D%= ";T/C
2010 SLOW
2020 FOR N=1 TO 40
2030 NEXT N
2040 GOTO 300
3000 REM %L%O%C%A%T%E
3001 PRINT "ENTER LINE NUMBER"
3010 INPUT D$
3015 FAST
3020 LET X=(VAL D$)*C-C+1
3030 IF X>T THEN LET X=T-C+1
3040 GOTO 160
9000 REM %T%I%T%L%E
9001 SLOW
9002 PRINT AT 6,10;"ZX LINOTYPE";AT 10,3;"(C) 1985 - JAMES L. HILL";AT 19,4;"TOUCH ""ENTER"" TO BEGIN"
9010 INPUT D$
9021 PRINT AT 19,0;" COLUMN WIDTH? (ENTER A NUMBER 1 THROUGH 32)"
9022 INPUT C
9023 FAST
9024 CLS
9030 RETURN
9050 SAVE "ZX %L"
9060 GOTO 1
People
A
Skip to content
ZX Linotype
Feature rich text editor.
Content
Source Code
1 REM \01\C6\00\2A\0C\40\09\54\5D\01\E7\00\2A\0C\40\09\01\8C\01\ED\B0\C9\01\73\02\2A\0C\40\09\54\5D\01\52\02\2A\0C\40\09\01\8C\01\ED\B8\C9\21\22\23\24\25\1C
4 REM ZX LINOTYPE (C) 1985 BY JAMES L. HILL
5 GOSUB 9000
10 DIM T$(2250)
30 LET H$="BEGIN NEW DOCUMENT"
40 DIM I$(C)
50 LET T=0
147 DIM P$(C)
148 PRINT AT 6,15-LEN H$/2;H$
150 LET X=1
160 PRINT AT 2,0;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''";AT 5,0;"\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..";AT 19,0;"<><><><><><><><><><><><><><><><>"
165 PRINT AT 20,0;T$(X TO X+C-1)
170 LET S=1
180 PRINT AT 0,0;S$(S)
299 REM %I%N%P%U%T% %R%O%U%T%I%N%E
300 FAST
301 PRINT AT 3,0;"ENTER TEXT - ENTER ""£"" TO CHANGESTATUS OR ""££"" FOR LINE NUMBERS "
302 IF S=1 THEN PRINT AT 19,0;"<<<<<<%T%Y%P%E% %O%V%E%R% %N%E%X%T% %L%I%N%E>>>>>>>"
303 IF S=2 THEN PRINT AT 19,0;"<<<<<<<<%I%N%S%E%R%T% %T%E%X%T% %H%E%R%E>>>>>>>>"
309 PRINT AT 21,0;"\..%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0\.."
310 INPUT I$
320 IF I$(1)="£" THEN GOTO 500
330 IF S=1 AND X>=2250-C+1 THEN GOTO 310
340 IF S=2 AND T>=2250-C THEN GOTO 310
350 IF S=1 THEN LET T$=T$( TO X-1)+I$+T$(X+C TO )
360 IF S=2 THEN LET T$=T$( TO X-1)+I$+T$(X TO )
370 LET X=X+C
375 IF S=1 AND X>T THEN LET T=T+C
380 IF S=2 THEN LET T=T+C
390 PRINT AT 18,USR 16514;I$
400 PRINT AT 20,0;T$(X TO X+C-1)
410 GOTO 309
499 REM %S%T%A%T%U%S
500 SLOW
501 IF I$(2)="£" THEN GOTO 2000
502 IF INKEY$<>"" THEN GOTO 502
503 PRINT AT 3,0;" USE ARROWS TO CHANGE STATUS THEN TOUCH ""ENTER"" ";AT 19,0;"<><><><><><><><><><><><><><><><>"
504 LET D$=INKEY$
506 IF D$="8" THEN LET S=S+(S<=7)-7*(S=8)
507 IF D$="5" THEN LET S=S-(S>=2)+7*(S=1)
508 PRINT AT 0,0;S$(S)
530 IF D$=CHR$ 118 THEN GOTO 300*(S<3)+600*(S=3)+700*(S=4)+900*(S=5)+1000*(S=6)+1400*(S=7)+1500*(S=8)
560 PRINT AT 0,0;"0VER INSERT DELETE SCROLL FIND PRINT SAVE ERASE "
570 GOTO 504
600 REM %D%E%L%E%T%E
601 IF INKEY$<>"" THEN GOTO 615
605 PRINT AT 3,0;" SHIFT ""0"" TO DELETE OR TOUCH ""ENTER"" TO CHANGE STATUS ";AT 19,0;"<<<<<<<<%D%E%L%E%T%E% %N%E%X%T% %L%I%N%E>>>>>>>>"
615 IF INKEY$<>"" THEN GOTO 615
620 LET D$=INKEY$
640 IF D$=CHR$ 118 THEN GOTO 500
645 IF X>T OR X>=2250-C+1 THEN GOTO 620
650 IF D$=CHR$ 119 THEN LET T$=T$( TO X-1)+T$(X+C TO )
655 IF D$=CHR$ 119 THEN LET T=T-C
660 PRINT AT 20,0;T$(X TO X+C-1)
670 GOTO 620
700 REM %S%C%R%O%L%L
701 IF INKEY$<>"" THEN GOTO 701
702 PRINT AT 3,0;" USE ARROWS TO SCROLL OR TOUCH ""ENTER"" TO CHANGE STATUS "
710 LET D$=INKEY$
730 IF D$="7" AND X<T AND X<2250-C+1 THEN GOTO 760
740 IF D$="6" AND X>=C+1 THEN GOTO 810
750 IF D$=CHR$ 118 THEN GOTO 500
755 GOTO 710
760 PRINT AT 18,USR 16514;T$(X TO X+C-1)
770 LET X=X+C
790 PRINT AT 20,0;T$(X TO X+C-1)
800 GOTO 710
820 LET X=X-C
830 PRINT AT 20,0;T$(X TO X+C-1)
840 IF X>=13*C+1 THEN PRINT AT 6,USR 16536;T$(X-13*C TO X-13*C+C-1)
850 IF X<13*C+1 THEN PRINT AT 6,USR 16536;E$
860 GOTO 710
900 REM %F%I%N%D
901 IF INKEY$<>"" THEN GOTO 901
905 PRINT AT 3,0;"ENTER WORD OR PHRASE TO FIND OR TOUCH ""ENTER"" TO CHANGE STATUS "
910 SLOW
911 INPUT D$
912 PRINT AT 20,0;E$
915 IF D$="" THEN GOTO 500
920 FAST
921 FOR N=6 TO 18
922 PRINT AT N,0;E$
923 NEXT N
930 IF D$<>"£" THEN LET F$=D$
940 IF D$<>"£" THEN LET X=1
941 FOR N=X TO T-LEN F$+1
945 IF T$(N TO N+LEN F$-1)=F$ THEN GOTO 965
950 NEXT N
955 PRINT AT 20,0;"*******SEARCH IS COMPLETE*******"
960 GOTO 905
965 LET X=INT (N/C)*C+1
970 PRINT AT 20,0;T$(X TO X+C-1);AT 3,0;"ENTER ""£"" TO CONTINUE SEARCH OR"
973 LET X=X+C
975 GOTO 910
1000 REM %P%R%I%N%T
1010 IF INKEY$<>"" THEN GOTO 1010
1020 PRINT AT 3,0;"ENTER ""P""(PRINTER) - ""S""(SCREEN)TOUCH ""ENTER"" TO CHANGE STATUS "
1030 INPUT D$
1035 IF D$="" THEN GOTO 500
1040 LET PS=(D$="P")
1050 PRINT AT 3,0;"ENTER NO. OF FIRST LINE TO PRINT";E$
1060 INPUT L1
1070 PRINT AT 4,0;"ENTER NO. OF LAST LINE TO PRINT "
1080 INPUT L2
1082 FOR N=6 TO 18
1084 PRINT AT N,0;E$
1086 NEXT N
1087 PRINT AT 20,0;E$
1090 IF PS=1 THEN FAST
1092 LET J=0
1100 IF L2*C>T THEN LET L2=T/C
1110 FOR N=L1 TO L2
1115 LET CJ=0
1120 LET P$=T$(N*C-C+1 TO N*C)
1130 IF P$(C)="<" THEN LET J=1
1140 IF P$(C)=">" THEN LET J=0
1150 IF P$(C)=">" OR P$(C)="<" THEN LET P$(C)=" "
1160 IF P$(C)="*" THEN GOTO 1270
1165 IF J=0 THEN GOTO 1310
1170 FOR M=C TO 1 STEP -1
1180 IF P$(M)="." OR P$(M)=":" OR P$(M)="?" THEN GOTO 1310
1190 IF P$(M)<>" " THEN GOTO 1220
1200 NEXT M
1210 GOTO 1310
1220 FOR Q=M TO 1 STEP -1
1225 IF P$(Q)=" " THEN LET CJ=1
1230 IF P$(Q)=" " THEN LET P$=P$( TO Q)+P$(Q TO )
1240 IF P$(C)<>" " THEN GOTO 1310
1250 NEXT Q
1260 IF CJ=1 THEN GOTO 1170
1265 GOTO 1310
1270 FOR M=C-1 TO 1 STEP -1
1280 IF P$(M)<>" " THEN GOTO 1300
1290 NEXT M
1300 LET P$=E$( TO (C-M)/2)+P$
1310 IF PS=1 THEN LPRINT P$
1320 IF PS=0 THEN PRINT AT 18,USR 16514;P$
1330 NEXT N
1340 SLOW
1350 GOTO 1020
1400 REM %S%A%V%E
1410 IF INKEY$<>"" THEN GOTO 1410
1420 PRINT AT 3,0;" ENTER NAME OF DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1430 INPUT H$
1440 IF H$="" THEN GOTO 500
1450 PRINT AT 3,0;"ENTER ""S"" WHEN RECORDER IS READY";E$
1460 INPUT D$
1470 SAVE H$
1480 GOTO 148
1500 REM %E%R%A%S%E
1510 IF INKEY$<>"" THEN GOTO 1510
1520 PRINT AT 3,0;" ENTER ""E"" TO ERASE DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
1530 INPUT D$
1540 IF D$<>"E" THEN GOTO 500
1545 CLS
1546 FAST
1550 GOTO 1
2000 REM %L%I%N%E% %N%U%M%B%E%R%S
2001 PRINT AT 19,0;E$;AT 19,0;"%L%I%N%E% %B%E%L%O%W%= ";(X+C-1)/C,"%L%I%N%E%S% %U%S%E%D%= ";T/C
2010 SLOW
2020 FOR N=1 TO 40
2030 NEXT N
2040 GOTO 300
3000 REM %L%O%C%A%T%E
3001 PRINT "ENTER LINE NUMBER"
3010 INPUT D$
3015 FAST
3020 LET X=(VAL D$)*C-C+1
3030 IF X>T THEN LET X=T-C+1
3040 GOTO 160
9000 REM %T%I%T%L%E
9001 SLOW
9002 PRINT AT 6,10;"ZX LINOTYPE";AT 10,3;"(C) 1985 - JAMES L. HILL";AT 19,4;"TOUCH ""ENTER"" TO BEGIN"
9010 INPUT D$
9021 PRINT AT 19,0;" COLUMN WIDTH? (ENTER A NUMBER 1 THROUGH 32)"
9022 INPUT C
9023 FAST
9024 CLS
9030 RETURN
9050 SAVE "ZX %L"
9060 GOTO 1
People
C itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-56749 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.11.2 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.11.1"C itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-56749 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.11.2 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.11.1"\ED\B8\C9 itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-56749 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.11.2 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.11.1"C
4 REM ZX LINOTYPE (C) 1985 BY JAMES L. HILL
5 GOSUB 9000
10 DIM T$(2250)
30 LET H$="BEGIN NEW DOCUMENT"
40 DIM I$(C)
50 LET T=0
147 DIM P$(C)
148 PRINT AT 6,15-LEN H$/2;H$
150 LET X=1
160 PRINT AT 2,0;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''";AT 5,0;"\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..";AT 19,0;"<><><><><><><><><><><><><><><><>"
165 PRINT AT 20,0;T$(X TO X+C-1)
170 LET S=1
180 PRINT AT 0,0;S$(S)
299 REM %I%N%P%U%T% %R%O%U%T%I%N%E
300 FAST
301 PRINT AT 3,0;"ENTER TEXT - ENTER ""£"" TO CHANGESTATUS OR ""££"" FOR LINE NUMBERS "
302 IF S=1 THEN PRINT AT 19,0;"<<<<<<%T%Y%P%E% %O%V%E%R% %N%E%X%T% %L%I%N%E>>>>>>>"
303 IF S=2 THEN PRINT AT 19,0;"<<<<<<<<%I%N%S%E%R%T% %T%E%X%T% %H%E%R%E>>>>>>>>"
309 PRINT AT 21,0;"\..%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0\.."
310 INPUT I$
320 IF I$(1)="£" THEN GOTO 500
330 IF S=1 AND X>=2250-C+1 THEN GOTO 310
340 IF S=2 AND T>=2250-C THEN GOTO 310
350 IF S=1 THEN LET T$=T$( TO X-1)+I$+T$(X+C TO )
360 IF S=2 THEN LET T$=T$( TO X-1)+I$+T$(X TO )
370 LET X=X+C
375 IF S=1 AND X>T THEN LET T=T+C
380 IF S=2 THEN LET T=T+C
390 PRINT AT 18,USR 16514;I$
400 PRINT AT 20,0;T$(X TO X+C-1)
410 GOTO 309
499 REM %S%T%A%T%U%S
500 SLOW
501 IF I$(2)="£" THEN GOTO 2000
502 IF INKEY$<>"" THEN GOTO 502
503 PRINT AT 3,0;" USE ARROWS TO CHANGE STATUS THEN TOUCH ""ENTER"" ";AT 19,0;"<><><><><><><><><><><><><><><><>"
504 LET D$=INKEY$
506 IF D$="8" THEN LET S=S+(S<=7)-7*(S=8)
507 IF D$="5" THEN LET S=S-(S>=2)+7*(S=1)
508 PRINT AT 0,0;S$(S)
530 IF D$=CHR$ 118 THEN GOTO 300*(S<3)+600*(S=3)+700*(S=4)+900*(S=5)+1000*(S=6)+1400*(S=7)+1500*(S=8)
560 PRINT AT 0,0;"0VER INSERT DELETE SCROLL FIND PRINT SAVE ERASE "
570 GOTO 504
600 REM %D%E%L%E%T%E
601 IF INKEY$<>"" THEN GOTO 615
605 PRINT AT 3,0;" SHIFT ""0"" TO DELETE OR TOUCH ""ENTER"" TO CHANGE STATUS ";AT 19,0;"<<<<<<<<%D%E%L%E%T%E% %N%E%X%T% %L%I%N%E>>>>>>>>"
615 IF INKEY$<>"" THEN GOTO 615
620 LET D$=INKEY$
640 IF D$=CHR$ 118 THEN GOTO 500
645 IF X>T OR X>=2250-C+1 THEN GOTO 620
650 IF D$=CHR$ 119 THEN LET T$=T$( TO X-1)+T$(X+C TO )
655 IF D$=CHR$ 119 THEN LET T=T-C
660 PRINT AT 20,0;T$(X TO X+C-1)
670 GOTO 620
700 REM %S%C%R%O%L%L
701 IF INKEY$<>"" THEN GOTO 701
702 PRINT AT 3,0;" USE ARROWS TO SCROLL OR TOUCH ""ENTER"" TO CHANGE STATUS "
710 LET D$=INKEY$
730 IF D$="7" AND X<T AND X<2250-C+1 THEN GOTO 760
740 IF D$="6" AND X>=C+1 THEN GOTO 810
750 IF D$=CHR$ 118 THEN GOTO 500
755 GOTO 710
760 PRINT AT 18,USR 16514;T$(X TO X+C-1)
770 LET X=X+C
790 PRINT AT 20,0;T$(X TO X+C-1)
800 GOTO 710
820 LET X=X-C
830 PRINT AT 20,0;T$(X TO X+C-1)
840 IF X>=13*C+1 THEN PRINT AT 6,USR 16536;T$(X-13*C TO X-13*C+C-1)
850 IF X<13*C+1 THEN PRINT AT 6,USR 16536;E$
860 GOTO 710
900 REM %F%I%N%D
901 IF INKEY$<>"" THEN GOTO 901
905 PRINT AT 3,0;"ENTER WORD OR PHRASE TO FIND OR TOUCH ""ENTER"" TO CHANGE STATUS "
910 SLOW
911 INPUT D$
912 PRINT AT 20,0;E$
915 IF D$="" THEN GOTO 500
920 FAST
921 FOR N=6 TO 18
922 PRINT AT N,0;E$
923 NEXT N
930 IF D$<>"£" THEN LET F$=D$
940 IF D$<>"£" THEN LET X=1
941 FOR N=X TO T-LEN F$+1
945 IF T$(N TO N+LEN F$-1)=F$ THEN GOTO 965
950 NEXT N
955 PRINT AT 20,0;"*******SEARCH IS COMPLETE*******"
960 GOTO 905
965 LET X=INT (N/C)*C+1
970 PRINT AT 20,0;T$(X TO X+C-1);AT 3,0;"ENTER ""£"" TO CONTINUE SEARCH OR"
973 LET X=X+C
975 GOTO 910
\n1000 REM %P%R%I%N%T
\n1010 IF INKEY$<>"" THEN GOTO 1010
\n1020 PRINT AT 3,0;"ENTER ""P""(PRINTER) - ""S""(SCREEN)TOUCH ""ENTER"" TO CHANGE STATUS "
\n1030 INPUT D$
\n1035 IF D$="" THEN GOTO 500
\n1040 LET PS=(D$="P")
\n1050 PRINT AT 3,0;"ENTER NO. OF FIRST LINE TO PRINT";E$
\n1060 INPUT L1
\n1070 PRINT AT 4,0;"ENTER NO. OF LAST LINE TO PRINT "
\n1080 INPUT L2
\n1082 FOR N=6 TO 18
\n1084 PRINT AT N,0;E$
\n1086 NEXT N
\n1087 PRINT AT 20,0;E$
\n1090 IF PS=1 THEN FAST
\n1092 LET J=0
\n1100 IF L2*C>T THEN LET L2=T/C
\n1110 FOR N=L1 TO L2
\n1115 LET CJ=0
\n1120 LET P$=T$(N*C-C+1 TO N*C)
\n1130 IF P$(C)="<" THEN LET J=1
\n1140 IF P$(C)=">" THEN LET J=0
\n1150 IF P$(C)=">" OR P$(C)="<" THEN LET P$(C)=" "
\n1160 IF P$(C)="*" THEN GOTO 1270
\n1165 IF J=0 THEN GOTO 1310
\n1170 FOR M=C TO 1 STEP -1
\n1180 IF P$(M)="." OR P$(M)=":" OR P$(M)="?" THEN GOTO 1310
\n1190 IF P$(M)<>" " THEN GOTO 1220
\n1200 NEXT M
\n1210 GOTO 1310
\n1220 FOR Q=M TO 1 STEP -1
\n1225 IF P$(Q)=" " THEN LET CJ=1
\n1230 IF P$(Q)=" " THEN LET P$=P$( TO Q)+P$(Q TO )
\n1240 IF P$(C)<>" " THEN GOTO 1310
\n1250 NEXT Q
\n1260 IF CJ=1 THEN GOTO 1170
\n1265 GOTO 1310
\n1270 FOR M=C-1 TO 1 STEP -1
\n1280 IF P$(M)<>" " THEN GOTO 1300
\n1290 NEXT M
\n1300 LET P$=E$( TO (C-M)/2)+P$
\n1310 IF PS=1 THEN LPRINT P$
\n1320 IF PS=0 THEN PRINT AT 18,USR 16514;P$
\n1330 NEXT N
\n1340 SLOW
\n1350 GOTO 1020
\n1400 REM %S%A%V%E
\n1410 IF INKEY$<>"" THEN GOTO 1410
\n1420 PRINT AT 3,0;" ENTER NAME OF DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
\n1430 INPUT H$
\n1440 IF H$="" THEN GOTO 500
\n1450 PRINT AT 3,0;"ENTER ""S"" WHEN RECORDER IS READY";E$
\n1460 INPUT D$
\n1470 SAVE H$
\n1480 GOTO 148
\n1500 REM %E%R%A%S%E
\n1510 IF INKEY$<>"" THEN GOTO 1510
\n1520 PRINT AT 3,0;" ENTER ""E"" TO ERASE DOCUMENT OR TOUCH ""ENTER"" TO CHANGE STATUS "
\n1530 INPUT D$
\n1540 IF D$<>"E" THEN GOTO 500
\n1545 CLS
\n1546 FAST
\n1550 GOTO 1
\n2000 REM %L%I%N%E% %N%U%M%B%E%R%S
\n2001 PRINT AT 19,0;E$;AT 19,0;"%L%I%N%E% %B%E%L%O%W%= ";(X+C-1)/C,"%L%I%N%E%S% %U%S%E%D%= ";T/C
\n2010 SLOW
\n2020 FOR N=1 TO 40
\n2030 NEXT N
\n2040 GOTO 300
\n3000 REM %L%O%C%A%T%E
\n3001 PRINT "ENTER LINE NUMBER"
\n3010 INPUT D$
\n3015 FAST
\n3020 LET X=(VAL D$)*C-C+1
\n3030 IF X>T THEN LET X=T-C+1
\n3040 GOTO 160
\n9000 REM %T%I%T%L%E
\n9001 SLOW
\n9002 PRINT AT 6,10;"ZX LINOTYPE";AT 10,3;"(C) 1985 - JAMES L. HILL";AT 19,4;"TOUCH ""ENTER"" TO BEGIN"
\n9010 INPUT D$
\n9021 PRINT AT 19,0;" COLUMN WIDTH? (ENTER A NUMBER 1 THROUGH 32)"
\n9022 INPUT C
\n9023 FAST
\n9024 CLS
\n9030 RETURN
\n9050 SAVE "ZX %L"
\n9060 GOTO 1