summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/bus/cbmiec
diff options
context:
space:
mode:
author Curt Coder <curtcoder@mail.com>2014-02-03 15:59:54 +0000
committer Curt Coder <curtcoder@mail.com>2014-02-03 15:59:54 +0000
commitb10cef380b043351149632cd53c67bf1e4f0bd00 (patch)
treedca9c763f1b07d1d51b2173d12fb6f6aab532e9c /src/emu/bus/cbmiec
parent44add8d8efd1fe139ae490ccd2c91b1a86dad65a (diff)
(MESS) Refactored the Commodore 1541/1551/1571/2031 disk drives to use the modern floppy system. [Curt Coder]
Diffstat (limited to 'src/emu/bus/cbmiec')
-rw-r--r--src/emu/bus/cbmiec/c1541.c48
-rw-r--r--src/emu/bus/cbmiec/c1541.h19
-rw-r--r--src/emu/bus/cbmiec/c1571.c132
-rw-r--r--src/emu/bus/cbmiec/c1571.h16
4 files changed, 70 insertions, 145 deletions
diff --git a/src/emu/bus/cbmiec/c1541.c b/src/emu/bus/cbmiec/c1541.c
index b0be3d320ab..621c2b5d4a6 100644
--- a/src/emu/bus/cbmiec/c1541.c
+++ b/src/emu/bus/cbmiec/c1541.c
@@ -613,7 +613,7 @@ READ8_MEMBER( c1541c_device::via0_pa_r )
*/
- return !floppy_tk00_r(m_image);
+ return !m_floppy->trk00_r();
}
@@ -644,7 +644,7 @@ READ8_MEMBER( base_c1541_device::via1_pb_r )
UINT8 data = 0;
// write protect sense
- data |= !floppy_wpt_r(m_image) << 4;
+ data |= !m_floppy->wpt_r() << 4;
// SYNC detect line
data |= m_ga->sync_r() << 7;
@@ -699,40 +699,24 @@ WRITE_LINE_MEMBER( base_c1541_device::byte_w )
m_via1->write_ca1(state);
}
-static C64H156_INTERFACE( ga_intf )
-{
- DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, base_c1541_device, atn_w),
- DEVCB_NULL,
- DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, base_c1541_device, byte_w)
-};
-
//-------------------------------------------------
-// LEGACY_FLOPPY_OPTIONS( c1541 )
+// SLOT_INTERFACE( c1540_floppies )
//-------------------------------------------------
-static LEGACY_FLOPPY_OPTIONS_START( c1541 )
- LEGACY_FLOPPY_OPTION( c1541, "g64", "Commodore 1541 GCR Disk Image", g64_dsk_identify, g64_dsk_construct, NULL, NULL )
- LEGACY_FLOPPY_OPTION( c1541, "d64", "Commodore 1541 Disk Image", d64_dsk_identify, d64_dsk_construct, NULL, NULL )
-LEGACY_FLOPPY_OPTIONS_END
+static SLOT_INTERFACE_START( c1540_floppies )
+ SLOT_INTERFACE( "525ssqd", FLOPPY_525_SSQD )
+SLOT_INTERFACE_END
//-------------------------------------------------
-// floppy_interface c1541_floppy_interface
+// FLOPPY_FORMATS( floppy_formats )
//-------------------------------------------------
-static const floppy_interface c1541_floppy_interface =
-{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- FLOPPY_STANDARD_5_25_SSDD,
- LEGACY_FLOPPY_OPTIONS_NAME(c1541),
- "floppy_5_25",
- NULL
-};
+FLOPPY_FORMATS_MEMBER( base_c1541_device::floppy_formats )
+ FLOPPY_D64_FORMAT,
+ FLOPPY_G64_FORMAT
+FLOPPY_FORMATS_END
READ8_MEMBER( c1541_prologic_dos_classic_device::pia_r )
@@ -802,8 +786,10 @@ static MACHINE_CONFIG_FRAGMENT( c1541 )
MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(C64H156_TAG, c64h156_device, oe_w))
MCFG_VIA6522_IRQ_HANDLER(WRITELINE(base_c1541_device, via1_irq_w))
- MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, c1541_floppy_interface)
- MCFG_64H156_ADD(C64H156_TAG, XTAL_16MHz, ga_intf)
+ MCFG_DEVICE_ADD(C64H156_TAG, C64H156, XTAL_16MHz)
+ MCFG_64H156_ATN_CALLBACK(WRITELINE(base_c1541_device, atn_w))
+ MCFG_64H156_BYTE_CALLBACK(WRITELINE(base_c1541_device, byte_w))
+ MCFG_FLOPPY_DRIVE_ADD(C64H156_TAG":0", c1540_floppies, "525ssqd", base_c1541_device::floppy_formats)
MACHINE_CONFIG_END
@@ -974,7 +960,7 @@ base_c1541_device:: base_c1541_device(const machine_config &mconfig, device_type
m_via0(*this, M6522_0_TAG),
m_via1(*this, M6522_1_TAG),
m_ga(*this, C64H156_TAG),
- m_image(*this, FLOPPY_0),
+ m_floppy(*this, C64H156_TAG":0:525ssqd"),
m_address(*this, "ADDRESS"),
m_data_out(1),
m_via0_irq(CLEAR_LINE),
@@ -1075,7 +1061,7 @@ c1541_prologic_dos_classic_device::c1541_prologic_dos_classic_device(const machi
void base_c1541_device::device_start()
{
// install image callbacks
- m_ga->set_floppy(m_image);
+ m_ga->set_floppy(m_floppy);
// register for state saving
save_item(NAME(m_data_out));
diff --git a/src/emu/bus/cbmiec/c1541.h b/src/emu/bus/cbmiec/c1541.h
index c4eca1447cd..01ea4b10b6d 100644
--- a/src/emu/bus/cbmiec/c1541.h
+++ b/src/emu/bus/cbmiec/c1541.h
@@ -17,14 +17,11 @@
#include "emu.h"
#include "cbmiec.h"
#include "bus/c64/bn1541.h"
+#include "bus/centronics/ctronics.h"
#include "cpu/m6502/m6502.h"
-#include "imagedev/flopdrv.h"
-#include "formats/d64_dsk.h"
-#include "formats/g64_dsk.h"
#include "machine/64h156.h"
#include "machine/6522via.h"
#include "machine/6821pia.h"
-#include "bus/centronics/ctronics.h"
@@ -43,13 +40,17 @@
// ======================> base_c1541_device
class base_c1541_device : public device_t,
- public device_cbm_iec_interface,
- public device_c64_floppy_parallel_interface
+ public device_cbm_iec_interface,
+ public device_c64_floppy_parallel_interface
{
public:
// construction/destruction
base_c1541_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);
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const;
+ virtual ioport_constructor device_input_ports() const;
+
DECLARE_WRITE_LINE_MEMBER( via0_irq_w );
virtual DECLARE_READ8_MEMBER( via0_pa_r );
DECLARE_WRITE8_MEMBER( via0_pa_w );
@@ -62,9 +63,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( atn_w );
DECLARE_WRITE_LINE_MEMBER( byte_w );
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const;
- virtual ioport_constructor device_input_ports() const;
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
protected:
// device-level overrides
@@ -91,7 +90,7 @@ protected:
required_device<via6522_device> m_via0;
required_device<via6522_device> m_via1;
required_device<c64h156_device> m_ga;
- required_device<legacy_floppy_image_device> m_image;
+ required_device<floppy_image_device> m_floppy;
required_ioport m_address;
// IEC bus
diff --git a/src/emu/bus/cbmiec/c1571.c b/src/emu/bus/cbmiec/c1571.c
index 48ca54e36d9..02045d938dd 100644
--- a/src/emu/bus/cbmiec/c1571.c
+++ b/src/emu/bus/cbmiec/c1571.c
@@ -13,8 +13,7 @@
TODO:
- - modernize floppy
- - refactor 64H156
+ - WD1770 set_floppy
- 1571CR
- MOS5710
- ICT Mini Chief MC-20
@@ -23,7 +22,6 @@
*/
-#include "c1541.h"
#include "c1571.h"
@@ -201,7 +199,7 @@ READ8_MEMBER( c1571_device::via0_pa_r )
UINT8 data = 0;
// track 0 sense
- data |= floppy_tk00_r(m_image);
+ data |= m_floppy->trk00_r();
// byte ready
data |= m_ga->byte_r() << 7;
@@ -230,7 +228,7 @@ WRITE8_MEMBER( c1571_device::via0_pa_w )
m_ser_dir = BIT(data, 1);
// side select
- m_ga->set_side(BIT(data, 2));
+ m_floppy->ss_w(BIT(data, 2));
// 1/2 MHz
int clock_1_2 = BIT(data, 5);
@@ -272,7 +270,7 @@ WRITE8_MEMBER( c1571cr_device::via0_pa_w )
*/
// side select
- m_ga->set_side(BIT(data, 2));
+ m_floppy->ss_w(BIT(data, 2));
// 1/2 MHz
int clock_1_2 = BIT(data, 5);
@@ -429,7 +427,7 @@ READ8_MEMBER( c1571_device::via1_pb_r )
UINT8 data = 0;
// write protect sense
- data |= !floppy_wpt_r(m_image) << 4;
+ data |= !m_floppy->wpt_r() << 4;
// SYNC detect line
data |= m_ga->sync_r() << 7;
@@ -490,12 +488,14 @@ WRITE_LINE_MEMBER( c1571_device::cia_pc_w )
WRITE_LINE_MEMBER( c1571_device::cia_cnt_w )
{
m_cnt_out = state;
+
update_iec();
}
WRITE_LINE_MEMBER( c1571_device::cia_sp_w )
{
m_sp_out = state;
+
update_iec();
}
@@ -555,95 +555,39 @@ WRITE8_MEMBER( mini_chief_device::cia_pb_w )
WRITE_LINE_MEMBER( c1571_device::byte_w )
{
m_via1->write_ca1(state);
+
m_maincpu->set_input_line(M6502_SET_OVERFLOW, state);
}
-static C64H156_INTERFACE( ga_intf )
-{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c1571_device, byte_w)
-};
-
-
-//-------------------------------------------------
-// SLOT_INTERFACE( c1570_floppies )
-//-------------------------------------------------
-/*
-static SLOT_INTERFACE_START( c1570_floppies )
- SLOT_INTERFACE( "525ssdd", FLOPPY_525_SSDD )
-SLOT_INTERFACE_END
-*/
//-------------------------------------------------
// SLOT_INTERFACE( c1571_floppies )
//-------------------------------------------------
-/*
+
static SLOT_INTERFACE_START( c1571_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
+ SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
SLOT_INTERFACE_END
-*/
-
-//-------------------------------------------------
-// LEGACY_FLOPPY_OPTIONS( c1571 )
-//-------------------------------------------------
-
-static LEGACY_FLOPPY_OPTIONS_START( c1571 )
- LEGACY_FLOPPY_OPTION( c1571, "g64,g71", "Commodore 1541/1571 GCR Disk Image", g64_dsk_identify, g64_dsk_construct, NULL, NULL )
- LEGACY_FLOPPY_OPTION( c1571, "d64", "Commodore 1541 Disk Image", d64_dsk_identify, d64_dsk_construct, NULL, NULL )
- LEGACY_FLOPPY_OPTION( c1571, "d71", "Commodore 1571 Disk Image", d71_dsk_identify, d64_dsk_construct, NULL, NULL )
-LEGACY_FLOPPY_OPTIONS_END
//-------------------------------------------------
// floppy_interface c1571_floppy_interface
//-------------------------------------------------
-WRITE_LINE_MEMBER( c1571_device::wpt_w )
+void c1571_device::wpt_callback(floppy_image_device *floppy, int state)
{
m_via0->write_ca2(!state);
}
-static const floppy_interface c1571_floppy_interface =
-{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c1571_device, wpt_w),
- DEVCB_NULL,
- FLOPPY_STANDARD_5_25_DSDD,
- LEGACY_FLOPPY_OPTIONS_NAME(c1571),
- "floppy_5_25",
- NULL
-};
-
-
-//-------------------------------------------------
-// LEGACY_FLOPPY_OPTIONS( c1541 )
-//-------------------------------------------------
-
-static LEGACY_FLOPPY_OPTIONS_START( c1541 )
- LEGACY_FLOPPY_OPTION( c1541, "g64", "Commodore 1541 GCR Disk Image", g64_dsk_identify, g64_dsk_construct, NULL, NULL )
- LEGACY_FLOPPY_OPTION( c1541, "d64", "Commodore 1541 Disk Image", d64_dsk_identify, d64_dsk_construct, NULL, NULL )
-LEGACY_FLOPPY_OPTIONS_END
-
//-------------------------------------------------
-// floppy_interface c1570_floppy_interface
+// FLOPPY_FORMATS( floppy_formats )
//-------------------------------------------------
-static const floppy_interface c1570_floppy_interface =
-{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c1571_device, wpt_w),
- DEVCB_NULL,
- FLOPPY_STANDARD_5_25_SSDD,
- LEGACY_FLOPPY_OPTIONS_NAME(c1541),
- "floppy_5_25",
- NULL
-};
+FLOPPY_FORMATS_MEMBER( c1571_device::floppy_formats )
+ FLOPPY_D64_FORMAT,
+ FLOPPY_G64_FORMAT,
+ FLOPPY_D71_FORMAT
+FLOPPY_FORMATS_END
//-------------------------------------------------
@@ -699,11 +643,11 @@ static MACHINE_CONFIG_FRAGMENT( c1570 )
MCFG_MOS6526_ADD(M6526_TAG, XTAL_16MHz/16, 0, WRITELINE(c1571_device, cia_irq_w))
MCFG_MOS6526_SERIAL_CALLBACKS(WRITELINE(c1571_device, cia_cnt_w), WRITELINE(c1571_device, cia_sp_w))
MCFG_MOS6526_PORT_B_CALLBACKS(READ8(c1571_device, cia_pb_r), WRITE8(c1571_device, cia_pb_w), WRITELINE(c1571_device, cia_pc_w))
+
MCFG_WD1770x_ADD(WD1770_TAG, XTAL_16MHz/2)
-
- MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, c1570_floppy_interface)
- //MCFG_FLOPPY_DRIVE_ADD(WD1770_TAG":0", c1570_floppies, "525ssdd", 0, c1571_device::floppy_formats)
- MCFG_64H156_ADD(C64H156_TAG, XTAL_16MHz, ga_intf)
+ MCFG_DEVICE_ADD(C64H156_TAG, C64H156, XTAL_16MHz)
+ MCFG_64H156_BYTE_CALLBACK(WRITELINE(c1571_device, byte_w))
+ MCFG_FLOPPY_DRIVE_ADD(C64H156_TAG":0", c1571_floppies, "525qd", c1571_device::floppy_formats)
MACHINE_CONFIG_END
@@ -746,11 +690,11 @@ static MACHINE_CONFIG_FRAGMENT( c1571 )
MCFG_MOS6526_ADD(M6526_TAG, XTAL_16MHz/16, 0, WRITELINE(c1571_device, cia_irq_w))
MCFG_MOS6526_SERIAL_CALLBACKS(WRITELINE(c1571_device, cia_cnt_w), WRITELINE(c1571_device, cia_sp_w))
MCFG_MOS6526_PORT_B_CALLBACKS(READ8(c1571_device, cia_pb_r), WRITE8(c1571_device, cia_pb_w), WRITELINE(c1571_device, cia_pc_w))
+
MCFG_WD1770x_ADD(WD1770_TAG, XTAL_16MHz/2)
-
- MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, c1571_floppy_interface)
- //MCFG_FLOPPY_DRIVE_ADD(WD1770_TAG":0", c1571_floppies, "525dd", 0, c1571_device::floppy_formats)
- MCFG_64H156_ADD(C64H156_TAG, XTAL_16MHz, ga_intf)
+ MCFG_DEVICE_ADD(C64H156_TAG, C64H156, XTAL_16MHz)
+ MCFG_64H156_BYTE_CALLBACK(WRITELINE(c1571_device, byte_w))
+ MCFG_FLOPPY_DRIVE_ADD(C64H156_TAG":0", c1571_floppies, "525qd", c1571_device::floppy_formats)
MACHINE_CONFIG_END
@@ -793,10 +737,9 @@ static MACHINE_CONFIG_FRAGMENT( c1571cr )
//MCFG_MOS5710_ADD(M5710_TAG, XTAL_16MHz/16, 0)
MCFG_WD1770x_ADD(WD1770_TAG, XTAL_16MHz/2)
-
- MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, c1571_floppy_interface)
- //MCFG_FLOPPY_DRIVE_ADD(WD1770_TAG":0", c1571_floppies, "525dd", 0, c1571_device::floppy_formats)
- MCFG_64H156_ADD(C64H156_TAG, XTAL_16MHz, ga_intf)
+ MCFG_DEVICE_ADD(C64H156_TAG, C64H156, XTAL_16MHz)
+ MCFG_64H156_BYTE_CALLBACK(WRITELINE(c1571_device, byte_w))
+ MCFG_FLOPPY_DRIVE_ADD(C64H156_TAG":0", c1571_floppies, "525qd", c1571_device::floppy_formats)
MACHINE_CONFIG_END
@@ -839,11 +782,11 @@ static MACHINE_CONFIG_FRAGMENT( mini_chief )
MCFG_MOS6526_ADD(M6526_TAG, XTAL_16MHz/16, 0, WRITELINE(c1571_device, cia_irq_w))
MCFG_MOS6526_SERIAL_CALLBACKS(WRITELINE(c1571_device, cia_cnt_w), WRITELINE(c1571_device, cia_sp_w))
MCFG_MOS6526_PORT_B_CALLBACKS(READ8(c1571_device, cia_pb_r), WRITE8(c1571_device, cia_pb_w), WRITELINE(c1571_device, cia_pc_w))
- MCFG_WD1770x_ADD(WD1770_TAG, XTAL_16MHz/2)
- MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, c1571_floppy_interface)
- //MCFG_FLOPPY_DRIVE_ADD(WD1770_TAG":0", c1571_floppies, "525dd", 0, c1571_device::floppy_formats)
- MCFG_64H156_ADD(C64H156_TAG, XTAL_16MHz, ga_intf)
+ MCFG_WD1770x_ADD(WD1770_TAG, XTAL_16MHz/2)
+ MCFG_DEVICE_ADD(C64H156_TAG, C64H156, XTAL_16MHz)
+ MCFG_64H156_BYTE_CALLBACK(WRITELINE(c1571_device, byte_w))
+ MCFG_FLOPPY_DRIVE_ADD(C64H156_TAG":0", c1571_floppies, "525qd", c1571_device::floppy_formats)
MCFG_ISA8_BUS_ADD(ISA_BUS_TAG, M6502_TAG, isabus_intf)
MCFG_ISA8_SLOT_ADD(ISA_BUS_TAG, "isa1", mini_chief_isa8_cards, "wd1002a_wx1", false)
@@ -904,7 +847,7 @@ c1571_device::c1571_device(const machine_config &mconfig, device_type type, cons
m_cia(*this, M6526_TAG),
m_fdc(*this, WD1770_TAG),
m_ga(*this, C64H156_TAG),
- m_image(*this, FLOPPY_0),
+ m_floppy(*this, C64H156_TAG":0:525qd"),
m_address(*this, "ADDRESS"),
m_1_2mhz(0),
m_data_out(1),
@@ -927,7 +870,7 @@ c1571_device::c1571_device(const machine_config &mconfig, const char *tag, devic
m_cia(*this, M6526_TAG),
m_fdc(*this, WD1770_TAG),
m_ga(*this, C64H156_TAG),
- m_image(*this, FLOPPY_0),
+ m_floppy(*this, C64H156_TAG":0:525qd"),
m_address(*this, "ADDRESS"),
m_1_2mhz(0),
m_data_out(1),
@@ -937,7 +880,6 @@ c1571_device::c1571_device(const machine_config &mconfig, const char *tag, devic
m_via0_irq(CLEAR_LINE),
m_via1_irq(CLEAR_LINE),
m_cia_irq(CLEAR_LINE)
- //m_floppy(*this, WD1770_TAG":0:525dd")
{
}
@@ -948,7 +890,6 @@ c1571_device::c1571_device(const machine_config &mconfig, const char *tag, devic
c1570_device::c1570_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: c1571_device(mconfig, C1570, "C1570", tag, owner, clock, "c1570", __FILE__)
- //m_floppy(*this, WD1770_TAG":0:525ssdd")
{
}
@@ -959,7 +900,6 @@ c1570_device::c1570_device(const machine_config &mconfig, const char *tag, devic
c1571cr_device::c1571cr_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: c1571_device(mconfig, C1571CR, "C1571CR", tag, owner, clock, "c1571cr", __FILE__)
- //m_floppy(*this, WD1770_TAG":0:525dd")
{
}
@@ -970,7 +910,6 @@ c1571cr_device::c1571cr_device(const machine_config &mconfig, const char *tag, d
mini_chief_device::mini_chief_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: c1571_device(mconfig, MINI_CHIEF, "ICT Mini Chief", tag, owner, clock, "minichif", __FILE__)
- //m_floppy(*this, WD1770_TAG":0:525dd")
{
}
@@ -982,8 +921,9 @@ mini_chief_device::mini_chief_device(const machine_config &mconfig, const char *
void c1571_device::device_start()
{
// install image callbacks
- m_ga->set_floppy(m_image);
+ m_ga->set_floppy(m_floppy);
//m_fdc->set_floppy(m_floppy);
+ m_floppy->setup_wpt_cb(floppy_image_device::wpt_cb(FUNC(c1571_device::wpt_callback), this));
// register for state saving
save_item(NAME(m_1_2mhz));
diff --git a/src/emu/bus/cbmiec/c1571.h b/src/emu/bus/cbmiec/c1571.h
index eed4eb3da77..73406ecadfe 100644
--- a/src/emu/bus/cbmiec/c1571.h
+++ b/src/emu/bus/cbmiec/c1571.h
@@ -18,15 +18,12 @@
#include "cbmiec.h"
#include "bus/c64/bn1541.h"
#include "cpu/m6502/m6502.h"
-#include "imagedev/flopdrv.h"
-#include "formats/d64_dsk.h"
-#include "formats/g64_dsk.h"
#include "machine/64h156.h"
#include "machine/6522via.h"
#include "machine/isa.h"
+#include "machine/isa_wd1002a_wx1.h"
#include "machine/mos6526.h"
#include "machine/wd_fdc.h"
-#include "machine/isa_wd1002a_wx1.h"
@@ -45,8 +42,8 @@
// ======================> c1571_device
class c1571_device : public device_t,
- public device_cbm_iec_interface,
- public device_c64_floppy_parallel_interface
+ public device_cbm_iec_interface,
+ public device_c64_floppy_parallel_interface
{
public:
// construction/destruction
@@ -81,6 +78,10 @@ public:
DECLARE_WRITE_LINE_MEMBER( wpt_w );
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
+
+ void wpt_callback(floppy_image_device *floppy, int state);
+
protected:
// device-level overrides
virtual void device_start();
@@ -110,8 +111,7 @@ protected:
required_device<mos6526_device> m_cia;
required_device<wd1770_t> m_fdc;
required_device<c64h156_device> m_ga;
- required_device<legacy_floppy_image_device> m_image;
- //required_device<floppy_image_device> m_floppy;
+ required_device<floppy_image_device> m_floppy;
required_ioport m_address;
// signals