; ********************************************************* ; * ; * BEAT DISPATCH routine ; * ; * AX = beat pattern ; * EDX = buffer length ; * EDI = destination buffer ; * ESI = beat length ; * ; ********************************************************* section .text bits 32 global _KZG_beat@0 _KZG_beat@0: ;shr edx,2 ;mov ecx,16 push byte 16 pop ecx _KZG_beat_onetrigger: rol ax,1 jnc _KZG_beat_nope pushad mov ecx,esi call _KZG_drum@0 popad _KZG_beat_nope: add edi,edx loop _KZG_beat_onetrigger ret section .data