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 XX YY 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 XX YY 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 XX YY 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