diff options
Diffstat (limited to 'src/lib/formats/trs_cas.cpp')
-rw-r--r-- | src/lib/formats/trs_cas.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/lib/formats/trs_cas.cpp b/src/lib/formats/trs_cas.cpp index 17ce879eba7..7d161d7c218 100644 --- a/src/lib/formats/trs_cas.cpp +++ b/src/lib/formats/trs_cas.cpp @@ -43,6 +43,14 @@ static int trs80l2_handle_cas(int16_t *buffer, const uint8_t *casdata) int data_pos = 0, sample_count = 0; bool sw = false; + // Make sure this is a trs80 tape + // Should have some zero bytes then one 0xA5 + while ((cas_size > data_pos) && (casdata[data_pos] == 0x00)) + data_pos++; + if (casdata[data_pos] != 0xA5) + return 0; + + data_pos = 0; while( data_pos < cas_size ) { uint8_t data = casdata[data_pos]; |