I will check following possibilities :
if (cassette_input(state->cassette) <= +0.0) data &= 0x7f;
or
if (cassette_input(state->cassette) > +0.0) data &= 0x7f;
or
if (cassette_input(state->cassette) >= +0.0) data &= 0x7f;
Test data : aventura.wav (168522 bytes)
I tried, the tape is playing but still ignore the end of tape time (No OK).
PS:For each possibility, the mc1000.o file was deleted before.