diff options
Diffstat (limited to 'src/devices/bus/cbmiec')
-rw-r--r-- | src/devices/bus/cbmiec/fd2000.cpp | 48 | ||||
-rw-r--r-- | src/devices/bus/cbmiec/fd2000.h | 2 |
2 files changed, 24 insertions, 26 deletions
diff --git a/src/devices/bus/cbmiec/fd2000.cpp b/src/devices/bus/cbmiec/fd2000.cpp index 94256ad02d1..2cecbec41e2 100644 --- a/src/devices/bus/cbmiec/fd2000.cpp +++ b/src/devices/bus/cbmiec/fd2000.cpp @@ -215,36 +215,32 @@ FLOPPY_FORMATS_END // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(fd2000_device::device_add_mconfig) - MCFG_DEVICE_ADD(G65SC02PI2_TAG, M65C02, XTAL(24'000'000)/12) - MCFG_DEVICE_PROGRAM_MAP(fd2000_mem) - - MCFG_DEVICE_ADD(G65SC22P2_TAG, VIA6522, XTAL(24'000'000)/12) - MCFG_VIA6522_READPA_HANDLER(READ8(*this, fd2000_device, via_pa_r)) - MCFG_VIA6522_READPB_HANDLER(READ8(*this, fd2000_device, via_pb_r)) - MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(*this, fd2000_device, via_pa_w)) - MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(*this, fd2000_device, via_pb_w)) - - MCFG_DP8473_ADD(DP8473V_TAG) - - MCFG_FLOPPY_DRIVE_ADD_FIXED(DP8473V_TAG":0", fd2000_floppies, "35hd", floppy_image_device::default_floppy_formats)//fd2000_device::floppy_formats) -MACHINE_CONFIG_END - +void fd2000_device::add_common_devices(machine_config &config) +{ + M65C02(config, m_maincpu, XTAL(24'000'000)/12); -MACHINE_CONFIG_START(fd4000_device::device_add_mconfig) - MCFG_DEVICE_ADD(R65C02P4_TAG, M65C02, XTAL(24'000'000)/6) - MCFG_DEVICE_PROGRAM_MAP(fd4000_mem) + via6522_device &via(VIA6522(config, G65SC22P2_TAG, XTAL(24'000'000)/12)); + via.readpa_handler().set(FUNC(fd2000_device::via_pa_r)); + via.readpb_handler().set(FUNC(fd2000_device::via_pb_r)); + via.writepa_handler().set(FUNC(fd2000_device::via_pa_w)); + via.writepb_handler().set(FUNC(fd2000_device::via_pb_w)); - MCFG_DEVICE_ADD(G65SC22P2_TAG, VIA6522, XTAL(24'000'000)/12) - MCFG_VIA6522_READPA_HANDLER(READ8(*this, fd2000_device, via_pa_r)) - MCFG_VIA6522_READPB_HANDLER(READ8(*this, fd2000_device, via_pb_r)) - MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(*this, fd2000_device, via_pa_w)) - MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(*this, fd2000_device, via_pb_w)) + DP8473(config, m_fdc, 0); +} - MCFG_PC8477A_ADD(PC8477AV1_TAG) +void fd2000_device::device_add_mconfig(machine_config &config) +{ + add_common_devices(config); + m_maincpu->set_addrmap(AS_PROGRAM, &fd2000_device::fd2000_mem); + FLOPPY_CONNECTOR(config, DP8473V_TAG":0", fd2000_floppies, "35hd", floppy_image_device::default_floppy_formats);//fd2000_device::floppy_formats); +} - MCFG_FLOPPY_DRIVE_ADD_FIXED(PC8477AV1_TAG":0", fd4000_floppies, "35ed", floppy_image_device::default_floppy_formats)//fd2000_device::floppy_formats) -MACHINE_CONFIG_END +void fd4000_device::device_add_mconfig(machine_config &config) +{ + add_common_devices(config); + m_maincpu->set_addrmap(AS_PROGRAM, &fd4000_device::fd4000_mem); + FLOPPY_CONNECTOR(config, DP8473V_TAG":0", fd4000_floppies, "35hd", floppy_image_device::default_floppy_formats);//fd2000_device::floppy_formats); +} //************************************************************************** diff --git a/src/devices/bus/cbmiec/fd2000.h b/src/devices/bus/cbmiec/fd2000.h index 740c1ce6441..2b79a93dd70 100644 --- a/src/devices/bus/cbmiec/fd2000.h +++ b/src/devices/bus/cbmiec/fd2000.h @@ -64,6 +64,8 @@ protected: void cbm_iec_data(int state) override; void cbm_iec_reset(int state) override; + void add_common_devices(machine_config &config); + required_device<m65c02_device> m_maincpu; required_device<upd765_family_device> m_fdc; required_device<floppy_connector> m_floppy0; |