VU-File Patch

Developer(s): Tim Ward
Date: 198x
Type: Program
Platform(s): TS 1000

Appears on

Assembled by Tim Ward from many sources. Contains programs 10211 – 10251.

Related Products

Timex repackage of VU-FILE.
High-speed storage and retrieval program. Access personal or business files almost instantly. Design or format files to suit specific needs and update/query them. Also published as The Organizer by Timex. 16K.

Gallery

VU-File Patch

Source Code

1000 REM DELETE LINES 52+ FROM VU-FILE AND MERGE THESE LINES OF BASIC IN WITH LINES 50 AND 51 OFVU-FILE.  CONTACT TIM WARD IF YOU HAVE ANY QUESTIONS ABOUT THIS PGM.
1010 REM 
1020 FAST 
1030 DIM F$(9500,4)
1040 LET A=VAL "9500"
1050 LET B=VAL "256"
1060 LET C=VAL "0"
1070 LET D=VAL "1"
1080 LET L=PEEK 16400+B*PEEK 16401
1090 LET A=A*4+5
1100 POKE L+D,A-B*INT (A/B)
1110 POKE L+2,INT (A/B)
1120 POKE L+3,D
1130 LET A=A-3
1140 POKE L+4,A-B*INT (A/B)
1150 POKE L+5,INT (A/B)
1160 POKE L+6,C
1170 LET Z$="                                "
1180 LET PL=C
1190 LET CF=C
1200 LET X$="N"
1210 LET HEAD=C
1220 LET FORMAT=C
1230 LET M=VAL "1300"
1240 LET BL=VAL "3050"
1250 LET F$( TO 20)="VU-FILE+"
1260 SLOW 
1270 RAND USR VAL "17986"
1280 CLS 
1290 GOTO VAL "1540"
1300 CLS 
1310 SLOW 
1320 PRINT AT 2,8;"%P%S%I%O%N% %C%O%M%P%U%T%E%R%S"
1330 PRINT "   MODIFICATIONS BY TIM WARD"
1340 PRINT AT 5,12;"VU-FILE+",,,,,
1350 PRINT " 1)...SET RECORD FORMAT",,,
1360 PRINT " 2)...ENTER VU-FILE",,,
1370 PRINT " 3)...SAVE VU-FILE AND/OR DATA",,,
1380 PRINT " 4)...SET PRINTER FORMATS",,,
1390 PRINT " 5)...CLEAR ALL DATA/FORMATS",,,,,
1400 PRINT "PRESS 1 TO 5 FOR DESIRED OPTION"
1410 LET I$=INKEY$
1420 IF I$<"1" OR I$>"5" THEN GOTO VAL "1410"
1430 LET PH=HEAD
1440 LET PAGE=C
1450 LET PL=C
1460 CLS 
1470 IF I$="1" THEN GOTO VAL "1520"
1480 IF I$="2" THEN GOTO VAL "1540"
1490 IF I$="3" THEN GOTO VAL "1670"
1500 IF I$="4" THEN GOTO VAL "1810"
1510 IF I$="5" THEN RUN 
1520 RAND USR VAL "17989"
1530 GOTO M
1540 LET A=USR VAL "19157"
1550 IF A=D THEN GOTO VAL "1580"
1560 IF A=VAL "2" THEN GOTO VAL "1630"
1570 GOTO M
1580 PRINT AT C,C;F$( TO 20);"   ";PEEK VAL "16603"
1590 PRINT PEEK VAL "16565"+B*PEEK VAL "16566";TAB VAL "17";INT (VAL "100"*(PEEK VAL "18585"+B*PEEK VAL "16586")/(PEEK VAL "16583"+B*PEEK VAL "16584"))
1600 PRINT TAB VAL "20";PEEK VAL "16567"
1610 LET A=USR VAL "19160"
1620 GOTO VAL "1550"
1630 GOSUB VAL "2510"
1640 SLOW 
1650 LET A=USR VAL "17983"
1660 GOTO VAL "1550"
1670 CLS 
1680 FAST 
1690 GOSUB BL
1700 PRINT "ENTER FILE NAME"
1710 INPUT N$
1720 GOSUB BL
1730 PRINT "SET PLAYER TO RECORD"
1740 PRINT "BEFORE PRESSING NEWLINE"
1750 LET F$( TO 20)=N$
1760 INPUT I$
1770 RAND USR VAL "19154"
1780 SAVE N$
1790 IF USR VAL "19151"<>C THEN STOP 
1800 GOTO M
1810 IF FORMAT=C THEN GOTO VAL "1880"
1820 GOSUB BL
1830 PRINT "CHANGE P)AGE FORMAT D)ATA FORMATOR R)ETURN TO MAIN MENU" 
1840 INPUT I$
1850 IF I$="P" THEN GOTO VAL "1880"
1860 IF I$="D" THEN GOTO VAL "2260"
1870 IF I$="R" THEN GOTO M
1880 GOSUB BL
1890 PRINT "ENTER LINE LENGTH (1-132)"
1900 INPUT LL
1910 GOSUB BL
1920 PRINT "ENTER PAGE LENGTH (1-112)"
1930 INPUT FL
1940 GOSUB BL
1950 PRINT "ENTER NBR OF LINES FOR TOP AND  BOTTOM MARGINS (0-111)"
1960 INPUT MARGIN
1970 LET LTP=FL-MARGIN
1980 GOSUB BL
1990 PRINT "HOW MANY HEADER LINES DO YOU    WANT PRINTED? (0-10)"
2000 INPUT HL
2010 IF HL<>C THEN LET HEAD=D
2020 IF HL=C THEN GOTO VAL "2280"
2030 DIM H(HL)
2040 DIM H$(HL,LL)
2050 FOR Z=D TO HL
2060 GOSUB BL
2070 PRINT "EXPAND HEADER LINE ";Z;" (Y-N)"
2080 INPUT I$
2090 LET H(Z)=C
2100 IF I$="Y" THEN LET H(Z)=D
2110 LET CM=LL
2120 IF I$="Y" THEN LET CM=LL/2
2130 GOSUB BL
2140 PRINT "CENTER HEADER LINE ";Z;" (Y-N)"
2150 INPUT J$
2160 GOSUB BL
2170 PRINT "ENTER HEADER LINE ";Z,"(";CM;" CHARS MAX)"
2180 INPUT I$
2190 IF J$="N" THEN LET H$(Z, TO CM)=I$
2200 IF J$="Y" THEN LET H$(Z,INT (CM-LEN I$)/2 TO CM)=I$
2210 NEXT Z
2220 GOSUB BL
2230 PRINT "PRINT PAGE NUMBERS (Y-N)"
2240 INPUT X$
2250 IF FORMAT=D THEN GOTO VAL "1810"
2255 CLS 
2260 RAND USR VAL "17992"
2270 CLS 
2280 GOSUB BL
2290 PRINT "ENTER NBR OF PRINT LINES PER    RECORD (1-10)"
2300 INPUT RPL
2310 GOSUB BL
2320 PRINT "ENTER NBR OF FIELDS IN RECORD   (1-19)"
2330 INPUT NF
2340 DIM E(NF,3)
2350 FOR Z=D TO NF
2360 GOSUB BL
2370 PRINT "ENTER LENGTH OF FIELD ";Z
2380 INPUT E(Z,D)
2390 GOSUB BL
2400 PRINT "ENTER LINE TO PRINT FIELD ";Z,"ON (0-"+STR$ RPL+")"
2410 INPUT E(Z,2)
2420 GOSUB BL
2430 PRINT "ENTER STARTING COLUMN FOR FIELD NBR ";Z;" (1-"+STR$ (LL-E(Z,D)+D)+")"
2440 INPUT E(Z,3)
2450 NEXT Z
2460 FAST 
2470 RAND USR VAL "19154"
2480 IF FORMAT=D THEN GOTO VAL "1810"
2490 LET FORMAT=D
2500 GOTO M
2510 FAST 
2520 IF PL=C THEN GOSUB VAL "2950"
2530 LET CF=CF+D
2540 IF CF=D AND (FL-(MARGIN/2))-PL<RPL THEN GOSUB VAL "2860"
2550 IF PH=D THEN GOSUB VAL "2660"
2560 IF CF=D THEN DIM R$(RPL,LL)
2570 IF E(CF,2)=C THEN GOTO VAL "2590"
2580 LET R$(E(CF,2),E(CF,3) TO E(CF,3)+E(CF,D)-D)=F$(21 TO (E(CF,D)+20))
2590 IF CF<NF THEN RETURN 
2600 LET CF=C
2610 FOR I=D TO RPL
2620 LET P$=R$(I)
2630 GOSUB VAL "2820"
2640 NEXT I
2650 RETURN 
2660 FOR X=D TO HL
2670 IF H(X)=C THEN GOTO VAL "2770"
2680 LET P$=CHR$ 14
2690 RAND CODE "P"
2700 RAND USR VAL "10660"
2710 LET P$=H$(X,D TO (LL/2))
2720 GOSUB VAL "2830"
2730 LET P$=CHR$ 15
2740 RAND USR VAL "10660"
2750 LET PL=PL+2
2760 GOTO VAL "2790"
2770 LET P$=H$(X)
2780 GOSUB VAL "2820"
2790 NEXT X
2800 LET PH=C
2810 RETURN 
2820 RAND CODE "P"
2830 RAND USR VAL "10655"
2840 LET PL=PL+D
2850 IF PL-D<>FL-(MARGIN/2) THEN RETURN 
2860 LET CTR=PL+D
2870 LET PAGE=PAGE+D
2880 FOR Z=CTR TO FL
2890 DIM W$(D,LL)
2900 IF Z=FL-D AND X$="Y" THEN LET W$(D,LL/2 TO )=STR$ PAGE
2910 LET P$=W$(D)
2920 RAND USR VAL "10655"
2930 LET PL=PL+D
2940 NEXT Z
2950 LET PL=C
2960 LET PH=HEAD
2970 LET P$=""
2980 FOR Z=D TO MARGIN/2
2990 RAND CODE "P"
3000 RAND USR VAL "10655"
3010 LET PL=PL+D
3020 NEXT Z
3030 LET PH=HEAD
3040 RETURN 
3050 PRINT AT 13,C;Z$
3060 PRINT AT 12,C;Z$
3070 PRINT AT 11,31;" "
3080 RETURN 
3090 SAVE "VU-FILE%+"
3100 IF USR 19151=0 THEN RUN 
3110 SAVE "1022%0"
3120 LIST 
Scroll to Top