biermanncarl / cx16-concerto

Concerto is a music making software for the Commander X16.
BSD 2-Clause "Simplified" License
5 stars 0 forks source link

Welcome to CONCERTO

CONCERTO is a synthesizer engine for the Commander X16. It is designed to be included in other applications. It comes with or without a user interface for editing sounds.

In this document, you will find a quick start guide, and a brief explanation of the structure of the source code.

Under construction

The description in this readme is still correct, and the described functionality works. However, I am progressively adding functionality needed for a complete music making software, hence you may find more stuff in this repo than is needed for the synth engine itself.

How to run CONCERTO in the emulator

The recommended way of starting the emulator for using CONCERTO is:

x16emu -prg CONCERTO.PRG -run -abufs 16

However, you can load and run concerto from inside the emulator as with most .PRG files. The abufs option is recommended to reduce audio dropouts. If audio dropouts persist, increase the number.

How to build CONCERTO from source

CONCERTO is built using the ca65 assembler. It can be built using the CC65 command

cl65 -t cx16 -o CONCERTO.PRG -C cx16-asm.cfg -u __EXEHDR__ "example_full.asm"

Quick start guide

If you have used synthesizers already, most of CONCERTO will be familiar to you. In order for you to be able to feel right at home, there are some things you should know, because they may at first be irritating to experienced synth users.

How to include Concerto into your own application

Currently, only projects written with CC65 assembler can use Concerto.

The easiest way to get started with Concerto is to look at the example files provided along with the source code. Here is a quick summary what needs to be done. More information on the usage of those routines can be found in the source files synth_engine/concerto_synth.asm and gui/gui_zeropage.asm, respectively.

Synth engine:

Graphical user interface:

Player module: