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;
}
Beispiel #2
0
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);
}
Beispiel #3
0
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);
}
Beispiel #4
0
static void imgtool_floppy_close(imgtool_image *img)
{
	floppy_close(imgtool_floppy(img));
}