Article History
42% kleeder
vic20 (format)

Commodore VIC 20


Point Type:
File Types:
Max Filesize:
Music made for the Commodore VIC 20.
Submission should be able to play back on real hardware (or in an emulator)!
  1. Tools
  2. Restrictions on submit
  3. Playback (for voting)
  4. See also
The Commodore VIC-20 was an 8-bit home computer first released in 1980. The "Video Interface Chip" (MOS Technology 6560/6561) was responsible for both the audio and visual graphics of the machine. On the audio side, the VIC chip had 3 square wave channels and 1 white noise channel and a global volume control. Each square wave had a range of 3 octaves, but were tuned an octave apart from each other. This gives the chip a five octave range total.



A web based crossplatform tracker designed to target the unexpanded VIC20. Very simple interface. 128 patterns of 16 rows with a max song length of 128 patterns. Little to no effects, but there are programmable singular groove and volume loops.
try it here
video tutorial


A Python script made by cce that takes a FastTracker-compatible module and converts it to the .prg file to be used on the real VIC20 or its' emulator. The module and the executable, however, sound different to each other pitch-, speed- and tone-wise, so use it with caution.

MOD2VIC can be downloaded here
The package includes the conversion scripts, a template module and the win2c64-assembler.
The source can be downloaded here
A 16k-variant can be downloaded here

Important notes:
- All patterns are exported, even those not appearing in the order list.
- The imported module must contain 4 channels. (CHN 1 :: low pulse (alto); CHN 2 :: medium pulse (tenor); CHN 3 :: high pulse (soprano); CHN 4 :: noise (lion growl!))
- Instrument values are ignored by the exporter.
- You *cannot* use an effect command and a note on the same row.
- 0EC :: note cut; CXX :: set global (not channel!) volume; FXX :: set speed, valid values 0-1F
- If you run out of RAM (more than 10 patterns of music or so) the song data will be written over VRAM. This is OK but you need to disable all screen operations by setting `--draw_graphics 0`.
- The available note range for each of the channels is C4 through B6. Notes outside of the range will simply wrap to the minimum/maximum values.

VIC-Tracker 2.0

The classic way of doing things. A real tracker running on real hardware (or in an emulator), made by Daniel Kahlin. Slightly unnerving because it does not use note names, and because it also requires you to know most of the hotkeys to get going.

VIC-Tracker 2.0 can be downloaded here
. And also a mod of this with note names and larger resolution can be downloaded here

Changes from the original version:
- 25x28 tiles screen size instead of usual 22x23. Enough to display 16 pattern rows at a time.
- Notes in pattern editor are now displayed in note names instead of its hex values.
- Holds are displayed in continuous blocks instead of ++ and tie notes are displayed inverted.
- New color palette

VIC Duzz It

Another tracker that runs on the actual machine, made by Glenn Rune Gallefoss. More complicated than VIC-Tracker, but also more advanced. Unlike VIC-Tracker, it requires full memory expansion.

Restrictions on submit

Make sure to tell in the description if your track uses Expanded VIC20-RAM.

Playback (for voting)

is a VIC20-Emulator and able to play prg-files.

Playback Notes
After downloading VICE, use xvic.exe for playback. Load a song with File>Smart attach (current version) or simply F12>Autostart image. You may need to configure machine settings (under preferences or in the settings by hitting F12) to VIC20 NTSC/PAL to playback correctly, and also expand RAM as necessary to 16k to play larger files.

PRG files from Baby-K songs may be unplayable in current versions of VICE (tested in 3.6). If you want to playback a song written in Baby-K, use VICE 3.1 (tested).

See also

VIC 20
Vic Tracker
VIC Duzz It can be downloaded here

Battle Formats