- MM_TSTART;
-
- switch(recstate) {
- case MM_FIRST_FAST_SAMPLE:
- recstate = MM_FIRST_SLOW_SAMPLE;
- break;
-
- case MM_FIRST_SLOW_SAMPLE:
- bitno = 0;
-
- case MM_SLOW_SAMPLE:
- recstate = MM_SLOW_WAIT_FOR_CLOCK_DELAY;
- break;
-
- case MM_SLOW_WAIT_FOR_CLOCK_DELAY:
- recstate = MM_SLOW_WAIT_FOR_CLOCK;
- return;
-
- case MM_FAST_SAMPLE:
- recstate = MM_FAST_WAIT_FOR_CLOCK;
- break;
-
- case MM_FAST_WAIT_FOR_CLOCK: /* A timeout! */
- if (mm_rec_tolerated_timeouts)
- mm_rec_tolerated_timeouts--;
- else
- recstate = MM_IDLE;
- return;
-
- case MM_SLOW_SAMPLE_DELAY:
- recstate = MM_SLOW_SAMPLE;
- return;
-
- case MM_SLOW_WAIT_FOR_CLOCK:
- if (mm_rec_tolerated_timeouts) {
- mm_rec_tolerated_timeouts--;
- recstate = MM_SLOW_WAIT_FOR_CLOCK_DELAY;