10 REM Documentation 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 User's Manual
60 DATA -5
70 DATA 1
80 INDENT = 0
90 DASHES$ = "+"+STRING$(54,45)+"+"
100 TRIM.LINE$ = "(Trim-line)"
110 REM Program begins here
120 READ TITLE$, DOC.NAME$, PAGE.NO, LINE.NO
130 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
140 GOSUB 500  'For trim line and heading space
150 FOR I = 1 TO 6 : LPRINT : NEXT I
160 LPRINT CHR$(14);  'Set Expanded Print
170 LPRINT TAB(TAB.POS-2);TITLE$
180 LPRINT CHR$(18);  'Return to normal
190 FOR I = 1 TO 3 : LPRINT : NEXT I
200 LPRINT CHR$(27); "E"; 'Set Emphasized mode
210 LPRINT TAB(TAB.POS+12);"ON DISPLAY"
220 LPRINT CHR$(27); "F"; 'Return to normal
222 LPRINT : LPRINT : LPRINT
224 LPRINT TAB(TAB.POS+11);"Version 2.0"
230 FOR I = 1 TO 11 : LPRINT : NEXT I
240 LPRINT TAB(TAB.POS+10); DOC.NAME$
250 LINE.NO = LINE.NO + 27
260 '
270 READ REPLY$
280 IF LEFT$(REPLY$,1) = "." THEN GOSUB 850: GOTO 270
290 IF LINE.NO > 44 THEN GOSUB 610
300 REM Print the line if not a command
303 REM First, change tildes to quotes
304 FOR Q = 1 TO LEN(REPLY$)
305  IF MID$(REPLY$,Q,1)="~"THEN MID$(REPLY$,Q,1)=CHR$(34)
306 NEXT Q
310 LPRINT TAB(TAB.POS);REPLY$
320 LINE.NO = LINE.NO + 1
330 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
340 GOTO 270
350 REM Data for the Copyright Page
354 DATA ".pa"
358 DATA "Anyone may request a copy of these"
362 DATA "programs by sending a blank, double-"
366 DATA "sided, double-density diskette to the"
370 DATA "author of the programs."
378 DATA ".sp"
382 DATA "An addressed, postage-paid return"
386 DATA "mailer must accompany the diskette (no"
390 DATA "exceptions, please).
394 DATA ".sp"
398 DATA "A copy of the programs with documenta-"
402 DATA "tion will be sent by return mail."
410 DATA ".vt 2"
415 DATA "Users are encouraged to copy and share"
420 DATA "the programs with others."
430 DATA ".vt 6"
434 DATA "If you are using these programs, and"
438 DATA "finding them of value, your contribution"
442 DATA "($35 suggested) will be anticipated."
446 DATA ".sp"
450 DATA "Melvin O. Duke"
454 DATA "P. O. Box 20836"
458 DATA "San Jose, CA  95160"
462 DATA ".vt 4"
466 DATA "Copyright (c) 1983, 1984, by:"
470 DATA "Melvin O. Duke."
474 DATA ".sp"
478 DATA "All rights reserved."
482 '
500 REM Top of each page routine
510 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
520 LPRINT
530 LPRINT TAB(30); TRIM.LINE$
540 LPRINT DASHES$ 'Dashes
550 FOR I = 1 TO 6
560  LPRINT
570 NEXT I
580 LINE.NO = LINE.NO + 6
590 RETURN
600 '
610 REM Bottom of each page Routine
620 IF PAGE.NO < 1 THEN LPRINT : LPRINT : LPRINT : GOTO 740
630 LPRINT TAB(TAB.POS); STRING$(40,45)  'on line 46
640 LPRINT TAB(TAB.POS+3); TITLE$+" ON DISPLAY.  Version 2.0" 'on line 47
650 IF PAGE.NO MOD 2 = 1 THEN 690
660 LPRINT TAB(TAB.POS);"Page";PAGE.NO;
670 LPRINT TAB(TAB.POS+27);"User's Manual"
680 GOTO 740
690 LPRINT TAB(TAB.POS); "User's Manual";
700 IF PAGE.NO < 10 THEN DELTA = 34
710 IF PAGE.NO >  9 THEN DELTA = 33
720 IF PAGE.NO > 99 THEN DELTA = 32
730 LPRINT TAB(TAB.POS+DELTA); "Page"; PAGE.NO  'on line 48
740 LPRINT : LPRINT : LPRINT
750 LPRINT DASHES$ 'dashes after 51
760 LPRINT TAB(30); TRIM.LINE$
770 LPRINT CHR$(12);
780 PAGE.NO = PAGE.NO + 1
790 LINE.NO = 1
800 IF REPLY$ = ".eof" THEN 820  'Bypass after last page
810 GOSUB 500  'For top of next page
820 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
830 RETURN
840 '
850 REM Command Processor
860 IF LEFT$(REPLY$,3) = ".h1" THEN 960
870 IF LEFT$(REPLY$,3) = ".h2" THEN 1100
880 IF LEFT$(REPLY$,3) = ".h3" THEN 1210
890 IF LEFT$(REPLY$,3) = ".sp" THEN 1320
900 IF LEFT$(REPLY$,4) = ".eof" THEN 1370
910 IF LEFT$(REPLY$,3) = ".pa" THEN 1410
915 IF LEFT$(REPLY$,3) = ".pn" THEN PAGE.NO = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3)) : RETURN
920 IF LEFT$(REPLY$,3) = ".vt" THEN 1480
930 IF LEFT$(REPLY$,3) = ".pk" THEN 1590
940 IF LEFT$(REPLY$,3) = ".in" THEN 1720
950 STOP
960 REM Head 1 Processor
970 FOR I = LINE.NO TO 44
980  LPRINT
990 NEXT I
1000 GOSUB 610  'Bottom of page Routine
1010 IF PAGE.NO MOD 2 = 0 THEN GOSUB 1410  'For h1 on Odd pages
1020 LPRINT CHR$(14);  'Set expanded print
1030 IF PAGE.NO MOD 2 = 0 THEN ADJUST = -4 ELSE ADJUST = -7
1040 LPRINT TAB(TAB.POS+ADJUST); RIGHT$(REPLY$,LEN(REPLY$)-4)
1050 LPRINT CHR$(18);  'Return to normal
1060 LINE.NO = LINE.NO+1
1070 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
1080 RETURN
1090 '
1100 REM Head 2 Processor
1110 IF LINE.NO = 7 THEN 1130 'skip spacing if at top of page
1120 IF LINE.NO > 43 THEN GOSUB 1410 ELSE LPRINT:LPRINT:LINE.NO = LINE.NO+2
1130 LPRINT CHR$(27); "E"; 'Set emphasized print
1140 LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-4)
1150 LPRINT CHR$(27); "F"; 'Return to normal
1160 LPRINT
1170 LINE.NO = LINE.NO + 2
1180 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
1190 RETURN
1200 '
1210 REM Head 3 Processor
1220 IF LINE.NO = 7 THEN 1240 'skip spacing if at top of page
1230 IF LINE.NO > 43 THEN GOSUB 1410 ELSE LPRINT:LPRINT:LINE.NO = LINE.NO+2
1240 LPRINT CHR$(27); "E"; 'Set emphasized print
1250 LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-4)
1260 LPRINT CHR$(27); "F"; 'Return to normal
1270 LPRINT
1280 LINE.NO = LINE.NO + 2
1290 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
1300 RETURN
1310 '
1320 REM Single Space Processor
1330 IF LINE.NO = 7 THEN 1350
1340 IF LINE.NO > 44 THEN GOSUB 1410 ELSE LPRINT : LINE.NO = LINE.NO + 1
1350 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
1360 RETURN
1370 REM End of File Processor
1380 GOSUB 1410 'Bottom of Page
1390 LPRINT CHR$(12);
1400 GOTO 9550
1410 REM Page Eject Processor
1420 FOR I = LINE.NO TO 44
1430  LPRINT
1440  LINE.NO = LINE.NO + 1
1450 NEXT I
1460 GOSUB 610  'Bottom of Page Processing
1470 RETURN
1480 REM Vertical Tab Processor
1490 IF LINE.NO = 7 THEN 1580
1500 IF LINE.NO > 44 THEN GOSUB 610  'End of page
1510 QTY = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3))
1520 FOR I = 1 TO QTY
1530  LPRINT
1540  LINE.NO = LINE.NO + 1
1550  IF LINE.NO > 44 THEN I = QTY
1560 NEXT I
1570 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
1580 RETURN
1590 REM Pack Processor
1600 IF LINE.NO > 44 THEN GOSUB 610
1610 IF TAB.POS = 8 THEN ADJUST = 4
1620 IF TAB.POS = 13 THEN ADJUST = 7
1630 TAB.POS = TAB.POS + ADJUST + INDENT
1640 LPRINT CHR$(15); 'Packed printing
1650 WIDTH "lpt1:", 132 'set condensed width
1660 LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-3)
1670 LPRINT CHR$(18); 'Return to normal
1680 WIDTH "lpt1:", 80  'return to normal
1690 LINE.NO = LINE.NO + 1
1700 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
1710 RETURN
1720 REM Indent Processor
1730 INDENT = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3))
1740 RETURN
2000 DATA ".h1 A.  MESSAGES"
2010 DATA ".pn 55"
2020 DATA ".h2 START-UP MESSAGES"
2030 DATA "The initial System Message, when the"
2040 DATA "system is turned on, is:"
2050 DATA ".sp"
2060 DATA ".pk Current date is Tue 1-01-1980"
2070 DATA ".pk Enter new date:"
2080 DATA ".sp"
2090 DATA "The user is expected to respond with an"
2100 DATA "appropriate date."
2110 DATA ".vt 2"
2120 DATA "The next system message is:"
2130 DATA ".sp"
2140 DATA ".pk Current time is 0:00:52.17"
2150 DATA ".pk Enter new time:"
2160 DATA ".sp"
2170 DATA "The user is expected to respond with a"
2180 DATA "correct time."
2190 DATA ".vt 2"
2200 DATA "The System then responds:"
2210 DATA ".sp"
2220 DATA ".pk The IBM Personal Computer DOS"
2230 DATA ".pk Version 2.10 (C) Copyright IBM Corp 1981, 1982, 1983"
2240 DATA ".vt 2"
2250 DATA "The message in response to the"
2260 DATA "basic/s:256"
2270 DATA "command is similar to:"
2280 DATA ".sp"
2290 DATA ".pk IBM Personal Computer Basic"
2300 DATA ".pk Version D2.00 Copyright IBM Corp. 1981, 1982, 1983"
2310 DATA ".pk 61118 Bytes Free"
2320 DATA ".pa"
2330 DATA ".h2 Error Messages"
2340 DATA ".pk Illegal Function Call"
2350 DATA ".sp
2360 DATA "When loading BASIC, the user requested"
2370 DATA "'basic' without establishing the"
2380 DATA "buffers necessary for reading the data"
2390 DATA "files.  The user should have requested"
2400 DATA "'basic/s:256'."
2420 DATA ".vt 2"
2430 DATA ".pk Redo from Start"
2440 DATA ".sp"
2450 DATA "The user has entered a reply which"
2460 DATA "contains a comma.  He should re-enter"
2470 DATA "the data without the comma, or he"
2480 DATA "should enclose the reply in quotes."
2490 DATA ".sp"
2500 DATA "After re-entering the reply, he should"
2510 DATA "'save' the current information, and"
2520 DATA "call it out again to refresh the screen."
2530 DATA ".h1 B.  Summary"
2540 DATA ".h2 General Programs"
2550 DATA ".pk                                        BASIC       Data"
2560 DATA ".pk Routines                               Programs    Files"
2570 DATA ".pk -----------------------------------    --------    --------"
2580 DATA ".pk Initial File Creation"
2590 DATA ".pk   Persons File                         creatper    persfile"
2600 DATA ".pk   Marriages File                       creatmar    marrfile"
2610 DATA ".pk   Ordinances File                      creatord    ordfile"
2620 DATA ".sp"
2630 DATA ".pk File Update"
2640 DATA ".pk   Persons File                         updatper"
2650 DATA ".pk   Marriages File                       updatmar"
2660 DATA ".pk   Ordinances File                      updatord"
2670 DATA ".sp"
2680 DATA ".pk Print the Contents of the Files"
2690 DATA ".pk   Persons and Ordinances Files         printper"
2700 DATA ".pk   Marriages File                       printmar"
2710 DATA ".sp"
2720 DATA ".pk List the Records in the Files"
2730 DATA ".pk   Persons File                         listper"
2740 DATA ".pk   Marriages File                       listmar"
2750 DATA ".sp"
2760 DATA ".pk List the File Index"
2770 DATA ".pk   Parent/Child Index                   listpci"
2780 DATA ".sp"
2790 DATA ".pk Print an Alphabetic Name List"
2800 DATA ".pk   Persons File                         alphaper"
2810 DATA ".pk   Marriages File                       alphamar"
2820 DATA ".sp"
2830 DATA ".pk Create a File Index"
2840 DATA ".pk   Parent/Child Index                   indexpc    pcindex"
2850 DATA ".pk   Marriages Index                      indexmar   mindex"
2860 DATA ".pa"
2870 DATA ".h2 General Programs, Cont."
2880 DATA ".pk                                        BASIC       Data"
2890 DATA ".pk Routines                               Programs    Files"
2900 DATA ".pk -----------------------------------    --------    --------"
2910 DATA ".pk Display the Information                display"
2920 DATA ".pk   Personal Information"
2930 DATA ".pk   Pedigree Information"
2940 DATA ".pk   Family Group Information"
2950 DATA ".pk   Ordinances Information"
2960 DATA ".sp"
2970 DATA ".pk Print the Genealogical Forms"
2980 DATA ".pk   Print Pedigree Charts                pedigree"
2990 DATA ".pk   Print Family Group Sheets            family"
3000 DATA ".sp"
3010 DATA ".pk Display a Menu"
3020 DATA ".pk   Displays Available Programs          menu"
3030 DATA ".h2 Documentation"
3040 DATA ".pk Print a Program Directory              director"
3050 DATA ".sp"
3060 DATA ".pk Print a User's Manual"
3070 DATA ".pk   Table of Contents                    tableofc"
3080 DATA ".pk   Introduction                         introduc"
3090 DATA ".pk   General Information                  general"
3100 DATA ".pk   Using the Programs                   usingthe"
3110 DATA ".pk   Reference Material                   referenc"
3120 DATA ".pk   Appendices                           appendix"
3130 DATA ".h1 C.  HINTS"
3140 DATA ".h2 NAMES"
3150 DATA "It is best to enter surnames with all"
3160 DATA "capitals, such as:  ABLE"
3170 DATA ".h2 DATES"
3180 DATA "All of the programs expect dates in the"
3190 DATA "form dd Mmm yyyy, such as: 09 Jun 1928."
3200 DATA ".h2 COMMAS"
3210 DATA "Commas are to be avoided in all respon-"
3220 DATA "ses, since BASIC uses them to separate"
3230 DATA "answers.  It is suggested that dashes"
3240 DATA "be used in place of commas if at all"
3250 DATA "possible.  If it is necessary to include"
3260 DATA "a comma, the entire response should be"
3270 DATA "enclosed in quotes, making the response"
3280 DATA "a single one, rather than a multiple one."
3290 DATA ".pa"
3300 DATA ".h2 Replacing with Blanks"
3310 DATA "In the event that a user wishes to re-"
3320 DATA "place a current value with blanks (the"
3330 DATA "data was was not correct), one or more"
3340 DATA "blanks may be entered by enclosing them"
3350 DATA "within quotes."
3360 DATA ".h2 Removing a Record."
3370 DATA "In the rare event that a user wishes"
3380 DATA "to remove a record from the Persons"
3390 DATA "File or the Marriages File, changing"
3400 DATA "the record-number to the same number"
3410 DATA "preceded by a minus-sign will cause"
3420 DATA "the record to be cleared."
3430 DATA ".sp"
3440 DATA "Note: A Record in the Ordinances"
3450 DATA "File cannot be accessed if the"
3460 DATA "corresponding record in the Persons"
3470 DATA "File contains a negative record-"
3480 DATA "number."
3490 DATA ".h1 D.  MODIFICATIONS"
3500 DATA ".h2 Changing the Number of Persons"
3510 DATA "The programs, as distributed, provide"
3520 DATA "for 500 persons, and 500 ordinances."
3530 DATA ".sp"
3540 DATA "In order to change the number of"
3550 DATA "programs and ordinances, it is then"
3560 DATA "necessary to change the 500 to some"
3570 DATA "other, more desirable, number."
3580 DATA ".sp"
3590 DATA "This can be done in the following way:"
3600 DATA ".sp"
3610 DATA "Program:       creatper"
3620 DATA "Line-number:   1050"
3630 DATA "Old-value:     500"
3640 DATA "New-value:     you decide."
3650 DATA ".sp"
3660 DATA "Note:  A current file can be extended"
3670 DATA "by changing both the intial value and"
3680 DATA "ending value of the FOR statement in"
3690 DATA "line 1050."
3700 DATA ".sp"
3710 DATA "For example, expanding from 500 to 600"
3720 DATA "persons would require line 1050 to be:"
3730 DATA ".sp"
3740 DATA "  1050 FOR I = 501 TO 600"
3750 DATA ".pa"
3760 DATA "Program:       creatord"
3770 DATA "Line-number:   1060"
3780 DATA "Old-value:     500"
3790 DATA "New-value:     same as creatper"
3800 DATA ".sp"
3810 DATA "Note:  A current file can be extended"
3820 DATA "by changing both the intial value and"
3830 DATA "ending value of the FOR statement in"
3840 DATA "line 1060."
3850 DATA ".sp"
3860 DATA "For example, expanding from 500 to 600"
3870 DATA "ordinances would require line 1060 to be:"
3880 DATA ".sp"
3890 DATA "  1060 FOR I = 501 TO 600"
3900 DATA ".vt 2"
3910 DATA "Program:       updatper"
3920 DATA "Line-number:   1090"
3930 DATA "Old-value:     500"
3940 DATA "New-value:     same as creatper"
3950 DATA ".sp"
3960 DATA "Program:       updatord"
3970 DATA "Line-number:   1120"
3980 DATA "Old-value:     500"
3990 DATA "New-value:     same as creatper"
4000 DATA ".sp"
4010 DATA "Program:       updatord"
4020 DATA "Line-number:   1162"
4030 DATA "Old-value:     500"
4040 DATA "New-value:     same as creatper"
4050 DATA ".sp"
4060 DATA "Program:       indexpc"
4070 DATA "Line-number:   150"
4080 DATA "Old-value:     DIMs of 1000"
4090 DATA "New-value:     twice creatper"
4100 DATA ".pa"
4110 DATA "Program:       indexpc"
4120 DATA "Line-number:   1070"
4130 DATA "Old-value:     500"
4140 DATA "New-value:     same as creatper"
4150 DATA ".sp"
4160 DATA "Program:       printper"
4170 DATA "Line-number:   1160"
4180 DATA "Old-value:     500"
4190 DATA "New-value:     same as creatper"
4200 DATA ".sp"
4210 DATA "Program:       listper"
4220 DATA "Line-number:   1150"
4230 DATA "Old-value:     500"
4240 DATA "New-value:     same as creatper"
4250 DATA ".sp"
4260 DATA "Program:       alphaper"
4270 DATA "Line-number:   150"
4280 DATA "Old-value:     DIMs of 500"
4290 DATA "New-value:     same as creatper"
4300 DATA ".sp"
4310 DATA "Program:       display"
4320 DATA "Line-number:   150"
4330 DATA "Old-value:     DIM PA.ID(1000)"
4340 DATA "New-value:     twice creatper"
4350 DATA ".sp"
4360 DATA "Program:       display"
4370 DATA "Line-number:   150"
4380 DATA "Old-value:     DIM CH.ID(1000)"
4390 DATA "New-value:     twice creatper"
4400 DATA ".pa"
4410 DATA "Program:       display"
4420 DATA "Line-number:   2800"
4430 DATA "Old-value:     500"
4440 DATA "New-value:     same as creatper"
4450 DATA ".sp"
4460 DATA "Program:       pedigree"
4470 DATA "Line-number:   150"
4480 DATA "Old-value:     DIM PA.ID(1000)"
4490 DATA "New-value:     twice creatper"
4500 DATA ".sp"
4510 DATA "Program:       pedigree"
4520 DATA "Line-number:   150"
4530 DATA "Old-value:     DIM CH.ID(1000)"
4540 DATA "New-value:     twice creatper"
4550 DATA ".sp"
4560 DATA "Program:       pedigree"
4570 DATA "Line-number:   1980"
4580 DATA "Old-value:     500"
4590 DATA "New-value:     same as creatper"
4600 DATA ".sp"
4610 DATA "Program:       family"
4620 DATA "Line-number:   150"
4630 DATA "Old-value:     DIM PA.ID(1000)"
4640 DATA "New-value:     twice creatper"
4650 DATA ".sp"
4660 DATA "Program:       family"
4670 DATA "Line-number:   150"
4680 DATA "Old-value:     DIM CH.ID(1000)"
4690 DATA "New-value:     twice creatper"
4700 DATA ".pa"
4710 DATA ".h2 Changing the Number of Marriages"
4720 DATA "The programs, as designed, provide"
4730 DATA "for 200 marriages."
4740 DATA ".sp"
4750 DATA "In order to change the number of"
4760 DATA "marriages, it is then necessary to"
4770 DATA "change the 200 to some other, more"
4780 DATA "desirable, number."
4790 DATA ".sp"
4800 DATA "Program:       creatmar"
4810 DATA "Line-number:   1060"
4820 DATA "Old-value:     200"
4830 DATA "New-value:     you decide."
4840 DATA ".sp"
4850 DATA "Note:  A current file can be extended"
4860 DATA "by changing both the intial value and"
4870 DATA "ending value of the FOR statement in"
4880 DATA "line 1060."
4890 DATA ".sp"
4900 DATA "For example, expanding from 200 to 250"
4910 DATA "marriages would require line 1060 to be:"
4920 DATA ".sp"
4930 DATA "  1060 FOR I = 201 TO 250"
4940 DATA ".vt 2"
4950 DATA "Program:       updatmar"
4960 DATA "Line-number:   1090"
4970 DATA "Old-value:     200"
4980 DATA "New-value:     same as creatmar"
4990 DATA ".sp"
5000 DATA "Program:       indexmar"
5010 DATA "Line-number:   150"
5020 DATA "Old-value:     DIMs of 400"
5030 DATA "New-value:     twice creatmar"
5040 DATA ".pa"
5050 DATA "Program:       indexmar"
5060 DATA "Line-number:   1070"
5070 DATA "Old-value:     200"
5080 DATA "New-value:     same as creatmar"
5090 DATA ".sp"
5100 DATA "Program:       printmar"
5110 DATA "Line-number:   1200 and 1240"
5120 DATA "Old-value:     200"
5130 DATA "New-value:     same as creatmar.
5140 DATA ".sp"
5150 DATA "Program:       listmar"
5160 DATA "Line-number:   1210"
5170 DATA "Old-value:     200"
5180 DATA "New-value:     same as creatmar"
5190 DATA ".sp"
5200 DATA "Program:       alphamar"
5210 DATA "Line-number:   150"
5220 DATA "Old-value:     DIMs of 400"
5230 DATA "New-value:     twice creatmar"
5240 DATA ".sp"
5250 DATA "Program:       display"
5260 DATA "Line-number:   150"
5270 DATA "Old-value:     DIM PERS.NO(400)"
5280 DATA "New-value:     twice creatmar"
5290 DATA ".sp"
5300 DATA "Program:       display"
5310 DATA "Line-number:   150"
5320 DATA "Old-value:     DIM M.NO(400)"
5330 DATA "New-value:     twice creatmar"
5340 DATA ".sp"
5350 DATA "Program:       pedigree"
5360 DATA "Line-number:   150"
5370 DATA "Old-value:     DIM PERS.NO(400)"
5380 DATA "New-value:     twice creatmar"
5390 DATA ".pa"
5400 DATA "Program:       pedigree"
5410 DATA "Line-number:   150"
5420 DATA "Old-value:     DIM M.NO(400)"
5430 DATA "New-value:     twice creatmar"
5440 DATA ".sp"
5450 DATA "Program:       family"
5460 DATA "Line-number:   150"
5470 DATA "Old-value:     DIM PERS.NO(400)"
5480 DATA "New-value:     twice creatmar"
5490 DATA ".sp"
5500 DATA "Program:       family"
5510 DATA "Line-number:   150"
5520 DATA "Old-value:     DIM M.NO(400)"
5530 DATA "New-value:     twice creatmar"
5540 DATA ".sp"
5550 DATA "Program:       family"
5560 DATA "Line-number:   2120"
5570 DATA "Old-value:     200"
5580 DATA "New-value:     same as creatmar"
5590 DATA ".pa"
5600 DATA ".h2 Repositioning the Data Files"
5610 DATA ".h3 Persons File"
5620 DATA "As designed, the Persons File is"
5630 DATA "located on drive a:.  In order to"
5640 DATA "change this to another drive, the"
5650 DATA "following changes must be made."
5660 DATA ".sp"
5670 DATA "Program     Line-number"
5680 DATA "--------    -----------"
5690 DATA "creatper    1020"
5700 DATA "updatper    1020"
5705 DATA "updatmar    1026"
5710 DATA "updatord    1050"
5720 DATA "indexpc     1020"
5730 DATA "printper    1050"
5740 DATA "printmar    1020"
5750 DATA "listper     1020"
5760 DATA "listmar     1030"
5770 DATA "listpci     1020"
5780 DATA "alphaper    1020"
5790 DATA "alphamar    1020"
5800 DATA "display     2670"
5810 DATA "pedigree    1890"
5820 DATA "family      1980"
5830 DATA ".sp"
5840 DATA "In all of the above, change a: to"
5850 DATA "the desired drive-letter."
5860 DATA ".pa"
5870 DATA ".h3 Marriages File"
5880 DATA "As designed, the Marriages File is"
5890 DATA "located on drive a:.  In order to"
5900 DATA "change this to another drive, the"
5910 DATA "following changes must be made."
5920 DATA ".sp"
5930 DATA "Program     Line-number"
5940 DATA "--------    -----------"
5950 DATA "creatmar    1020"
5960 DATA "updatmar    1020"
5970 DATA "indexmar    1020"
5980 DATA "printmar    1040"
5990 DATA "listmar     1060"
6000 DATA "display     2710"
6010 DATA "pedigree    1930"
6020 DATA "family      2020"
6030 DATA ".sp"
6040 DATA "In all of the above, change a: to"
6050 DATA "the desired drive-letter."
6060 DATA ".pa"
6070 DATA ".h3 Ordinances File"
6080 DATA "As designed, the Ordinances File is"
6090 DATA "located on drive a:.  In order to"
6100 DATA "change this to another drive, the"
6110 DATA "following changes must be made."
6120 DATA ".sp"
6130 DATA "Program     Line-number"
6140 DATA "--------    -----------"
6150 DATA "creatord    1020"
6160 DATA "updatord    1020"
6170 DATA "printper    1020"
6180 DATA "display     2750"
6190 DATA "family      2060"
6200 DATA ".sp"
6210 DATA "In all of the above, change a: to"
6220 DATA "the desired drive-letter."
6230 DATA ".pa"
6240 DATA ".h3 Parent/Child Index"
6250 DATA "As designed, the Parent/Child Index"
6260 DATA "is located on drive a:.  In order to"
6270 DATA "change this to another drive, the"
6280 DATA "following changes must be made."
6290 DATA ".sp"
6300 DATA "Program     Line-number"
6310 DATA "--------    -----------"
6320 DATA "indexpc     1940"
6330 DATA "listpci     1050"
6340 DATA "display     2480"
6350 DATA "family      1790"
6360 DATA ".sp"
6370 DATA "In all of the above, change a: to"
6380 DATA "the desired drive-letter."
6390 DATA ".pa"
6400 DATA ".h3 Marriages Index"
6410 DATA "As designed, the Marriages Index is"
6420 DATA "located on drive a:.  In order to"
6430 DATA "change this to another drive, the"
6440 DATA "following changes must be made."
6450 DATA ".sp"
6460 DATA "Program     Line-number"
6470 DATA "--------    -----------"
6480 DATA "indexmar    1950"
6490 DATA "alphamar    1060"
6500 DATA "display     2580"
6510 DATA "pedigree    1800"
6520 DATA "family      1890"
6530 DATA ".sp"
6540 DATA "In all of the above, change a: to"
6550 DATA "the desired drive-letter."
6560 DATA ".pa"
6570 DATA ".h2 Removing the Ordinances File"
6580 DATA "As designed, an Ordinances File is part"
6590 DATA "of Genealogy ON DISPLAY."
6600 DATA ".sp"
6610 DATA "In the event that the user does not wish"
6620 DATA "to have an Ordinances File, the follow-"
6630 DATA "ing changes should be made:"
6640 DATA ".sp"
6650 DATA "The creatord program should not be run."
6660 DATA ".sp"
6670 DATA "The updatord program should not be run."
6680 DATA ".sp"
6690 DATA "Program:      printper"
6700 DATA "delete statement 1020   (OPEN)"
6710 DATA "delete statement 1030   (FIELD)"
6720 DATA "delete statement 2370   (CLOSE)"
6730 DATA "add statement 1515 GOTO 1780"
6740 DATA "add statement 2015 GOTO 2330"
6750 DATA ".vt 2"
6760 DATA "Program:      display"
6770 DATA "delete statement 2750   (OPEN)"
6780 DATA "delete statement 2760   (FIELD)"
6790 DATA "delete statement 7420   (CLOSE)"
6800 DATA "delete statement 3250   (test for 'o')"
6810 DATA "delete statement 3191   ('o' message)"
6820 DATA ".vt 2"
6830 DATA "Program:      family"
6840 DATA "delete statement 2060   (OPEN)"
6850 DATA "delete statement 2070   (FIELD)"
6860 DATA "delete statement 5100   (CLOSE)"
6870 DATA "add statement 4015 GOTO 4250"
6880 DATA "add statement 4525 GOTO 4600"
6885 DATA "add statement 8045 GOTO 8150"
6890 DATA ".pa"
6900 DATA ".h2 Changing the Ordinances File"
6910 DATA "This modification is a major effort"
6920 DATA "and should be left to a programmer."
6930 DATA ".vt 2"
6940 DATA "The creatord program must be changed."
6950 DATA ".sp"
6960 DATA "The updatord program must be changed,"
6970 DATA "with a major revision."
6980 DATA ".sp"
6990 DATA "The printper program must be changed,"
7000 DATA "with a major revision."
7010 DATA ".sp"
7020 DATA "The display program must be changed,"
7030 DATA "with a major revision."
7040 DATA ".sp"
7050 DATA "The family program must be changed."
7060 DATA ".pa"
7070 DATA ".h2 Repositioning the Programs"
7080 DATA "In the event that a user wishes the"
7090 DATA "programs to reside on a hard-disk, or"
7100 DATA "on a disk drive other than Drive 'a:',"
7110 DATA "the following changes must be made:"
7120 DATA ".sp"
7130 DATA "In each of the programs other than"
7140 DATA "the 'menu' program, there is a line"
7150 DATA "which is:"
7160 DATA ".sp"
7170 DATA "   nnnn run ~a:menu~"
7180 DATA ".sp"
7190 DATA "The line-numbers (nnnn) are at the"
7200 DATA "following locations:"
7210 DATA ".sp"
7220 DATA "   creatper  1360"
7230 DATA "   creatmar  1250"
7240 DATA "   creatord  1400"
7250 DATA "   updatper  4110"
7260 DATA "   updatmar  2820"
7270 DATA "   updatord  5110"
7280 DATA "   indexpc   2030"
7290 DATA "   indexmar  2040"
7300 DATA "   printper  2410"
7310 DATA "   printmar  1920"
7320 DATA "   listper   1570"
7330 DATA "   listmar   2000"
7340 DATA "   listpci   1530"
7350 DATA "   alphaper  1980"
7360 DATA "   alphamar  1770"
7370 DATA "   display   7450"
7380 DATA "   pedigree  6670"
7390 DATA "   family    5150"
7400 DATA ".sp"
7410 DATA "In each program, change 'a:'"
7420 DATA "to the desired drive-letter."
7430 DATA ".pa"
7440 DATA "The 'menu' program selects the"
7450 DATA "next program to be run by testing"
7460 DATA "the user's reply.  On the basis"
7470 DATA "of this test, another program is"
7480 DATA "run."
7490 DATA ".sp"
7500 DATA "Lines 1790 through 1970 of the"
7510 DATA "'menu' program must be changed,"
7520 DATA "so that the references which"
7530 DATA "appear as:"
7540 DATA ".sp"
7550 DATA ".pk IF REPLY = nn THEN RUN a:program-name"
7560 DATA ".sp"
7570 DATA "contain the desired drive-letter,"
7580 DATA "such as:"
7590 DATA ".sp"
7600 DATA ".pk IF REPLY = 16 THEN RUN c:display"
7610 DATA ".pa"
7620 DATA ".h2 Utilizing other Printers"
7630 DATA "As designed, an IBM Matrix Printer,"
7640 DATA "an EPSON MX-80 Printer, or an"
7650 DATA "EPSON MX-100 Printer is assumed."
7660 DATA ".sp"
7670 DATA "Control for Condensed Printing, for"
7680 DATA "Page Length, for Paper Sensing, and"
7690 DATA "for Page Ejection is provided in the"
7700 DATA "Pedigree program and in the Family"
7710 DATA "program."
7720 DATA ".sp"
7730 DATA "Page ejection is also provided in the"
7740 DATA "printper, printmar, listper, listmar,"
7750 DATA "listpci, alphaper, and alphamar"
7760 DATA "programs."
7770 DATA ".sp"
7780 DATA "Emphasized printing is used in the"
7790 DATA "printper program."
7800 DATA ".sp"
7810 DATA "In order to provide the same facility"
7820 DATA "for another printer, the following"
7830 DATA "changes should be made:"
7840 DATA ".sp"
7850 DATA "Program:    pedigree"
7860 DATA "Line:       2060"
7870 DATA "Purpose:    Paper Sensing OFF"
7880 DATA "Change to requirement of printer."
7890 DATA ".sp"
7900 DATA "Program:    pedigree"
7910 DATA "Line:       2080"
7920 DATA "Purpose:    Page Length 8-1/2"
7930 DATA "Change to requirement of printer."
7940 DATA ".pa"
7950 DATA "Program:    pedigree"
7960 DATA "Line:       2100"
7970 DATA "Purpose:    Condensed Printing"
7980 DATA "Change to requirement of printer."
7990 DATA ".sp"
8000 DATA "Program:    pedigree"
8010 DATA "Line:       6580"
8020 DATA "Purpose:    Normal Printing"
8030 DATA "Change to requirement of printer."
8040 DATA ".sp"
8050 DATA "Program:    pedigree"
8060 DATA "Line:       6590"
8070 DATA "Purpose:    Paper Sensing ON"
8080 DATA "Change to requirement of printer."
8090 DATA ".sp"
8100 DATA "Program:    pedigree"
8110 DATA "Line:       6600"
8120 DATA "Purpose:    Normal Page Length"
8130 DATA "Change to requirement of printer."
8140 DATA ".sp"
8150 DATA "Program:    pedigree"
8160 DATA "Lines:      6650 & 6660
8170 DATA "Purpose:    Page Eject"
8180 DATA "Change to requirement of printer."
8190 DATA ".sp"
8200 DATA "Program:    family"
8210 DATA "Line:       2200"
8220 DATA "Purpose:    Paper Sensing OFF"
8230 DATA "Change to requirement of printer."
8240 DATA ".sp"
8250 DATA "Program:    family"
8260 DATA "Line:       2220"
8270 DATA "Purpose:    Page Length 8-1/2"
8280 DATA "Change to requirement of printer."
8290 DATA ".pa"
8300 DATA "Program:    family"
8310 DATA "Line:       2240"
8320 DATA "Purpose:    Condensed Printing"
8330 DATA "Change to requirement of printer."
8340 DATA ".sp"
8350 DATA "Program:    family"
8360 DATA "Line:       5050"
8370 DATA "Purpose:    Normal Printing"
8380 DATA "Change to requirement of printer."
8390 DATA ".sp"
8400 DATA "Program:    family"
8410 DATA "Line:       5060"
8420 DATA "Purpose:    Paper Sensing ON"
8430 DATA "Change to requirement of printer."
8440 DATA ".sp"
8450 DATA "Program:    family"
8460 DATA "Line:       5070"
8470 DATA "Purpose:    Normal Page Length"
8480 DATA "Change to requirement of printer."
8490 DATA ".sp"
8500 DATA "Program:    family"
8510 DATA "Lines:      5130 & 5140"
8520 DATA "Purpose:    Page Eject"
8530 DATA "Change to requirement of printer."
8540 DATA ".sp"
8550 DATA "Program:    printper"
8560 DATA "Lines:      2330 & 2400"
8570 DATA "Purpose:    Page Eject"
8580 DATA "Change to requirement of printer."
8590 DATA ".sp"
8600 DATA "Program:    printmar"
8610 DATA "Lines:      1790 & 1910"
8620 DATA "Purpose:    Page Eject"
8630 DATA "Change to requirement of printer."
8640 DATA ".pa"
8650 DATA "Program:    listper"
8660 DATA "Lines:      1510 & 1540"
8670 DATA "Purpose:    Page Eject"
8680 DATA "Change to requirement of printer."
8690 DATA ".sp"
8700 DATA "Program:    listmar"
8710 DATA "Lines:      1420 & 1950"
8720 DATA "Purpose:    Page Eject"
8730 DATA "Change to requirement of printer."
8740 DATA ".sp"
8750 DATA "Program:    listpci"
8760 DATA "Lines:      1460 & 1520"
8770 DATA "Purpose:    Page Eject"
8780 DATA "Change to requirement of printer."
8790 DATA ".sp"
8800 DATA "Program:    alphaper"
8810 DATA "Lines:      1900 & 1970"
8820 DATA "Purpose:    Page Eject"
8830 DATA "Change to requirement of printer."
8840 DATA ".sp"
8850 DATA "Program:    alphamar"
8860 DATA "Lines:      1700 & 1760"
8870 DATA "Purpose:    Page Eject"
8880 DATA "Change to requirement of printer."
8890 DATA ".sp"
8900 DATA "Program:    printper"
8910 DATA "Lines:      1790 & 2030"
8920 DATA "Purpose:    Emphasized Printing"
8930 DATA "Change to requirement of printer."
8940 DATA ".sp"
8950 DATA "Program:    printper"
8960 DATA "Lines:      1810 & 2050"
8970 DATA "Purpose:    Normal Printing"
8980 DATA "Change to requirement of printer."
8990 DATA ".h1 E. TERMS & CONDITIONS"
9000 DATA ".h2 Terms"
9010 DATA "If you are using these programs, and"
9020 DATA "finding them of value, your contribution"
9030 DATA "($35 suggested) will be anticipated."
9040 DATA ".vt 3"
9050 DATA "     Melvin O. Duke"
9060 DATA "     P. O. Box 20836"
9070 DATA "     San Jose, CA  95160"
9080 DATA ".vt 2"
9130 DATA "Anyone may request a copy of these"
9140 DATA "programs by sending a blank double-"
9150 DATA "sided, double-density diskette to the"
9160 DATA "author of the programs."
9180 DATA ".sp"
9190 DATA "An addressed, postage-paid return"
9200 DATA "mailer must accompany the diskette"
9210 DATA "(no exceptions, please)."
9220 DATA ".sp"
9230 DATA "A copy of the programs with documenta-"
9240 DATA "tion will be sent by return mail."
9250 DATA ".pa"
9260 DATA ".h2 Conditions"
9270 DATA "A limited license is granted to all users"
9280 DATA "of these programs, to make copies of"
9290 DATA "them, and distribute them to other users,"
9300 DATA "on the following conditions:"
9310 DATA ".sp"
9320 DATA "1.  The Genealogy ON DISPLAY programs"
9330 DATA "    are not to be distributed to others"
9340 DATA "    in a modified form."
9350 DATA ".sp"
9360 DATA "2.  No fee (or other consideration) is"
9370 DATA "    is to be charged for copying or dis-"
9380 DATA "    tributing the Genealogy ON DISPLAY"
9390 DATA "    programs."
9400 DATA ".sp"
9410 DATA "3.  The notices displayed at program"
9420 DATA "    start-up are not to be bypassed,"
9430 DATA "    altered, or removed."
9440 DATA ".h2 Disclaimer"
9450 DATA "In no event will the Author be liable to"
9460 DATA "you for any damages, including any lost"
9470 DATA "profits, lost savings or other inciden-"
9480 DATA "tal or consequential damages arising out"
9490 DATA "of the use of or inability to use these"
9500 DATA "programs, even if the Author has been"
9510 DATA "advised of the possibility of such"
9520 DATA "damages, or for any claim by any other"
9530 DATA "party."
9540 DATA ".eof"
9550 END