summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/imagedev/cassette.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/imagedev/cassette.cpp')
-rw-r--r--src/devices/imagedev/cassette.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/devices/imagedev/cassette.cpp b/src/devices/imagedev/cassette.cpp
index 62f2d9306c3..622a6994fec 100644
--- a/src/devices/imagedev/cassette.cpp
+++ b/src/devices/imagedev/cassette.cpp
@@ -252,11 +252,16 @@ void cassette_image_device::device_start()
bool cassette_image_device::call_create(int format_type, util::option_resolution *format_options)
{
- return call_load();
+ return internal_load(true);
}
bool cassette_image_device::call_load()
{
+ return internal_load(false);
+}
+
+bool cassette_image_device::internal_load(bool is_create)
+{
casserr_t err;
int cassette_flags;
const char *extension;
@@ -264,7 +269,7 @@ bool cassette_image_device::call_load()
device_image_interface *image = nullptr;
interface(image);
- if ((has_been_created()) || (length() == 0))
+ if (is_create || (length() == 0))
{
/* creating an image */
err = cassette_create((void *)image, &image_ioprocs, &wavfile_format, m_create_opts, CASSETTE_FLAG_READWRITE|CASSETTE_FLAG_SAVEONEXIT, &m_cassette);