<preface>
  <title>Preface</title>

  <para>
    The Ophis project started on a lark back in 2001.  My graduate
    studies required me to learn Perl and Python, and I'd been playing
    around with Commodore 64 emulators in my spare time, so I decided
    to learn both languages by writing a simple cross-assembler for
    the 6502 chip the C-64 used in both.
  </para>

  <para>
    The Perl version was quickly abandoned, but the Python one slowly
    grew in scope and power over the years, and by 2005 was a very
    powerful, flexible macro assembler that saw more use than I'd
    expect.  In 2007 I finally got around to implementing the last few
    features I really wanted and polishing it up for general release.
  </para>

  <para>
    Part of that process has been formatting the various little
    tutorials and references I'd created into a single, unified
    document&mdash;the one you are now reading.
  </para>

  <section>
    <title>Why <quote>Ophis</quote>?</title>
    <para>
      It's actually a kind of a horrific pun.  See, I was using Python
      at the time, and one of the things I had been hoping to do with
      the assembler was to produce working Apple II
      programs.  <quote>Ophis</quote> is Greek
      for <quote>snake</quote>, and a number of traditions also use it
      as the actual <emphasis>name</emphasis> of the serpent in the
      Garden of Eden.  So, Pythons, snakes, and stories involving
      really old Apples all combined to name the assembler.
    </para>
  </section>

  <section>
    <title>Getting a copy of Ophis</title>
    <para>
      If you're reading this as part of the Ophis install, you clearly
      already have it.  If not, as of this writing the homepage for
      the Ophis assembler
      is <ulink url="http://hkn.eecs.berkeley.edu/~mcmartin/ophis/"></ulink>. If
      this is out-of-date, a Web search on <quote>Ophis 6502
      assembler</quote> (without the quotation marks) should yield its
      page.
    </para>
    <para>
      Ophis is written entirely in Python and packaged using the
      distutils.  The default installation script on Unix and Mac OS X
      systems should put the files where they need to go.  If you are
      running it locally, you will need to install
      the <literal>Ophis</literal> package somewhere in your Python
      package path, and then put the <command>ophis</command> script
      somewhere in your path.
    </para>
    <para>
      Windows users that have Python installed can use the same source
      distributions that the other operating systems
      use; <command>ophis.bat</command> will arrange the environment
      variables accordingly and invoke the main script.
    </para>
    <para>
      If you are on Windows and do not have Python installed, a
      prepackaged system made with <command>py2exe</command> is also
      available.  The default Windows installer will use this.  In
      this case, all you need to do is
      have <command>ophis.exe</command> in your path.
    </para>
  </section>
</preface>
