1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-23 04:30:10 +00:00
cc65/samples
2022-01-30 12:49:02 +01:00
..
atari2600 move samples that only work for a specific target into subdirs named the same as the target 2021-10-23 01:18:17 +02:00
cbm move samples that only work for a specific target into subdirs named the same as the target 2021-10-23 01:18:17 +02:00
disasm some more $(RM) vs $(DEL) fixing 2020-10-15 19:34:40 +02:00
geos give the "samples" target something to do to supress the "nothing to be done for 'samples'" message 2021-05-16 23:38:17 +02:00
supervision move samples that only work for a specific target into subdirs named the same as the target 2021-10-23 01:18:17 +02:00
tutorial fix for atari5200 2022-01-30 12:49:02 +01:00
ascii.c Added hint on how to quit program. 2016-06-12 23:48:19 +02:00
diodemo.c Make use of doesclrscrafterexit(). 2016-06-18 23:57:17 +02:00
enumdevdir.c fix last change and use stdbool.h 2021-06-10 20:08:58 +02:00
gunzip65.c Make use of doesclrscrafterexit(). 2016-06-18 23:57:17 +02:00
hello.c atari5200: implement bgcolor() and textcolor() 2019-04-12 12:49:38 +02:00
Makefile fix for atari5200 2022-01-30 12:49:02 +01:00
mandelbrot.c Adjusted to recent change in time.h 2020-10-25 21:33:08 +01:00
mousedemo.c Add testcode/lib/mouse-test.c. Rename samples/mousetest.c to mousedemo.c. 2017-02-13 22:48:34 +01:00
multidemo.c Made the overlay demo programs compile for CBM targets again. 2016-06-19 17:41:18 -04:00
overlaydemo.c Made the overlay demo programs compile for CBM targets again. 2016-06-19 17:41:18 -04:00
readme.txt Wrong platform 2022-01-22 01:04:08 +01:00
sieve.c Added missing parentheses. 2015-10-17 12:09:06 -04:00
tgidemo.c Added a 160x192x2 TGI (graphics) driver to the VIC-20 library. 2020-07-08 05:55:30 -04:00

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, then consider installing Cygwin
    or MSys2.

  * The makefile specifies the C64 as the default target system because most
    of the programs run on that 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 environment variable. For example:

    make SYS=apple2

  * Use "make disk" to build a disk image with all sample programs.

  * All programs in the root of the "samples" directory have been written to
    be portable and work on more than one target. Programs that are specific
    to a certain target live in a subdirectory with the name of the target.

List of supplied sample programs:

-----------------------------------------------------------------------------
Name:           ascii
Description:    Shows the ASCII (or ATASCII, PETSCII) codes of typed
                characters. Written and contributed by Greg King
                <greg.king5@verizon.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 currently does compile for only 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 Commodore machines, the Commander X16,
                and the Apple ][).

-----------------------------------------------------------------------------
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 ][, Commodore machines, and the Commander X16).

-----------------------------------------------------------------------------
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, Commodore machines, Commander X16,
                Creativision, Gamate, NES.

-----------------------------------------------------------------------------
Name:           mandelbrot
Description:    A mandelbrot demo using integer arithmetic. The demo was
                written by groepaz, and converted to cc65 using TGI graphics
                by Stefan Haubenthal.
Platforms:      Runs on all platforms that have TGI support:
                Apple ][, Atari, C64, C128, Oric Atmos and Telestrat, GEOS,
                and NES.

-----------------------------------------------------------------------------
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:           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:           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, Commodore machines (VIC-20 needs memory expansion),
                Commander X16, 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 ][, Atari, C64, C128, Oric Atmos and Telestrat, GEOS,
                NES, and Lynx.

=============================================================================

Platform specific samples follow:

atari 2600:
-----------

Name:           hello
Description:    A "Hello world" type program.
Platforms:      Runs on only the Atari 2600 Video Console System.
-----------------------------------------------------------------------------

cbm:
----

Name:           fire
Description:    Another graphics demo written by groepaz.
Platforms:      C64, C128, CBM510

-----------------------------------------------------------------------------
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:           plasma
Description:    A fancy graphics demo written by groepaz.
Platforms:      The program needs a VIC-II or a TED, so it runs on the following
                systems:
                C64, C128, CBM510, Plus/4.
-----------------------------------------------------------------------------


supervision:
------------

Name:           hello
Description:    A "Hello world" type program.
Platforms:      Runs on only the Watara Supervision game console.
----------------------------------------------------------------------------