sointu/tests/test_speed.asm
Veikko Sariola 1b1dabafb8 fix(asm): Change the scaling to 29 in the speed unti (29 increments = double speed).
The old speed scaling of 24 was ill-chosen so that triplets resulted in a minor buffer overflow error. This was never caught by anyone until Visual Studio 2019 in debug mode. Presumably all compilers allocate some extra space so this didn't matter. Now 29 increments = double speed and speeds with alternating 52 and 81 result in triplets that are just slightly faster then ordinary bpm i.e. the buffer will be slightly underrun, which probably is unnoticable to the user.
2020-11-12 19:46:37 +02:00

32 lines
1019 B
NASM

%define BPM 100
%include "sointu/header.inc"
BEGIN_PATTERNS
PATTERN 64,0,64,64,64,0,64,64,64,0,64,64,65,0,65,65
PATTERN 64,0, 0, 0, 0,0, 0, 0, 0,0, 0, 0, 0,0, 0, 0
PATTERN 81,0,52, 0,81,0,52, 0,81,0,52, 0,81,0,52, 0
END_PATTERNS
BEGIN_TRACKS
TRACK VOICES(1),0,0
TRACK VOICES(1),1,2
END_TRACKS
BEGIN_PATCH
BEGIN_INSTRUMENT VOICES(1)
SU_ENVELOPE STEREO(0),ATTACK(64),DECAY(64),SUSTAIN(0),RELEASE(64),GAIN(128)
SU_ENVELOPE STEREO(0),ATTACK(64),DECAY(64),SUSTAIN(0),RELEASE(64),GAIN(128)
SU_OSCILLATOR STEREO(0),TRANSPOSE(64),DETUNE(32),PHASE(0),COLOR(96),SHAPE(64),GAIN(128),TYPE(TRISAW),LFO(0),UNISON(0)
SU_OSCILLATOR STEREO(0),TRANSPOSE(72),DETUNE(64),PHASE(64),COLOR(64),SHAPE(96),GAIN(128),TYPE(TRISAW),LFO(0),UNISON(0)
SU_MULP STEREO(1)
SU_OUT STEREO(1),GAIN(128)
END_INSTRUMENT
BEGIN_INSTRUMENT VOICES(1)
SU_LOADNOTE STEREO(0)
SU_SPEED
END_INSTRUMENT
END_PATCH
%include "sointu/footer.inc"