c64cast

Appendix A

Quick Reference

A place to look things up once you know what you are looking for.

Asking c64cast What It Can Do#

These commands need no hardware, no configuration file and no network. They answer from c64cast's own definitions, so they are always current for the version you have installed.

CommandAnswers
--list-scenesEvery kind of scene, with a one-line description
--list-overlaysEvery overlay, and which modes it works on
--list-modesEvery display mode
--describe NAMEEverything about one scene, overlay, section or mode
--compatThe overlay against display-mode matrix
--print-schemaThe configuration schema, as JSON
--suggest-palette FILEThe C64 colors that best represent an image
--list-devicesCameras and audio devices this computer can see

--describe takes a bare name when it is unambiguous, and a prefixed one when it is not:

c64cast --describe clock
c64cast --describe scene:video
c64cast --describe section:color
c64cast --describe mode:mhires

The Options You Will Actually Use#

c64cast -h prints every option, grouped. The ones worth remembering:

OptionDoes
--config PATHUse a specific configuration file
-u TARGETChoose the hardware and where to find it
-s NTSC or -s PALSet the machine's timing
-d INDEX, -d NAME, -d VID:PIDChoose the webcam
-D INDEX, -D NAMEChoose the audio input
--no-audioMute
--loop / --no-loopRepeat the playlist, or stop after one pass
--doctorCheck everything and report
--skip-probeRun checks without touching the Commodore
--initBuild a configuration interactively
--save-settingsRemember this run's connection and devices
--dump-char-romRe-read the character ROM from the Commodore
--install-char-rom PATHUse a character ROM dump you already have
-v / -vvMore logging, then a great deal more
--log-file PATHAlso write the log to a file

Naming Devices Instead of Counting Them#

-d and -D both take more than a bare index. Device numbers are a poor thing to rely on — they shuffle when you plug something in — so prefer to name the device instead. Both options match on any part of the device's name, case-insensitively, and -d will additionally take a USB VID:PID when two devices share a name.

Start by asking what is attached:

c64cast --list-devices

Then use enough of the name to be unambiguous:

c64cast -d "HD Webcam" -D "Scarlett" clip.mp4

Name matching for cameras needs the camera extra, and for audio the mic extra; the [all] install in Chapter 1 has already provided both.

Best of all, do it once:

c64cast -d "HD Webcam" -D "Scarlett" --save-settings

Now every future run picks the right devices by itself, and you can stop passing either option at all.

Where Settings Come From#

When the same setting is given in more than one place, the later one wins:

  1. c64cast's built-in defaults.
  2. Your machine settings, from --save-settings.
  3. The configuration file.
  4. Options typed on the command line.
  5. The C64CAST_DMA_PASSWORD environment variable, for the password only.

Where Files Live#

WhatWhere
Machine settings~/.config/c64cast/settings.toml
Saved data, calibrations, presets~/.local/share/c64cast/
The configuration c64cast finds by itself./c64cast.toml

Both locations follow the usual conventions for your operating system, and both can be redirected with an environment variable. --doctor prints the paths it actually resolved, which is the quickest way to settle any doubt.

The Configuration Sections#

SectionGoverns
[hardware]Which backend, and the machine's timing
[ultimate64]The C64U's address and password
[teensyrom]The TeensyROM's transport and port
[video]Camera selection and default display mode
[audio]Audio on or off, backend, sample rate
[dsp]Signal shaping before audio reaches the Commodore
[color]Dithering, palette, color matching
[interstitial]The card shown between scenes
[playlist]Looping, and video interleaving
[preview]The local mirror window
[recording]Recording to a video file
[control]The web control service
[midi_control]Live control from a MIDI device
[menu]The on-screen menu on the Commodore
[vision]Hand-gesture control
[wled]The LED bridge
[[scenes]]One per scene, in playing order
[[scenes.overlays]]One per overlay, within a scene
[ensemble]Several Commodores driven together

Run --describe section:NAME for the full contents of any of them.