VU-Write

Products: Vu-Write
Date: 1983
Type: Cassette
Platform(s): TS 1000

Easily create documents like letters, document spreadsheets and other programs with full insert, delete, move, and print text.

Related Products

Easily create documents like letters, document spreadsheets and other programs with full insert, delete, move, and print text. Completely menu-driven, 11K free RAM for documents. Define file size, set tabs and start writing. 16K.

Gallery

VU-Write

Source Code

   1 REM E£RND7 FAST )5 ;SGN \' ?\ ' GOSUB %KTAN 5\~~ 67RND6\~~RNDTAN 
  10 REM DOCUMENT PROCESSOR
  11 REM VU-WRITE / 2C.01 / 3069 
  15 REM PROPRIETARY TO:
  16 REM MANAGEMENT SERVICES CO. 
 100 REM ** DISPLAY **
 150 LET Z1=L3
 160 LET Z2=VAL "16"
 170 LET Z3=A
 180 IF L2<VAL "29" THEN LET Z3=L+B
 200 IF D$(Z1)=S$( TO L2) AND Z1<>L3 THEN GOTO 250
 210 IF L2<29 THEN PRINT AT Z2,0;Z1;"    ";
 220 PRINT AT Z2,Z3;D$(Z1);
 230 LET Z2=Z2-1
 250 IF Z2<0 OR F=1 THEN RETURN 
 260 LET Z1=Z1-1
 290 IF Z1 THEN GOTO 200
 300 FOR Z=Z2 TO 0 STEP -1
 310 PRINT AT Z,0;S$;
 320 NEXT Z
 390 RETURN 
 500 REM ** TEXT **
 550 CLS 
 560 IF NOT L3 THEN GOTO VAL "600"
 570 LET F=A
 575 GOSUB VAL "100"
 600 PRINT AT VAL "18",A;R$;"--LINE";S$( TO VAL "28");"ENTER LINE NO.: (1<=";L1;",M,E)"," ";R$( TO L);S$( TO VAL "31"-L)
 605 LET F=A
 610 INPUT Q$
 615 IF Q$="" THEN GOTO VAL "650"
 620 IF Q$(B)<>"M" THEN GOTO VAL "625"
 621 LET F=VAL "2"
 622 LET Q$=Q$(VAL "2" TO )
 625 IF NOT LEN Q$ OR LEN Q$>L THEN GOTO VAL "610"
 626 IF Q$(B)="E" THEN GOTO VAL "1220"
 630 LET Q=A
 632 FOR Z=B TO LEN Q$
 634 IF Q$(Z)<"0" OR Q$(Z)>"9" THEN LET Q=B
 636 NEXT Z
 638 IF NOT Q THEN IF VAL Q$>=B AND VAL Q$<=L1 THEN GOTO VAL "640"
 639 GOTO VAL "610"
 640 LET L3=VAL Q$
 645 GOTO VAL "680"
 650 IF L3=L1 THEN GOTO VAL "610"
 655 IF NOT F THEN LET F=B
 660 IF L3 AND F<VAL "3" THEN IF D$(L3)<>S$( TO L2) THEN GOTO VAL "670"
 665 GOTO VAL "675"
 670 RAND USR VAL "16514"
 675 LET L3=L3+B
 680 IF F=VAL "3" THEN GOTO VAL "800"
 685 GOSUB VAL "100"
 690 PRINT AT VAL "19",VAL "5";L3
 692 IF F<VAL "2" THEN GOTO VAL "700"
 694 PRINT AT VAL "19",A;"MOVE"," TO ";
 696 LET F=VAL "3"
 698 LET L4=L3
 699 GOTO VAL "610"
 700 PRINT TAB VAL "10";":";S$( TO VAL "20"),TAB B;R$( TO L2);S$( TO VAL "30"-L2);AT VAL "21",T(B);"+";AT VAL "21",T(B+B);"+"
 720 SLOW 
 730 INPUT Q$
 740 FAST 
 750 IF Q$="" THEN GOTO VAL "600"
 760 LET D$(L3)=Q$
 770 LET F=B
 780 GOSUB VAL "100"
 790 GOTO VAL "600"
 800 LET Z1=B
 810 LET Z2=L1-L4+B
 820 IF L3>L4 THEN LET Z2=L1-L3+B
 830 PRINT L3,TAB VAL "6";"QTY TO MOVE: (0<=";Z2;")";S$;AT VAL "21",A;R$( TO L)
 840 INPUT Q
 842 IF Q<A OR Q>Z2 THEN GOTO VAL "840"
 844 IF NOT Q THEN GOTO VAL "600"
 850 LET Q=Q-B
 860 IF L3<=L4 THEN GOTO VAL "870"
 862 LET L3=L3+Q
 864 LET L4=L4+Q
 866 LET Q=-Q
 868 LET Z1=-Z1
 870 FOR Z=A TO Q STEP Z1
 875 LET D$(L3+Z)=D$(L4+Z)
 880 NEXT Z
 890 IF L3<=L4 THEN LET L3=L3+Q
 895 GOTO VAL "780"
 900 REM ** TITLE **
 910 CLS 
 920 PRINT "OPTION: TITLE";AT VAL "11",A;"TITLE:  ";T$;AT VAL "21",B;R$( TO 24)
 930 INPUT Q$
 940 IF Q$="" THEN GOTO VAL "1220"
 950 LET T$=Q$
 990 GOTO VAL "1220"
1000 REM ** MENU **
1010 RAND USR VAL "16530"
1015 FAST 
1020 CLS 
1025 PRINT TAB VAL "11";"""VU-WRITE""",TAB VAL "7";"DOCUMENT PROCESSOR",TAB B;R$,,TAB VAL "11";"1. FILE",,TAB VAL "11";"2. WRITE",,TAB VAL "11";"3. LPRINT ",,TAB VAL "11";"4. SAVE ",,,,TAB VAL "6";"ENTER OPTION: (1<=4)",,TAB B;R$,TAB VAL "10";"** STATUS **",,," SAVED: ";X$," TITLE: ";T$;" LINES: ";L1,"LENGTH: ";L2," TAB 1: ";T(B)," TAB 2: ";T(B+B)
1030 PAUSE P
1050 LET Q$=INKEY$
1060 IF Q$<"1" OR Q$>"4" THEN GOTO VAL "1030"
1080 CLS 
1090 GOTO VAL Q$*VAL "100"+C
1100 REM ** FILE **
1110 IF NOT L1 THEN GOTO VAL "1140"
1115 PRINT "OPTION: SET FILE";AT VAL "8",VAL "6";"%C%A%U%T%I%O%N:  THIS OPTION",,TAB VAL "3";"WILL CLEAR AND REDEFINE THE",,TAB VAL "5";"TEXT FILE.  PRESS %E%N%T%E%R",,TAB VAL "10";" TO CONTINUE."
1120 PAUSE VAL "60"
1130 IF INKEY$<>CHR$ VAL "118" THEN GOTO C
1140 CLS 
1145 PRINT "OPTION: SET FILE";AT VAL "11",VAL "11";"(1<=30)";AT VAL "10",VAL "4";"ENTER RECORD LENGTH: ";
1150 INPUT Q
1152 IF Q<B OR Q>VAL "30" THEN GOTO VAL "1150"
1154 PRINT Q
1156 POKE VAL "16507",Q
1160 PRINT AT VAL "21",VAL "7";"CORRECT? (%END-Y-N)"
1162 PAUSE P
1164 IF INKEY$="Y" THEN GOTO VAL "1170"
1166 IF INKEY$="N" THEN GOTO VAL "1140"
1168 GOTO C
1170 CLEAR 
1171 GOSUB VAL "1180"
1172 LET L3=A
1173 LET L2=PEEK VAL "16507"
1174 LET L1=INT (VAL "11144"/L2)
1175 LET L=LEN STR$ L1
1176 DIM D$(L1,L2)
1179 GOTO C
1180 LET A=VAL "0"
1181 LET B=VAL "1"
1182 LET C=VAL "1000"
1183 LET P=VAL "40000"
1184 LET R$="------------------------------"
1190 DIM S$(VAL "32")
1191 DIM T(VAL "2")
1192 DIM T$(VAL "24")
1193 DIM X$(VAL "8")
1199 RETURN 
1200 REM ** TAB **
1210 IF NOT L1 THEN GOTO C
1220 CLS 
1225 PRINT TAB VAL "11";"""VU-WRITE""",TAB VAL "7";"DOCUMENT PROCESSOR",TAB B;R$,,TAB VAL "12";"1. TABS",,TAB VAL "12";"2. TITLE",,TAB VAL "12";"3. TEXT",,,,TAB VAL "6";"ENTER OPTION: (1<=3)",,TAB B;R$
1230 PAUSE P
1240 IF INKEY$="3" THEN GOTO VAL "500"
1242 IF INKEY$="2" THEN GOTO VAL "900"
1244 IF INKEY$<>"1" THEN GOTO C
1250 CLS 
1255 PRINT "OPTION: SET TABS";AT VAL "10",VAL "2";"ENTER TAB POSITIONS (0<=";L2;")",,TAB VAL "5";"TAB 1:"," TAB 2:"
1260 FOR Z=B TO B+B
1265 PRINT AT VAL "12",Z*VAL "12";"%<"
1270 INPUT T(Z)
1272 IF T(Z)<A OR T(Z)>L2 THEN GOTO VAL "1262"
1274 PRINT AT VAL "12",Z*VAL "12";T(Z)
1278 NEXT Z
1280 PRINT AT VAL "21",VAL "9";"CORRECT? (Y-N)"
1285 PAUSE P
1290 IF INKEY$<>"N" THEN GOTO VAL "1220"
1295 GOTO VAL "1250"
1300 REM ** LPRINT **
1310 IF NOT L1 THEN GOTO C
1320 PRINT "OPTION: LPRINT ";AT VAL "11",VAL "7";"OK TO PRINT? (N-Y)"
1330 PAUSE P
1340 IF INKEY$<>"Y" THEN GOTO C
1350 LPRINT X$,S$,T$,,,,,
1360 FOR Z=B TO L1
1362 IF D$(Z)=S$( TO L2) THEN GOTO VAL "1390"
1364 IF D$(Z,B)="/" THEN GOTO VAL "1380"
1370 LPRINT TAB VAL "30"-L2;D$(Z)
1375 GOTO VAL "1390"
1380 LPRINT 
1390 NEXT Z
1395 GOTO C
1400 REM ** SAVE **
1410 PRINT "OPTION: SAVE ";AT VAL "6",B;"ENTER PGM NAME: (";X$;",END)"
1412 INPUT Q$
1414 IF Q$="END" THEN GOTO C
1416 IF Q$<>"" THEN LET X$=Q$
1420 PRINT AT VAL "6",A;S$,TAB VAL "7";"PGM NAME: ";X$,,,,TAB VAL "5";"PRESS %E%N%T%E%R WHEN READY",,TAB VAL "8";" OR %END TO ABORT."
1422 PAUSE P
1424 IF INKEY$<>CHR$ VAL "118" THEN GOTO C
1430 SAVE X$
1440 GOTO C
1450 REM ** INIT **
1460 GOSUB VAL "1180"
1470 LET L1=A
1480 LET L2=A
1490 GOTO VAL "1400"

People

No people associated with this content.

Scroll to Top