pidemmät musat
This commit is contained in:
67
4klang.asm
67
4klang.asm
@ -1,6 +1,6 @@
|
||||
%define SU_LENGTH_IN_SAMPLES 2828192
|
||||
%define SU_LENGTH_IN_SAMPLES 4521776
|
||||
%define SU_SAMPLE_RATE 44100
|
||||
%define SU_BPM 116.
|
||||
%define SU_BPM 110.
|
||||
|
||||
;-------------------------------------------------------------------------------
|
||||
; unit struct
|
||||
@ -76,7 +76,7 @@ global _su_render_song@4
|
||||
_su_render_song@4:
|
||||
pushad ; Stack: edi, esi, ebp, esp, ebx, edx, ecx, eax, retaddr_su_render_song, OutputBufPtr
|
||||
xor eax, eax
|
||||
push 1696 ; Stack: VoiceTrackBitmask, edi, esi, ebp, esp, ebx, edx, ecx, eax, retaddr_su_render_song, OutputBufPtr
|
||||
push 1760 ; Stack: VoiceTrackBitmask, edi, esi, ebp, esp, ebx, edx, ecx, eax, retaddr_su_render_song, OutputBufPtr
|
||||
push 1 ; Stack: RandSeed, VoiceTrackBitmask, edi, esi, ebp, esp, ebx, edx, ecx, eax, retaddr_su_render_song, OutputBufPtr
|
||||
push eax ; Stack: GlobalTick, RandSeed, VoiceTrackBitmask, edi, esi, ebp, esp, ebx, edx, ecx, eax, retaddr_su_render_song, OutputBufPtr
|
||||
su_render_rowloop: ; loop through every row in the song
|
||||
@ -114,11 +114,11 @@ su_render_sampleloop: ; loop through every sample in the row
|
||||
pop eax ; eax = Sample, Stack: Row, GlobalTick, RandSeed, VoiceTrackBitmask, edi, esi, ebp, esp, ebx, edx, ecx, eax, retaddr_su_render_song, OutputBufPtr
|
||||
inc dword [esp + 4] ; increment global time, used by delays
|
||||
inc eax
|
||||
cmp eax, 5702
|
||||
cmp eax, 6013
|
||||
jl su_render_sampleloop
|
||||
pop eax ; eax = Row, Stack: GlobalTick, RandSeed, VoiceTrackBitmask, edi, esi, ebp, esp, ebx, edx, ecx, eax, retaddr_su_render_song, OutputBufPtr ; Stack: pushad ptr
|
||||
inc eax
|
||||
cmp eax, 496
|
||||
cmp eax, 752
|
||||
jl su_render_rowloop
|
||||
; rewind the stack the entropy of multiple pop eax is probably lower than add
|
||||
pop eax ; eax = GlobalTick, Stack: RandSeed, VoiceTrackBitmask, edi, esi, ebp, esp, ebx, edx, ecx, eax, retaddr_su_render_song, OutputBufPtr
|
||||
@ -183,9 +183,9 @@ su_update_voices_skipreset:
|
||||
su_update_voices_nexttrack:
|
||||
pop ebx ; ebx=first voice of next instrument, Stack: ptrnrow
|
||||
pop edx ; edx=patrnrow
|
||||
add esi, 31
|
||||
add esi, 47
|
||||
inc ebp
|
||||
cmp ebp,su_synth_obj + 10
|
||||
cmp ebp,su_synth_obj + 9
|
||||
jl su_update_voices_trackloop
|
||||
ret
|
||||
|
||||
@ -857,11 +857,6 @@ section .su_patterns data align=1
|
||||
su_patterns:
|
||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
db 52,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
db 1,1,1,1,62,1,64,1,65,1,1,1,67,1,1,1
|
||||
db 69,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
db 53,1,1,1,1,1,1,1,1,1,1,1,1,1,64,62
|
||||
db 64,1,1,1,1,1,1,1,69,1,1,1,1,1,1,1
|
||||
db 33,0,0,0,33,33,33,33,0,0,33,0,0,33,0,0
|
||||
db 28,0,0,0,28,28,28,28,0,0,28,0,0,28,0,0
|
||||
db 26,0,0,0,26,26,26,26,0,0,26,0,0,26,0,0
|
||||
@ -869,42 +864,40 @@ su_patterns:
|
||||
db 28,0,0,0,28,28,28,30,0,0,30,0,0,30,0,0
|
||||
db 32,0,0,0,32,32,32,32,0,0,32,0,0,32,0,0
|
||||
db 33,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
db 45,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
db 40,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
db 45,0,0,0,45,45,45,45,0,0,45,0,0,45,0,0
|
||||
db 40,0,0,0,40,40,40,40,0,0,40,0,0,40,0,0
|
||||
db 38,0,0,0,38,38,38,38,0,0,38,0,0,38,0,0
|
||||
db 35,0,0,0,35,35,35,35,0,0,35,0,0,35,0,0
|
||||
db 40,0,0,0,40,40,40,42,0,0,42,0,0,42,0,0
|
||||
db 47,0,0,0,47,47,47,47,0,0,47,0,0,47,0,0
|
||||
db 21,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
db 40,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
db 44,0,0,0,44,44,44,44,0,0,44,0,0,44,0,0
|
||||
db 49,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
db 44,0,0,0,44,44,44,44,0,0,44,0,0,44,0,0
|
||||
db 64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
db 1,1,1,1,62,1,64,1,65,1,1,1,67,1,1,1
|
||||
db 69,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
db 65,1,1,1,1,1,1,1,1,1,1,1,1,1,64,62
|
||||
db 64,1,1,1,1,1,1,1,69,1,1,1,1,1,1,1
|
||||
db 49,0,0,0,49,49,49,49,0,0,49,0,0,49,0,0
|
||||
db 42,0,0,0,42,42,42,42,0,0,42,0,0,42,0,0
|
||||
db 59,0,0,0,59,59,59,59,0,0,59,0,0,59,0,0
|
||||
db 64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
db 52,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
db 1,1,1,1,50,1,52,1,53,1,1,1,55,1,1,1
|
||||
db 57,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
db 65,1,1,1,1,1,1,1,1,1,1,1,1,1,52,50
|
||||
db 53,1,1,1,1,1,1,1,1,1,1,1,1,1,52,50
|
||||
db 52,1,1,1,1,1,1,1,57,1,1,1,1,1,1,1
|
||||
db 52,0,0,0,52,52,52,52,0,0,52,0,0,52,0,0
|
||||
db 57,0,0,0,57,57,57,57,0,0,57,0,0,57,0,0
|
||||
db 33,1,1,1,33,33,33,33,1,1,33,1,1,33,1,1
|
||||
db 32,1,1,1,32,32,32,32,1,1,32,1,1,32,1,1
|
||||
db 30,1,1,1,30,30,30,30,1,1,30,1,1,30,1,1
|
||||
db 45,1,1,1,45,45,45,45,1,1,45,1,1,45,1,1
|
||||
db 44,1,1,1,44,44,44,44,1,1,44,1,1,44,1,1
|
||||
db 42,1,1,1,42,42,42,42,1,1,42,1,1,42,1,1
|
||||
db 0,0,0,0,0,0,0,0,0,0,0,0,69,1,1,1
|
||||
db 73,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0
|
||||
db 74,1,1,1,1,1,1,1,1,1,0,0,73,1,0,71
|
||||
db 73,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
db 74,1,1,1,1,1,1,1,1,1,1,1,73,1,1,71
|
||||
db 1,1,1,1,0,0,0,0,73,1,1,1,1,1,1,1
|
||||
db 81,1,1,1,1,1,1,1,1,1,1,1,83,1,1,1
|
||||
db 85,1,1,1,1,1,1,1,83,1,1,1,1,1,1,81
|
||||
db 80,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
db 1,1,1,0,0,0,0,0,78,1,1,1,1,1,1,80
|
||||
db 1,1,1,1,0,0,0,0,78,1,1,1,1,1,1,80
|
||||
db 81,1,1,1,1,1,1,1,1,1,0,0,78,1,1,80
|
||||
db 81,1,1,1,1,1,1,1,1,0,0,0,83,1,1,81
|
||||
db 80,1,1,1,1,1,1,1,81,1,1,1,1,1,1,1
|
||||
@ -912,6 +905,7 @@ su_patterns:
|
||||
db 85,1,1,1,1,1,1,1,0,0,0,0,85,1,1,83
|
||||
db 85,1,1,1,1,1,1,1,0,0,0,0,81,1,1,85
|
||||
db 83,1,1,1,1,1,1,1,81,1,1,1,1,1,1,1
|
||||
db 74,1,1,1,1,1,1,1,1,1,1,1,73,1,0,71
|
||||
db 80,1,1,1,1,1,1,1,0,0,0,0,80,1,1,1
|
||||
db 81,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
db 62,1,1,1,62,62,62,62,1,1,62,1,1,62,1,1
|
||||
@ -922,16 +916,15 @@ su_patterns:
|
||||
;-------------------------------------------------------------------------------
|
||||
section .su_tracks data align=1
|
||||
su_tracks:
|
||||
db 21,1,1,2,3,4,5,6,1,7,7,7,7,7,7,7,7,7,7,8,8,9,10,11,12,7,7,8,8,7,7
|
||||
db 13,1,1,1,1,1,14,1,1,15,15,15,15,15,15,15,15,15,15,16,16,17,18,19,20,15,15,16,16,15,15
|
||||
db 0,22,1,1,1,1,22,1,1,16,16,16,16,16,16,16,16,16,16,20,20,15,15,20,23,16,16,20,20,16,16
|
||||
db 0,1,24,1,1,1,24,1,1,25,25,25,25,25,25,25,25,25,25,23,23,26,26,23,27,25,25,23,23,25,25
|
||||
db 0,1,1,28,29,30,31,32,1,33,33,33,33,33,33,33,33,33,33,27,27,34,34,27,1,33,33,27,27,33,33
|
||||
db 0,1,1,1,1,1,1,1,1,35,35,35,35,35,35,35,35,35,35,36,36,37,37,36,36,35,35,36,36,35,35
|
||||
db 0,1,1,1,1,1,1,1,1,38,38,38,38,38,38,38,38,38,38,39,39,40,40,39,39,38,38,39,39,38,38
|
||||
db 0,1,1,1,1,1,1,1,1,1,1,1,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,0
|
||||
db 0,1,1,1,1,1,1,1,1,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59
|
||||
db 0,1,1,1,1,1,1,1,1,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60
|
||||
db 8,1,1,1,1,1,8,1,1,2,2,2,2,2,2,2,2,2,2,3,3,4,5,6,7,2,2,3,3,2,2,2,2,2,2,3,3,4,5,6,7,2,2,3,3,2,2
|
||||
db 0,9,1,1,1,1,9,1,1,10,10,10,10,10,10,10,10,10,10,11,11,12,13,14,15,10,10,11,11,10,10,10,10,10,10,11,11,12,13,14,15,10,10,11,11,10,10
|
||||
db 0,1,16,1,1,1,16,1,1,11,11,11,11,11,11,11,11,11,11,15,15,10,10,15,17,11,11,15,15,11,11,11,11,11,11,15,15,10,10,15,17,11,11,15,15,11,11
|
||||
db 0,1,1,18,19,20,21,22,1,23,23,23,23,23,23,23,23,23,23,17,17,24,24,17,25,23,23,17,17,23,23,23,23,23,23,17,17,24,24,17,25,23,23,17,17,23,23
|
||||
db 0,1,1,26,27,28,29,30,1,31,31,31,31,31,31,31,31,31,31,25,25,32,32,25,1,31,31,25,25,31,31,31,31,31,31,25,25,32,32,25,1,31,31,25,25,31,31
|
||||
db 0,1,1,1,1,1,1,1,1,33,33,33,33,33,33,33,33,33,33,34,34,35,35,34,34,33,33,34,34,33,33,33,33,33,33,34,34,35,35,34,34,33,33,34,34,33,33
|
||||
db 0,1,1,1,1,1,1,1,1,1,1,1,1,36,37,36,38,39,40,41,42,43,44,45,46,47,48,49,41,36,50,36,38,39,40,41,42,43,44,45,46,47,48,49,51,52,0
|
||||
db 0,1,1,1,1,1,1,1,1,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53
|
||||
db 0,1,1,1,1,1,1,1,1,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54
|
||||
;-------------------------------------------------------------------------------
|
||||
; Sample offsets
|
||||
;-------------------------------------------------------------------------------
|
||||
@ -961,7 +954,7 @@ su_sample_offsets:
|
||||
;-------------------------------------------------------------------------------
|
||||
section .su_delay_times data align=1
|
||||
su_delay_times:
|
||||
dw 5230,4533,22810,45620,1116,1188,1276,1356,1422,1492,1556,1618,1140,1212,1300,1380,1446,1516,1580,1642
|
||||
dw 5230,4533,24054,48109,1116,1188,1276,1356,1422,1492,1556,1618,1140,1212,1300,1380,1446,1516,1580,1642
|
||||
|
||||
|
||||
;-------------------------------------------------------------------------------
|
||||
@ -976,7 +969,7 @@ su_patch_opcodes:
|
||||
;-------------------------------------------------------------------------------
|
||||
section .su_patch_operands data align=1
|
||||
su_patch_operands:
|
||||
db 57,82,62,63,128,91,65,0,0,67,41,129,79,63,0,1,65,62,129,57,87,50,64,100,91,54,0,0,64,64,129,79,62,0,1,64,78,129,18,19,31,70,0,66,76,77,31,0,2,64,128,130,89,48,0,2,64,97,130,75,28,128,59,86,0,1,20,32,25,64,88,64,112,62,64,0,3,64,47,129,84,128,37,18,2,1,56,53,91,0,92,89,82,82,64,0,128,64,128,72,80,41,0,0,68,0,0,90,76,52,0,4,81,53,128,0,68,0,0,83,2,39,128,67,68,110,116,64,59,77,56,0,43,89,50,103,79,42,0,5,72,128,128,64,72,0,2,33,128,123,14,4,15,90
|
||||
db 57,82,62,63,107,91,65,0,0,67,41,129,79,63,0,1,65,62,129,57,87,50,64,100,91,54,0,0,64,64,129,79,62,0,1,64,78,129,18,19,31,70,0,66,76,77,31,0,2,64,128,130,89,48,0,2,64,97,130,75,28,128,59,86,0,1,20,32,25,64,88,64,112,62,64,0,3,64,47,129,84,128,37,18,2,1,56,53,91,0,92,89,82,82,64,0,128,64,128,72,80,41,0,0,68,0,0,54,76,52,0,4,81,53,128,0,68,0,0,53,2,39,128,67,68,110,116,64,59,77,56,0,43,89,50,103,79,42,0,5,72,128,128,64,72,0,2,33,128,123,14,4,15,90
|
||||
|
||||
;-------------------------------------------------------------------------------
|
||||
; Constants
|
||||
|
||||
Reference in New Issue
Block a user