Не совсем понял, ты про одну точку входа под разными именами? Типа такого?
//******** Автомат выдачи упр. импульсов ************
switch(step)
{
case 0: break; // ожидание команды
//********** Пауза после получения команды ********
case 1: // 1-я аудиозапись
case 11: // 2-я аудиозапись
case 21: // 3-я аудиозапись
case 31: // 4-я аудиозапись
case 41: // 5-я аудиозапись
case 51: // 6-я аудиозапись
delay = 2000; step++; break; // 2 сек. пауза
//********** Передний фронт импульса **************
case 2: // 1-я аудиозапись
case 12: // 2-я аудиозапись
case 22: // 3-я аудиозапись
case 32: // 4-я аудиозапись
case 42: // 5-я аудиозапись
case 52: // 6-я аудиозапись
if(delay) break; // пора переключать?
OutAudio = 0; // начало импульса
delay = 300; step++; break; // 0,3 сек.
//********** Задний фронт импульса ****************
case 3: // 1-я аудиозапись
case 13: // 2-я аудиозапись
case 23: // 3-я аудиозапись
case 33: // 4-я аудиозапись
case 43: // 5-я аудиозапись
case 53: // 6-я аудиозапись
if(delay) break; // пора переключать?
OutAudio = 1; // конец импульса
delay = 300; // 0,3 сек.
num--; // кол-во импульсов
if(num>0) { step--; break; } // еще импульсы
else step++; // конец импульсов
break;
//**************** Воспроизведение *****************
case 4: // 1-я аудиозапись
delay = 18500; step = 60; break; // 5 сек. на воспроизведение
case 14: // 2-я аудиозапись
delay = 15000; step = 60; break; // 5 сек. на воспроизведение
case 24: // 3-я аудиозапись
delay = 10000; step = 60; break; // 5 сек. на воспроизведение
case 34: // 4-я аудиозапись
delay = 10000; step = 60; break; // 5 сек. на воспроизведение
case 44: // 5-я аудиозапись
delay = 11000; step = 60; break; // 5 сек. на воспроизведение
case 54: // 6-я аудиозапись
delay = 5000; step = 60; break; // 5 сек. на воспроизведение
//********** Досрочное выключение аудио ***********
case 59: // досрочное выключение аудио
OutAudio = 1; // конец импульса
CurrentNum = 7; // исходное
NumAudio = 0; // убрать все запросы
delay = 500; // 0,5 сек.
step++; break;
//********** Выключение аудио *********************
case 60:
//********** Передний фронт импульса **************
if(delay) break; // воспроизведение закончено?
num = 0; // кол-во управляющих импульсов
NumAudio &= ~(1<<CurrentNum); // сброс текущего запроса
OutAudio = 0; // начало импульса
delay = 5000; step++; break; //длит. импульса 5 сек.
//********** Задний фронт импульса ****************
case 61:
if(delay) break; // пора переключать?
OutAudio = 1; // конец импульса
step = 0;
break;
//************ Пауза после включения **************
case 100: if(delay) break;
NumAudio = 0; // после включения исходное
step = 0; break;
}