// license:BSD-3-Clause // copyright-holders:Barry Rodewald /* * Fujitsu FM-7 series cassette handling */ #include "fm7_cas.h" #include "multibyte.h" #include #define WAVE_HIGH 0x5a9e #define WAVE_LOW -0x5a9e static int cas_size; // FIXME: global variable prevents multiple instances static int fm7_fill_wave(int16_t* buffer, uint16_t data, int sample_pos) { int sample_count = 0; int x = 0; int count = (data & 0x7fff); if(data & 0x8000) { for(x=0;xlegacy_identify(opts, &fm7_legacy_fill_wave); } static cassette_image::error fm7_cas_load(cassette_image *cassette) { return cassette->legacy_construct(&fm7_legacy_fill_wave); } static const cassette_image::Format fm7_cassette_format = { "t77", fm7_cas_identify, fm7_cas_load, nullptr }; CASSETTE_FORMATLIST_START(fm7_cassette_formats) CASSETTE_FORMAT(fm7_cassette_format) CASSETTE_FORMATLIST_END