
              __________
             /         /\           __            _____
            /     ____/  \         /  \          /\    \
           /     /___ \   \    ___/    \___    _/__\    \____
          /         /\ \  /   /            \  /\             \
         /         /  \_\/   /              \/  \             \
        /     ____/    \    /____        ____\   \____      ___\
       /     /____\___ /    \   /        \   /   /   /\     \  /
      /              /\      \_/          \_/\  /   /  \     \/
     /              /  \      /____________\  \/___/    \_____\
    /______________/    \     \            /       \    /     /
    \              \    /      \          /         \  /     /
     \              \  /        \________/           \/_____/
      \______________\/

                                         Source Code Release 1.03

INTRODUCTION
------------

Welcome to the E++ source code release.  Thank you for your interest
in helping to develop E++.  I hope that you will enjoy working on it
as much as I have.

Feel free to tinker with the code as much as you want, but I ask you
to respect the terms layed down in the license.txt file.  If you feel
you want to contribute, then drop me a note explaining what you want 
to do, so we don't end up with duplicated effort.

You should probably get the binary distribution also, since it contains
a few file which are needed to run certain emulations.


DOCUMENTATION
-------------

There is some documentation in the Docs/ directory.  It is not yet
complete, but should be quite useful nontheless.  I hope to get this
finished quite soon.

There are sparse comments in the code.  I will add more as time goes
on, as I identify the more complex issues for people to understand.

There are also some source code templates in the Temps/ directory.
You can use these as a base for adding new machines.


SOURCE NOTES
------------

A few notes on aspects of the source code:

- The CPUs are a bit messy, since they were quick wrap-ups of Marat's
  C-based emu's.  When I have time, I'll make them nicer.  There are
  no problems with them, they just don't look good.

- main.cc and epp.cc are the least-finished files.  They work fine,
  but I will be adding a front end and dip-switch settings to Epp in
  the near future.  If you add any games, be sure to let me know about
  settings which it has.

- The host/ directory contains the DOS implementation of the machine
  specific library.  These are the only files which must be changed
  to port the emulator.  If you want to attempt a port, contact me
  and I can let you have better specifications for the operation of
  these classes.  I am very interested in ports to Windows, Linux,
  X11, Macintosh and Amiga.

- There may still be a few rough edges - I'm particularly bad at
  remembering to a) Virtualise my destructors and b) Write any
  destructors at all.  I should have plugged the leaks, but please
  let me know where I haven't.


BUILDING
--------

Just type "make".  It should work - the Makefile is machine generated,
though, and is a bit unreadable.

You can get Allegro and SEAL off the net.  Allegro is a game programming
library, and SEAL is an audio library.  They are easy to find using a
search engine - I'll try to find the URLs and put them in the docs.


FEEDBACK
--------

Like the program itself, I want a lot of feedback on the source.  If you
can see a better way to do things, then PLEASE tell me.  I'll not get
hurt or offended if you think it's crap, as long as you offer constructive
alternatives to my way of doing things.

But, basically, if you play with it, enjoy it, and, perhaps, get some use
out of it, I'll be happy.