
This directory contains sample programs for the cc65 compiler.

Below is a short description for each of the programs together with a list of
the supported platforms.

Please note:

  * The supplied makefile needs GNU make. It works out of the box on Linux
    and similar systems. If you're using Windows, consider installing Cygwin.

  * The makefile specifies the C64 as the default target system, because all
    but one of the programs run on this platform. When compiling for another
    system, you will have to change the line that specifies the target system
    at the top of the makefile, specify the system with SYS=<target> on the
    make command line or set a SYS env var.


List of supplied sample programs:

-----------------------------------------------------------------------------
Name:           ascii
Description:    Shows the ASCII (or ATASCII, PETSCII) codes of typed
                characters. Written and contributed by Greg King
                <gngking@erols.com>.
Platforms:      All platforms with conio or stdio (compile time configurable).

-----------------------------------------------------------------------------
Name:           diodemo
Description:    A disc copy program written and contributed by Oliver
                Schmidt, <ol.sc@web.de>. Supports single or dual disc copy.
Platforms:      The program does depend on conio and dio (direct disk i/o),
                so it does currently compile for the Atari and Apple ][
                machines.

-----------------------------------------------------------------------------
Name:           enumdevdir
Description:    Enumerates all devices, directories and files. Written and
                contributed by Oliver Schmidt, <ol.sc@web.de>.
Platforms:      All systems with device enumeration and directory access
                (currently the C64, the C128 and the Apple ][).

-----------------------------------------------------------------------------
Name:           fire
Description:    Another graphics demo written by groepaz/hitmen.
Platforms:      The program is currently only running on the C64, but should
                be portable to the C128 and CBM510 (and maybe more machines).

-----------------------------------------------------------------------------
Name:           gunzip65
Description:    A gunzip utility for 6502 based machines written by Piotr
                Fusik <fox@scene.pl>.
Platforms:      Runs on all platforms with file I/O (currently the Atari, the
                Apple ][ and most Commodore machines).

-----------------------------------------------------------------------------
Name:           hello
Description:    A nice "Hello world" type program that uses the conio
                console I/O library for output.
Platforms:      Runs on all platforms that support conio, which means:
                Apple ][, Atari, C16, C64, C128, CBM510, CBM610, PET, Plus/4

-----------------------------------------------------------------------------
Name:           mandelbrot
Description:    A mandelbrot demo using integer arithmetic. The demo was
                written by groepaz/hitmen and converted to cc65 using TGI
                graphics by Stephan Haubenthal.
Platforms:      Runs on all platforms that have TGI support:
                Apple ][, C64, C128, Oric Atmos, Geos and Lynx.

-----------------------------------------------------------------------------
Name:           mousedemo
Description:    Shows how to use the mouse.
Platforms:      All systems with mouse and conio support:
                C64, C128, CBM510, Atari, Apple ][

-----------------------------------------------------------------------------
Name:           multidemo
Description:    Shows how to combine multiple cc65 features incl. overlays
                and extended memory drivers. Written and contributed by
                Oliver Schmidt, <ol.sc@web.de>.
Platforms:      All systems with an overlay linker config, disk directory
                access and EMD support (currently the C64, the C128,
                the Atari and the Apple ][).

-----------------------------------------------------------------------------
Name:           nachtm
Description:    Plays "Eine kleine Nachtmusik" by Wolfgang Amadeus Mozart
Platforms:      All systems that have the Commodore SID (Sound Interface
                Device):
                C64, C128, CBM510, CBM610

-----------------------------------------------------------------------------
Name:           overlaydemo
Description:    Shows how to load overlay files from disk. Written and
                contributed by Oliver Schmidt, <ol.sc@web.de>.
Platforms:      All systems with an overlay linker config (currently the C64,
                the C128, the Atari and the Apple ][).

-----------------------------------------------------------------------------
Name:           plasma
Description:    A fancy graphics demo written by groepaz/hitmen.
Platforms:      The program needs a VIC, or a TED, so it runs on the following
                systems:
                C64, C128, CBM510, Plus/4

-----------------------------------------------------------------------------
Name:           sieve
Description:    Implements the "Sieve of Eratosthenes" as a way to find all
                prime numbers in a specific number interval. Often used as
                a benchmark program.
Platforms:      All systems with conio and clock support:
                Atari, C16, C64, C128, CBM510, CBM610, PET, Plus/4,
                Apple ][ (without timing due to missing clock support)

-----------------------------------------------------------------------------
Name:           tgidemo
Description:    Shows some of the graphics capabilities of the "tiny graphics
                interface".
Platforms:      Runs on all platforms that have TGI support:
                Apple ][, C64, C128, Oric Atmos, Geos and Lynx.
