792 lines
21 KiB
SQL
792 lines
21 KiB
SQL
%macro export_func 1
|
|
global _%1
|
|
_%1:
|
|
%endmacro
|
|
%define USE_SECTIONS
|
|
%define SAMPLE_RATE 44100
|
|
%define MAX_INSTRUMENTS 6
|
|
%define MAX_VOICES 1
|
|
%define HLD 1
|
|
%define BPM 165.000000
|
|
%define MAX_PATTERNS 25
|
|
%define PATTERN_SIZE_SHIFT 5
|
|
%define PATTERN_SIZE (1 << PATTERN_SIZE_SHIFT)
|
|
%define MAX_TICKS (MAX_PATTERNS*PATTERN_SIZE)
|
|
%define SAMPLES_PER_TICK 4009
|
|
%define DEF_LFO_NORMALIZE 0.0000623583
|
|
%define MAX_SAMPLES (SAMPLES_PER_TICK*MAX_TICKS)
|
|
;%define GO4K_USE_16BIT_OUTPUT
|
|
;%define GO4K_USE_GROOVE_PATTERN
|
|
;%define GO4K_USE_ENVELOPE_RECORDINGS
|
|
;%define GO4K_USE_NOTE_RECORDINGS
|
|
%define GO4K_CLIP_OUTPUT
|
|
%define GO4K_USE_DST
|
|
%define GO4K_USE_DLL
|
|
%define GO4K_USE_PAN
|
|
%define GO4K_USE_GLOBAL_DLL
|
|
%define GO4K_USE_ENV_CHECK
|
|
%define GO4K_USE_VCO_CHECK
|
|
%define GO4K_USE_VCO_PHASE_OFFSET
|
|
%define GO4K_USE_VCO_SHAPE
|
|
%define GO4K_USE_VCO_MOD_TM
|
|
%define GO4K_USE_VCO_MOD_DM
|
|
%define GO4K_USE_VCO_MOD_CM
|
|
%define GO4K_USE_VCF_CHECK
|
|
%define GO4K_USE_VCF_MOD_FM
|
|
%define GO4K_USE_VCF_HIGH
|
|
%define GO4K_USE_VCF_BAND
|
|
%define GO4K_USE_VCF_PEAK
|
|
%define GO4K_USE_VCF_STEREO
|
|
%define GO4K_USE_DST_CHECK
|
|
%define GO4K_USE_DST_SH
|
|
%define GO4K_USE_DLL_CHORUS
|
|
%define GO4K_USE_DLL_CHORUS_CLAMP
|
|
%define GO4K_USE_DLL_DAMP
|
|
%define GO4K_USE_DLL_DC_FILTER
|
|
%define GO4K_USE_FSTG_CHECK
|
|
%define GO4K_USE_WAVESHAPER_CLIP
|
|
%define MAX_DELAY 65536
|
|
%define MAX_UNITS 64
|
|
%define MAX_UNIT_SLOTS 16
|
|
%define GO4K_BEGIN_CMDDEF(def_name)
|
|
%define GO4K_END_CMDDEF db 0
|
|
%define GO4K_BEGIN_PARAMDEF(def_name)
|
|
%define GO4K_END_PARAMDEF
|
|
GO4K_ENV_ID equ 1
|
|
%macro GO4K_ENV 5
|
|
db %1
|
|
db %2
|
|
db %3
|
|
db %4
|
|
db %5
|
|
%endmacro
|
|
%define ATTAC(val) val
|
|
%define DECAY(val) val
|
|
%define SUSTAIN(val) val
|
|
%define RELEASE(val) val
|
|
%define GAIN(val) val
|
|
struc go4kENV_val
|
|
.attac resd 1
|
|
.decay resd 1
|
|
.sustain resd 1
|
|
.release resd 1
|
|
.gain resd 1
|
|
.size
|
|
endstruc
|
|
struc go4kENV_wrk
|
|
.state resd 1
|
|
.level resd 1
|
|
.gm resd 1
|
|
.am resd 1
|
|
.dm resd 1
|
|
.sm resd 1
|
|
.rm resd 1
|
|
.size
|
|
endstruc
|
|
%define ENV_STATE_ATTAC 0
|
|
%define ENV_STATE_DECAY 1
|
|
%define ENV_STATE_SUSTAIN 2
|
|
%define ENV_STATE_RELEASE 3
|
|
%define ENV_STATE_OFF 4
|
|
GO4K_VCO_ID equ 2
|
|
%macro GO4K_VCO 8
|
|
db %1
|
|
db %2
|
|
%ifdef GO4K_USE_VCO_PHASE_OFFSET
|
|
db %3
|
|
%endif
|
|
%ifdef GO4K_USE_VCO_GATE
|
|
db %4
|
|
%endif
|
|
db %5
|
|
%ifdef GO4K_USE_VCO_SHAPE
|
|
db %6
|
|
%endif
|
|
db %7
|
|
db %8
|
|
%endmacro
|
|
%define TRANSPOSE(val) val
|
|
%define DETUNE(val) val
|
|
%define PHASE(val) val
|
|
%define GATES(val) val
|
|
%define COLOR(val) val
|
|
%define SHAPE(val) val
|
|
%define FLAGS(val) val
|
|
%define SINE 0x01
|
|
%define TRISAW 0x02
|
|
%define PULSE 0x04
|
|
%define NOISE 0x08
|
|
%define LFO 0x10
|
|
%define GATE 0x20
|
|
%define VCO_STEREO 0x40
|
|
struc go4kVCO_val
|
|
.transpose resd 1
|
|
.detune resd 1
|
|
%ifdef GO4K_USE_VCO_PHASE_OFFSET
|
|
.phaseofs resd 1
|
|
%endif
|
|
%ifdef GO4K_USE_VCO_GATE
|
|
.gate resd 1
|
|
%endif
|
|
.color resd 1
|
|
%ifdef GO4K_USE_VCO_SHAPE
|
|
.shape resd 1
|
|
%endif
|
|
.gain resd 1
|
|
.flags resd 1
|
|
.size
|
|
endstruc
|
|
struc go4kVCO_wrk
|
|
.phase resd 1
|
|
.tm resd 1
|
|
.dm resd 1
|
|
.fm resd 1
|
|
.pm resd 1
|
|
.cm resd 1
|
|
.sm resd 1
|
|
.gm resd 1
|
|
.phase2 resd 1
|
|
.size
|
|
endstruc
|
|
GO4K_VCF_ID equ 3
|
|
%macro GO4K_VCF 3
|
|
db %1
|
|
db %2
|
|
db %3
|
|
%endmacro
|
|
%define LOWPASS 0x1
|
|
%define HIGHPASS 0x2
|
|
%define BANDPASS 0x4
|
|
%define BANDSTOP 0x3
|
|
%define ALLPASS 0x7
|
|
%define PEAK 0x8
|
|
%define STEREO 0x10
|
|
%define FREQUENCY(val) val
|
|
%define RESONANCE(val) val
|
|
%define VCFTYPE(val) val
|
|
struc go4kVCF_val
|
|
.freq resd 1
|
|
.res resd 1
|
|
.type resd 1
|
|
.size
|
|
endstruc
|
|
struc go4kVCF_wrk
|
|
.low resd 1
|
|
.high resd 1
|
|
.band resd 1
|
|
.freq resd 1
|
|
.fm resd 1
|
|
.rm resd 1
|
|
.low2 resd 1
|
|
.high2 resd 1
|
|
.band2 resd 1
|
|
.size
|
|
endstruc
|
|
GO4K_DST_ID equ 4
|
|
%macro GO4K_DST 3
|
|
db %1
|
|
%ifdef GO4K_USE_DST_SH
|
|
db %2
|
|
%ifdef GO4K_USE_DST_STEREO
|
|
db %3
|
|
%endif
|
|
%else
|
|
%ifdef GO4K_USE_DST_STEREO
|
|
db %3
|
|
%endif
|
|
%endif
|
|
%endmacro
|
|
%define DRIVE(val) val
|
|
%define SNHFREQ(val) val
|
|
%define FLAGS(val) val
|
|
struc go4kDST_val
|
|
.drive resd 1
|
|
%ifdef GO4K_USE_DST_SH
|
|
.snhfreq resd 1
|
|
%endif
|
|
.flags resd 1
|
|
.size
|
|
endstruc
|
|
struc go4kDST_wrk
|
|
.out resd 1
|
|
.snhphase resd 1
|
|
.dm resd 1
|
|
.sm resd 1
|
|
.out2 resd 1
|
|
.size
|
|
endstruc
|
|
GO4K_DLL_ID equ 5
|
|
%macro GO4K_DLL 8
|
|
db %1
|
|
db %2
|
|
db %3
|
|
%ifdef GO4K_USE_DLL_DAMP
|
|
db %4
|
|
%endif
|
|
%ifdef GO4K_USE_DLL_CHORUS
|
|
db %5
|
|
db %6
|
|
%endif
|
|
db %7
|
|
db %8
|
|
%endmacro
|
|
%define PREGAIN(val) val
|
|
%define DRY(val) val
|
|
%define FEEDBACK(val) val
|
|
%define DEPTH(val) val
|
|
%define DAMP(val) val
|
|
%define DELAY(val) val
|
|
%define COUNT(val) val
|
|
struc go4kDLL_val
|
|
.pregain resd 1
|
|
.dry resd 1
|
|
.feedback resd 1
|
|
%ifdef GO4K_USE_DLL_DAMP
|
|
.damp resd 1
|
|
%endif
|
|
%ifdef GO4K_USE_DLL_CHORUS
|
|
.freq resd 1
|
|
.depth
|
|
%endif
|
|
.delay resd 1
|
|
.count resd 1
|
|
.size
|
|
endstruc
|
|
struc go4kDLL_wrk
|
|
.index resd 1
|
|
.store resd 1
|
|
.dcin resd 1
|
|
.dcout resd 1
|
|
%ifdef GO4K_USE_DLL_CHORUS
|
|
.phase resd 1
|
|
%endif
|
|
.buffer resd MAX_DELAY
|
|
.size
|
|
endstruc
|
|
struc go4kDLL_wrk2
|
|
.pm resd 1
|
|
.fm resd 1
|
|
.im resd 1
|
|
.dm resd 1
|
|
.sm resd 1
|
|
.am resd 1
|
|
.size
|
|
endstruc
|
|
GO4K_FOP_ID equ 6
|
|
%macro GO4K_FOP 1
|
|
db %1
|
|
%endmacro
|
|
%define OP(val) val
|
|
%define FOP_POP 0x1
|
|
%define FOP_ADDP 0x2
|
|
%define FOP_MULP 0x3
|
|
%define FOP_PUSH 0x4
|
|
%define FOP_XCH 0x5
|
|
%define FOP_ADD 0x6
|
|
%define FOP_MUL 0x7
|
|
%define FOP_ADDP2 0x8
|
|
%define FOP_LOADNOTE 0x9
|
|
%define FOP_MULP2 0xa
|
|
struc go4kFOP_val
|
|
.flags resd 1
|
|
.size
|
|
endstruc
|
|
struc go4kFOP_wrk
|
|
.size
|
|
endstruc
|
|
GO4K_FST_ID equ 7
|
|
%macro GO4K_FST 2
|
|
db %1
|
|
dw %2
|
|
%endmacro
|
|
%define AMOUNT(val) val
|
|
%define DEST(val) val
|
|
%define FST_SET 0x0000
|
|
%define FST_ADD 0x4000
|
|
%define FST_POP 0x8000
|
|
struc go4kFST_val
|
|
.amount resd 1
|
|
.op1 resd 1
|
|
.size
|
|
endstruc
|
|
struc go4kFST_wrk
|
|
.size
|
|
endstruc
|
|
GO4K_PAN_ID equ 8
|
|
%macro GO4K_PAN 1
|
|
%ifdef GO4K_USE_PAN
|
|
db %1
|
|
%endif
|
|
%endmacro
|
|
%define PANNING(val) val
|
|
struc go4kPAN_val
|
|
%ifdef GO4K_USE_PAN
|
|
.panning resd 1
|
|
%endif
|
|
.size
|
|
endstruc
|
|
struc go4kPAN_wrk
|
|
.pm resd 1
|
|
.size
|
|
endstruc
|
|
GO4K_OUT_ID equ 9
|
|
%macro GO4K_OUT 2
|
|
db %1
|
|
%ifdef GO4K_USE_GLOBAL_DLL
|
|
db %2
|
|
%endif
|
|
%endmacro
|
|
%define AUXSEND(val) val
|
|
struc go4kOUT_val
|
|
.gain resd 1
|
|
%ifdef GO4K_USE_GLOBAL_DLL
|
|
.auxsend resd 1
|
|
%endif
|
|
.size
|
|
endstruc
|
|
struc go4kOUT_wrk
|
|
.am resd 1
|
|
.gm resd 1
|
|
.size
|
|
endstruc
|
|
GO4K_ACC_ID equ 10
|
|
%macro GO4K_ACC 1
|
|
db %1
|
|
%endmacro
|
|
%define OUTPUT 0
|
|
%define AUX 8
|
|
%define ACCTYPE(val) val
|
|
struc go4kACC_val
|
|
.acctype resd 1
|
|
.size
|
|
endstruc
|
|
struc go4kACC_wrk
|
|
.size
|
|
endstruc
|
|
%ifdef GO4K_USE_FLD
|
|
GO4K_FLD_ID equ 11
|
|
%macro GO4K_FLD 1
|
|
db %1
|
|
%endmacro
|
|
%define VALUE(val) val
|
|
struc go4kFLD_val
|
|
.value resd 1
|
|
.size
|
|
endstruc
|
|
struc go4kFLD_wrk
|
|
.vm resd 1
|
|
.size
|
|
endstruc
|
|
%endif
|
|
%ifdef GO4K_USE_GLITCH
|
|
GO4K_GLITCH_ID equ 12
|
|
%macro GO4K_GLITCH 5
|
|
db %1
|
|
db %2
|
|
db %3
|
|
db %4
|
|
db %5
|
|
%endmacro
|
|
%define ACTIVE(val) val
|
|
%define SLICEFACTOR(val)val
|
|
%define PITCHFACTOR(val)val
|
|
%define SLICESIZE(val) val
|
|
struc go4kGLITCH_val
|
|
.active resd 1
|
|
.dry resd 1
|
|
.dsize resd 1
|
|
.dpitch resd 1
|
|
.slicesize resd 1
|
|
.size
|
|
endstruc
|
|
struc go4kGLITCH_wrk
|
|
.index resd 1
|
|
.store resd 1
|
|
.slizesize resd 1
|
|
.slicepitch resd 1
|
|
.unused resd 1
|
|
.buffer resd MAX_DELAY
|
|
.size
|
|
endstruc
|
|
struc go4kGLITCH_wrk2
|
|
.am resd 1
|
|
.dm resd 1
|
|
.sm resd 1
|
|
.pm resd 1
|
|
.size
|
|
endstruc
|
|
%endif
|
|
%ifdef GO4K_USE_FSTG
|
|
GO4K_FSTG_ID equ 13
|
|
%macro GO4K_FSTG 2
|
|
db %1
|
|
dw %2
|
|
%endmacro
|
|
struc go4kFSTG_val
|
|
.amount resd 1
|
|
.op1 resd 1
|
|
.size
|
|
endstruc
|
|
struc go4kFSTG_wrk
|
|
.size
|
|
endstruc
|
|
%endif
|
|
struc go4k_instrument
|
|
.release resd 1
|
|
.note resd 1
|
|
.workspace resd MAX_UNITS*MAX_UNIT_SLOTS
|
|
.dlloutl resd 1
|
|
.dlloutr resd 1
|
|
.outl resd 1
|
|
.outr resd 1
|
|
.size
|
|
endstruc
|
|
struc go4k_synth
|
|
.instruments resb go4k_instrument.size * MAX_INSTRUMENTS * MAX_VOICES
|
|
.global resb go4k_instrument.size * MAX_VOICES
|
|
.size
|
|
endstruc
|
|
%ifdef USE_SECTIONS
|
|
section .g4kmuc1 data align=1
|
|
%else
|
|
section .data align=1
|
|
%endif
|
|
go4k_patterns
|
|
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, HLD, HLD, HLD, 57, HLD, HLD, HLD,
|
|
db HLD, HLD, HLD, HLD, 57, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 57, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 57, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 57, HLD, HLD, HLD,
|
|
db HLD, HLD, HLD, HLD, 57, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 57, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 57, HLD, HLD, HLD, HLD, HLD, HLD, 57, 57, HLD, HLD, HLD,
|
|
db HLD, HLD, HLD, HLD, 57, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 57, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 57, 57, 57, 57, HLD, HLD, HLD, HLD, 57, HLD, HLD, HLD,
|
|
db HLD, HLD, HLD, HLD, 57, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 57, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 57, HLD, HLD, HLD, 57, 57, HLD, HLD, 57, HLD, HLD, HLD,
|
|
db HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0,
|
|
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, HLD, HLD, HLD, 46, HLD,
|
|
db 46, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 46, HLD, HLD, HLD, HLD, HLD, 46, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 46, HLD, HLD, HLD, HLD, HLD,
|
|
db 46, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 46, HLD, HLD, HLD, HLD, HLD, 46, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 46, HLD, 46, HLD, HLD, HLD, HLD, HLD,
|
|
db 46, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 46, HLD, HLD, HLD, HLD, HLD, 46, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 46, 46, 46, 46, HLD, HLD, HLD, HLD,
|
|
db 46, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 46, HLD, HLD, HLD, HLD, HLD, 46, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 46, 46, HLD, HLD, HLD, HLD,
|
|
db 48, HLD, 48, HLD, HLD, HLD, 48, HLD, 48, HLD, 48, HLD, HLD, HLD, 48, HLD, 48, HLD, 48, HLD, HLD, HLD, 48, HLD, 48, HLD, 48, HLD, HLD, HLD, 48, HLD,
|
|
db 50, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD,
|
|
db 48, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD,
|
|
db 46, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 48, HLD, 50, HLD, 53, HLD,
|
|
db 43, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 43, HLD, 45, HLD, 46, HLD, 48, HLD,
|
|
db 46, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 48, HLD, 50, HLD,
|
|
db 52, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 45, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD,
|
|
db HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
db 62, 0, 64, 0, 65, 0, 69, 0, 65, 0, 64, 0, 62, 0, 64, 0, 65, 0, 72, 0, 65, 0, 64, 0, 62, 0, 64, 0, 65, 0, 71, 0,
|
|
db 62, 0, 64, 0, 65, 0, 69, 0, 65, 0, 64, 0, 62, 0, 64, 0, 65, 0, 69, 0, 65, 0, 64, 0, 62, 0, 64, 0, 65, 0, 72, 0,
|
|
db 50, 0, 50, HLD, 50, 0, 50, HLD, 50, 0, 50, HLD, 50, 0, 50, HLD, 50, 0, 50, HLD, 50, 0, 50, HLD, 50, 0, 50, HLD, 50, 0, 50, HLD,
|
|
db 48, 0, 48, HLD, 48, 0, 48, HLD, 48, 0, 48, HLD, 48, 0, 48, HLD, 48, 0, 48, HLD, 48, 0, 48, HLD, 48, 0, 48, HLD, 48, 0, 48, HLD,
|
|
db 46, 0, 46, HLD, 46, 0, 46, HLD, 46, 0, 46, HLD, 46, 0, 46, HLD, 46, 0, 46, HLD, 46, 0, 46, HLD, 46, 0, 46, HLD, 46, 0, 46, HLD,
|
|
db 43, 0, 43, HLD, 43, 0, 43, HLD, 43, 0, 43, HLD, 43, 0, 43, HLD, 43, 0, 43, HLD, 43, 0, 43, HLD, 43, 0, 43, HLD, 43, 0, 43, HLD,
|
|
db 43, 0, 43, HLD, 43, 0, 43, HLD, 43, 0, 43, HLD, 43, 0, 43, HLD, 43, 0, 43, HLD, 43, 0, 43, HLD, 43, 0, 43, HLD, 43, 0, 43, 0,
|
|
go4k_patterns_end
|
|
%ifdef USE_SECTIONS
|
|
section .g4kmuc2 data align=1
|
|
%else
|
|
section .data
|
|
%endif
|
|
go4k_pattern_lists
|
|
Instrument0List db 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 2, 4, 2, 2, 2, 5, 2, 3, 2, 4, 2, 2, 2, 5, 6,
|
|
Instrument1List db 0, 0, 0, 0, 0, 0, 0, 7, 8, 9, 8, 10, 8, 9, 8, 11, 8, 9, 8, 10, 8, 9, 8, 11, 6,
|
|
Instrument2List db 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 6,
|
|
Instrument3List db 13, 14, 15, 16, 17, 18, 13, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
Instrument4List db 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 0,
|
|
Instrument5List db 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 24, 25, 22, 23, 24, 25, 22, 23, 24, 25, 22, 23, 24, 26, 0,
|
|
go4k_pattern_lists_end
|
|
%ifdef USE_SECTIONS
|
|
section .g4kmuc3 data align=1
|
|
%else
|
|
section .data
|
|
%endif
|
|
go4k_synth_instructions
|
|
GO4K_BEGIN_CMDDEF(Instrument0)
|
|
db GO4K_ENV_ID
|
|
db GO4K_VCO_ID
|
|
db GO4K_DST_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_ENV_ID
|
|
db GO4K_VCO_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_DST_ID
|
|
db GO4K_PAN_ID
|
|
db GO4K_DLL_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_DLL_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_OUT_ID
|
|
db GO4K_ENV_ID
|
|
db GO4K_FST_ID
|
|
db GO4K_ENV_ID
|
|
db GO4K_FST_ID
|
|
db GO4K_ENV_ID
|
|
db GO4K_FST_ID
|
|
GO4K_END_CMDDEF
|
|
GO4K_BEGIN_CMDDEF(Instrument1)
|
|
db GO4K_ENV_ID
|
|
db GO4K_VCO_ID
|
|
db GO4K_DST_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_ENV_ID
|
|
db GO4K_VCO_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_PAN_ID
|
|
db GO4K_DLL_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_DLL_ID
|
|
db GO4K_OUT_ID
|
|
db GO4K_ENV_ID
|
|
db GO4K_ENV_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_FST_ID
|
|
GO4K_END_CMDDEF
|
|
GO4K_BEGIN_CMDDEF(Instrument2)
|
|
db GO4K_ENV_ID
|
|
db GO4K_VCO_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_PAN_ID
|
|
db GO4K_DLL_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_DLL_ID
|
|
db GO4K_OUT_ID
|
|
GO4K_END_CMDDEF
|
|
GO4K_BEGIN_CMDDEF(Instrument3)
|
|
db GO4K_ENV_ID
|
|
db GO4K_VCO_ID
|
|
db GO4K_FST_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_VCO_ID
|
|
db GO4K_FST_ID
|
|
db GO4K_FST_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_VCO_ID
|
|
db GO4K_FST_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_VCO_ID
|
|
db GO4K_VCO_ID
|
|
db GO4K_VCO_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_PAN_ID
|
|
db GO4K_OUT_ID
|
|
GO4K_END_CMDDEF
|
|
GO4K_BEGIN_CMDDEF(Instrument4)
|
|
db GO4K_ENV_ID
|
|
db GO4K_VCO_ID
|
|
db GO4K_VCO_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_PAN_ID
|
|
db GO4K_DLL_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_DLL_ID
|
|
db GO4K_OUT_ID
|
|
GO4K_END_CMDDEF
|
|
GO4K_BEGIN_CMDDEF(Instrument5)
|
|
db GO4K_ENV_ID
|
|
db GO4K_FST_ID
|
|
db GO4K_FST_ID
|
|
db GO4K_ENV_ID
|
|
db GO4K_VCO_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_VCO_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_VCF_ID
|
|
db GO4K_PAN_ID
|
|
db GO4K_OUT_ID
|
|
GO4K_END_CMDDEF
|
|
GO4K_BEGIN_CMDDEF(Global)
|
|
db GO4K_ACC_ID
|
|
db GO4K_DLL_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_DLL_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_ACC_ID
|
|
db GO4K_FOP_ID
|
|
db GO4K_OUT_ID
|
|
GO4K_END_CMDDEF
|
|
go4k_synth_instructions_end
|
|
%ifdef USE_SECTIONS
|
|
section .g4kmuc4 data align=1
|
|
%else
|
|
section .data
|
|
%endif
|
|
go4k_synth_parameter_values
|
|
GO4K_BEGIN_PARAMDEF(Instrument0)
|
|
GO4K_ENV ATTAC(22),DECAY(64),SUSTAIN(0),RELEASE(0),GAIN(38)
|
|
GO4K_VCO TRANSPOSE(77),DETUNE(64),PHASE(19),GATES(0),COLOR(128),SHAPE(66),GAIN(70),FLAGS(SINE)
|
|
GO4K_DST DRIVE(78), SNHFREQ(128), FLAGS(0)
|
|
GO4K_FOP OP(FOP_MULP)
|
|
GO4K_ENV ATTAC(0),DECAY(68),SUSTAIN(0),RELEASE(0),GAIN(70)
|
|
GO4K_VCO TRANSPOSE(64),DETUNE(64),PHASE(0),GATES(0),COLOR(64),SHAPE(2),GAIN(128),FLAGS(NOISE)
|
|
GO4K_FOP OP(FOP_MULP)
|
|
GO4K_VCF FREQUENCY(97),RESONANCE(128),VCFTYPE(PEAK)
|
|
GO4K_VCF FREQUENCY(108),RESONANCE(128),VCFTYPE(PEAK)
|
|
GO4K_FOP OP(FOP_ADDP)
|
|
GO4K_VCF FREQUENCY(100),RESONANCE(128),VCFTYPE(PEAK)
|
|
GO4K_VCF FREQUENCY(19),RESONANCE(98),VCFTYPE(HIGHPASS)
|
|
GO4K_VCF FREQUENCY(15),RESONANCE(128),VCFTYPE(BANDSTOP)
|
|
GO4K_VCF FREQUENCY(40),RESONANCE(74),VCFTYPE(BANDSTOP)
|
|
GO4K_VCF FREQUENCY(23),RESONANCE(42),VCFTYPE(HIGHPASS)
|
|
GO4K_DST DRIVE(97), SNHFREQ(128), FLAGS(0)
|
|
GO4K_PAN PANNING(59)
|
|
GO4K_DLL PREGAIN(27),DRY(128),FEEDBACK(112),DAMP(0),FREQUENCY(7),DEPTH(70),DELAY(1),COUNT(8)
|
|
GO4K_FOP OP(FOP_XCH)
|
|
GO4K_DLL PREGAIN(27),DRY(128),FEEDBACK(112),DAMP(0),FREQUENCY(16),DEPTH(55),DELAY(9),COUNT(8)
|
|
GO4K_FOP OP(FOP_XCH)
|
|
GO4K_OUT GAIN(128), AUXSEND(0)
|
|
GO4K_ENV ATTAC(38),DECAY(49),SUSTAIN(0),RELEASE(0),GAIN(128)
|
|
GO4K_FST AMOUNT(70),DEST(1*MAX_UNIT_SLOTS+1+FST_SET+FST_POP)
|
|
GO4K_ENV ATTAC(47),DECAY(54),SUSTAIN(0),RELEASE(0),GAIN(128)
|
|
GO4K_FST AMOUNT(19),DEST(7*MAX_UNIT_SLOTS+4+FST_SET+FST_POP)
|
|
GO4K_ENV ATTAC(54),DECAY(68),SUSTAIN(70),RELEASE(0),GAIN(128)
|
|
GO4K_FST AMOUNT(26),DEST(10*MAX_UNIT_SLOTS+4+FST_SET+FST_POP)
|
|
GO4K_END_PARAMDEF
|
|
GO4K_BEGIN_PARAMDEF(Instrument1)
|
|
GO4K_ENV ATTAC(7),DECAY(73),SUSTAIN(0),RELEASE(0),GAIN(128)
|
|
GO4K_VCO TRANSPOSE(90),DETUNE(0),PHASE(10),GATES(0),COLOR(63),SHAPE(94),GAIN(128),FLAGS(TRISAW)
|
|
GO4K_DST DRIVE(58), SNHFREQ(100), FLAGS(0)
|
|
GO4K_FOP OP(FOP_ADDP)
|
|
GO4K_ENV ATTAC(28),DECAY(45),SUSTAIN(0),RELEASE(0),GAIN(128)
|
|
GO4K_VCO TRANSPOSE(64),DETUNE(64),PHASE(0),GATES(0),COLOR(64),SHAPE(99),GAIN(128),FLAGS(NOISE)
|
|
GO4K_VCF FREQUENCY(80),RESONANCE(128),VCFTYPE(PEAK)
|
|
GO4K_VCF FREQUENCY(75),RESONANCE(87),VCFTYPE(LOWPASS)
|
|
GO4K_FOP OP(FOP_MULP)
|
|
GO4K_FOP OP(FOP_ADDP)
|
|
GO4K_VCF FREQUENCY(11),RESONANCE(128),VCFTYPE(PEAK)
|
|
GO4K_VCF FREQUENCY(53),RESONANCE(128),VCFTYPE(BANDSTOP)
|
|
GO4K_VCF FREQUENCY(12),RESONANCE(76),VCFTYPE(HIGHPASS)
|
|
GO4K_VCF FREQUENCY(11),RESONANCE(70),VCFTYPE(HIGHPASS)
|
|
GO4K_PAN PANNING(64)
|
|
GO4K_DLL PREGAIN(21),DRY(128),FEEDBACK(20),DAMP(128),FREQUENCY(6),DEPTH(51),DELAY(9),COUNT(8)
|
|
GO4K_FOP OP(FOP_XCH)
|
|
GO4K_DLL PREGAIN(20),DRY(128),FEEDBACK(20),DAMP(128),FREQUENCY(2),DEPTH(63),DELAY(1),COUNT(8)
|
|
GO4K_OUT GAIN(128), AUXSEND(0)
|
|
GO4K_ENV ATTAC(75),DECAY(128),SUSTAIN(0),RELEASE(0),GAIN(128)
|
|
GO4K_ENV ATTAC(49),DECAY(71),SUSTAIN(121),RELEASE(0),GAIN(128)
|
|
GO4K_FOP OP(FOP_MULP)
|
|
GO4K_FST AMOUNT(0),DEST(1*MAX_UNIT_SLOTS+1+FST_SET+FST_POP)
|
|
GO4K_END_PARAMDEF
|
|
GO4K_BEGIN_PARAMDEF(Instrument2)
|
|
GO4K_ENV ATTAC(4),DECAY(53),SUSTAIN(0),RELEASE(0),GAIN(128)
|
|
GO4K_VCO TRANSPOSE(64),DETUNE(64),PHASE(0),GATES(0),COLOR(64),SHAPE(102),GAIN(128),FLAGS(NOISE)
|
|
GO4K_FOP OP(FOP_MULP)
|
|
GO4K_VCF FREQUENCY(87),RESONANCE(128),VCFTYPE(HIGHPASS)
|
|
GO4K_VCF FREQUENCY(95),RESONANCE(128),VCFTYPE(BANDSTOP)
|
|
GO4K_VCF FREQUENCY(89),RESONANCE(71),VCFTYPE(BANDPASS)
|
|
GO4K_PAN PANNING(61)
|
|
GO4K_DLL PREGAIN(28),DRY(128),FEEDBACK(50),DAMP(29),FREQUENCY(0),DEPTH(0),DELAY(1),COUNT(8)
|
|
GO4K_FOP OP(FOP_XCH)
|
|
GO4K_DLL PREGAIN(32),DRY(128),FEEDBACK(40),DAMP(0),FREQUENCY(10),DEPTH(34),DELAY(9),COUNT(8)
|
|
GO4K_OUT GAIN(45), AUXSEND(0)
|
|
GO4K_END_PARAMDEF
|
|
GO4K_BEGIN_PARAMDEF(Instrument3)
|
|
GO4K_ENV ATTAC(23),DECAY(85),SUSTAIN(113),RELEASE(38),GAIN(119)
|
|
GO4K_VCO TRANSPOSE(64),DETUNE(64),PHASE(0),GATES(85),COLOR(128),SHAPE(64),GAIN(128),FLAGS(TRISAW|LFO)
|
|
GO4K_FST AMOUNT(52),DEST(11*MAX_UNIT_SLOTS+2+FST_SET)
|
|
GO4K_FOP OP(FOP_POP)
|
|
GO4K_VCO TRANSPOSE(41),DETUNE(42),PHASE(55),GATES(85),COLOR(54),SHAPE(63),GAIN(128),FLAGS(SINE|LFO)
|
|
GO4K_FST AMOUNT(75),DEST(12*MAX_UNIT_SLOTS+2+FST_SET)
|
|
GO4K_FST AMOUNT(59),DEST(12*MAX_UNIT_SLOTS+5+FST_SET)
|
|
GO4K_FOP OP(FOP_POP)
|
|
GO4K_VCO TRANSPOSE(74),DETUNE(64),PHASE(0),GATES(85),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE|LFO)
|
|
GO4K_FST AMOUNT(69),DEST(13*MAX_UNIT_SLOTS+2+FST_SET)
|
|
GO4K_FOP OP(FOP_POP)
|
|
GO4K_VCO TRANSPOSE(64),DETUNE(76),PHASE(22),GATES(85),COLOR(0),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
|
GO4K_VCO TRANSPOSE(64),DETUNE(60),PHASE(87),GATES(85),COLOR(128),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
|
GO4K_VCO TRANSPOSE(64),DETUNE(64),PHASE(0),GATES(85),COLOR(128),SHAPE(106),GAIN(128),FLAGS(SINE)
|
|
GO4K_FOP OP(FOP_ADDP)
|
|
GO4K_FOP OP(FOP_ADDP)
|
|
GO4K_VCF FREQUENCY(54),RESONANCE(120),VCFTYPE(LOWPASS|STEREO)
|
|
GO4K_VCF FREQUENCY(35),RESONANCE(70),VCFTYPE(BANDSTOP)
|
|
GO4K_FOP OP(FOP_MULP)
|
|
GO4K_PAN PANNING(63)
|
|
GO4K_OUT GAIN(71), AUXSEND(45)
|
|
GO4K_END_PARAMDEF
|
|
GO4K_BEGIN_PARAMDEF(Instrument4)
|
|
GO4K_ENV ATTAC(39),DECAY(62),SUSTAIN(0),RELEASE(30),GAIN(71)
|
|
GO4K_VCO TRANSPOSE(88),DETUNE(62),PHASE(14),GATES(0),COLOR(53),SHAPE(27),GAIN(72),FLAGS(SINE)
|
|
GO4K_VCO TRANSPOSE(88),DETUNE(66),PHASE(64),GATES(0),COLOR(113),SHAPE(64),GAIN(128),FLAGS(SINE)
|
|
GO4K_FOP OP(FOP_ADDP)
|
|
GO4K_FOP OP(FOP_MULP)
|
|
GO4K_PAN PANNING(64)
|
|
GO4K_DLL PREGAIN(95),DRY(128),FEEDBACK(83),DAMP(0),FREQUENCY(8),DEPTH(55),DELAY(17),COUNT(1)
|
|
GO4K_FOP OP(FOP_XCH)
|
|
GO4K_DLL PREGAIN(81),DRY(128),FEEDBACK(90),DAMP(0),FREQUENCY(11),DEPTH(48),DELAY(18),COUNT(1)
|
|
GO4K_OUT GAIN(65), AUXSEND(52)
|
|
GO4K_END_PARAMDEF
|
|
GO4K_BEGIN_PARAMDEF(Instrument5)
|
|
GO4K_ENV ATTAC(11),DECAY(99),SUSTAIN(0),RELEASE(0),GAIN(120)
|
|
GO4K_FST AMOUNT(83),DEST(8*MAX_UNIT_SLOTS+4+FST_SET)
|
|
GO4K_FST AMOUNT(93),DEST(6*MAX_UNIT_SLOTS+5+FST_SET+FST_POP)
|
|
GO4K_ENV ATTAC(42),DECAY(0),SUSTAIN(128),RELEASE(39),GAIN(128)
|
|
GO4K_VCO TRANSPOSE(76),DETUNE(64),PHASE(8),GATES(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
|
GO4K_FOP OP(FOP_ADDP)
|
|
GO4K_VCO TRANSPOSE(64),DETUNE(71),PHASE(69),GATES(0),COLOR(73),SHAPE(75),GAIN(64),FLAGS(TRISAW)
|
|
GO4K_FOP OP(FOP_MULP)
|
|
GO4K_VCF FREQUENCY(39),RESONANCE(82),VCFTYPE(LOWPASS)
|
|
GO4K_VCF FREQUENCY(15),RESONANCE(128),VCFTYPE(PEAK)
|
|
GO4K_PAN PANNING(64)
|
|
GO4K_OUT GAIN(128), AUXSEND(40)
|
|
GO4K_END_PARAMDEF
|
|
GO4K_BEGIN_PARAMDEF(Global)
|
|
GO4K_ACC ACCTYPE(AUX)
|
|
GO4K_DLL PREGAIN(45),DRY(128),FEEDBACK(126),DAMP(79),FREQUENCY(7),DEPTH(68),DELAY(1),COUNT(8)
|
|
GO4K_FOP OP(FOP_XCH)
|
|
GO4K_DLL PREGAIN(45),DRY(128),FEEDBACK(124),DAMP(76),FREQUENCY(8),DEPTH(45),DELAY(9),COUNT(8)
|
|
GO4K_FOP OP(FOP_XCH)
|
|
GO4K_ACC ACCTYPE(OUTPUT)
|
|
GO4K_FOP OP(FOP_ADDP2)
|
|
GO4K_OUT GAIN(64), AUXSEND(0)
|
|
GO4K_END_PARAMDEF
|
|
go4k_synth_parameter_values_end
|
|
%ifdef USE_SECTIONS
|
|
section .g4kmuc5 data align=1
|
|
%else
|
|
section .data
|
|
%endif
|
|
%ifdef GO4K_USE_DLL
|
|
global _go4k_delay_times
|
|
_go4k_delay_times
|
|
dw 0
|
|
dw 1116
|
|
dw 1188
|
|
dw 1276
|
|
dw 1356
|
|
dw 1422
|
|
dw 1492
|
|
dw 1556
|
|
dw 1618
|
|
dw 1140
|
|
dw 1212
|
|
dw 1300
|
|
dw 1380
|
|
dw 1446
|
|
dw 1516
|
|
dw 1580
|
|
dw 1642
|
|
dw 21381
|
|
dw 12027
|
|
%endif
|