10 REM Program Directory for the Genealogy ON DISPLAY Programs 20 REM All data is in the form of DATA statements. 30 REM By: Melvin O. Duke. Updated February 1984. 40 DATA Genealogy 50 DATA Program Directory 60 DATA -1 70 DATA 1 80 INDENT = 0 90 REM Program begins here 100 READ TITLE$, DOC.NAME$, PAGE.NO, LINE.NO 110 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13 120 GOSUB 720 'For trim line and heading space 130 FOR I = 1 TO 6 : LPRINT : NEXT I 140 LPRINT CHR$(14); 'Set Expanded Print 150 LPRINT TAB(TAB.POS-2);TITLE$ 160 LPRINT CHR$(18); 'Return to normal 170 FOR I = 1 TO 3 : LPRINT : NEXT I 180 LPRINT CHR$(27); "E"; 'Set Emphasized mode 190 LPRINT TAB(TAB.POS+12);"ON DISPLAY" 200 LPRINT CHR$(27); "F"; 'Return to normal 210 LPRINT : LPRINT : LPRINT 220 LPRINT TAB(TAB.POS+11);"Version 2.0" 230 FOR I = 1 TO 11 : LPRINT : NEXT I 240 LPRINT TAB(TAB.POS+8); DOC.NAME$ 250 LINE.NO = LINE.NO + 27 260 ' 270 READ REPLY$ 280 IF LEFT$(REPLY$,1) = "." THEN GOSUB 1070: GOTO 270 290 IF LINE.NO > 44 THEN GOSUB 830 300 REM Print the line if not a command 310 REM First, change tildes to quotes 320 FOR Q = 1 TO LEN(REPLY$) 330 IF MID$(REPLY$,Q,1)="~"THEN MID$(REPLY$,Q,1)=CHR$(34) 340 NEXT Q 350 LPRINT TAB(TAB.POS);REPLY$ 360 LINE.NO = LINE.NO + 1 370 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13 380 GOTO 270 390 REM Data for the Copyright Page 400 DATA ".pa" 410 DATA "Anyone may request a copy of these" 420 DATA "programs by sending a blank, double-" 430 DATA "sided, double-density diskette to the" 440 DATA "author of the programs." 450 DATA ".sp" 460 DATA "An addressed, postage-paid return" 470 DATA "mailer must accompany the diskette (no" 480 DATA "exceptions, please). 490 DATA ".sp" 500 DATA "A copy of the programs with documenta-" 510 DATA "tion will be sent by return mail." 520 DATA ".vt 2" 530 DATA "Users are encouraged to copy and share" 540 DATA "the programs with others." 580 DATA ".vt 5" 590 DATA "If you are using these programs, and" 600 DATA "finding them of value, your contribution" 610 DATA "($35 suggested) will be anticipated." 620 DATA ".sp" 630 DATA "Melvin O. Duke" 640 DATA "P. O. Box 20836" 650 DATA "San Jose, CA 95160" 660 DATA ".vt 3" 670 DATA "Copyright (c) 1983, 1984, by:" 680 DATA "Melvin O. Duke." 690 DATA ".sp" 700 DATA "All rights reserved." 710 ' 720 REM Top of each page routine 730 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13 740 LPRINT 750 LPRINT TAB(30); "(Trim-line)" 760 LPRINT "+"+STRING$(54,45)+"+" 'Dashes 770 FOR I = 1 TO 6 780 LPRINT 790 NEXT I 800 LINE.NO = LINE.NO + 6 810 RETURN 820 ' 830 REM Bottom of each page Routine 840 IF PAGE.NO < 1 THEN LPRINT : LPRINT : LPRINT : GOTO 960 850 LPRINT TAB(TAB.POS); STRING$(40,45) 'on line 46 860 LPRINT TAB(TAB.POS+3); TITLE$+" ON DISPLAY. Version 2.0" 'on line 47 870 IF PAGE.NO MOD 2 = 1 THEN 910 880 LPRINT TAB(TAB.POS);"Page";PAGE.NO; 890 LPRINT TAB(TAB.POS+23);"Program Directory" 900 GOTO 960 910 LPRINT TAB(TAB.POS); "Program Directory"; 920 IF PAGE.NO < 10 THEN DELTA = 34 930 IF PAGE.NO > 9 THEN DELTA = 33 940 IF PAGE.NO > 99 THEN DELTA = 32 950 LPRINT TAB(TAB.POS+DELTA); "Page"; PAGE.NO 'on line 48 960 LPRINT : LPRINT : LPRINT 970 LPRINT "+"+STRING$(54,45)+"+" 'dashes after 51 980 LPRINT TAB(30); "(Trim-line)" 990 LPRINT CHR$(12); 1000 PAGE.NO = PAGE.NO + 1 1010 LINE.NO = 1 1020 IF REPLY$ = ".eof" THEN 1040 'Bypass after last page 1030 GOSUB 720 'For top of next page 1040 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13 1050 RETURN 1060 ' 1070 REM Command Processor 1080 IF LEFT$(REPLY$,3) = ".h1" THEN 1180 1090 IF LEFT$(REPLY$,3) = ".h2" THEN 1320 1100 IF LEFT$(REPLY$,3) = ".h3" THEN 1430 1110 IF LEFT$(REPLY$,3) = ".sp" THEN 1540 1120 IF LEFT$(REPLY$,4) = ".eof" THEN 1590 1130 IF LEFT$(REPLY$,3) = ".pa" THEN 1630 1140 IF LEFT$(REPLY$,3) = ".vt" THEN 1700 1150 IF LEFT$(REPLY$,3) = ".pk" THEN 1800 1160 IF LEFT$(REPLY$,3) = ".in" THEN 1930 1170 STOP 1180 REM Head 1 Processor 1190 FOR I = LINE.NO TO 44 1200 LPRINT 1210 NEXT I 1220 GOSUB 830 'Bottom of page Routine 1230 IF PAGE.NO MOD 2 = 0 THEN GOSUB 1630 'For h1 on Odd pages 1240 LPRINT CHR$(14); 'Set expanded print 1250 IF PAGE.NO MOD 2 = 0 THEN ADJUST = -4 ELSE ADJUST = -7 1260 LPRINT TAB(TAB.POS+ADJUST); RIGHT$(REPLY$,LEN(REPLY$)-4) 1270 LPRINT CHR$(18); 'Return to normal 1280 LINE.NO = LINE.NO+1 1290 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13 1300 RETURN 1310 ' 1320 REM Head 2 Processor 1330 IF LINE.NO = 7 THEN 1350 'skip spacing if at top of page 1340 IF LINE.NO > 43 THEN GOSUB 1630 ELSE LPRINT:LPRINT:LINE.NO = LINE.NO+2 1350 LPRINT CHR$(27); "E"; 'Set emphasized print 1360 LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-4) 1370 LPRINT CHR$(27); "F"; 'Return to normal 1380 LPRINT 1390 LINE.NO = LINE.NO + 2 1400 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13 1410 RETURN 1420 ' 1430 REM Head 3 Processor 1440 IF LINE.NO = 7 THEN 1460 'skip spacing if at top of page 1450 IF LINE.NO > 43 THEN GOSUB 1630 ELSE LPRINT:LPRINT:LINE.NO = LINE.NO+2 1460 LPRINT CHR$(27); "E"; 'Set emphasized print 1470 LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-4) 1480 LPRINT CHR$(27); "F"; 'Return to normal 1490 LPRINT 1500 LINE.NO = LINE.NO + 2 1510 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13 1520 RETURN 1530 ' 1540 REM Single Space Processor 1550 IF LINE.NO = 7 THEN 1570 1560 IF LINE.NO > 44 THEN GOSUB 1630 ELSE LPRINT : LINE.NO = LINE.NO + 1 1570 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13 1580 RETURN 1590 REM End of File Processor 1600 GOSUB 1630 'Bottom of Page 1610 LPRINT CHR$(12); 1620 GOTO 4670 1630 REM Page Eject Processor 1640 FOR I = LINE.NO TO 44 1650 LPRINT 1660 LINE.NO = LINE.NO + 1 1670 NEXT I 1680 GOSUB 830 'Bottom of Page Processing 1690 RETURN 1700 REM Vertical Tab Processor 1710 IF LINE.NO = 7 THEN 1790 1720 QTY = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3)) 1730 FOR I = 1 TO QTY 1740 LPRINT 1750 LINE.NO = LINE.NO + 1 1760 IF LINE.NO > 44 THEN I = QTY 1770 NEXT I 1780 IF LINE.NO > 44 THEN GOSUB 830 'End of page 1790 RETURN 1800 REM Pack Processor 1810 IF LINE.NO > 44 THEN GOSUB 830 1820 IF TAB.POS = 8 THEN ADJUST = 4 1830 IF TAB.POS = 13 THEN ADJUST = 7 1840 TAB.POS = TAB.POS + ADJUST + INDENT 1850 LPRINT CHR$(15); 'Packed printing 1860 WIDTH "lpt1:", 132 'set condensed width 1870 LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-3) 1880 LPRINT CHR$(18); 'Return to normal 1890 WIDTH "lpt1:", 80 'return to normal 1900 LINE.NO = LINE.NO + 1 1910 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13 1920 RETURN 1930 REM Indent Processor 1940 INDENT = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3)) 1950 RETURN 2000 DATA ".h1 INTRODUCTION" 2010 DATA ".h2 OVERVIEW" 2020 DATA "This Program Directory contains the" 2030 DATA "information about the contents of the" 2040 DATA "Distribution Diskette for the Genealogy" 2050 DATA "ON DISPLAY programs and documentation." 2060 DATA ".h2 CONTENT" 2070 DATA "The Distribution Diskette contains the" 2080 DATA "following Documentation Programs:" 2090 DATA ".sp" 2100 DATA " Program Program Program" 2110 DATA " Name Language Size" 2120 DATA " -------- -------- ---------" 2130 DATA " director basic 14,370" 2140 DATA " tableofc basic 11,480" 2150 DATA " introduc basic 12,481" 2160 DATA " general basic 18,131" 2170 DATA " usingthe basic 24,710" 2180 DATA " referenc basic 18,062" 2190 DATA " appendix basic 29,697" 2200 DATA ".pa" 2210 DATA "The Distribution Diskette contains the" 2220 DATA "following Genealogy programs:" 2230 DATA ".sp" 2240 DATA " Program Program Program" 2250 DATA " Name Language Size" 2260 DATA " -------- -------- ---------" 2270 DATA " creatper basic 3,674" 2280 DATA " creatmar basic 3,382" 2290 DATA " creatord basic 3,818" 2300 DATA " updatper basic 10,847" 2310 DATA " updatmar basic 8,776" 2320 DATA " updatord basic 13,391" 2330 DATA " indexpc basic 5,021" 2340 DATA " indexmar basic 4,885" 2350 DATA " printper basic 6,950" 2360 DATA " printmar basic 4,717" 2370 DATA " listper basic 3,906" 2380 DATA " listmar basic 4,682" 2390 DATA " listpci basic 3,917" 2400 DATA " alphaper basic 5,379" 2410 DATA " alphamar basic 4,697" 2420 DATA " display basic 21,775" 2430 DATA " pedigree basic 23,654" 2440 DATA " family basic 21,577" 2450 DATA " menu basic 7,041" 2460 DATA ".pa" 2470 DATA ".h2 REQUIREMENTS" 2480 DATA ".h3 Hardware Requirements" 2490 DATA "IBM PCjr, PC, PPC, or PC/XT, with:" 2500 DATA ".sp" 2510 DATA " One double-sided Diskette Drive." 2520 DATA ".sp" 2530 DATA " Either the IBM Graphics Printer, the" 2540 DATA " IBM Matrix Printer (or equivalents)." 2550 DATA ".sp" 2560 DATA " Note: The IBM Graphics Printer" 2570 DATA " and the IBM Matrix Printer" 2580 DATA " provide for condensed printing" 2590 DATA " of Pedigree Charts and Family" 2600 DATA " Group Sheets." 2610 DATA ".sp" 2620 DATA " For full-sized printouts of the" 2630 DATA " Pedigree Charts and Family" 2640 DATA " Group Sheets, a 132 character" 2650 DATA " (10 char/in) printer is required." 2660 DATA ".sp" 2670 DATA " At least 96 K of Memory (128 K is" 2680 DATA " recommended)." 2690 DATA ".sp" 2700 DATA " Either the IBM Color Display," 2710 DATA " the IBM Monochrome Display (or" 2720 DATA " equivalents)." 2730 DATA ".pa" 2740 DATA ".h2 Software Requirements." 2750 DATA "IBM PC-DOS. 2760 DATA " Version 2.1 (or Version 2.0 on" 2770 DATA " the IBM PC or the IBM PC/XT). 2780 DATA ".sp" 2790 DATA "BASIC" 2800 DATA " (on Cartridge or Diskette)." 2810 DATA ".h1 GENERAL INFORMATION" 2820 DATA ".h2 DOCUMENTATION" 2830 DATA "Seven documentation programs are included" 2840 DATA "on the Distribution Diskette. These are" 2850 DATA "BASIC programs, which can be 'run'." 2860 DATA ".sp" 2870 DATA "The documentation programs contain their" 2880 DATA "own formatting capability, as well as" 2890 DATA "the content of the documents which they" 2900 DATA "will produce." 2910 DATA ".sp" 2920 DATA "By 'running' each of these documentation" 2930 DATA "programs, the user is able obtain one or" 2940 DATA "more copies of each chapter of the" 2950 DATA "documentation as he desires." 2960 DATA ".vt 2" 2970 DATA "These documentation programs are:" 2980 DATA ".sp 2990 DATA " 1. director (documentation of the" 3000 DATA " content of the Distribution" 3010 DATA " Diskette)." 3020 DATA ".sp" 3030 DATA " Produces this document." 3040 DATA ".vt 2" 3050 DATA " 2 through 7. Documentation for the" 3060 DATA " Genealogy ON DISPLAY Programs." 3070 DATA ".sp" 3080 DATA " Produces an 84 Page User's Manual" 3090 DATA " for use with the Genealogy ON" 3100 DATA " DISPLAY programs." 3110 DATA ".pa" 3120 DATA " 2. tableofc (table of contents for" 3130 DATA " the User's Manual)." 3140 DATA ".sp" 3150 DATA " 3. introduc (introduction for the" 3160 DATA " User's Manual)." 3170 DATA ".sp" 3180 DATA " 4. general (general information for" 3190 DATA " the User's Manual)." 3200 DATA ".sp" 3210 DATA " 5. usingthe (using the programs, for" 3220 DATA " the User's Manual)." 3230 DATA ".sp" 3240 DATA " 6. referenc (reference material for" 3250 DATA " the User's Manual)." 3260 DATA ".sp" 3270 DATA " 7. appendix (appendices for the" 3280 DATA " User's Manual)." 3290 DATA ".pa" 3300 DATA ".h2 PROGRAMS" 3310 DATA "Nineteen Genealogy programs are" 3320 DATA "included on the Distribution" 3330 DATA "Diskette. They are:" 3340 DATA ".sp" 3350 DATA " 1. creatper" 3360 DATA " Creates a Persons File." 3370 DATA ".vt 2" 3380 DATA " 2. creatmar" 3390 DATA " Creates a Marriages File." 3400 DATA ".vt 2" 3410 DATA " 3. creatord" 3420 DATA " Creates an Ordinances File." 3430 DATA ".vt 2" 3440 DATA " 4. updatper" 3450 DATA " Updates the Persons File." 3460 DATA ".vt 2" 3470 DATA " 5. updatmar" 3480 DATA " Updates the Marriages File." 3490 DATA ".vt 2" 3500 DATA " 6. updatord" 3510 DATA " Updates an Ordinances File." 3520 DATA ".vt 2" 3530 DATA " 7. indexpc" 3540 DATA " Creates a Parent/Child Index." 3550 DATA ".pa" 3560 DATA " 8. indexmar" 3570 DATA " Creates a Marriages Index." 3580 DATA ".vt 2" 3590 DATA " 9. printper" 3600 DATA " Prints the combined contents of the" 3610 DATA " Persons and Ordinances Files." 3620 DATA ".vt 2" 3630 DATA " 10. printmar" 3640 DATA " Prints the contents of the Marriages" 3650 DATA " File." 3660 DATA ".vt 2" 3670 DATA " 11. listper" 3680 DATA " Prints a List of the Persons in the" 3690 DATA " Persons File." 3700 DATA ".vt 2" 3710 DATA " 12. listmar" 3720 DATA " Prints an List of the Marriages in" 3730 DATA " the Marriages File." 3740 DATA ".vt 2" 3750 DATA " 13. listpci" 3760 DATA " Lists the Parent/Child Index." 3770 DATA ".vt 2" 3780 DATA " 14. alphaper" 3790 DATA " Provides an alphabetical list of the" 3800 DATA " persons in the Persons File." 3810 DATA ".vt 2" 3820 DATA " 15. alphamar" 3830 DATA " Provides an alphabetical list of the" 3840 DATA " marriages in the Marriages File." 3850 DATA ".pa" 3860 DATA " 16. display" 3870 DATA " Provides for displaying all of the" 3880 DATA " information in all of the files," 3890 DATA " in the form of pedigrees, family" 3900 DATA " groups, personal, and ordinance" 3910 DATA " information." 3920 DATA ".vt 2" 3930 DATA " 17. pedigree" 3940 DATA " Provides a printout of a pedigree" 3950 DATA " chart for any person." 3960 DATA ".vt 2" 3970 DATA " 18. family" 3980 DATA " Provides a printout of a family" 3990 DATA " group sheet for any marriage." 4000 DATA ".vt 2" 4010 DATA " 19. menu" 4020 DATA " Provides for user selection of" 4030 DATA " any of the other programs to be" 4040 DATA " run." 4050 DATA ".h1 USING THE PROGRAMS" 4060 DATA ".h2 FIRST TIME USAGE" 4070 DATA "The following steps are necessary when" 4080 DATA "a new user receives the Distribution" 4090 DATA "Diskette. (Details of the steps are" 4100 DATA "shown in the User's Manual.)" 4110 DATA ".sp" 4120 DATA "1. Backup the Distribution Diskette." 4130 DATA ".sp" 4140 DATA "2. Have a new, double-sided, formatted" 4150 DATA "diskette available (without DOS)." 4160 DATA "(This will become the Data Diskette.)" 4170 DATA ".sp" 4180 DATA "3. Copy the 'menu' program from the" 4190 DATA "Distribution Diskette to the new Data" 4200 DATA "Diskette." 4210 DATA ".sp" 4220 DATA "4. Create the data files (persfile," 4230 DATA "marrfile, and ordfile), through the" 4240 DATA "use of the 'creatper', 'creatmar'," 4250 DATA "and 'creatord' programs respectively." 4260 DATA ".sp" 4270 DATA "5. Begin entry of Genealogical Data," 4280 DATA "through the use of the 'updatper'," 4290 DATA "'updatmar', and 'updatord' programs." 4300 DATA ".pa" 4310 DATA ".h2 GETTING STARTED" 4320 DATA "The user should perform the following" 4330 DATA "steps in starting the Genealogy ON" 4340 DATA "DISPLAY programs. (Note: The steps" 4350 DATA "essentially provide for making BASIC" 4360 DATA "available, and starting the menu)." 4370 DATA ".sp" 4380 DATA "1. Insert the PC DOS diskette into" 4390 DATA " Drive 'a:'." 4400 DATA ".sp" 4410 DATA "2. If using the PCjr, insert the" 4420 DATA " BASIC Cartridge into either slot." 4430 DATA ".sp" 4440 DATA "3. Turn the Printer On." 4450 DATA ".sp" 4460 DATA "4. Turn the System On." 4470 DATA ".sp" 4480 DATA "5. Type today's date if the system" 4490 DATA " asks the user to Enter today's date." 4500 DATA ".sp" 4510 DATA "6. Type the correct time if the system" 4520 DATA " asks the user to Enter the time." 4530 DATA ".sp" 4540 DATA "7. Type: basic/s:256" 4550 DATA " and press the return key." 4560 DATA ".pa" 4570 DATA "8. Replace the DOS Diskette with the" 4580 DATA " Genealogy ON DISPLAY diskette in" 4590 DATA " Drive 'a:'." 4600 DATA ".sp" 4610 DATA "9. Type: run ~menu~" 4620 DATA " and press the return key." 4630 DATA ".sp" 4640 DATA "10. Follow any instructions which appear" 4650 DATA " at the bottom of each screen." 4660 DATA ".eof" 4670 END