Working version

All functionality except for audio tones.  Very crude but meets basic
requirements.