Comparison of C64 Music Editors

by Jens-Christian Huus    
Mistakes? Comments?
Let's talk in the blog post.

 
 
 

 
Package
Platform
PAL / NTSC
Source Code
Documentation
Example tunes
Proprietary file format
Features
Number of SID chips
Channels visible
Speeds
Digi / Samples
Auxiliary support
Import from
Save/Export to
Packer
Relocator
Load/Save sounds
Instruments / Sounds
Sub tunes
Player
Noteworthy
Size of player
Zero page usage
CPU time (1x)
Arpeggio
Set in instrument
Set with command
Pulsating
Program table
Set in instrument
Set with command
Other methods
Filtering
Program table
Set in instrument
Set with command
Other methods
Vibrato
Set in instrument
Set with command
Hard restart
First frame waveform
Gate off timer
ADSR
Editor
Track system
Patterns / Sequences
Follow-play
Copy and Paste
Undo
Track commands
Transpose
Repeat
Loop / Stop
Volume
Tempo
Column: Note
Example Row
Note input layout
Gating
Legato / Tie note
Additional effects ++
Column: Instr / FX / SP
Example Row
Instrument / Sound
Additional effects ++
Column: Command
Example Row
Pointer to wave table
Pointer to pulse table
Pointer to filter table
Pointer to chord/arp table
Specify slide
Specify portamento
Specify vibrato
Specify ADSR
Specify waveform
Specify pulse width
Specify filter type
Specify filter resonance
Specify filter bitmask
Specify filter cutoff
Specify volume
Specify tempo
Specify arpeggio speed
Specify transpose
Specify finetune
Specify delay
Specify hard restart
Additional effects ++
Tables
Instrument table
Names / Descriptions
View multiple at once
Pointer to wave table
Pointer to pulse table
Pointer to filter table
Pointer to chord/arp/freq
Pointer to slide/gliss table
Pointer to ADSR/tremolo
Pointer to vibrato table
Specify ADSR
Specify vibrato
Specify pulse width/sweep
Specify filter type/reson.
Specify filter cutoff/sweep
Specify arpeggio speed
Specify hard restart
Specify octave
Specify finetune
Wave table
Waveform + Gating
Relative + Absolute notes
Delay/Repeat
Loop/Stop
Additional effects ++
Pulse table
Specify pulse width
Duration + Speed
Loop/Stop
Additional effects ++
Filter table
Specify filter type
Specify filter resonance
Specify filter bitmask
Specify filter cutoff
Duration + Speed
Loop/Stop
Additional effects ++
Chord/Arp/Freq table
Intervals (0-3-7) / Notes
Loop/Stop
Additional effects ++
Slide/Glissando table
Amplitude
Delay/Repeat
Loop/Stop
ADSR/Tremolo table
Delay/Repeat
Loop/Stop
Vibrato table
Delay
Loop/Stop
Finetune
Tempo/Swing table
Loop
Volume table
Fading
Additional effects ++
Command table (Pat / Seq)
Name of this table
Names / Descriptions
Pointer to wave table
Pointer to pulse table
Pointer to filter table
Specify ADSR
Specify waveform
Specify vibrato
Specify slide up/down
Specify portamento up/dn
Specify finetune
Specify volume
Specify tempo
Unified table
Name of this table
Names / Descriptions
Relative + Absolute notes
Specify ADSR
Specify waveform + gating
Specify slide up/down
Specify pulse width
Specify pulse sweep
Specify filter type
Specify filter resonance
Specify filter bitmask
Specify filter cutoff
Specify filter sweep
Specify finetune
Delay/Duration
Loop/Stop
GoatTracker 2.73 / 2.74s
2014-07-23 by Cadaver
GoatTracker 2.73
Download:SiteCSDb
CheeseCutter 2.9
2017-04-13 by Abaddon
CheeseCutter 2.9
Download:SiteCSDb
SID-Wizard 1.7
2014-07-12 by Hermit
Sid-Wizard 1.7
Download:SiteCSDb
SID Duzz' It 2.1.7
2014-10-12 by 6R6 + GT
SID Duzz' It 2.1.7
Download:CSDb
Blackbird 1.2
2018-01-19 by Lft
Blackbird 1.2
Download:SiteCSDb
Virtuoso 1.01
2017-05-20 by Hein
Virtuoso 1.01
Download:CSDb
defMON 20171026
2017-10-26 by Frantic
defMON 20171026
Download:SiteCSDb
NinjaTracker 2.04
2013-06-19 by Cadaver
NinjaTracker 2.04
Download:SiteCSDb
JCH Editor 3.04 / NP 20.G4
1991-08-16 by JCH
JCH Editor 3.04 / NP 20.G4
Download:SiteCSDb
Polyanna 1.00
2017-01-28 by Aleksi Eeben
Polyanna 1.00
Download:CSDb
DMC 5.0
1993 by Brian of Graffity
DMC 5.0
Download:CSDb
SidTracker 64 1.0.3
2015 by Daniel Larsson
SidTracker 64 1.0.3
Buy:Apple App Store
DefleMask 0.12.0
2016-06-03 by Delek
DefleMask 0.12.0
Download:SiteCSDb
Package
Platform Windows/Linux/[Mac] + reSID Windows/Linux/[Mac] + reSID Native / C64 emulator Native / C64 emulator Native / C64 emulator Native / C64 emulator Native / C64 emulator Native / C64 emulator Native / C64 emulator Native / C64 emulator, 6581 only Native / C64 emulator iPad (using SID emulation) Windows/Linux/Mac + reSID
PAL / NTSC PAL + NTSC PAL + NTSC (NTSC untested) PAL + NTSC PAL + NTSC (frequency table) PAL PAL PAL (+ NTSC in 20180211) PAL PAL PAL PAL PAL + NTSC by setting ticks per sec PAL + NTSC (can also set hertz)
Source Code Included in archive Available at GitHub Included in archive Only the player source Only the player source Included in archive No Included in archive Included in archive No No No No
Documentation Built-in + Extensive README file Built-in + Web site + Cheat sheet Built-in + Multiple README/PDF Separate download for PDF Built-in + PDF manual Only built-in (loads from floppy) Sparse; a wiki web site Built-in + Various text files Various text files Built-in + short PDF manual See this and this on the internet Built-in tutorial pages Redefine keys + PDF manual
Example tunes 20+ 12+ 14+ Available in older packages 7 (imported) 11 1+ (separate download) 6 3 for NP 20.G4 1 (separate download) No 12 17
Proprietary file format SNG CT SWx SDI BB V1P S64 DMF
Features
Number of SID chips 1SID, or separate 2SID version 1SID, or separate 2SID version 1SID + 2SID + 3SID 1SID 1SID 1SID 1SID + 2SID 1SID 1SID 1SID (3SID in Threesome 1.0) 1SID 1SID 1SID
Channels visible 3 (6 in 2SID version) 3 (6 in 2SID version) 3 4 (Ch4 controls tempo/transp/filter) 3 3 3 3 order lists + 1 pattern 3 6 or 8 3 order lists + 1 sector 3 3 for 6581/8580 sound systems
Speeds 25hz + 1x to 16x 1x to 16x (unstable past 4x) 1x to 8x 1x to 16x (?) 1x 1x to 4x 1x to 8x 1x 1x (to 4x when loading patch) 1x + digi support 1x Set with ticks per second Set with a value for hertz
Digi / Samples No No No Separate version exists No No No No No 4-bit; used for channels 4-6/8 No No No
Auxiliary support HardSID + MIDI in Mac version MIDI MIDI in version 3.0 preview MIDI-, Gameboy-, and DIN-sync MIDI MIDI
Import from MOD MIDI + SNG + XM (Separate tool) GoatTracker instruments
Save/Export to PRG + SID PRG + SID (separate tool) PRG + SID (separate tool) Must use assembler source for PRG PRG + SID (separate tool) PRG PRG PRG (editor can load these back) PRG + SID + AAC SID + VGM + WAV
Packer Built-in Using separate tool Using separate tool Must use assembler source Using separate tool Built-in Built-in Built-in Using separate tool Uncompressed Must use SYS 11776 ($2E00) ? Built-in
Relocator Built-in Using separate tool Using separate tool Must use assembler source Using separate tool Built-in No Built-in Using separate tool No No No No
Load/Save sounds Instruments Instruments Instruments No No Instruments No No No No Instruments No Instruments
Instruments / Sounds 63 48 45 (1SID) 32 (+16 for arpeggios) 48 32 256 sound program rows 127 commands 32 7 for 1SID + 8 for emulated SID 32 32 128
Sub tunes 32 32 6 (1SID) 32 No 15 Yes 16 31 No 8 No No
Player
Noteworthy Can use buffered writing to SID Choice between 5 players Can be adapted with flags Can stream from floppy disk Settings adapted in source code NP 20.G4 in focus here 1SID + 3/5 emulated ch (pulse only) Filter in channel 3 only Macros can take up a lot of RAM
Size of player 400-1600 bytes (modular player) Less than 2300 bytes Less than 2700 bytes (normal) Less than 2400 bytes Less than 1400 bytes Less than 1900 bytes Less than 2100 bytes Approx 1000 bytes Less than 1900 bytes 3500+ bytes (uncompressed) Approx 2000 bytes Less than 2500 bytes From 1-2 KB and beyond 30+ KB
Zero page usage 2; can be user defined or ghosted 2; can be user defined 2; ghosted 2; defined in assembler source 16; can be user defined 2; can be user defined 3 ($96 + $FB-$FC) 2; can be user defined (?) 2 ($FB-$FC) At least 5 ($FB-$FF) At least 2 ($F8-$F9) 8 ($F0-$F7) At least 13 ($1D-$2A)
CPU time (1x) Approx 16-25 rasterlines SD Approx 31-36 rasterlines SD 23-35 lines SD (depends on player) Approx 24-27 rasterlines SD Max 18 rasterlines Approx 32-35 rasterlines (vanilla) Approx 16-20 rasterlines Approx 12-13 rasterlines SD Approx 28-33 rasterlines SD Most of the screen Approx 23-27 rasterlines SD Approx 20-24 lines (29 SD in Ninth) Approx 23-34 rasterlines SD
Arpeggio Wave table with pattern cmds Wave table + Chord table Wave table + Chord table Wave table + Chord table Wv table (relative) + Chord table Wave- and Frequency table Uses sound programs Wave table Wave table with Hi-freq mode 10 bytes for each instrument Wave table with Hi-freq mode Wave table Wave- and Arpeggio macros
Set in instrument Pointer to table Pointer to table + Speed Table attached to instr + Speed Pointer to table Table attached to instrument Pointers to both tables Part of SP rows No Pointer for gate on/off + Speed Table attached to instrument Pointer to table Separate page; up to 16 blocks Both attached to instrument
Set with command Pointer to table No Pointer to table + Speed No Pointer to FX table Pointers to both tables Part of SP rows Uses command table Uses command table No No No Can use Protracker cmd 0XY
Pulsating Programmable Programmable Programmable + Note strength Programmable Programmable Programmable Programmable (sound programs) Programmable Programmable Range sweeping only Programmable Programmable + Range sweeping Programmable + Raw pulse width
Program table Yes Yes Yes Yes Part of wave table Yes Part of SP rows Yes Yes No Yes Up to 16 blocks Macro with drag/draw blocks
Set in instrument Pointer to table Pointer to table, or Fixed (4-bit) Table attached to instrument Pointer to table Wave table attached to instrument Pointer to table Part of SP rows No Pointer to table Range sweeping Pointer to table Range sweeping Macro + Pulse width (0-100)
Set with command Pointer to table Pointer to table Pointer to table + Fixed (8-bit) No No Pointer to table Part of SP rows Uses command table No No No No, but can continue pulse Pulse width + Reset
Other methods Note strength in a unique column Pulse + Multipulse in wave table
Filtering Programmable Programmable Programmable + Note strength Programmable + Control in Ch4 Programmable Programmable Programmable (sound programs) Programmable Programmable Raw sweeping only Programmable (only filter in Ch3) Programmable + Range sweeping Programmable + Raw filter cutoff
Program table Yes Yes Yes Yes Yes Yes Part of SP rows Yes Yes No Yes Up to 16 blocks Macro with drag/draw blocks
Set in instrument Pointer to table Pointer to table Table attached to instrument Pointer to table + Type/Res Can be attached to instrument Pointer to table Part of SP rows No Pointer to table + Type/Res Speed (nibble) + Cutoff (nibble) Pointer to table Range sweeping + Type/Res Macro + Type/Res/Cutoff
Set with command Pointer to table + Bm/Res/Cut Pointer to table Pointer to table + Type/Res/Cut Ch4: Pointer to table + Type No Pointer to table Part of SP rows Uses command table No No Set Type/Reso/Cut No, but can continue filter Type/Res/Cutoff + Reset
Other methods Note strength in a unique column Also in wave- and volume tables Must set Type/Bm/Res globally
Vibrato Lo-fi + Hi-fi Lo-fi + Hi-fi Yes; with feeling Yes; uses a program table Can be simulated Can be simulated Can be simulated Set in wave table Hi-fi + Feeling No Yes Yes Yes
Set in instrument Yes No Yes Pointer to vibrato table Simulated in FX table Simulated in glissando table Simulated in sound programs No No 3 bytes Delay + Rate + Amp + Feeling No
Set with command Uses command table Uses command table Yes No Pointer to FX table Pointer to glissando table Simulated in sound programs Uses command to wave table Uses command table No Set amplitude Yes, and also up/down/both
Hard restart For each instrument For each instrument For each instrument Yes Three modes Uses a dedicated table Must set up manually in SP rows Set globally One mode (on or off) No? Hard-coded One mode (on or off) Yes
First frame waveform Yes Adjusted by four modes Yes Set in wave table Built into the modes Set in the dedicated table Can be defined in SP rows Set globally Cannot be adjusted ? ? ?
Gate off timer Yes Adjusted by four modes Yes, and also mode Yes, and also mode Built into the modes Hard-coded to 2 frames Can be defined in SP rows Hard-coded to 2 frames Hard-coded to 2 frames ? ? Can be set with a command
ADSR Command-line parameter SR in instrument, ADSR in table Yes Cannot be adjusted Built into the modes Set in the dedicated table Can be defined in SP rows Set globally (only SR) Set in command table ? ? ?
Editor
Track system Single-channel patterns Contiguous sequence stacking Single-channel patterns Blinded sequence stacking Same size sequence stacking Single-channel patterns Single-channel patterns Order list with one pattern shown Contiguous sequence stacking Multi-channel sequence blocks Order list with one sector shown Single-channel patterns Single-channel patterns
Patterns / Sequences 208; each up to 128 rows 128; each up to 64 rows 100 (1SID); each up to 248 rows 128; each up to 128 rows 255; each up to 32 rows 80; each up to 96 rows 128; each up to 32 rows 127; each up to 180 rows 114; each up to 96 rows 63 blocks; each up to 32 rows 96 sectors; each up to 250 rows 128; each up to 128 rows 128; each up to 256 rows
Follow-play Yes Yes Yes Yes No Yes Yes No Yes Screen blanks No Yes Yes
Copy and Paste Yes Numeric from/to input Yes Yes Yes Yes Yes Yes Numeric from/to input Yes Yes Extensive Extensive
Undo No Multi-step One-step No No No No No No No No No Multi-step
Track commands Bytes in a horizontal order list A word (XXYY) by each sequence Bytes in a horizontal order list A word (XXYY) by each sequence A word (XXYY) by each sequence Bytes in a horizontal order list Bytes in a vertical order list Bytes in a vertical order list A word (XXYY) by each sequence One seq step shown at a time Bytes in a vertical order list Values in a vertical order list Values in a vertical order list
Transpose 15 half-tones up or down 31 half-tones up or down 15 half-tones up or down 31 half-tones up or down 64 half-tones up or down 15 half-tones up or down No 63 half-tones up or down 63 half-tones (80-BF) No 127 half-tones up or down 48 half-tones up or down No
Repeat Up to 16 times No No No No Up to 14 times Up to 256 times No No No No No No
Loop / Stop Loop only Loop only Both Both Both Both Loop only Loop only Both Loop only Both Both Both
Volume No No Yes No No No No No No No No Set in a unique FX column No
Tempo No No On each track (00-5D) No With swing nibble No No No No No No Set in a unique FX column No
Column: Note
Example Row
Note
Instr
Cmd

C#2
XX
XYY
Note
Instr
Cmd

C#2
XX
XY
Note
Instr
Cmd

C#2
XX
XXYY
FX
Note

XX
C#2
FX
Note

XY
C#2
Instr
Note
Cmd

XX
C#2
XYY
SP1
SP2
Spd
Note

XX
YY
X
C2#
Note
Cmd
Dur

C#2
XX
YY
I / S
Note

XYY
C#2
Note
Instr

C#2
X
Note

C#2
Note
Instr
Cmd

C#2
L1
<icons>
Note
Vol
Instr
Cmd

C#2
X
XX
XXYY
++
Note input layout Protracker, DMC Protracker Protracker, DMC, SDI, Janko Top two keyboard rows Protracker Protracker Protracker Protracker, DMC Commodore SFX Protracker Two middle keyboard rows Graphical keyboard, drum pads Graphical keyboard, Protracker
Gating On or Off On or Off Off On or Off Off On or Off Controlled via SP rows On or Off (forced) [Hold] On Off On or Off (GATE command) [Hold] On Off
Legato / Tie note Have to use a command Yes Uses the instrument column Yes Uses the instrument column Uses the command column Always on until next SP specified Bit set in command column Uses the command column No Uses a SWITCH command Uses the instrument column ADSR only (via a command)
Additional effects ++ Auto-porta, Vibrato, Ring, Sync Transpose in channel 4
Column: Instr / FX / SP
Example Row
Note
Instr
Cmd

C#2
XX
XYY
Note
Instr
Cmd

C#2
XX
XY
Note
Instr
Cmd

C#2
XX
XXYY
FX
Note

XX
C#2
FX
Note

XY
C#2
Instr
Note
Cmd

XX
C#2
XYY
SP1
SP2
Spd
Note

XX
YY
X
C2#
Note
Cmd
Dur

C#2
XX
YY
I / S
Note

XYY
C#2
Note
Instr

C#2
X
Instr

SND.01
Note
Instr
Cmd

C#2
L1
<icons>
Note
Vol
Instr
Cmd

C#2
X
XX
XXYY
++
Instrument / Sound Instrument (01-3F) Instrument (00-2F) Instrument (01-3E) Instrument (00-1F) Left character X is instrument Instrument (00-1F) One or two SP bytes (00-FF) Command acts as instrument too Instrument (I00-I1F) Instrument (1-7 = 1SID + 8-F = digi) Instrument (00-1F) Instrument as alias (two chars) Instrument (00-7F)
Additional effects ++ Tie, Waveform, Sus, Rel, Chord# Arp, Glide, Vib, ASR, Filter on/off Right character Y is FX table Command table (S00-S3F) Tie note Must use a cmd to restart filter
Column: Command
Example Row
Note
Instr
Cmd

C#2
XX
XYY
Note
Instr
Cmd

C#2
XX
XY
Note
Instr
Cmd

C#2
XX
XXYY
FX
Note

XX
C#2
FX
Note

XY
C#2
Instr
Note
Cmd

XX
C#2
XYY
SP1
SP2
Spd
Note

XX
YY
X
C2#
Note
Cmd
Dur

C#2
XX
YY
I / S
Note

XYY
C#2
Note
Instr

C#2
X
Cmd

GLD.08
Note
Instr
Cmd

C#2
L1
<icons>
Note
Vol
Instr
Cmd

C#2
X
XX
XXYY
++
Pointer to wave table Yes No Yes Waveforms only Uses command table Uses command table No No No
Pointer to pulse table Yes Yes Yes Yes Uses command table No No No No
Pointer to filter table Yes Yes Yes In channel 4 Yes Uses command table No No No No
Pointer to chord/arp table No Yes Yes Frequency table No No No No No, but can use PT cmd 0XY
Specify slide Pointer to command table Pointer to command table Yes Glide Pointer to command table Pointer to command table Glide to destination note Glide knob up/down Yes
Specify portamento Pointer to command table Pointer to command table Yes Glide to note No No Glide start to destination note Auto glide button on/off Yes
Specify vibrato Pointer to command table Pointer to command table Yes Pointer to glissando table Pointer to command table Pointer to command table Set in instrument Vibrato amplitude knob Yes
Specify ADSR AD/SR A/D/S/R A/D/S/R or AD/SR Pointer to ADSR table Pointer to command table Pointer to SR in command table AD/SR No A/D/S/R
Specify waveform Yes Pointer to command table Yes Pointer to wave table No No No No Yes (nibble only), or RM/HS
Specify pulse width No No 8-bit No No No No No, but can continue pulse Yes; up to $64 (100)
Specify filter type No No Yes In channel 4 No No No Together with resonance No Yes
Specify filter resonance Together with bitmask No Yes No No No Together with type No Yes
Specify filter bitmask Together with resonance No No No No No Filter in channel 3 only No No
Specify filter cutoff Yes No Yes No No No Yes; 8-bit (MSB) No, but can continue filter Yes; up to $64 (100)
Specify volume Yes Yes Yes Pointer to filter table No Pointer to command table Fade in/out + Affect sustain Set in a unique FX column Set in a unique volume column
Specify tempo Yes, or cmd table for swing Yes Song or track In channel 4 Pointer to speed table Set in a unique speed column Set in a unique duration column Pointer to command table No Set in a unique FX column Yes
Specify arpeggio speed No Set in instrument Yes No No Set in instrument No No Yes, but only for PT cmd 0XY
Specify transpose No No No In channel 4 No No No No No No
Specify finetune No Pointer to command table Yes Pointer to frequency table No No; set globally No No Yes
Specify delay No No Track or note No No No Uses a DUR command No Yes (one note, not entire song)
Specify hard restart No No No Pointer to hard restart table No No No No Gate off timer
Additional effects ++ Tremolo using global volume
Tables
Instrument table 9 bytes per instrument 8 bytes per instrument 16 bytes per instrument 10 bytes per instrument 1 byte + size of wave/filter tables 8 bytes per instrument Uses sound programs instead Uses commands instead 8 bytes per instrument 16 bytes including wave table 8 bytes per instrument Up to 32 instruments Up to 128 instruments
Names / Descriptions Yes Yes Yes Yes One character for each Yes No No No Yes, alias (two chars) + full name Yes
View multiple at once No 15 instruments No No No No 4 instruments No No No 10 (only their names)
Pointer to wave table Yes Yes Attached to instrument Yes Attached to instrument Waveform only For gate on and off Attached to instrument Yes Yes; button to separate page Macro generator attached
Pointer to pulse table Yes Yes Attached to instrument Yes Part of wave table Yes Yes No Yes Yes; button to separate page Macro generator attached
Pointer to filter table Yes Yes Attached to instrument Yes Can be attached to instrument Yes Yes No Yes Yes; button to separate page Can attach macro generator
Pointer to chord/arp/freq No No Yes No Independent Assists wave table No No No No Macro generator attached
Pointer to slide/gliss table No No No No No Yes No No No No No
Pointer to ADSR/tremolo Uses one ADSR Uses one ADSR Uses one ADSR Uses one ADSR Uses one ADSR Yes Uses one ADSR No Uses one ADSR Uses one ADSR Uses one ADSR
Pointer to vibrato table Set here in instr or in cmd table Set in command table Set here in instr or in pattern Yes No No No No Set here in instrument Set here in instr or in pattern No
Specify ADSR Yes Yes Yes Yes Yes Uses an ADSR table Yes Yes Yes Yes Yes; along with a small graph
Specify vibrato Yes Set in command table With speed and feeling Uses a vibrato table Simulated in FX table Must use glissando table Set in command table No 3 bytes Delay + Rate + Amp + Feeling No
Specify pulse width/sweep Set in pulse table Set in pulse table, fixed (4-bit) Set in pulse table Set in pulse table Set in wave table Set in pulse table Set in pulse table Limits (nibbles) + Speed (byte) Set in pulse table Yes + min/max knobs Pulse width only (0-100)
Specify filter type/reson. Set in filter table Set in filter table Set in filter table Yes Set in filter table Set in filter table Yes Set globally Set with a command Yes Yes
Specify filter cutoff/sweep Set in filter table Set in filter table Set in filter table Set in filter table Set in filter table Set in filter table Set in filter table Speed (nibble) + Cutoff (nibble) Set in filter table Yes + min/max knobs Filter cutoff only (0-100)
Specify arpeggio speed No Yes Yes No No No Yes No No No No
Specify hard restart Fr1 waveform + Gate off timer Four modes + Sustain/Release The whole shebang Gate off timer + mode Three modes Pointer to HR table Set globally One mode (on or off) No No; hard-coded One mode (on or off) No
Specify octave No No Yes No No No No Yes No No No
Specify finetune A command can be used Set in command table Set in wave table 16-bit Set in FX table Set in frequency table Set globally Nibble (0-F) upwards only No No No
Wave table 2 bytes per row 2 bytes per row 3 bytes per row 2 bytes per row 2 bytes per row Command nibble + 1 byte Uses sound programs instead 2 bytes per row 2 bytes per row 10 bytes for each instrument 2 bytes per row Up to 16 blocks Macro with drag/draw blocks
Waveform + Gating All All All All All All All All Waveform nibble only All All Waveform nibble only (no RM/HS)
Relative + Absolute notes Both Both Both Both FX can add relative only Set in frequency table Both Both + Hi-frequency (00-FF) Relative for next 15 half-tones (0-F) Relative + Hi-frequency (00-FF) Both Set in arpeggio table
Delay/Repeat Yes Overrides speed in instrument Yes Yes + Blocks too No Yes Yes No No No No Indicated by amount of blocks
Loop/Stop Both Both Both Loop only Loop only Both Loop only Both Stops after 10th byte, or at a $00 Loop only Both Both
Additional effects ++ Pattern-style commands Finetune in byte 3 (DT col) ADSR, Filter, Pulse, Multipls, Noise Pulse width (8-bit) + Sweep Vibrato, Slide Relative for noise = low to hi freq Hi-freq mode bit replaces test-bit
Pulse table 2 bytes per row 4 bytes per row 3 bytes per row 4 bytes per row Set in wave table Command nibble + 1 byte Uses sound programs instead 2 bytes per row 4 bytes per row Set in instrument 2 bytes per row Up to 16 blocks Macro with drag/draw blocks
Specify pulse width 12-bit 8-bit 12-bit 8-bit 12-bit 8-bit 8-bit 12-bit 8-bit; set by dragging line +/- blocks affect a global width
Duration + Speed Yes Yes Yes Yes Yes Yes Yes Yes; 16-bit speed Yes; duration up to 128 ticks Indicated by amount of blocks
Loop/Stop Both Both Both Both Both Loop only Loop only Loop only Both Both
Additional effects ++ Note strength in byte 3 (KT col) Sweep modes/jumps
Filter table 2 bytes per row 4 bytes per row 3 bytes per row 4 bytes per row 1 nibble + 2 bytes Command nibble + 1 byte Uses sound programs instead 2 bytes per row 4 bytes per row Set in instrument / globally 2 bytes per row Up to 16 blocks Macro with drag/draw blocks
Specify filter type All types All types All types All types All types All types All types Set in instrument Set with a command All types Set in instrument
Specify filter resonance Full nibble Full nibble Full nibble Full nibble Full nibble Full nibble Full nibble Set in instrument Set with a command Set in instrument Set in instrument
Specify filter bitmask All channel combinations All channel combinations GoatTracker compatibility Set in volume table All channel combinations All channel combinations All channel combinations No Set globally Filter in channel 3 only Set in a unique FX column No
Specify filter cutoff 8-bit (MSB) 8-bit (MSB) 8-bit (MSB) 8-bit (MSB) 8-bit (MSB) 8-bit (MSB) 8-bit (MSB) 8-bit (MSB) 11-bit 8-bit (MSB), set by dragging line +/- blocks affect a global cutoff
Duration + Speed Yes Yes Yes Yes Speed only (plus/minus) Yes Yes Yes Yes; 16-bit speed Yes; duration up to 128 ticks Indicated by amount of blocks
Loop/Stop Both Both Both Loop only Loop only Both Loop only Loop only Loop only Both Both
Additional effects ++ Note strength in byte 3 (KT col) Volume (with fading)
Chord/Arp/Freq table Just the wave table only 1 byte per row (+ pointers) 1 byte per row 3 bytes per row 1 byte per row (FX table) Command nibble + 1 byte Uses sound programs instead Just the wave table only Just the wave table only Just the wave table only Just the wave table only Just the wave table only Macro with drag/draw blocks
Intervals (0-3-7) / Notes Intervals only Intervals + Notes Intervals only Offsets down from $70 Intervals only +/- blocks define the intervals
Loop/Stop Loop to specific pointer Loop, or return to wave table Loop to specific pointer Loop to specific pointer Both Both
Additional effects ++ Speed and instrument nibbles Finetune, Vibrato simulation Finetune Check box for fixed arpeggio
Slide/Glissando table Set in command table Set in command table Set in command column Set in FX column Set in FX table Command nibble + 1 byte Uses sound programs instead Set in wave table Set in command table No Set with a command Set in command column Set in command column
Amplitude 00-5F
Delay/Repeat 00-7F (up or down)
Loop/Stop Both
ADSR/Tremolo table Uses one ADSR in instrument Uses one ADSR in instrument Uses one ADSR in instrument Uses one ADSR in instrument Uses one ADSR in instrument Command nibble + 1 byte Uses sound programs instead Uses one ADSR in cmd table Uses one ADSR in instrument Uses one ADSR in instrument Uses one ADSR in instrument Uses one ADSR in instrument Uses one ADSR in instrument
Delay/Repeat Yes
Loop/Stop Both
Vibrato table Set in instrument or cmd table Set in command table Set in instrument or pattern 3 bytes per row Simulated in FX table Simulated in glissando table Uses sound programs instead Set in wave table Set in command table No Set in instrument Set in instrument or pattern Set in command column
Delay Yes
Loop/Stop Loop only
Finetune With hold or continue
Tempo/Swing table Set in command table Set in chord table 1 byte per row 2 bytes per row Set in track 1 byte per row Uses sound programs instead No Set in filter table Set globally (half frames) Set globally Set in a unique FX column Set globally and in cmd column
Loop Entire list is just looped Yes Yes
Volume table Set in pattern Set in sequence Set in pattern or order list 2 bytes per row No Set in filter table Uses sound programs instead No Set in command table No Set globally Set in a unique FX column Macro with drag/draw blocks
Fading Yes Set with a command instead +/- blocks affect the volume
Additional effects ++ Filter channel and -speed
Command table (Pat / Seq) 2 bytes per row 1 nibble + 2 bytes per row No No No No Uses sound programs instead 5 bytes per row 2 bytes per row No No No No
Name of this table Speedtable Command Commands Super table
Names / Descriptions No No Yes No
Pointer to wave table Set directly in pattern No Yes (00 = continue) Yes
Pointer to pulse table Set directly in pattern Set directly in sequence Yes (00 = continue) Set in instrument only
Pointer to filter table Set directly in pattern Set directly in sequence Yes (00 = continue) Set in instrument only
Specify ADSR Set directly in pattern Yes Mandatory Sustain/Release only
Specify waveform Can use wave table Yes No No
Specify vibrato Lo-fi + Hi-fi Lo-fi + Hi-fi + Feeling Set in wave table Hi-fi + Feeling
Specify slide up/down 16-bit "Portamento" 16-bit Set in wave table 12-bit
Specify portamento up/dn 16-bit "Toneportamento" 16-bit No No
Specify finetune Must use portamento Yes No Set globally
Specify volume Set directly in pattern Set directly in sequence No Yes
Specify tempo Swing tempo (two nibbles) Set in chord table No Yes
Unified table No No No No No No 13 bytes per row No No No No No No
Name of this table sidTAB - or - sound programs
Names / Descriptions No
Relative + Absolute notes Yes; called transpose
Specify ADSR Yes
Specify waveform + gating Yes; as separate bytes
Specify slide up/down 00-3F (shared with finetune)
Specify pulse width 8-bit
Specify pulse sweep 00-7F + direction bit left/right
Specify filter type Yes
Specify filter resonance Yes
Specify filter bitmask Yes, or bit for source channel
Specify filter cutoff 2 bytes; starts at $200
Specify filter sweep 1 byte offset + 2 bytes sweep
Specify finetune 00-7F (shared with slide)
Delay/Duration Yes
Loop/Stop Loop, or stop at end of chunk (?)
Last updated: