summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/imagedev/flopdrv.c
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2014-05-02 12:10:55 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2014-05-02 12:10:55 +0000
commit0ac942c9b80ead41b72e4e1dda77e775b6ffc7fa (patch)
tree97d15907bfe8909184259cc3ce3613967dd2709c /src/emu/imagedev/flopdrv.c
parent2d68fa308fec368614a89f276964356e06b4db81 (diff)
Cleanup of image device interfaces (nw)
Diffstat (limited to 'src/emu/imagedev/flopdrv.c')
-rw-r--r--src/emu/imagedev/flopdrv.c46
1 files changed, 15 insertions, 31 deletions
diff --git a/src/emu/imagedev/flopdrv.c b/src/emu/imagedev/flopdrv.c
index 8bb9aedc535..d3fb79073ee 100644
--- a/src/emu/imagedev/flopdrv.c
+++ b/src/emu/imagedev/flopdrv.c
@@ -122,7 +122,6 @@ void legacy_floppy_image_device::floppy_drive_init()
/* initialise flags */
m_flags = 0;
m_index_pulse_callback = NULL;
- m_ready_state_change_callback = NULL;
m_index_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(legacy_floppy_image_device::floppy_drive_index_callback),this));
m_idx = 0;
@@ -194,10 +193,7 @@ void legacy_floppy_image_device::floppy_drive_set_flag_state(int flag, int state
if (flag & FLOPPY_DRIVE_READY)
{
/* trigger state change callback */
- m_out_rdy_func(new_state ? ASSERT_LINE : CLEAR_LINE);
-
- if (m_ready_state_change_callback)
- m_ready_state_change_callback(m_controller, this, new_state);
+ //m_out_rdy_func(new_state ? ASSERT_LINE : CLEAR_LINE);
}
}
}
@@ -270,7 +266,7 @@ void legacy_floppy_image_device::floppy_drive_seek(signed int signed_tracks)
/* set track 0 flag */
m_tk00 = (m_current_track == 0) ? CLEAR_LINE : ASSERT_LINE;
- m_out_tk00_func(m_tk00);
+ //m_out_tk00_func(m_tk00);
/* clear disk changed flag */
m_dskchg = ASSERT_LINE;
@@ -393,11 +389,6 @@ void legacy_floppy_image_device::floppy_drive_set_index_pulse_callback(void (*ca
m_index_pulse_callback = callback;
}
-void legacy_floppy_image_device::floppy_drive_set_ready_state_change_callback(void (*callback)(device_t *controller,device_t *img, int state))
-{
- m_ready_state_change_callback = callback;
-}
-
int legacy_floppy_image_device::floppy_drive_get_current_track()
{
return m_current_track;
@@ -473,7 +464,7 @@ error:
TIMER_CALLBACK_MEMBER( legacy_floppy_image_device::set_wpt )
{
m_wpt = param;
- m_out_wpt_func(param);
+ //m_out_wpt_func(param);
}
legacy_floppy_image_device *floppy_get_device(running_machine &machine,int drive)
@@ -645,7 +636,7 @@ WRITE_LINE_MEMBER( legacy_floppy_image_device::floppy_stp_w )
}
/* update track 0 line with new status */
- m_out_tk00_func(m_tk00);
+ //m_out_tk00_func(m_tk00);
}
m_stp = state;
@@ -704,6 +695,7 @@ const device_type LEGACY_FLOPPY = &device_creator<legacy_floppy_image_device>;
legacy_floppy_image_device::legacy_floppy_image_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, LEGACY_FLOPPY, "Floppy Disk", tag, owner, clock, "legacy_floppy_image", __FILE__),
device_image_interface(mconfig, *this),
+ m_out_idx_func(*this),
m_drtn(0),
m_stp(0),
m_wtg(0),
@@ -721,7 +713,6 @@ legacy_floppy_image_device::legacy_floppy_image_device(const machine_config &mco
m_current_track(0),
m_index_pulse_callback(NULL),
m_rpm(0.0f),
- m_ready_state_change_callback(NULL),
m_id_index(0),
m_controller(NULL),
m_floppy(NULL),
@@ -736,6 +727,7 @@ legacy_floppy_image_device::legacy_floppy_image_device(const machine_config &mco
legacy_floppy_image_device::legacy_floppy_image_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source)
: device_t(mconfig, type, name, tag, owner, clock, shortname, source),
device_image_interface(mconfig, *this),
+ m_out_idx_func(*this),
m_drtn(0),
m_stp(0),
m_wtg(0),
@@ -753,7 +745,6 @@ legacy_floppy_image_device::legacy_floppy_image_device(const machine_config &mco
m_current_track(0),
m_index_pulse_callback(NULL),
m_rpm(0.0f),
- m_ready_state_change_callback(NULL),
m_id_index(0),
m_controller(NULL),
m_floppy(NULL),
@@ -786,20 +777,20 @@ void legacy_floppy_image_device::device_start()
m_active = FALSE;
/* resolve callbacks */
- m_out_idx_func.resolve(m_config->out_idx_func, *this);
- m_in_mon_func.resolve(m_config->in_mon_func, *this);
- m_out_tk00_func.resolve(m_config->out_tk00_func, *this);
- m_out_wpt_func.resolve(m_config->out_wpt_func, *this);
- m_out_rdy_func.resolve(m_config->out_rdy_func, *this);
+ m_out_idx_func.resolve_safe();
+ //m_in_mon_func.resolve(m_config->in_mon_func, *this);
+ //m_out_tk00_func.resolve(m_config->out_tk00_func, *this);
+ //m_out_wpt_func.resolve(m_config->out_wpt_func, *this);
+ //m_out_rdy_func.resolve(m_config->out_rdy_func, *this);
// m_out_dskchg_func.resolve(m_config->out_dskchg_func, *this);
/* by default we are not write-protected */
m_wpt = ASSERT_LINE;
- m_out_wpt_func(m_wpt);
+ //m_out_wpt_func(m_wpt);
/* not at track 0 */
m_tk00 = ASSERT_LINE;
- m_out_tk00_func(m_tk00);
+ //m_out_tk00_func(m_tk00);
/* motor off */
m_mon = ASSERT_LINE;
@@ -850,7 +841,7 @@ bool legacy_floppy_image_device::call_load()
/* push disk halfway into drive */
m_wpt = CLEAR_LINE;
- m_out_wpt_func(m_wpt);
+ //m_out_wpt_func(m_wpt);
/* set timer for disk load */
int next_wpt;
@@ -879,19 +870,12 @@ void legacy_floppy_image_device::call_unload()
/* pull disk halfway out of drive */
m_wpt = CLEAR_LINE;
- m_out_wpt_func(m_wpt);
+ //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_display_info()
-{
- if (((floppy_interface*)(this)->static_config())->device_displayinfo) {
- ((floppy_interface*)(this)->static_config())->device_displayinfo(*this);
- }
-}
-
bool legacy_floppy_image_device::is_creatable() const
{
int cnt = 0;