

************
Introduction
************

Welcome to the Calypsi C compiler tool chain for the 6502. This guide provides reference
information to help you optimize your use of the compiler toolchain
suite. It also offers coding technique suggestions and insights into
design and implementation choices made for this C compiler.

Using this guide
================

This guide is aimed for those programming the 6502 and provides in
depth reference information on how to use the the Calypsi C compiler tool chain.

You should have a working knowledge of:

* The 6502 architecture
* The C programming language
* The operating system of your computer
* The text editor or IDE of your choice

Copyright notice
================

Copyright Håkan Thörngren.

This document is under copyright and may not be reproduced without the
written consent from Håkan Thörngren.

The Calypsi C compiler tool chain is licensed and must be used according to its terms.

The C library runtime is based on NuttX, which is under the Apache
license. The license can be found in ``"Licenses/C Library License"``
within the installation directory. Assembly-written runtime parts are
covered by the the Calypsi C compiler tool chain license, imposing no royalties or obligations
when used with this product.

The Calypsi C compiler tool chain internally uses several open source components.
Their licenses are in the ``"Licenses/Internal component licenses/"``
directory within the installation directory. These licenses do not
impose obligations on any application built with the Calypsi C compiler tool chain.

The 64-bit floating-point library routines are
implemented using the Berkeley SoftFloat library. Its license is found
in ``Licenses/Berkeley SoftFloat License`` in the installation
directory. This license applies only when using the ``long double``
type or the ``--64bit-doubles`` command-line option. It carries the
obligation to include its copyright and license with any product that
uses the Berkeley SoftFloat library.

.. note::

   The runtime library does *not* contain any GPL licensed code and
   does  not impose any royalty. Some components as outlined
   above do carry some obligations, e.g. to mention that they are
   included in a final product.

Disclaimer
==========

What is described in this document is subject to change without notice
and does not represent any commitments. While what is described in
this document is believed to be accurate, Håkan Thörngren takes no
responsibility for any errors or omissions.

In no event shall Håkan Thörngren, its employees, its contractors, or the
authors of this document be liable for special, direct, indirect, or
consequential damage, losses, costs, charges, claims, demands, claim
for lost profits, fees, or expenses of any nature or kind.
