

                               Family Tree

                         A genealogical database


                          By Ian and Mark Baker


                        v2.01,  17 October 1993
Chapter 1 : Family Tree - Introduction

Family  tree  is a genealogy program (as if you could not tell  from  the
name...) for the Atari ST.  It uses the GEM graphical user interface,  so
is fairly easy to use.

My  father  and  brother  were both  involved  in  tracing  their  family
history.  They wanted to transfer their data to the computer,  but  could
not  find a suitable program for the Atari ST.  None of the  programs  in
the  public  domain  at  the time  were  suitable.  One  of  them,  which
otherwise  seemed quite good,  deliberately avoided using  GEM.  It  even
boasted that you would not need to use the mouse!  It was very  difficult
to use, and you wonder why the author bought an ST and not a PC clone.

So this program was written.  It uses GEM as much as possible,  so should
be  easy to pick up.  It should work with all operating system  versions,
including MultiTOS,  use all available memory and the whole of the screen
area  (if you have Overscan, a TT or a large screen monitor).

The  program will print details of the people you have entered and  their
family  trees  on  any  standard printer that  you  would  use  for  word
processing.  It  can also produce better presented printouts  and  family
trees  using  GDOS  if  you have this installed.  If  you  have  read  in
magazines  how difficult GDOS is and are a little bit apprehensive  about
this, don't be. Read Appendix A instead!

1.1  Installation

This  is  very simple.  If you are using floppies it will work as  it  is
distributed  - but please make a backup rather than using  the  original.
On  a  hard disc,  create a folder for it (you can call it  anything  you
like) and copy the program GEN.PRG and the resource files into it.

There  are two resource files included.  GEN_8X8.RSC is used  on  systems
with  an  8x8 screen font,  such as ST medium res,  and  GEN.RSC  on  all
others.  It doesn't look quite as good,  but will work on all current and
future  display modes because it does not rely on the text size.  You  do
not  have to rename the files as was necessary with earlier  versions  of
Family Tree. It loads the appropriate one for you.

Chapter 2 : Basic concepts - What you must know

You  must read and understand this chapter if you are to use Family  Tree
effectively.  While it may seem intuitive,  a few things are not quite so
obvious, at least, not until you have been told!

First of all,  when loading your family tree data,  because the  database
consists  of  several  files,  you  do not select  a  file  in  the  file
selector.  Simply select the folder containing your data (which will have
names  like P0000010.GEN) and click OK.  The exception is when  you  are
starting  a  new database.  The file name you type here will be  used  to
create a new folder in which to store your data.

The  other thing you must remember is that you do not type  in,  and  the
program does not store,  the names of father,  mother,  spouses, children
and siblings.  Instead it stores a reference to them,  which you enter by
selecting them from a list.  This means of course that these people  must
be in the database.

In  fact  it is simpler than this.  All you have to do is  couple  people
together  and assign children to them by selecting from a list of  people
in  the  database.  The program will then automatically fill  in  Mother,
Father, Children and Sibling fields for you.

Obviously  all this means less typing for you,  less chance of  mistakes,
and people will not have different names in different places.  But if you
are  used to most databases,  or even a lot of other genealogy  programs,
this will take a bit of getting used to.

In the course of tracing a family tree you will normally be working  back
through time.  This program is written with that in mind. Accordingly, it
is  more  efficient  to enter the members  of  later  generations  before
earlier  ones.  An implication of this is that when you enter a  person's
data you assign children to them from the people already entered.

This program is not a commercial offering.  We believe it to be reasonably
robust  and  do  not  know of any faults which will  cause  it  to  crash.
However,  there  is  always a possibility  of a bug which We have  not yet
found. For this reason it is essential that you keep a backup copy of your
family tree data. We would recommend that if your tree is on a  floppy you
copy the entire disc by  using a fast copying program, such as Fastcopy 3,
or via a RAM disc. If your tree is on hard disc then copy the  tree folder
 onto a floppy.

It  is  good practice to quit from the program when you  finish,  do  not
just  switch off the computer.  In this way you will be prompted to  save
your  data if you have changed it since the last save.

You  can call up  help for the top window by pressing Help, selecting Top
Window  from the  help  menu  or  clicking  on the  help  button in  most
dialogues.  The contents or index of  the help  can also be accessed from
the help menu.

Chapter 3 : File operations - Loading and Saving trees

When the  program starts you  will be presented  with an alert  box. From
here  you can start  a new tree, open an existing one, or press cancel to
remove the alert and allow you to use the menu bar.

3.1  Starting a new tree

If  you wish to keep your tree data on a floppy disc,  format two  discs,
one ready for your backup.  If you are going to keep your data on a  hard
disc format a floppy for the backup.

Use  the  mouse  to  drop  down  the  File  menu.   Click  on  New  tree.
Alternatively  you may  press  Ctrl-N.  The file  selector  will come  up
initialised to drive A with the filename Treedata. If you click on OK the
program will create a folder called Treedata on the floppy  disc in drive
A and your data files will be stored in that folder.

You may select other drives and folders,  in which case you must type  in
a  file name which the program will use as a folder name.  Do not  select
any  of the files within the folder.  The program remembers the name  you
use and saves it as the default in future.

3.2  Saving a tree

After spending time entering data into the program you will clearly  want
to save it to disc.  To do this,  select Save from the File menu or press
Ctrl-S.  This  will make sure all the information you have entered is  on
the disc.

This cannot be used for making backups of your data, since it only saves
changes made since the last save.

3.2.1  Timed save

When  you are entering or altering information in your tree you  will  be
prompted at regular intervals by an alert box asking if you wish to  save
the  changes  you  have made.  Selecting Save saves to  disc  exactly  as
clicking  on  the menu item.  If you select Ignore you will  be  prompted
again  after another time interval.  It will not interrupt when  you  are
working,  but waits until you have left the keyboard or mouse button  for
a  second.  You  will not be prompted if you have made no  changes  since
loading or the last save.

The  time interval can be altered from 1 to 99 minutes by  selecting  Set
preferences  from  the  Preferences menu.  Simply select  the  Save  time
interval field and edit to the time you require. Then click on OK.

3.2.2  Save as

To  save the tree as a different name select Save tree as from  the  File
menu.  This  will  bring up a file selector where you should  select  the
folder you want.  As for new tree, if you want a new folder to be created
enter the name in the selection field. Save as loads in all the  data and
saves  it in a different place.  The program will need to read  from  the
disc  containing  the original data and write to the one  containing  the
new copy.  If your data is on one floppy and you are copying onto another
then one floppy must be in drive A:,  the other in drive B:. The computer
will  prompt  you  to swap the discs as required if  you  only  have  one
floppy disc drive.

This  can  be  used  for  backups,   although  we would  recommend  using
Fastcopy 3 for floppies or just using the desktop for hard disc users  as
these would be much quicker.

3.3  Loading a tree

Selecting Load from the File menu, or pressing Ctrl-O, allows you to load
in  a  tree.  A  file  selector will appear,  with  the  last  used  name
selected.  If  you want to load this tree,  just click on OK to load  it,
assuming you have the right disc in of course.  But if you want to load a
different  tree  then you  will have to select the drive and  select  the
folder before clicking on OK.  Do not select any of the files within  the
folder.

3.4  Checking a tree

If you have problems running Family Tree with your data it may be as a
result of your data becoming corrupted. This may have been caused by a
computer crash or failure to save on a disc which was full.

To check for data inconsistencies, after first loading your tree
select Check tree from the File menu. The data will then be checked to
ensure that the indexes contain data which matches that in people's
individual files and that parent/child and spouse/spouse relationships
are consistent. This should be sufficient to ensure that the program
will run correctly. It cannot check that your data is correct.

If the program finds errors in the data it will warn you, and advise
you to use a backup copy of your data. If you do not have a backup it
is possible to correct the data using a text editor and the
information in Appendix C. The file error.gen will contain a list of
the inconsistencies. Be sure to make a copy before attempting to
correct the data in case mistakes make it worse. If you are unable to
put things right and you particularly need your data restored, send a
copy to us including return postage and we will attempt to restore the
data to a state where you can re-enter any lost data using Family
tree.

Chapter 4 : Entering People - Person Entry form

In  order  to  enter data for a new person click on  New  person  in  the
Display  menu or press Alt-N.  You will then be presented with  a  window
containing  a  form  to fill in with  personal  details.  When  you  have
entered  all  the information you wish to,  click on OK and you  will  be
returned to the previous screen.  If you click on Cancel the data entered
will be discarded.  If you display a tree or descendants whilst editing a
person's  information any changes will automatically be  saved,  so  they
cannot then be cancelled.

When  entering a new person into the tree there is an  additional  button
labelled Next.  Clicking on this or pressing Alt-N,  will store the  data
you  have just entered and clear the Person Entry form ready for  another
person.  The  family  name  will  be initialised to  the  name  from  the
previous form. If this is wrong use the Esc key to clear the field.

If  you wish to edit data for a previously entered  person,  see  chapter
below, Editing People.

4.1  The main Person Entry form

Use  the keyboard to enter the names,  place of birth,  dates  of  birth,
baptism and death and occupation.  You can select these fields using  the
mouse,  or  cycle round them with the tab key or the up and  down  cursor
keys. These are the only fields which allow direct data entry.

The fields showing parents,  children,  siblings and marriage details are
filled  in by the program and are for information only.  They  do  enable
you  to  move around the family tree though,  see Moving  Around  in  the
Editing  People chapter.  See next section,  Marriages,  for use  of  the
Spouse field.  Note that half siblings are not displayed,  you must  read
the parents records to find these.

Entry uses the standard Atari GEM routines,  the Esc key clears the field
completely,  Delete removes the character after the cursor, Backspace the
one  before it and the left and right cursor keys move the  cursor  along
the string of characters.

The  names  and place of birth can contain any characters you  can  type,
but the dates have to be in the correct format.  This is ddMmmyyyy  where
dd  are two digits for the day in the month,  Mmm are three  letters  for
the month and yyyy four digits for the year.  If the day is less than  10
you  may pad with space or a leading zero.  The month must be  the  first
three  letters of the month1.  If you know the year but not the month  or
day  you may enter the day as 00 and the month as Xxx.  The program  will
treat this as the 0th day of the 0th month but will still be able to  use
the year in order to sort people by date of birth.

If  you do not know an exact date but only the approximate year  you  may
enter the month as ccc followed by the year.  This will be displayed  and
printed as a single c, e.g. c1951.

If  you know which quarter of a year you may enter the day as 0x and  the
month as Qtr, where x is the quarter.

4.1.1  Sex

Immediately to the right of the family name there is a button with a  `?'
on it.  Click on this to get an alert box which allows you to choose male
or female.  The button will then show `m' or `f'.  If you make a  mistake
and wish to change this you may simply click on the button again.

Alternatively  you  may  press  Alt-M or Alt-F  to  set  male  or  female
respectively. You cannot change the sex this way once set.

You must always set this up before attempting to enter marriage  details.
See Marriages below.

4.1.2  Source

Immediately  to the left of the birth date there is a button  with  Birth
on  it.  Click  on  this to get a form in which to enter  the  source  of
information  concerning the birth,  for example the number of  the  birth
certificate or reference to parish records.

You  may  enter any characters you can type.  If  there  is  insufficient
space for what you wish to write see Further Notes below.

You  may  wish  to close this window to avoid cluttering  the  screen  or
because  you have run out of windows,  but otherwise you do not need  to.
Closing this window will not lose any of the information in it.  There is
no  OK  button on the form and the data on it is saved when that  on  the
main person form is.

4.1.3  Baptism

Immediately  to  the  left  of the baptism  date  is  a  button  labelled
Baptism2.  Click  on  this to obtain a form on which you  can  enter  the
place of baptism and source of information concerning the baptism.

See the notes in the previous section about closing the window.

4.1.4  Death

Immediately  to  the left of the death date is a button  labelled  Death.
Click on this to obtain a form on which you can enter details  concerning
the death of the person.

The  standard  Atari  GEM  routines are  used  for  all  the  fields.  In
particular  the  names  of  witnesses,   executors,   the  solicitor  and
beneficiaries  are typed in from the keyboard,  they are not people  from
the  family tree.  Of course one of these people may be included in  your
family tree,  but the program will not recognise the connection. The date
must be in standard format.

The various fields concerning the will may not often be used but the
information can help if you are having difficulties tracing ancestors.

See the notes about closing the window in section 4.1.2

4.2  Further Notes

Clicking  on  Further Notes brings up an empty window  entitled  `Further
notes  for' followed by the person's name.  You may now enter  any  notes
concerning the person using the keyboard.  This is a very simple  editor,
not a word processor,  and is intended for short notes only.  If you wish
to  write  their  life  history  use First  Word  Plus  or  another  word
processor.

Text  word  wraps automatically as you type so only  use  Return  between
paragraphs.  The  Backspace,  Delete,  Cursor  keys  and  mouse  all  act
conventionally.  The  vertical scroll bar allows you to move up and  down
through the text.  Horizontal scrolling is not used as the text is always
adjusted to fit the window.

The  window  may be moved or resized as a normal GEM window.  It  may  be
closed  by  clicking  on  the close box at the top  left  corner  of  the
window.  If the window is moved or resized so as to show the person  form
underneath it you may move between the person form and the Further  Notes
window simply by mouse clicking.  The window is closed when you select OK
or Cancel on the person form.  If you move or resize the window this will
be remembered until you quit from the program,  so opening Further  Notes
on another person will give you a window as and where you have chosen.

You  may  wish  to close this window to avoid cluttering  the  screen  or
because  you have run out of windows,  but otherwise you do not need  to.
Closing this window will not lose any of the information in it.  The data
in it is saved when that on the main person form is.

4.2.1  Text size

You  may select one of three sizes of system font for the display of  the
further  notes.  The larger fonts are easier to read,  especially if  you
are  using a television as a monitor,  but smaller fonts will allow  more
of  the  text  to  be  displayed.  To alter  the  size  used  select  Set
preferences from the Preferences menu.  Then click on the required  size.
Select OK to exit.

4.2.1  Block operations

You  can  mark  a  block by dragging with the mouse  or  using  the  menu
commands  Block Start and Block End from the Edit menu,  or using  Ctrl-B
and Ctrl-E. Moving the cursor or entering any text unmarks  the block.

Selecting  Delete from the Edit menu or pressing Delete will  delete  the
marked  block.  Selecting  Copy  from the Edit menu  or  pressing  Ctrl-C
copies  the selected text to the clipboard.  Selecting Cut from the  Edit
menu or pressing Ctrl-X is equivalent to copying and then  deleting.  Cut
and  copy  will work even if there is no block selected,  in  which  case
they will copy all the text.  To paste text in from the clipboard  select
Paste  from the Edit menu or press Ctrl-V,  this inserts the text at  the
cursor position.

These  functions  use the standard GEM clipboard.  Because this  is  disc
based it is slower than using a buffer in RAM,  but allows you to cut and
paste  between different applications.  If it is too slow,  using  a  RAM
disc will speed it up a bit.

4.3  Flags

If  you  click on the Flags button you will be presented with a  form  to
fill  in.  It consists of eight short lines of text adjacent to  each  of
which are three buttons, Yes, No and Not set. Initially the lines of text
will be blank. They cannot be edited here. To edit them select Name flags
from the Preferences menu, see Set preferences later in the manual.

These  are  provided  to allow you to store simple  information  of  your
choice.  For  example you may wish to mark those people who are  directly
related to you,  not just by marriage.  In this case you would set one of
the  lines of text to say Direct Relative.  Then for each person who  was
related you would click on Yes adjacent to that line of text.  For  other
people  you  would  click on No.  New people will have  all  their  flags
initialised to Not set.

These  flags can be useful when selecting people from the  database,  see
the Person selector below.

4.4  Marriages

Marriages are used to cover any form of relationship which might  produce
children.  The fields are there to record wedding details but the concept
of legitimacy has no place in this program.

To  enter  details of a marriage you must first get to  the  main  Person
Entry form for one of the two people involved.  If you then click on  the
Spouse field you will be presented with a window containing the  Marriage
form.  If  you click on an existing spouse you may update details  of  an
existing marriage.

The  top two spaces on the left of the form are for the couple,  the  man
at  the  top.  The  person whose data you were entering  will  have  been
entered  in the appropriate space.  If you click on the other  space  you
will be presented with the Person Selector form,  see below for  details.
The person you choose will be entered as the spouse.

Within  the  marriage form the date and place of wedding are  handled  as
dates  and  text on the Person Entry form.  When you have  completed  the
form  click on OK to store the data and return to the Person Entry  form,
where  you  will see the Spouse and Children  fields  updated.  Click  on
Cancel  if you wish to discard the information you have entered.  If  you
display  a tree or descendants whilst editing a couple's information  any
changes will automatically be saved, so they cannot then be cancelled.

If  you  click on Delete you may remove a marriage  completely  providing
that there are no children.  If there are any you will be asked to remove
them first.

4.4.1  Adding children

The Marriage form allows space for ten children.  When it is full you may
use the scroll bar to move down through the listed children.  There is  a
maximum  of forty children.  If this is ever insufficient write to me  to
complain and I will allow for more.

To  enter  a child click on one of the empty spaces.  You  will  then  be
presented with the Person Selector form.  If the father's family name has
been entered the Person Selector will already have this entered,  on  the
assumption  that  children are normally named  after  their  father.  The
people  with that family name will be automatically listed.  If  this  is
not the case you can clear or change that field.

The  selected  child will appear in the list in the space  on  which  you
clicked.  If you return to this screen later the children will have  been
sorted into order of birth date so you can enter them at random.

If  you click on a child who has already been entered you will  be  given
the opportunity of removing them from the list.

4.4.2  Divorce

Divorce  has no significance to the tree program but this allows  you  to
record details of any divorces.  Click on the Divorce button and you will
be  presented  with the Divorce form with space for date  and  source  of
information.

You  may  wish  to close this window to avoid cluttering  the  screen  or
because  you have run out of windows,  but otherwise you do not need  to.
Closing this window will not lose any of the information in it.  There is
no  OK  button on the form and the data on it is saved when that  on  the
couple form is.

4.4.3  Multiple Spouses

If  a person is already married then the right arrow button to the  right
of the date of marriage in the Person Entry form will be  enabled.  Click
on  this and the previous spouse will disappear leaving the field  blank.
You may now click on this to enable entering of a second  marriage.  This
may be repeated to a maximum of twenty spouses.

4.5  Person selector

The  person  selector appears when you have to select a person  to  edit,
children or a spouse for a marriage, or a person or people to print.

When  it comes up there is a normally empty list box in  the  middle.  At
the  top are editable text fields for forename,  family  name,  place  of
birth and before and after for the date of birth.  There is also a button
labelled Flags.

These  can be set up as a filter so there are less names to choose  from.
When  any  information  required is entered,  pressing  the  List  button
lists,  in the scrollable box,  all people who match these  filters.  For
example  if  the family name is set to `Smith' then all people  with  the
surname Smith will be listed.

You may select autolisting,  in which case the scroll box will be  filled
as soon as you enter the person selector without waiting for you to press
List.  This is convenient for small trees but could slow down  operations
where there are many people in the tree.  Select Set preferences from the
Preferences  menu and click on the Auto list selection box to  select  or
deselect this.

You  may  also select the re-use of the family name,  so  that  when  you
enter  the person selector the family name is already initialised to  the
last  used  name.  Select Set preferences from the Preferences  menu  and
click on the Re-use family name  box to select or deselect this.

You  may enter multiple forenames in the person selector and only  people
whose  names match all those entered will be listed.  If you  only  enter
one forename then anyone with that name first will be listed.
You may include numbers in forenames, e.g. "Mary(1)" or "Jane(2)", where
more than one child had the same name. If you enter "Mary" in the person
selector all Mary's will be listed,  but "Mary(1)" will only list  those
with a "(1)" after their name.

The logic for this allows any character to be used, not just numbers and
brackets.  If  the  name entered in the person  selector  only  includes
letters then the matching will ignore other characters.  If it  includes
other  characters then full matching will occur.  For this  purpose  "'"
and  "-"  are treated as letters.

The only characters which cannot be used are "*" and "?",  because  these
are used as wildcards.  The question mark matches any one character,  and
the  asterisk  matches  zero or more  arbritary  charcters.  For  example
"a*d?" will match all names that start with an "a",  then have any number
of other letters, and end in "d" then some other character.

Selecting  someone highlights them and their reference number appears  in
the reference field of the form.  Clicking on OK or pressing return exits
the  person selector with that person selected.  As a short cut  you  can
also double click on someone,  as in the file selector, to exit with them
selected.

Normally,  if the names,  dates and place of birth do not uniquely define
a person,  and you have not selected a person,  clicking on OK will cause
an  error  message,  and then list the  matching  people.  However,  when
printing  people or a partial index,  see chapter 8,  it will  cause  all
matching people to be printed.

4.5.1  Dates

There  are two fields for date of birth,  before and after.  If you  only
enter one of these des then the list will also include people whose  date
of birth is not recorded.

If  only  one date is entered then people with no date of birth  will  be
included in the list as well as those whose date meets the requirements.

4.5.2  Place of birth

For the place of birth, the text entered is split into separate words, up
to  a  maximum of four words.  The words can be separated  by  spaces  or
commas.  Only  people  are listed whose place of birth includes  all  the
words entered,  but the order of words does not matter.  The case of  the
letters is ignored.  For example,  if you enter `epsom hospital' you will
list  people  born  in  `Surrey,   Epsom  District  Hospital',  `District
hospital, Epsom' and so on, but not people simply born in `Epsom'.

Unlike names and date of birth, the place of birth is not kept in memory.
This means that the information will have to be loaded off disc.  If  you
use this field only every person will be loaded off disc,  which may take
a long time.  If you enter data into any of the other fields this will be
checked first to avoid unnecesary disc accesses.

4.5.3  Flags

If  you  click  on the Flags button you will be  presented  with  a  form
containing  the eight flag lines of text.  For each flag you  can  select
Yes, No or Ignore. If you select Yes or No only those people who have the
corresponding  flags  set accordingly will be listed.  As  flag  data  is
stored  with the index it will not slow down listing.  Therefore  if  you
will  often wish to select only people born in a particular place  it  is
better to use a flag to mark them as born in that place.

Each  time  you  use the Person selector the flags  will  all  have  been
initialised to Ignore.

4.5.4  Extra information

If there is more than  one person with the same  name it can be difficult
to  decide which  to select. If you  click  on  the Details  button  when
someone  is highlighted  a form  will appear  giving  more information on
them. The baptism and death dates, occupation and the mother and father's
names can be seen as well as all the information displayed in the  person
selector normally.

Clicking  on OK will select the person, clicking  on Reselect will return
you to the person selector to choose someone else.

Chapter 5 : Editing People - changes and relationships

In  order  to edit data for a person already in the tree  click  on  Edit
Person in the Display menu,  or press Alt-E.  You will then be  presented
with  the Person Selector,  see section 4.4.  Having selected the  person
you will then be presented with the Person Entry form complete with  your
previous entries.

5.1  Moving around

On the Person Entry form are fields for the spouse and the  parents,  and
scrolling  lists  of  children and siblings - note  that  this  does  not
include  half-siblings.  You  may go and look at these people  by  double
clicking on the appropriate field.  Single clicking on the spouse  brings
up  the  marriage  for editing,  whereas double clicking  brings  up  the
spouse's person form.

If the birth, baptism, death, or further notes windows are open, they
will be updated to show the person you change to. On a large screen, you
can leave them all open to show all the information at once.

5.1.1  The job list

If you select Edit Person from the menu again when you are in the  middle
of  editing someone it lets you look at them,  and/or edit them,  but  it
remembers where you were and will return when you click on OK or  Cancel.
It does not do this if you move about by double clicking,  only when  you
use the menu.

The  program  stores  a list of people you are editing,  so  you  can  go
through a series of people in this way, and come back through them, but
the number of people you can go down through, though high, is finite,

Closing the window clears the list, providing a short cut out if you have
selected  many  peole from the menu.  This is the only way  in  which  it
differs from clicking on OK.

5.2  Editing Marriages

The  arrows  either  side of the wedding date select  which  marriage  is
displayed if there are several.  Where the marriages are dated they  will
be  sorted so that clicking on the right arrow moves to later  marriages,
the  left arrow to earlier ones.  There will always be a blank  space  if
you continue going right,  this is for adding a new marriage. The list of
children  is changed when you do this,  since it only shows the  children
from a particular marriage.

5.2.1  Deleting marriages

There  is  a  Delete  button on the  marriage  form,  which  deletes  the
marriage,  that  is,  it  makes  the program forget  about  the  marriage
details.  All  children  must  be  removed from  the  marriage  first  by
clicking on them and selecting OK.

It does not free the reference number,  so if you do this a lot you  will
have a lot of unused,  unusable gaps.  These will slow it down  slightly,
but  it  is  storing of strings such as names and places  which  take  up
space so deleted couples do not make the files significantly larger.
5.3  Deleting people

People can also be deleted.  On the person entry form is a Delete button.
Clicking  on this will bring up an alert box asking if you are  sure  you
want  to delete the person.  You cannot delete people who are related  to
others,  so  remove them from their parents list of children  and  remove
any  marriages  they  have  first.  This should not  be  too  much  of  a
restriction  since  normally people to be deleted are  those  entered  by
mistake.

The comments about deleting couples above apply here also:  the reference
number is not freed,  but it still does not use too much disc storage  to
have  deleted people in the tree.  It is possible to re-use a  number  by
selecting  Edit  person and entering the number in the  Reference  number
field, but normally the potential confusion would make this unwise.

Chapter 6 : Tree Display - Ancestors

If  you click on Tree on the Display menu you will be presented with  the
Person Selector.  When you select a person a window will open to  display
that  person  on the left with a number of generations of  their  parents
spreading  out across the page.  Each person will be  displayed  complete
with their dates of birth and death.  The number of generations displayed
depends on the window size and the font size.

6.1  Editing a person on a tree

If  you  wish to edit any person on the tree double click on  their  name
and you will be presented with the main Person Entry form for  them.  The
tree window will remain open.

6.2  Moving around the tree

In  order to move back through further generations you may click  on  any
person  in the tree.  They will then move to the left side of the  window
with  their ancestors spread out across the window.  You may repeat  this
indefinitely until you run out of ancestors.

6.2.1  Back arrows

Once you click on anyone in the tree,  other than the original person,  a
set of <<< will appear at the bottom left of the window.  If you click on
this  you will move back a generation,  i.e.  forward in  time.  You  may
repeat this until you get back to the original person,  when the <<< will
disappear.

6.3  Tree text size

You  may select one of three sizes of system font for the display of  the
tree.  The larger fonts are easier to read, especially if you are using a
television  as a monitor,  but the smaller fonts will normally  allow  an
extra generation,  depending on the window size.  To alter the size  used
select  Set  preferences from the Preferences menu.  Then  click  on  the
required size. Select OK to exit.

If  you are displaying a tree it will be redrawn at the  new  size.  This
option also affects descendants.

6.4  Extended forenames

The program normally fetches people's names from the index,  and  limits
them to 32 characters. If you wish to include complete names, select Set
preferences  from  the Preferences menu and click on the  tick  box  for
Longer names.

6.5  Copy to clipboard

Selecting  Copy  from  the Edit menu will copy the  tree  to  the  system
clipboard for pasting into other programs. It is saved as a bitmap and as
a metafile.
Chapter 7 : Displaying Descendants

If  you  click on Descendants in the Display menu you will  be  presented
with  the Person Selector.  When you select a person a window  will  open
showing  that  person  at the top and their  descendants  below  them  as
follows.

Each spouse of the person selected is printed slightly indented with an
equals  sign3  to indicate a marriage,  and their children  are  printed
beneath  them,  indented  and  with lines drawn to  show  how  they  are
related.  Underneath each child are the child's spouses and children and
so  on.  This sounds confusing,  so the best way to find out what it  is
like is to try using it!

If  there  are too many people to fit in the window it can  be  scrolled
vertically in the usual way.  The number of generations will be  limited
to a number that will fit on the screen horizontally.

7.1  Editing a person in the descendants list

If  you wish to edit any person in the descendants list double click  on
their  name  and you will be presented with the main Person  Entry  form
for them. The descendants window will remain open.

7.2  Text size

You may select one of three sizes of system font for the display of  the
descendants.  The larger fonts are easier to read, especially if you are
using  a  television as a monitor,  but smaller fonts  will  allow  more
people to be shown.  To alter the size used select Set preferences  from
the  Preferences menu.  Then click on the required size.  Select  OK  to
exit.

If you are displaying a tree or descendants they will be redrawn at  the
new size.

7.3  Including date of death

Each person is listed with their date of birth,  if known.  If you  wish
the program will also append their date of death.  To select or deselect
this  option  select Set preferences from  the  Preferences  menu,  then
click  on  the tick box for Descendant's  death date.  Including  the
death  date  will reduce the number of generations that  can  be  fitted
within the width of the screen.

7.4  Extended forenames

The program normally fetches people's names from the index,  and  limits
them to 32 characters. If you wish to include complete names, select Set
preferences  from  the Preferences menu and click on the  tick  box  for
Longer names.

7.5  Copy to clipboard

Selecting  Copy  from  the Edit menu will copy the  descendants  to  the
system  clipboard  for pasting into other programs.  It is  saved  as  a
bitmap and as a metafile.

Chapter 8 : Printing People - a crash-proof record

A  printed  output is easier to carry around in the field,  and  can  be
sent  to  anyone who is interested in your tree but lacks  an  Atari  on
which to view it at its best.

As  a  programming exercise the display of the complete  family  tree  on
half  an acre of paper has a lot to recommend it.  However,  with only  a
standard  printer  on  which to output there is a limit to  what  can  be
done.  The  display of ancestors has the advantage that nobody  has  more
than two parents,  whereas some people have dozens of children.  You  may
therefore  print  out as many ancestors as will fit on a  sheet  of  your
paper,  up  to a limit of six generations.  Descendants are printed in  a
fairly uninteresting way.  An index of people can be printed in a totally
uninteresting way.

8.1  People

Click on Person from the Print menu or press Ctrl-P. If you are editing a
person  they will be printed,  otherwise the person selector will  appear
for  you to select someone.  However,  this is used slightly  differently
from  normal.  If you click on OK when you have not selected  anyone,  it
will  print  all those which fit the specifications you have  entered  at
the top of the form.  An alert box will appear to give you the chance  to
change  your  mind,  since pressing OK could otherwise mean a  very  long
wait as it printed hundreds of people!

For each person,  their name and reference number are printed in the  top
right of the sheet of paper.  Below this is all the information about the
person,  including  information about each marriage in turn.  It is  laid
out so that it is obvious which things are related to each  other,  shown
by the indentation.

For example, Died appears at the left of the page with the date of death.
Other details of the death are then indented,  Place of death,  Source of
information and Will. Details of the will are further indented below it.


Died                          6Mar2050
     Place of Death           Not yet known
     Source of information    The Delphic Oracle
     Will                     6Mar2000
          Witness             Bill Bloggs
          Witness             And his mate
          Executor            John Major
          Executor            Neil Kinnock
          Solicitor           Stephen Fortescue
          Beneficiaries       The world


All the names of people are listed as forenames and surname,  followed by
the  reference number.  The forenames are limited to a maximum of  twenty
characters.

8.1.1  Siblings

After  the Mother and Father are the siblings,  the word  Siblings  being
printed  indented.  As on the Person Entry form,  this does  not  include
half siblings.

8.1.2  Spouses

For each spouse there is first the name,  then all wedding information is
printed   indented.   The  divorce  date  is  printed  and  all   divorce
information underneath this, further indented.

Children also are listed under each spouse for which there are any.  This
makes it easy to see from which marriage any children come.

8.1.3  Further Notes

At  the  bottom of the page are the further notes.  They are  printed  to
almost the full width (there is a margin of roughly an inch using  GDOS),
and  are word wrapped.  On GDOS printers they  are  justified,  otherwise
they are ragged right.

8.2  Index

You  can  also print a simple list of people with their  name,  date  of
birth  and reference number.  This lets you quickly see who you have  in
your database. To do this, you select Index from the Print menu or press
Alt-I.  An alert box appears asking whether you want a complete index or
just a selection.

8.2.1  Printing a selection

If  Selection  is  pressed  from the  alert  box,  the  person  selector
appears.  You can select a person and click on OK as normal,  but  there
is  little  point in printing a list of one person!  If OK  is  selected
without  selecting anyone,  all those people included by the filters  at
the  top will be included in the index,  in a similar way  to  selecting
multiple  people to print.  Probably the most common use for printing  a
selection  of the database is to print only one family,  by setting  the
surname field.  You might also wish to print a list of people for whom a
particular flag was set.

If  you leave the filters blank,  thereby selecting  everyone,  you  can
print a complete index sorted in alphabetical order instead of reference
number order.

8.3  Trees of ascendants

The program will display a tree showing all a person's  ascendants.  The
person  is printed at the middle left of the page,  with  their  parents
above  and  below them and further right,  and their parents  above  and
below  each  of them and even further right.  This is the  same  as  the
screen display.

The  number  of  generations displayed depends on the  page  length  set
for your printer and,  with GDOS,  on the font size selected.  Note that
height  is normally the main restriction on the number  of  generations;
the  width is considered when calculating the indentation to use.  If  a
very narrow page or,  with GDOS,  a very wide font,  is used, it will be
squashed up and look unattractive.

To  print a tree,  Tree on the Print menu should be selected,  or  press
Alt-T.  If you are currently viewing someone's tree in the top window on
screen,  it will start printing a tree with them as the root.  Otherwise
the person selector appears for you to select the person to be the  root
of the tree.

8.4  Descendants

As well as printing the ascendants,  descendants can be printed. This is
not  a  proper tree,  since the potentially huge number  of  descendants
makes  such  a  tree difficult to program and of little  use  on  normal
printers.  Instead, it prints it like the `tree' display of many desktop
like programs for PC clones.  This is the same as displaying descendants
on the screen.

To  print a tree,  select Descendants on the Print menu or press  Alt-D.
If you are currently viewing someone's descendants in the top window  on
screen,  it will start printing their descendants.  Otherwise the person
selector  appears for you to select the person whose descendants are  to
be printed.

Chapter 9 : Printer Configuration - dot matrix, GDOS or file

Use  the  mouse to drop down the Print menu.  Select Configure  and  you
will be presented with a form to  complete.  Alternatively you may press
Shift-Ctrl-P.

First  select the type of output device you are using.  The options  are
Standard printer,  GDOS printer or File output.  A `standard' printer is
a  printer which accepts ASCII and prints it out with a monospaced  type
style.  Proportional fonts would spoil the formatting which is done with
spaces, but not disastrously. Graphics modes are not used.

The  GDOS printer can be any output device for which you have  installed
a  GDOS  driver,  including a metafile for  incorporation  into  another
program  which  can handle .GEM metafiles4.  Typically  it  will  produce
better looking printouts but will take longer.

File output simply sends the output to a file,  and is like the Standard
printer  output  except  that  it has no  page  length  and  has  person
separators rather than page feeds.

9.1  Standard printer

The  top left area of the form contains three tick boxes to  select  the
printer  output  to  be used.  Use the mouse to click  on  the  Standard
printer  box.  The  box will be ticked and the other  two  cleared.  The
Standard  printer options in the top right area of the form will now  be
enabled,  those  below for GDOS and File output will be greyed  out  and
disabled.

9.1.1  Pause between pages

If  the Pause between pages tick box is ticked the program will stop  at
the  end  of a page and put up an alert box.  It will  not  continue  to
output until you OK the alert box.  This will allow you to put in a  new
sheet of paper.  Clicking on the tick box with the mouse will toggle the
function on and off.

9.1.2  Page size

You  can  specify the number of characters per line and  the  number  of
lines  per page by editing the numbers on the form.  They  are  standard
Atari  GEM strings expecting numeric entry.  If the characters per  line
value  exceeds the width of your printer the data formatting  will  come
out wrong as some text is right justified.

9.1.3  Printer strings

You can set up the data sent to the printer at the start of a print  and
between pages.  You will need your printer manual to tell you what  data
to  send.  The defaults are nothing for Initialisation and 0C  for  Form
feed,  which  should work for most printers.  Likely uses are  character
width and type style in the initialisation.  For form feed using  single
sheet  you might like to send a bell character to the printer  when  you
get to the end of the page so that you know when to change the paper.

The  strings will normally consist of a sequence of hexadecimal  numbers
in  the  range 0 to FF,  separated by commas or  spaces.  You  can  also
include  an  ASCII string,  enclosed by "s,  which will be sent  to  the
printer. For example, if you set the Initialisation string to:-

D,1B,4D"((F))0"

the  printer will be sent 0D,  the ASCII code for  carriage  return,  to
ensure that the print starts from the left margin.  It will then receive
1B  followed by 4D which sets elite pitch on a Star LC10.  It will  then
receive  the  ASCII  string `((F))0' which is a  way  of  selecting  the
Courier font on a Star LC10.

9.2  GDOS printer

If  you  select GDOS printer in the top left area you  can  then  select
Page size,  Pause between pages on and off as for the Standard  printer,
the device number and the fonts used for your printouts.

9.2.1  Device number

This defaults to 21 which is the number normally used for a printer.  If
you have installed any other options when installing GDOS you can  enter
the  numbers  here.  If  you  set the number  to  the  metafile  device,
normally 31,  output will be to a .GEM metafile and you will be prompted
for  a file name when you print out anything.  For more information  see
Appendix A, GDOS.

9.2.2  Page size

The  page  size  is set in millimetres.  It defaults to  0mm  width  and
height.  If you leave it at zero size the size used will be the  maximum
allowed  with  your  printer  driver.  In many  cases  this  will  prove
satisfactory and you need not set a value.
If the printout is larger than the paper you are using,  or you wish  to
restrict  the  size for any other reason,  enter the size of  the  print
area.  Typically you would make this less than the actual paper size  to
allow for margins.
If  you are outputting to a metafile the default size  is  approximately
A4.

9.2.3  Font selection

Printing of trees,  indexes and descendants is all done using the Normal
Font,  printing  a person uses the Title Font for their name.  Click  on
Normal  Font and you will be presented with the Font selector where  you
can  choose  any of the installed fonts at sizes up  to  18  point.  For
Title font you can go up to 36 point.

9.3  The font selector

The font selector has two scrolling lists, one for the typeface and one
for the sizes, and buttons for effects such as underlined.

9.3.1  Typefaces

All available GDOS fonts are listed,  sorted by index number. The system
font is not listed,  since it is not available on the printer or on  any
device except the screen.  The list contains all other screen fonts  and
assumes  that the matching printer font is installed.  This list can  be
scrolled,  in the normal way that windows and  file selectors etc. work,
if you have more fonts than will fit normally.

9.3.2  Sizes

This  lists  all available sizes of the selected typeface5,  up  to  the
maximum size allowed,  which is 18 point for the normal font or 36 point
for titles.  Note that GEM will double fonts making them twice the  size
but  blockier  looking,  and  it is impossible to  tell  from  the  font
selector which sizes are real sizes and which are generated by GEM.

You can also enter a size directly,  this is for use with  \[SpeedoGDOS]
to select a size other than those normally available.

If  a different typeface is selected,  the size list is updated to  show
the  sizes  available  in that typeface,  and if  the  current  size  is
available it will be highlighted.

9.3.3  Font effects

The  buttons  at  the  bottom of the font selector  switch  on  and  off
effects such as underlining.

Thicken   is a sort of bold, made by widening vertical strokes.

Skew      is  for slanted  text.  This is not a  true  italic,  although
          many other GEM programs call it italic.  It slants the text at
          an  angle of 27.5 If you need true italic you have to  get  a
          separate font for it.

Outline   and
Shadow    generally  do  not  look very nice and are  useless  for  most
          things,  but  GEM  allows you to do this so  the  options  are
          available if you want them.

9.4  File print

If  you  select File print there are only two  parameters  to  set.  The
number  of  characters per line would normally be chosen to  allow  easy
viewing on a screen or correspond to the number on the printer on  which
you  ultimately intend to output this file.  The Separator string  takes
the  place of Form feed for a Standard printer and is used  to  separate
pages  within  the  file.  It might be used for  a  number  of  carriage
returns  or  linefeeds.  The options are the same as  for  the  Standard
printer  strings  above  so  you are able to  embed  control  codes  and
include printable strings.

Chapter 10 : Set preferences - Configuring Family Tree

Certain options can be set from the preferences dialogue box.  (Most  of
these are described in more detail elsewhere in the manual).  Drop  down
the Preferences menu and select Set preferences and the form appears.

10.1  Save time interval

This  is the amount of time,  in minutes,  between you making the  first
change  and  the alert box popping up asking whether you would  like  to
save. This is covered in more detail in chapter 3.

10.2  Person selector options

Click on tick box to select or deselect Autolist.  When  selected,  each
time the person selector is used it will list all the people in the tree
without  your  having  to click on list.  This  would  normally  be  the
preferred option,  but with a very large tree the time taken to do  this
may become a nuisance. It would be quicker to limit the number of people
listed by preselecting a name, date or flags.

Click on tick box to select or deselect Reuse name.  When selected  this
will  cause  the person selector to be initialised with  the  last  used
family name.

10.3  Longer names

Click on the tick box to select full names in the display of descendants
and  trees.  When  this is not selected the names are restricted  to  32
characters. In some situations this may be slower because the full names
are not stored in the index.

10.3  Descendant's death date

Click on the tick box to select or deselect this option.  When  selected
the death date will be appended after the date of birth when  displaying
or  printing  descendants.  This will reduce the number  of  generations
which  can  be fitted in within a given width,  so is most  useful  when
using small fonts or wide paper.  In some situations this may be  slower
because the death date is not stored in the index.

10.4  Text size

These determine the size of text used for screen display.  They are  not
used for printing, where the font selector lets you change the size. The
size used for further notes can be set independently,  the tree  display
and descendants display share a common setting.
The  three  sizes available are Tiny which is the six by six  font  used
under  icons on the desktop,  Small,  the eight by eight  font  normally
used  in  medium  resolution,  and Normal,  the eight  by  sixteen  font
normally used in higher resolutions.

10.5  Index sizes

By  default a tree can be up to 1000 people.  This can be  increased  if
necessary.  It can be decreased,  but the memory saved is fairly  small.
Changes to this do not take effect until you reload the tree - you  must
save preferences first, see below.

10.6  Maximum number of people blocks/couple blocks

Only change this if you are short of memory, or have memory to spare and
wish  to speed up operations.  Family Tree will only load data from  the
disc  as it needs it.  However,  it will then keep that data  in  memory
ready for future use.  As a result Family Tree will progressively use up
more of the computer's memory.  If you are running MultiTOS you may need
to  restrict the amount of memory which Family Tree takes.  The  program
will take a minimum of two blocks for people and two for data.  You  can
determine  the approximate amount of memory used for storing people  and
couple  data  by multiplying the block size in bytes by  the  number  of
blocks.

10.7  Block sizes

These  are described in more detail in Appendix B.  These determine  the
amount  of data,  in bytes,  that can be stored on each person  or  each
marriage, and in most cases can be left alone.

10.8  Edit buffer size

The text editor used for further notes uses a buffer to store the  notes
in,  of  the size set up here.  It only gets the memory from the  system
when  you  start  editing  or looking at  the  notes,  and  releases  it
afterwards. You cannot change the size when it is in use.

The notes are only stored in the edit buffer when you are editing  them,
the  rest  of the time they are stored in the people  block  along  with
other  information on the people.  If you find you need to increase  the
edit buffer size,  you may find the person block size needs changing  as
well.  It  is  probably better to use a word processor if  you  need  to
write a lot,  and write a reminder of where it is in Further notes.

10.9  Saving preferences

Selecting  Save from the Set preferences form,  or the Save  Preferences
menu item (on the Preferences menu) saves the preferences to disc.

They  are  saved in the same folder as your data,  and  will  be  loaded
whenever that tree is loaded.  This means that you can ensure the  block
sizes  are  sufficiently  large  for a  particular  tree  without  being
unnecessarily large for any other tree you may have.

Chapter 11 : Flags - Custom fields

The  program  allows eight user definable flags.  These can be  used  to
record personal details that are not otherwise covered,  and can be used
for person selection.

Select  Name flags from the preferences menu and you will  be  presented
with  a dialogue box.  There are eight editable lines of text  in  which
you  can  enter  your own name for the  flags,  e.g.  "Born  abroad"  or
"Direct ascendant".  You can also select for each flag whether you  want
the  information  to be printed out with other details  when  you  print
person.

The  dialogue box is the same one as is used when editing flags  in  the
person form and setting flag conditions in the person selector.  This is
the  only place where the text strings can be altered.  If you wish  the
flag  information to be printed with other person data click on the  Yes
button adjacent to the text string,  otherwise No.  If enabled the  text
string you have entered will be printed with Yes or No beside it.
Chapter 12 : Merging Trees - Import and Export

Sometimes  you  will  want to merge part of  someone  else's  tree  into
yours.  For example if there are two people tracing the same family, one
may  discover and enter information on a branch of the family  that  the
other has no information on.  Entering all this information again  could
take ages and may allow errors to slip in.

Family  Tree  allows  you to merge these two trees.  It is  a  two  step
process.  First you export the people you are interested in, then import
them into the other tree.  Direct relationships between exported  people
are kept intact,  but not those between exported people and  others.  It
is  therefore a good idea to export as many people as possible at  once,
to save adding too many relationships later.

12.1  Exporting

Select Export under the File menu. A dialogue box appears with a list of
all the people in the tree.  Clicking on one of these puts a tick by the
name, clicking on them again removes the tick. When all the people to be
exported  are ticked,  click on the OK button.  A file selector  appears
where  you  can  choose the name and path for  the  transfer  path.  The
default is a:\transfer.gen, but it remembers the last one used.

12.1.1  Select all

Clicking  on Select all obviously selects everyone.  Similarly  Deselect
all deselects everyone.

12.1.2  Filter

Clicking on filter brings up a filter which resembles that at the top of
the  person  selector and works in a similar way.  When the  fields  are
filled in correctly, click on Select to select everyone that matches the
filter,  or  Deselect all to deselect everyone that matches the  filter.
This is probably most useful for surnames,  or to select everyone before
a certain date.

12.1.3  Include ascendants/descendants

Selecting  the Include descendants button and then clicking  on  someone
will select them, their spouse and all direct descendants.

Similarly,  selecting the Include ancestors button and then clicking  on
someone will select them and all direct ancestors.

If  both  buttons  are selected,  Family tree  does  not,  as  might  be
expected,  include  direct  ancestors and direct  descendants.  It  will
select  direct  ancestors  and all of their  descendants  that  are  not
descendants of the selected person.  This sounds complicated,  but it is
what  people  normally mean when they talk about someone's `side  of  the
family' and can be useful.

12.2  Importing

Select Import from the File menu allows you to read the data  previously
written by the export option.  A file selector appears for you to select
the  file  to import.  This remembers the last file used for  import  or
export and this comes up as the default.

12.2.1  Flags

Because  flags  are  customisable they may not be the same  in  the  two
trees.  When  data is imported,  for each of the flags used  within  the
imported data you will be offered the choice of using an existing  flag,
keeping  the name in your tree,  or creating a new one,  using the  name
from the imported data.

Appendix A : GDOS

GDOS  (Graphical  Device Operating System) is a part  of  the  operating
system that Atari left out of the ROMs.  It manages fonts and  graphical
output devices.

To  draw a circle on a screen requires a completely different  procedure
from  drawing one on the printer.  Plotters are  different  again.  This
makes  things difficult for the programmer,  but using GDOS the  program
just  asks the operating system to draw a circle,  and a circle  appears
whatever device the output is on.

For  the  user the main advantage is that if you get a  new  printer  or
plotter,  all  you need is a GDOS device driver to use it with all  your
programs.  The Apple Mac works like this, PC clones work like this using
Windows,  and so should the Atari.  Unfortunately,  a lot of programs do
not use GDOS, making it less useful than it could be.

A.1  Obtaining GDOS

Unfortunately  GDOS  is not freely distributable.  It is  supplied  with
most  commercial GDOS applications,  but we cannot supply it since  this
program  is  PD.   If  you  have  Timeworks  DTP,  Word  Up,  Hyperdraw,
Wordflair or any other program which uses GDOS for output,  you can  use
it exactly as supplied.  Otherwise,  the ST Club can supply,  for 2.95,
GDOS  with  the  standard  fonts and a driver  for  either  9 pin  Epson
compatible printers or 24 pin ones - specify which when you order.

Hisoft  now  sell SpeedoGDOS.  If you have SpeedoGDOS,  you  get  vector
fonts,  and  all the hassles of installation described in this  appendix
disappear  instantly!  It doesn't work with some GDOS programs,  but  it
works with Family Tree and is excellent. It does require at least 1Mb of
memory, 2Mb or more is better.

If you have SpeedoGDOS you may get alert boxes telling you that there is
no memory for scratch buffer for effects.  These do not appear to matter
if you are not using effects for the fonts.

A.2  Installing GDOS

If  you have a GDOS based program working on your  computer,  all  other
GDOS  programs,  such  as Family Tree, should work properly  without  any
further  installation.  If you use a hard disc there is nothing else  to
do,  otherwise you will have to copy certain files off the disc you  use
for your other GDOS application.

In  the auto folder of either your hard disc or the floppy disc you  use
for  Family  tree  should be the program gdos.prg.  There  should  be  a
folder  on this disc,  normally called gemsys  or  gdos.sys,  containing
drivers  for your printer (eg.  fx80.sys) and the  metafile  (meta.sys),
and a collection of fonts for each device.

A.2.1  Fonts

GDOS  requires  separate  fonts  for each  device,  so  you  would  need
different fonts for screen and printer for example,  although they would
normally correspond.

The  device for which fonts are intended is normally determined  by  the
last two letters of the filename,  although some programs use  different
naming  systems  for the fonts - they do not matter,  it just  makes  it
easier to identify fonts.  Nothing is used for monochrome screen,  CG is
used  for medium resolution screen,  EP for Epson 9 pin printer  and  MF
for the metafile device. Other letters will be used for other devices.

A.2.2  The assign.sys file

This  is  the  worst  thing  about  using  GDOS.   Although  there   are
installation  programs  to  do this for  you,  the  standard  Atari  one
does not seem to work very well,  so we edit our assign.sys file using a
word  processor.  Of course,  if you already use a GDOS program you  can
use the supplied one without any problems.

The  first  line  shows where the fonts  and  drivers  are  stored,  for
example  ours  is ` path = c:\gdos.sys\ '.  Next,  the first  device  is
listed,  followed  by all the fonts for it,  then this is  repeated  for
each other device. For example


4p screen.sys

atss10.fnt
atss12.fnt
cent10.fnt

21 fx80.sys

atss10ep.fnt
atss12ep.fnt
cent10ep.fnt

31 meta.sys

atss10mf.fnt
atss12mf.fnt
cent10mf.fnt


A.2.3  Devices

As you can see in the extract above,  each device is  numbered.  Devices
1p,  2p and 4p should be screen.sys and use the monochrome fonts, device
3p  should  also  be screen.sys but this is for  medium  resolution  and
should  use  medium  resolution  fonts.   Note  that  you  do  not  need
screen.sys on the disc as it is built in to the computer.

Apart  from  that it does not matter.  Family tree does  not  mind  what
numbers  are  used for other devices such  as  printers,  although  some
applications  do,  so  be  careful if you use other  programs  with  it.
Normally printers start at 21,  with other printers as 22,  23  etc.  if
you have several installed. Number 31 is often used for the Metafile.

A.3  Alternatives to GDOS

There are several alternatives to the standard GDOS available.  They are
mostly faster (GDOS is notoriously slow) or better in some other way.

A.3.1  AMC GDOS

The  main  advantage  of  this  is that it  is  PD,  so  can  be  freely
distributed.   It  works  correctly  with  Motorola  format6  fonts  but
otherwise is fairly similar.

A.3.2  G+Plus

This is a commercial replacement for GDOS from Codehead Software,  which
is  faster  and allows you to use different assign.sys  files  for  each
application. The disadvantage is that it costs thirty pounds.

A.3.3  FontGDOS

This is an official Atari version.  It is faster than the standard  GDOS
and is a bit easier to set up, with a CPX supplied.

A.3.4  FSM GDOS

This  was an official Atari replacement for GDOS which would  have  used
vector  fonts,   and  been  easier  to  set  up  using  CPXs.   It   was
unfortunately  very  slow  and buggy,  and has been  superseded  by  the
excellent SpeedoGDOS

A.3.5  SpeedoGDOS

SpeedoGDOS is a replacement for GDOS which uses Bitstream Speedo  vector
fonts.  It is very easy to install and set up. It is programmed by Atari
and Bitstream, and documented and distributed in the UK by Hisoft.

Appendix B : How the data is stored

B.1  Blocks

As  the family tree gets larger the total amount of  information  stored
can soon exceed the memory capacity of the computer,  particularly on  a
520ST with a number of desk accessories loaded.  The way GEN.PRG handles
the problem is to store the data in blocks of memory.

Each  Person Block contains the data for ten people,  each Couple  Block
contains  the  data for ten couples or marriages.  When you  start  your
tree  and  create the first person the program gets a  block  of  memory
from  the  computer  operating system.  The first nine  people  will  be
stored  in  this block,  and will have reference numbers 1  to  9.  This
block  is  a  special case having only  nine  people,  the  person  with
reference number 0 does not exist.  When you create the tenth person the
program  will  get another block from the operating  system  for  people
reference  10 to 19.  This will continue until the operating  system  is
unable  to  supply  more memory or the user defined  maximum  number  of
blocks  in memory is reached.  At this point the program will store  one
of  the  blocks away to disc and re-use the block for another  group  of
ten people.

Similarly,  when editing or displaying people, if the information is not
already  in  memory GEN.PRG will load data from  disc,  creating  a  new
block if it can or re-using an old one otherwise.

Couple blocks are created and used in the same way.

When  running MultiTOS you may find that Family Tree has taken  up  more
memory than you currently wish it to.  If you select Release memory from
the File menu the program will return all but two people and two  couple
blocks to the operating system for use by other programs.

If  you store large amounts of data on individual people you may  get  a
warning  message to say that your block has overflowed.  The  data  will
not have been lost,  but you should immediately save to disc or you risk
overflowing  the overflow memory area.  This may also occur if you do  a
large  number of edits on the same block of people as the block  can  be
very  inefficiently used in this case.  If this happens  frequently  you
need to increase the block sizes.

B.2  Index data

In  order  to  make listing of people and use  of  the  person  selector
faster  there is an index stored continuously in memory  which  contains
people's  names,  where  the list of forenames and the family  name  are
each  limited to 20 characters,  together with their dates of birth  and
death and flags.

If  you  enter a large number of people you may run out  of  space.  You
will  be  warned when this is about to happen and  should  increase  the
Index Size.

B.3  Changing block sizes

The  block sizes are defaulted to 10000 bytes for  People  Blocks,  2000
bytes  for  Couple  blocks.  This will normally be enough  for  all  the
standard  information  about  the  people and  a  reasonable  amount  of
Further  Notes.  However,  if  you wish to store  more  information  per
person you may change the block size.  You must do this before you start
editing your tree.  Click on Set Preferences in the Preferences menu. In
the normal manner change the People block size.  If you click on OK this
will take immediate effect.  If you click on SAVE this information  will
be saved in a file GEN.INF in your tree directory.   When you next  load
the tree the value will be loaded in for you.  Similarly you may  change
the Couple block size,  but as there is no scope for extensive notes you
are  unlikely to ever need to do this.  If you are very short of  memory
and  do  not have a large amount of data on individual  people  you  may
reduce the block sizes.

B.4  Changing Index Size

This is changed as for Block Sizes above. The memory savings by
reducing the index size are fairly small, the default size of 1000 only
taking about 40 Kbytes.

Appendix C : File Format

The  files are either stored with the program or the tree to which  they
apply.  If you run the program from a floppy disc which is removed  from
the  drive once the program is loaded, those files which are stored  with
the  program  will not be saved.  You can explicitly  save  the  printer
configuration  data  if you insert the program floppy when you  wish  to
save it.

The data in the files is all in a standard format,  and can normally  be
read  with  any simple word processor.  If you use  long  paragraphs  in
Further  Notes the line length may be too long for First Word  Plus  and
some  other  word  processors.  Each  parameter is  stored  as  a  three
character  mnemonic followed by an ascii string.  The string may be  the
text  as it appears on the screen or a conversion of a  numerical  value
such as reference number or date.

C.1  Person files

Each  person file contains one block,  so there should be ten people  in
them,  except  for  the last one.  They are named P0000000.GEN  for  the
first   file,   P0000010.GEN   for  the   second,   then   P0000020.GEN,
P0000030.GEN etc.

The mnemonics and strings are interpreted as follows.


ref1234                  reference number, 1234
                         all following lines refer to that person  until
                         next ref string
famBaker                 family name, Baker
forIan Kenneth           forenames, Ian Kenneth
sexm                     sex: m male, f female, ? undefined
bid998502                birth date, 6Mar1950
                         998502 = 6 + 32*3 + 512*1950
bipEpsom, Surrey         birth place
bisBirth certificate     source of birth information
occlabourer              occupation
bad                      baptism date
bapEpsom                 baptism place
bas                      source of baptism information
ded                      death date
dep                      death place
bcp                      burial place
bcd                      burial date
dwd                      will date
dw1Peter Piper           first will witness, Peter Piper
dw2                      second will witness
ex1                      first will executor
ex2                      second will executor
sol                      solicitor for will
benTom, Dick and Harry   beneficiaries\
be2                      further beneficiaries
be3                      further beneficiaries
des                      source of death information
notAnything you want     first paragraph of further notes
extand a bit more        second and subsequent paragraphs
flg67                    flag information, see below
par1234                  parents' couple reference
cou1234,5678,4321        marriage references
end                      end of this person's data

For each flag there is an associated number,  0 for not set,  1 for  Yes
and 2 for No.  The flag information is stored as a number consisting  of
flag1  plus 4 x flag2 plus 16 x flag3 and so on in increasing powers  of
4.

C.2  Couple files

Each  couple  file contains one couple block,  so there  should  be  ten
people  in  them except for the last one.  They are  named  C0000000.GEN
etc, in a similar way to the people block files.


ref1234                  reference number, 1234
                         all following lines refer to that couple  until
                         next ref string
mal1234                  male reference
fem5678                  female reference
wed                      wedding date
wep                      wedding place
wes                      source of wedding information
ww1                      first wedding witness
ww2                      second wedding witness
did                      divorce date
dis                      source of divorce information
chi1234,5678             children's references
end                      end of this couple's data


C.3  Person index files

This file,  called P_INDEX.GEN is used to store the index - see Appendix
B.  The  first line of the file is `People index  for  Gen.prg,  Version
X.xx'

The mnemonics and strings are interpreted as follows.


ref1234                  reference number, 1234
                         all following lines refer to that person  until
                         next ref string
fam                      family name
for                      forenames
bid                      birth date
flg                      flag information, see person files above

C.4  Couple index files

This is called C_INDEX.GEN.  The first line of the file is `Couple index
for Gen.prg, Version X.xx'

The mnemonics and strings are interpreted as follows.


ref1234                  reference number, 1234
mal                      male reference
fem                      female reference
wed                      wedding date


C.5  Preference file

This stores the information set in the preferences dialogue box.  It  is
stored with the data and is called GEN.INF

pbs                      people block size
cbs                      couple block size
pbm                      maximum number of people blocks
cbm                      maximum number of couple blocks
ebs                      edit buffer size
pxs                      max people in index
cxs                      max couples in index
auly                     autolist yes
rufn                     re-use family name no
ftny                     use longer names
iddy                     include descendant's death date
sti                      save time interval
fnt                      tree text size
nft                      notes text size

C.6  Printer configuration file

This  stores  all information set in the printer configuration  box  and
the  fonts  set for GDOS printer output.  It is saved with  the  program
when  you click on save from the configure printer dialogue box.  It  is
called CONF.INF.


prn                      printer type
                              0    Standard
                              1    GDOS
                              2    To file
prl                      lines per page on standard printer
prc                      characters per line on standard printer
prpy                     page pause yes on standard printer
prpn                     page pause no on standard printer
prz1B,31"((F))1"         initialisation string on standard printer
prf                      form feed string on standard printer
fpc80                    characters per line for File output
fpf0D,0D                 page separator for File output
prd21                    GDOS device number
prw                      GDOS page width in millimetres
prh                      GDOS page height in millimetres
sfi3                     normal GDOS font index
sfs12                    normal GDOS font size
sfe5                     normal GDOS font effects
tfi3                     title GDOS font index
tfs24                    title GDOS font size
tfe3                     title GDOS font effects
gppy                     page pause yes for GDOS
gppn                     page pause no for GDOS

C.7  Customisation

Program   customisation  data  for  a  particular  tree  is  stored   in
GENCUST.INF.
The Flags strings and whether to print them are stored here.

fl1Direct ascendants     flag string
fl2                      flag string
fl3                      flag string
fl4                      flag string
fl5                      flag string
fl6                      flag string
fl7                      flag string
fl8                      flag string
flp17                    flag print settings

The flag print settings number indicates which flags should be  printed.
For each flag there is a number assigned, 1 for Flag 1, 4 for Flag 2, 16
for Flag 3 and so on in powers of 4.  The settings number is the sum  of
the numbers associated with the flags to be printed.  For example, 17 is
the sum of 1 and 16, indicating that Flags 1 and 3 should be printed.

C.8  Program Configuration

This  file stores the last used data directory and the default file  for
import  and  export.  It  is  stored with  the  program.  It  is  called
GEN_DEF.INF.

pthC:\MYTREE.GEN              default data directory
trfC:\TEMP\TRANSFER.GEN       default file for import and export

Appendix D : Changes for version 2.10

The  following are new or revised features since version 1.00.  They  do
not  include  bug  fixes.  They  are described in  more  detail  in  the
appropriate parts of the manual.

Data  entered under an earlier version of the program can be  used  with
any  later version.  If you use an old version of the program with  data
created  with a newer one then any data not recognised will be  ignored,
e.g. version 1.00 will ignore the occupation information. This will only
become a problem if the data is then saved,  as it will be saved without
the new infomation.

D.1  Changes made in or before version 1.32

Keyboard  shortcuts have been added for a number of  menu  items.  These
will be enabled when the corresponding menu items are enabled.  They are
activated  by  holding  down  the  Alternate  key  whilst  pressing  the
appropriate letter.  Also,  when editing a person's information,  if the
sex  has  not  been set Alt M can be used to set  male,  Alt  F  to  set
female. They cannot be used to alter the sex once set.

Previously  you were advised to set the sex of a person before  clicking
on  spouse in order to create a couple.  The program will no longer  let
you  create  a  couple if the sex is not set,  instead you  will  get  a
message telling you to set the sex.

The  program will now handle couples correctly where the  other  partner
is  not  known.   Previously  these  could  be  created  but  not   then
edited.

The  person  form  now includes an extra space in  which  to  enter  the
person's  occupation.  The  form  has  also  been  re-arranged  but  the
functions of the various fields remain unchanged.

The  death form now includes a space for place of burial  or  cremation.
There are also two extra spaces for beneficiaries of the will.

The  index will now include up to 20 letters for a  person's  forenames.

If  the date is entered with no day and the month set to "ccc" the  year
will be displayed and printed with a preceding c, e.g. c1950.

If  before  and after dates are specified in the  person  selector  then
people without a date of birth will be excluded from the list.

The  program  allows eight user definable flags.  These can be  used  to
record personal details that are not otherwise covered,  and can be used
for person selection.

The printer configuration now includes GDOS page size.

D.2  Changes for version 2.0

Person form,  couple form and all their subforms such as  birth,  death,
etc,  in movable windows.  The subforms may be left open and will update
when  a  different  person is displayed in  the  person  selector.  Tree
display is now in a movable,  resizable window,  and can be on screen at
the same time as the person form.

Descendants display added in a movable, resizable, scrollable window.

Release memory added to file menu to allow return of all but two  people
and  two couple blocks to system memory.  Maximum number of  people  and
couple  blocks  to  be  in memory at once  can  be  set  in  preferences
dialogue  box.  These  are  so  other  applications  can  be  run  in  a
multitasking system.

Save as added to file menu.

Wild cards allowed in name fields of person selector.

Burial cremation date added to death form.

Option added to always list people on entering person selector.  Another
option  added  to keep the family name from the last use of  the  person
selector.

Person,   tree  and  descendant  person  will  automatically  print  for
displayed person if corresponding window is on top.

Export/import added.

Support for system clipboard added, with block marking in further notes.
Also copy from tree and descendants as metafile and bitmap.

Text size can be set to the 8*16 font as well as the  8*8 and 6*6  fonts
previously available.

The text size for further notes can be set independently.

Descendants death date can now be printed.

Arbitrary point sizes can be set under SpeedoGDOS.

D.3 Changes since 2.00

Longer names available for trees and descendants.

Windows can be iconified under MultiTOS

All dialogues are now application modal. This means that desk
accessories and (under MultiTOS) other applications can be used, but
other @{"Family Tree" ignore} windows cannot be.

There is a sample of the current font in the font selector.

There is a preview option in the person selector so you can make sure
it is the correct person.

On-line help is included

Appendix E - Distribution

If you find this program useful and are interested in any updates  which
may  occur  please write to let us know.  Do not send  any  registration
fee.  If enough people ask for any particular feature we will attempt to
incorporate  it  and send copies to those people who asked  for  it.  At
that  point  we would be grateful for a refund of the postage  plus  the
cost  of,  or  a replacement for,  the floppy disc.  We would  like  any
comments and constructive criticism of the program.  In  particular,  if
anyone  translates  the  resource  file  or  this  manual  into  another
language we would like a copy.

Our  thanks  are  due  to those people  who  reported  bugs  in  earlier
versions  of the program,  and our apologies to those people  who  spent
time  re-entering  data  because they thought that they  must  be  doing
something  wrong.  If you have a repeatable problem please let us  know,
including as much information as possible,  and preferably a copy of the
data which gives the problem.

So  long  as it is distributed complete and  unaltered  (translation  is
allowed),  you  may give this to other people - in fact  please  do,  we
want  it  to  be spread around.  Public domain  libraries  and  bulletin
boards may charge their normal amounts for it.

E.1  This manual

This  manual  has been written for TeX output.  If you are  reading  the
version  with all the TeX commands removed,  are unable to  print  using
TeX,  and  would like a copy of the fully formatted  manual,  write  and
ask.  If  we are able to send it to you we would appreciate a refund  of
postage plus the cost of copying.  We would also recommend TeX to you if
you  want to get the best results out of your printer and  are  prepared
to  buy  the  TeX  book and learn what  is  almost  another  programming
language.  The  program itself is available in the public domain  but  a
knowledge of German helps.

If you  want to translate this manual please do, but send  us a copy. If
you want to translate the help file please write and ask for an editable
version and the compiler.

E.2  The resource file

We  have tried to put as much as possible in the resource file,  so  the
program  can be translated by anyone using a resource  editor,  such  as
WERCS  from HiSoft.  If you want to edit it to translate it or for  some
other reason,  please do, although be careful because it is very easy to
stop it working.  Anything which changes the order of trees in the file,
the  order  of objects in each tree or the tree structure will  make  it
misbehave,  and changing the length of an editable string will  probably
crash the program.


                                                        Ian & Mark Baker
                                                          256 Lower Road
                                                           Great Bookham
                                                        Surrey  KT23 4DL
                                                                 England

                                             mark.baker@mettav.exnet.com
                          (fidonet 2:254/108.17  turbonet 100:1011/0.17)
