static void device_unload_floppy(mess_image *image) { struct mess_flopimg *flopimg; flopimg = image_lookuptag(image, FLOPPY_TAG); /* if we have one of our hacky unload procs, call it */ if (flopimg->unload_proc) flopimg->unload_proc(image); floppy_close(flopimg->floppy); flopimg->floppy = NULL; }
void legacy_floppy_image_device::call_unload() { if (m_unload_proc) m_unload_proc(*this); floppy_close(m_floppy); m_floppy = nullptr; /* disk changed */ m_dskchg = CLEAR_LINE; //m_out_dskchg_func(m_dskchg); /* pull disk halfway out of drive */ m_wpt = CLEAR_LINE; //m_out_wpt_func(m_wpt); /* set timer for disk eject */ machine().scheduler().timer_set(attotime::from_msec(250), timer_expired_delegate(FUNC(legacy_floppy_image_device::set_wpt),this), ASSERT_LINE); }
void legacy_floppy_image_device::call_unload() { floppy_drive *flopimg = get_safe_token( this); if (flopimg->unload_proc) flopimg->unload_proc(*this); floppy_close(flopimg->floppy); flopimg->floppy = NULL; /* disk changed */ flopimg->dskchg = CLEAR_LINE; //flopimg->out_dskchg_func(flopimg->dskchg); /* pull disk halfway out of drive */ flopimg->wpt = CLEAR_LINE; flopimg->out_wpt_func(flopimg->wpt); /* set timer for disk eject */ machine().scheduler().timer_set(attotime::from_msec(250), FUNC(set_wpt), ASSERT_LINE, flopimg); }
static void imgtool_floppy_close(imgtool_image *img) { floppy_close(imgtool_floppy(img)); }