Compucolor.org – Virtual Media

Listing of file='GEN.BAS;01' on disk='vmedia/chip_23-sector.ccvf'

10 REM  GENEALOGIGAL PROGRAM
20 REM  ORIGINAL PROGRAM CREATED BY-
30 REM     STAN W MERRILL
40 REM     BYTE MAGAZINE, OCTOBER 1979, PAGE 22
50 REM  MODIFIED BY M.J.ALLAN
60 REM     CCII CLUB, SYDNEY
70 REM  TO CREATE BLANK DATA FILE, USE IMMEDIATE MODE
80 REM  AND COMMAND FILE "N","GEN",92,512,4
90 REM  FILE HOLDS MAXIMUM OF 92 PERSONS
100 PRINT :INPUT "INSERT GEN DISK INTO DRIVE AND PRESS RETURN";ZX$
110 XX$= "          ":XY$= XX$+ "               "
120 FILE "T",150
130 FILE "R",1,"GEN",8
140 FILE "C",1:GOTO 180
150 FILE "N","GEN",92,512,4
160 FILE "R",1,"GEN",8
165 FOR QQ= 1TO 92
170 PUT 1,QQ;0,XX$[10],XX$[10],XX$[10],XY$[25],XX$[10],0,XY$[25],XY$[25],XY$[25]
174 PRINT "FART"
175 NEXT QQ:FILE "C",1
180 PLOT 12,15,14,27,18,4,15,27,12
190 PRINT "                GENEALOGICAL PROGRAM"
200 CLEAR 1000
210 DIM FD(24,3),Z$(24),B(91)
220 FOR X= 1TO 24:FOR Y= 1TO 3:READ FD(X,Y):NEXT Y,X
230 DATA 8,2,25,47,2,2,8,4,10,25,4,20,8,6,25
240 DATA 47,6,2,8,7,25,47,7,2,11,9,25,8,10,10
250 DATA 25,10,20,11,11,25,8,12,10,25,12,20,11,13,25
260 DATA 8,14,10,25,14,20,8,16,10,25,16,20,18,19,38
270 DATA 18,20,38,18,21,38,18,22,38,18,23,38
280 BK$= "                                                  "
290 M$= ""
300 FOR I= 1TO 91:B(I)= 0:NEXT I
310 REM  ALLOCATE FILE AND COUNT NUMBER OF CASES ALREADY IN IT
320 REM  SET COUNTERS
330 PRINT :PRINT :PRINT
340 FILE "R",1,"GEN",8
350 I2= 0
360 I3= 0:REM  I3 COUNTS NUMBER OF CASES IN FILE
370 INPUT "WOULD YOU LIKE A LIST OF THE NAMES CURRENTLY IN THE FILE? ";W1$
380 IF W1$= "Y"OR W1$= "YES"THEN INPUT "ON PRINTER (RETURN=NO)? ";AN$
390 IF AN$< > "Y"AND AN$< > "YES"THEN 420
400 M$= "              ":OUT 8,0:POKE 33265,14
410 PRINT
420 IF W1$= "Y"OR W1$= "YES"THEN PRINT M$;"THE FILE CONTAINS THE FOLLOWING NAMES:"
430 PRINT
440 I3= I3+ 1
450 REC= I3:GOSUB 3230
460 IF Z$(1)= "EOF                      "THEN 530
470 IF W1$= "Y"OR W1$= "YES"THEN PRINT M$;Z$(1);"   ";Z$(2)
480 IF B> I2THEN I2= B
490 IF R> I2THEN I2= R
500 IF T> I2THEN I2= T
510 B(B)= I3
520 GOTO 440
530 I3= I3- 1
540 M$= "":OUT 8,223:POKE 33265,0
550 FILE  "C",1
560 REM  MENU OF PROCEDURES
570 PRINT :PRINT :PRINT
580 PRINT TAB( 10);"(1) ENTER INFORMATION"
590 PRINT TAB( 10);"(2) READ OR REVISE INFORMATION"
600 PRINT TAB( 10);"(3) LIST PEDIGREE"
610 PRINT TAB( 10);"(4) END PROGRAM"
620 PRINT
630 INPUT "PLEASE ENTER THE NUMBER OF THE PROCEDURE YOU WANT ";A
640 ON AGOSUB 660,3440,2330,3140
650 GOTO 560
660 REM  PROCEDURE SUBROUTINE #1
670 REM  BIRTH CERTIFICATE INFORMATION
680 PLOT 12,27,11
690 FILE "R",1,"GEN",4
700 PRINT :PRINT
710 PRINT "TASK: ADD GENEALOGICAL INFORMATION TO THE FILE"
720 PRINT :PRINT
730 PRINT "WHAT IS THE PERSON'S NAME? "
740 INPUT "(USE MAIDEN NAME WHERE APPROPRIATE) ";Z$(1)
750 PRINT :PRINT
760 PRINT "TO PREVENT ";Z$(1);" FROM BEING CONFUSED WITH SOMEONE"
770 PRINT "ELSE WITH A SIMILAR NAME, ";Z$(1);" SHOULD HAVE A"
780 PRINT "UNIQUE NUMBER IN THIS FILE ."
790 PRINT
800 INPUT "HAS A NUMBER ALREADY BEEN ASSIGNED? ";V$
810 IF V$= "Y"OR V$= "YES"THEN 880
820 IF V$< > "N"AND V$< > "NO"THEN 800
830 I2= I2+ 1
840 B= I2:Z$(2)= RIGHT$ (STR$ (B),2)
850 PRINT
860 PRINT "";Z$(1);" HAS BEEN ASSIGNED THE NUMBER: ";Z$(2);""
870 GOTO 910
880 PRINT
890 INPUT "PLEASE ENTER THE NUMBER ";B
900 Z$(2)= RIGHT$ (STR$ (B),2)
910 PRINT :PRINT
920 PRINT "I WILL ASK YOU FOR SOME DATES."
930 PRINT "PLEASE ENTER DATES IN THE FOLLOWING FORMAT:"
940 PRINT "DAY/MONTH/YEAR"
950 PRINT "FOR EXAMPLE: 23/4/49"
960 PRINT "IF YOU DON'T KNOW A DATE, ENTER UNKNOWN"
970 PRINT :PRINT
980 PRINT "WHEN WAS ";Z$(1);" BORN (DAY/MONTH/YEAR)? "
990 INPUT Z$(3)
1000 PRINT
1010 PRINT "WHERE WAS ";Z$(1);" BORN? "
1020 INPUT Z$(4)
1030 PRINT :PRINT
1040 PRINT "WHAT WAS ";Z$(1);"'S FATHER'S NAME? "
1050 INPUT "(IF YOU DON'T KNOW, ENTER UNKNOWN) ";Z$(5)
1060 IF Z$(5)= "UNKNOWN"THEN 1220
1070 PRINT :PRINT
1080 PRINT "DOES ";Z$(5);" ALREADY HAVE A NUMBER ";
1090 INPUT V$
1100 IF V$= "Y"OR V$= "YES"THEN 1180
1110 IF V$< > "N"AND V$< > "NO"THEN 1070
1120 PRINT
1130 I2= I2+ 1
1140 R= I2:Z$(6)= RIGHT$ (STR$ (R),2)
1150 PRINT "HE HAS BEEN ASSIGNED THE NUMBER: ";Z$(6);""
1160 PRINT :PRINT
1170 GOTO 1240
1180 PRINT
1190 INPUT "PLEASE ENTER HIS NUMBER ";R
1200 Z$(6)= RIGHT$ (STR$ (R),2)
1210 GOTO 1240
1220 R= 0:Z$(6)= "  "
1230 PRINT :PRINT
1240 PRINT "WHAT WAS ";Z$(1);"'S MOTHER'S NAME? "
1250 PRINT "(USE HER MAIDEN NAME IF POSSIBLE)"
1260 INPUT "(IF YOU DON'T KNOW, ENTER UNKNOWN) ";Z$(7)
1270 IF Z$(7)= "UNKNOWN"THEN 1430
1280 PRINT :PRINT
1290 PRINT "DOES ";Z$(7);" ALREADY HAVE A NUMBER? ";
1300 INPUT V$
1310 IF V$= "Y"OR V$= "YES"THEN 1390
1320 IF V$< > "N"AND V$< > "NO"THEN 1280
1330 PRINT
1340 I2= I2+ 1
1350 T= I2:Z$(8)= RIGHT$ (STR$ (T),2)
1360 PRINT "SHE HAS BEEN ASSIGNED THE NUMBER: ";Z$(8);""
1370 PRINT :PRINT
1380 GOTO 1440
1390 PRINT
1400 INPUT "PLEASE ENTER HER NUMBER ";T
1410 Z$(8)= RIGHT$ (STR$ (T),2)
1420 GOTO 1450
1430 T= 0:Z$(8)= "  "
1440 PRINT :PRINT
1450 PRINT "WHERE DID YOU GET THE INFORMATION ABOUT"
1460 PRINT "";Z$(1);"'S BIRTH AND PARENTAGE (BE SPECIFIC)"
1470 INPUT Z$(20)
1480 REM  MARRIAGE CERTIFICATE INFORMATION
1490 PRINT :PRINT
1500 PRINT "HOW MANY TIMES WAS ";Z$(1);" MARRIED?"
1510 INPUT "(ENTER A DIGIT FROM 0 TO 3) ";F
1520 IF F< 0OR F> 3THEN 1510
1530 IF F= 0THEN 1690
1540 FOR I= 1TO F
1550 PRINT :PRINT
1560 PRINT "ENTER THE DATE OF MARRIAGE #";I;" (DAY/MONTH/YEAR)";
1570 INPUT Z$(3* I+ 7)
1580 PRINT
1590 PRINT "WHAT WAS THE SPOUSE'S FULL NAME?"
1600 PRINT "(USE MAIDEN NAME WHERE APPLICABLE)"
1610 INPUT Z$(3* I+ 6)
1620 PRINT
1630 PRINT "WHERE WERE THEY MARRIED?"
1640 INPUT Z$(3* I+ 8)
1650 PRINT :PRINT
1660 PRINT "WHERE DID YOU GET THE INFORMATION ABOUT THIS MARRIAGE?"
1670 INPUT Z$(I+ 20)
1680 NEXT I
1690 REM  DEATH CERTIFICATE INFORMATION
1700 PRINT :PRINT
1710 PRINT "WHEN DID ";Z$(1);" DIE (DAY/MONTH/YEAR)?"
1720 PRINT "(IF YOU DON'T KNOW, ENTER UNKNOWN."
1730 PRINT "IF ";Z$(1);" IS STILL LIVING, ENTER ALIVE.)"
1740 INPUT Z$(18)
1750 IF Z$(18)= "ALIVE"THEN 1820
1760 PRINT :PRINT
1770 PRINT "WHERE DID ";Z$(1);" DIE?"
1780 INPUT Z$(19)
1790 PRINT :PRINT
1800 PRINT "WHERE DID YOU GET THIS INFORMATION ABOUT THE DEATH?"
1810 INPUT Z$(24)
1820 IF Z$(18)= "ALIVE"THEN Z$(19)= "NOT APPLICABLE"
1830 PRINT :PRINT :PRINT
1840 I3= I3+ 1
1850 B(B)= I3
1860 REC= I3:GOSUB 3180
1870 PUT 1,REC+ 1,35;"EOF                      "[25]
1880 FILE  "C",1
1890 RETURN
1900 REM  PRINT RECORD ON PRINTER
1910 PLOT 12
1920 L3$= "----------------------------------------------"
1930 PRINT :PRINT :PRINT :PRINT :PRINT
1940 PRINT M$;L3$
1950 PRINT
1960 PRINT M$;"          GENEALOGICAL INFORMATION FOR"
1970 PRINT
1980 PRINT M$;"      ";Z$(1);" (NUMBER ";Z$(2);")"
1990 PRINT M$;L3$
2000 PRINT
2010 PRINT M$;"BORN: ";Z$(3)
2020 PRINT
2030 PRINT M$;"BIRTHPLACE: ";Z$(4)
2040 PRINT
2050 PRINT M$;"FATHER: ";Z$(5);" (NUMBER ";Z$(6);")"
2060 PRINT
2070 PRINT M$;"MOTHER: ";Z$(7);" (NUMBER ";Z$(8);")"
2080 PRINT
2090 PRINT M$;"SOURCE OF RECORD: ";:POKE 33289,255:PRINT Z$(20)
2100 PRINT M$;L3$
2110 IF F= 0THEN 2230
2120 FOR I= 1TO F
2130 PRINT
2140 PRINT M$;"MARRIED TO: ";Z$(3* I+ 6)
2150 PRINT
2160 PRINT M$;"DATE: ";Z$(3* I+ 7)
2170 PRINT
2180 PRINT M$;"PLACE: ";Z$(3* I+ 8)
2190 PRINT
2200 PRINT M$;"SOURCE OF RECORD: ";:POKE 33289,255:PRINT Z$(I+ 20)
2210 PRINT M$;L3$
2220 NEXT I
2230 IF Z$(18)= "ALIVE     "THEN 2310
2240 PRINT
2250 PRINT M$;"DATE OF DEATH: ";Z$(18)
2260 PRINT
2270 PRINT M$;"PLACE OF DEATH: ";Z$(19)
2280 PRINT
2290 PRINT M$;"SOURCE OF RECORD: ";:POKE 33289,255:PRINT Z$(24)
2300 PRINT M$;L3$
2310 M$= "":OUT 8,223:POKE 33265,0
2320 RETURN
2330 REM  PROCEDURE SUBROUTINE #3
2340 REM  LINK PEDIGREE BY NUMBER
2350 PLOT 12,27,24
2360 X2= 0:X3= 0:X4= 0:X5= 0:X6= 0:X7= 0
2370 PLOT 12
2380 FILE "R",1,"GEN",1
2390 PLOT 3,0,27:PRINT "WHOSE PEDIGREE WOULD YOU LIKE PRINTED?"
2400 PLOT 3,3,28:PRINT "(ENTER HIS/HER NUMBER, PLEASE) "
2410 PLOT 3,39,27:INPUT "";X1
2420 GOSUB 3290
2430 PLOT 3,0,27
2440 INPUT "OUTPUT TO PRINTER (Y/N,RETURN=NO)? ";AA$
2450 GOSUB 3290
2460 REM  FIND PARENTS AND LIST
2470 REC= B(X1)
2480 IF REC< > 0THEN 2530
2490 M$= "":OUT 8,223:POKE 33265,0
2500 PLOT 3,0,27
2510 PRINT "PERSON NUMBER";X1;" IS NOT LISTED IN THE FILE."
2520 GOTO 3080
2530 GOSUB 3230
2540 IF AA$< > "Y"AND AA$< > "YES"THEN 2580
2550 M$= "              ":OUT 8,0:POKE 33265,14
2560 PLOT 12:PRINT
2570 PRINT
2580 PRINT :PRINT M$;"           PEDIGREE FOR"
2590 PRINT
2600 PRINT M$;Z$(1);"     (NUMBER: ";Z$(2);")"
2610 PRINT
2620 PRINT M$;"   F:";Z$(5);" (NUMBER:";R;")"
2630 PRINT M$;"   M:";Z$(7);" (NUMBER:";T;")"
2640 PRINT
2650 REM  FIND GRANDPARENTS AND LIST
2660 X2= R
2670 X3= T
2680 IF X2= 0THEN 2760
2690 REC= B(X2)
2700 GOSUB 3230
2710 IF R< > 0THEN PRINT M$;"      FF:";Z$(5);" (NUMBER:";R;")"
2720 IF T< > 0THEN PRINT M$;"      FM:";Z$(7);" (NUMBER:";T;")"
2730 PRINT
2740 X4= R
2750 X5= T
2760 IF X3= 0THEN 2840
2770 REC= B(X3)
2780 GOSUB 3230
2790 IF R< > 0THEN PRINT M$;"      MF:";Z$(5);" (NUMBER:";R;")"
2800 IF T< > 0THEN PRINT M$;"      MM:";Z$(7);" (NUMBER:";T;")"
2810 PRINT
2820 X6= R
2830 X7= T
2840 REM  FIND GREATGRANDPARENTS AND LIST
2850 IF X4= 0THEN 2910
2860 REC= B(X4)
2870 GOSUB 3230
2880 IF R< > 0THEN PRINT M$;"         FFF:";:POKE 33289,255:PRINT Z$(5);" (NUMBER:";R;")"
2890 IF T< > 0THEN PRINT M$;"         FFM:";:POKE 33289,255:PRINT Z$(7);" (NUMBER:";T;")"
2900 PRINT
2910 IF X5= 0THEN 2970
2920 REC= B(X5)
2930 GOSUB 3230
2940 IF R< > 0THEN PRINT M$;"         FMF:";:POKE 33289,255:PRINT Z$(5);" (NUMBER:";R;")"
2950 IF T< > 0THEN PRINT M$;"         FMM:";:POKE 33289,255:PRINT Z$(7);" (NUMBER:";T;")"
2960 PRINT
2970 IF X6= 0THEN 3030
2980 REC= B(X6)
2990 GOSUB 3230
3000 IF R< > 0THEN PRINT M$;"         MFF:";:POKE 33289,255:PRINT Z$(5);" (NUMBER:";R;")"
3010 IF T< > 0THEN PRINT M$;"         MFM:";:POKE 33289,255:PRINT Z$(7);" (NUMBER:";T;")"
3020 PRINT
3030 IF X7= 0THEN 3080
3040 REC= B(X7)
3050 GOSUB 3230
3060 IF R< > 0THEN PRINT M$;"         MMF:";:POKE 33289,255:PRINT Z$(5);" (NUMBER:";R;")"
3070 IF T< > 0THEN PRINT M$;"         MMM:";:POKE 33289,255:PRINT Z$(7);" (NUMBER:";T;")"
3080 IF AA$< > "Y"AND AA$< > "YES"THEN 3100
3090 M$= "":OUT 8,223:POKE 33265,0
3100 FILE "C",1
3110 INPUT "PRESS ENTER TO CONTINUE";AA$
3120 PLOT 27,11
3130 RETURN
3140 REM  PROCEDURE SUBROUTINE #4
3150 REM  END THE PROGRAM
3160 PLOT 27,11,12
3170 END
3180 REM  PUT RECORD #I3 ONTO DISK FILE #1
3190 PUT 1,REC;B,Z$(10)[10],Z$(13)[10],Z$(16)[10],Z$(1)[25],Z$(3)[10],F,Z$(9)[25],Z$(12)[25],Z$(15)[25]
3200 PUT 1,REC,149;Z$(4)[20],Z$(18)[10],Z$(11)[20],Z$(14)[20],Z$(17)[20],Z$(19)[20],Z$(5)[25],Z$(7)[25],R,T
3210 PUT 1,REC,317;Z$(20)[38],Z$(21)[38],Z$(22)[38],Z$(23)[38],Z$(24)[38]
3220 RETURN
3230 REM  GET RECORD #I3 FROM DISK FILE #1
3240 GET 1,REC;B,Z$(10)[10],Z$(13)[10],Z$(16)[10],Z$(1)[25],Z$(3)[10],F,Z$(9)[25],Z$(12)[25],Z$(15)[25]
3250 GET 1,REC,149;Z$(4)[20],Z$(18)[10],Z$(11)[20],Z$(14)[20],Z$(17)[20],Z$(19)[20],Z$(5)[25],Z$(7)[25],R,T
3260 GET 1,REC,317;Z$(20)[38],Z$(21)[38],Z$(22)[38],Z$(23)[38],Z$(24)[38]
3270 Z$(2)= RIGHT$ (STR$ (B),2):Z$(6)= RIGHT$ (STR$ (R),2):Z$(8)= RIGHT$ (STR$ (T),2)
3280 RETURN
3290 REM  CLEAR SCREEN LINES 26 TO 31
3300 FOR IZ= 26TO 31
3310 PLOT 3,0,IZ,11
3320 NEXT IZ
3330 RETURN
3340 REM  DISPLAY FIELD NUMBERS
3350 FOR IY= 1TO 24
3360 BASE= 28671+ 128* FD(IY,2)+ 2* FD(IY,1)
3370 FOR IX= 1TO FD(IY,3)
3380 POKE BASE+ 2* IX,48
3390 NEXT IX
3400 PLOT 3,FD(IY,1)+ FD(IY,3),FD(IY,2)
3410 PRINT "";IY;""
3420 NEXT IY
3430 RETURN
3440 REM  PROCEDURE SUB #2 - READ & REVISE FILE
3450 FILE "R",1,"GEN",4
3460 PLOT 12,27,24
3470 Z5= 0
3480 PLOT 3,0,27:PRINT "PLEASE ENTER COMMAND NUMBER "
3490 PRINT "(1) SEARCH BY PERSON'S NAME (SLOW SEARCH)"
3500 PRINT "(2) SEARCH BY PERSON'S NUMBER (FAST SEARCH)"
3510 PRINT "(3) READ THROUGH THE ENTIRE FILE"
3520 PLOT 3,28,27:INPUT "";W2
3530 PLOT 12
3540 EF= 0
3550 ON W2GOSUB 3850,3980,4100
3560 ON EFGOTO 3760,3820
3570 GOSUB 4350
3580 GOSUB 3290:PLOT 3,0,27:PRINT "DO YOU WANT TO CHANGE ANY OF THIS INFORMATION? "
3590 PLOT 3,5,28:PRINT "(RETURN=NO)"
3600 PLOT 3,47,27:INPUT "";P3$
3610 IF P3$< > "Y"AND P3$< > "YES"THEN 3720
3620 GOSUB 3340
3630 GOSUB 3290
3640 PLOT 3,0,27:PRINT "PLEASE ENTER THE FIELD NUMBER OF THE FIELD TO BE CHANGED "
3650 PLOT 3,5,28:PRINT "(THE FIELD NUMBER IS AT THE RIGHT HAND END OF THE FIELD)"
3660 PLOT 3,5,29:PRINT "(RETURN=NO FURTHER CHANGES)"
3670 PLOT 3,57,27:INPUT "";FZ
3680 IF FZ< 0OR FZ> 24THEN 3630
3690 IF FZ= 0THEN 3720
3700 GOSUB 4190
3710 GOTO 3630
3720 GOSUB 3290:PLOT 3,0,27:PRINT "OUTPUT TO PRINTER? "
3730 PLOT 3,5,28:PRINT "(RETURN=NO)"
3740 PLOT 3,19,27:INPUT "";AA$
3750 IF AA$= "Y"OR AA$= "YES"THEN M$= "              ":OUT 8,0:POKE 33265,14:GOSUB 1910
3760 GOSUB 3290
3770 PLOT 3,0,27:PRINT "WOULD YOU CARE TO EXAMINE ANOTHER RECORD? "
3780 PLOT 3,5,28:PRINT "(RETURN=YES)"
3790 PLOT 3,42,27:INPUT "";P$
3800 IF P$< > "N"AND P$< > "NO"AND W2= 3THEN 3530
3810 IF P$< > "N"AND P$< > "NO"THEN 3460
3820 FILE "C",1
3830 PLOT 12,27,11
3840 RETURN
3850 REM  SEARCH FILE BY NAME
3860 GOSUB 3290
3870 PLOT 3,0,27:INPUT "PLEASE ENTER PERSON'S NAME ";P2$
3880 P2$= LEFT$ (P2$+ "                         ",25)
3890 Z5= Z5+ 1
3900 IF Z5> I3THEN 3940
3910 REC= Z5:GOSUB 3230
3920 IF Z$(1)< > P2$THEN 3890
3930 RETURN
3940 EF= 1
3950 PLOT 3,0,28:PRINT "NAME NOT IN FILE"
3960 FOR IX= 1TO 1500:NEXT IX
3970 RETURN
3980 REM  SEARCH FILE BY NUMBER
3990 GOSUB 3290
4000 PLOT 3,0,27:INPUT "PLEASE ENTER PERSON'S NUMBER ";A1
4010 IF A1> 91THEN 4060
4020 REC= B(A1)
4030 IF REC= 0THEN 4060
4040 GOSUB 3230
4050 RETURN
4060 EF= 1
4070 PLOT 3,0,28:PRINT "NUMBER NOT IN FILE"
4080 FOR IX= 1TO 1500:NEXT IX
4090 RETURN
4100 REM  RECALL NEXT RECORD
4110 Z5= Z5+ 1
4120 IF Z5> I3THEN 4150
4130 REC= Z5:GOSUB 3230
4140 RETURN
4150 EF= 2
4160 PLOT 3,0,28:PRINT "END OF FILE"
4170 FOR IX= 1TO 1500:NEXT IX
4180 RETURN
4190 REM  AMEND RECORD
4200 PLOT 3,0,30:PRINT "ENTER NEW DATA"
4210 PLOT 3,15,30,6,49:PRINT LEFT$ (BK$,FD(FZ,3))
4220 PLOT 3,15,30
4230 INPUT "";Z$(FZ):PLOT 6,2
4240 Z$(FZ)= LEFT$ (Z$(FZ)+ "                                   ",FD(FZ,3))
4250 PLOT 3,FD(FZ,1),FD(FZ,2)
4260 PRINT "";Z$(FZ);""
4270 IF FZ= 2THEN B= VAL (Z$(FZ))
4280 IF FZ= 6THEN R= VAL (Z$(FZ))
4290 IF FZ= 8THEN T= VAL (Z$(FZ))
4300 IF FZ= 9AND F= 0THEN F= 1
4310 IF FZ= 12AND F= 1THEN F= 2
4320 IF FZ= 15AND F= 2THEN F= 3
4330 GOSUB 3180
4340 RETURN
4350 REM  DISPLAY RECORD ON SCREEN
4360 PLOT 3,19,0:PRINT "GENEALOGICAL DATA FOR "
4370 PLOT 3,8,2:PRINT "";Z$(1);""
4380 PLOT 3,40,2:PRINT "NUMBER ";Z$(2);""
4390 PLOT 3,0,4:PRINT "BORN ON ";Z$(3);""
4400 PLOT 3,22,4:PRINT "AT ";Z$(4);""
4410 PLOT 3,0,6:PRINT "FATHER: ";Z$(5);""
4420 PLOT 3,40,6:PRINT "NUMBER ";Z$(6);""
4430 PLOT 3,0,7:PRINT "MOTHER: ";Z$(7);""
4440 PLOT 3,40,7:PRINT "NUMBER ";Z$(8);""
4450 IF F= 0THEN 4510
4460 FOR I= 1TO F
4470 PLOT 3,0,2* F+ 7:PRINT "MARRIED TO ";Z$(3* I+ 6);""
4480 PLOT 3,5,2* F+ 8:PRINT "ON ";Z$(3* I+ 7);""
4490 PLOT 3,22,2* F+ 8:PRINT "AT ";Z$(3* I+ 8);""
4500 NEXT I
4510 IF Z$(18)= "ALIVE     "THEN 4540
4520 PLOT 3,0,16:PRINT "DIED ON ";Z$(18);""
4530 PLOT 3,22,16:PRINT "AT ";Z$(19);""
4540 PLOT 3,0,18:PRINT "RECORDS SOURCE:"
4550 PLOT 3,1,19:PRINT "BIRTH/PARENTAGE: ";Z$(20);""
4560 IF F= 0THEN 4600
4570 FOR I= 1TO F
4580 PLOT 3,1,F+ 19:PRINT "MARRIAGE #";I;":    "Z$(I+ 20);""
4590 NEXT I
4600 IF Z$(18)= "ALIVE     "THEN 4620
4610 PLOT 3,1,23:PRINT "DEATH:           ";Z$(24);""
4620 RETURN