From 3f1e25efc4c1e3d5e50fdf0dde719407fd7d3adb Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Mon, 5 Dec 2011 09:50:39 +0000 Subject: [PATCH] Fix softload of cassettes (no whatsnew) --- src/emu/imagedev/cassette.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/emu/imagedev/cassette.c b/src/emu/imagedev/cassette.c index 0ff99eccc01..e2061814d12 100644 --- a/src/emu/imagedev/cassette.c +++ b/src/emu/imagedev/cassette.c @@ -270,7 +270,17 @@ bool cassette_image_device::call_load() { is_writable = !is_readonly(); cassette_flags = is_writable ? (CASSETTE_FLAG_READWRITE|CASSETTE_FLAG_SAVEONEXIT) : CASSETTE_FLAG_READONLY; - extension = filetype(); + if (software_entry()==NULL) { + extension = filetype(); + } else { + astring fname = astring(m_mame_file->filename()); + int loc = fname.rchr(0,'.'); + if (loc!=-1) { + extension = fname.substr(loc + 1,fname.len()-loc).cstr(); + } else { + extension = ""; + } + } err = cassette_open_choices((void *)image, &image_ioprocs, extension, m_formats, cassette_flags, &m_cassette); /* this is kind of a hack */