; ********************************************************* ; * ; * PROXY ROUTINES ; * ; ********************************************************* section .text bits 32 %ifndef PATT %define melodypatterns 0 %define drumpatterns 0 %define ROWS 0 %define PATT 0 %endif global _KZG_303_proxy _KZG_303_proxy: instrumentloop: xor eax, eax lodsb pushad shl eax,4 lea esi,[melodypatterns+eax] call _KZG_303@0 popad add edi,PATT*4 loop instrumentloop ret global _KZG_drum_proxy _KZG_drum_proxy: mov ebx,ecx ;mov ecx,ROWS push byte ROWS pop ecx drumloop: xor eax, eax lodsb pushad mov eax,[drumpatterns+eax*2] mov edx,PATT/4 mov esi,ebx call _KZG_beat@0 popad add edi,PATT*4 loop drumloop ret