// license:BSD-3-Clause // copyright-holders:Robbbert /******************************************************************** Support for Goldstar FC-100 cassette images We don't actually have any info on the cassette frequencies, so it's all a guess. ********************************************************************/ #include #include "fc100_cas.h" #define WAVEENTRY_LOW -32768 #define WAVEENTRY_HIGH 32767 #define FC100_WAV_FREQUENCY 9600 #define FC100_HEADER_BYTES 16 // image size static int fc100_image_size; static int fc100_put_samples(int16_t *buffer, int sample_pos, int count, int level) { if (buffer) { for (int i=0; i> i) & 1); /* stop */ for (i = 0; i<4; i++) samples += fc100_output_bit (buffer, sample_pos + samples, 1); return samples; } static int fc100_handle_cassette(int16_t *buffer, const uint8_t *bytes) { uint32_t sample_count = 0; uint32_t byte_count = 0; uint32_t i; /* start */ for (i=0; i<2155; i++) sample_count += fc100_output_bit(buffer, sample_count, 1); /* header */ for (int i=0; i