Recreating my final year project from 1990 (originally written in ThinkPascal)