bus/epson_sio, bus/s100: Clean up some MCFGs (nw)

This commit is contained in:
AJR 2019-01-18 23:09:04 -05:00
parent c907852448
commit d08a9aa7b8
8 changed files with 36 additions and 38 deletions

View File

@ -12,7 +12,6 @@
#include "emu.h"
#include "pf10.h"
#include "imagedev/floppy.h"
//**************************************************************************
@ -71,7 +70,7 @@ MACHINE_CONFIG_START(epson_pf10_device::device_add_mconfig)
m_cpu->out_ser_tx_cb().set(FUNC(epson_pf10_device::hd6303_tx_w));
UPD765A(config, m_fdc, 4'000'000, false, true);
MCFG_FLOPPY_DRIVE_ADD("upd765a:0", pf10_floppies, "smd165", floppy_image_device::default_floppy_formats)
FLOPPY_CONNECTOR(config, m_floppy, pf10_floppies, "smd165", floppy_image_device::default_floppy_formats);
MCFG_EPSON_SIO_ADD("sio", nullptr)
MCFG_EPSON_SIO_RX(WRITELINE(DEVICE_SELF, epson_pf10_device, rxc_w))
@ -92,7 +91,9 @@ epson_pf10_device::epson_pf10_device(const machine_config &mconfig, const char *
device_epson_sio_interface(mconfig, *this),
m_cpu(*this, "maincpu"),
m_fdc(*this, "upd765a"),
m_sio_output(*this, "sio"), m_floppy(nullptr), m_timer(nullptr),
m_sio_output(*this, "sio"),
m_floppy(*this, "upd765a:0"),
m_timer(nullptr),
m_port1(0xff),
m_port2(0xff),
m_rxc(1), m_hd6303_tx(0), m_pinc(0)
@ -108,7 +109,6 @@ epson_pf10_device::epson_pf10_device(const machine_config &mconfig, const char *
void epson_pf10_device::device_start()
{
m_timer = timer_alloc(0, nullptr);
m_floppy = subdevice<floppy_connector>("upd765a:0")->get_device();
}
//-------------------------------------------------
@ -158,7 +158,8 @@ READ8_MEMBER( epson_pf10_device::port2_r )
WRITE8_MEMBER( epson_pf10_device::port2_w )
{
m_floppy->mon_w(data & PORT2_MON);
if (m_floppy->get_device() != nullptr)
m_floppy->get_device()->mon_w(data & PORT2_MON);
logerror("%s: port2_w(%02x)\n", tag(), data);
}

View File

@ -15,6 +15,7 @@
#include "epson_sio.h"
#include "cpu/m6800/m6801.h"
#include "imagedev/floppy.h"
#include "machine/upd765.h"
@ -67,9 +68,9 @@ private:
required_device<hd6303y_cpu_device> m_cpu;
required_device<upd765a_device> m_fdc;
required_device<epson_sio_device> m_sio_output;
required_device<floppy_connector> m_floppy;
epson_sio_device *m_sio_input;
floppy_image_device *m_floppy;
emu_timer *m_timer;

View File

@ -14,7 +14,6 @@
#include "emu.h"
#include "tf20.h"
#include "imagedev/floppy.h"
#define XTAL_CR1 XTAL(8'000'000)
#define XTAL_CR2 XTAL(4'915'200)
@ -88,10 +87,10 @@ static void tf20_floppies(device_slot_interface &device)
}
MACHINE_CONFIG_START(epson_tf20_device::device_add_mconfig)
MCFG_DEVICE_ADD("19b", Z80, XTAL_CR1 / 2) /* uPD780C */
MCFG_DEVICE_PROGRAM_MAP(cpu_mem)
MCFG_DEVICE_IO_MAP(cpu_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE(DEVICE_SELF, epson_tf20_device, irq_callback)
Z80(config, m_cpu, XTAL_CR1 / 2); /* uPD780C */
m_cpu->set_addrmap(AS_PROGRAM, &epson_tf20_device::cpu_mem);
m_cpu->set_addrmap(AS_IO, &epson_tf20_device::cpu_io);
m_cpu->set_irq_acknowledge_callback(FUNC(epson_tf20_device::irq_callback));
// 64k internal ram
RAM(config, "ram").set_default_size("64K");
@ -106,8 +105,8 @@ MACHINE_CONFIG_START(epson_tf20_device::device_add_mconfig)
m_fdc->intrq_wr_callback().set_inputline(m_cpu, INPUT_LINE_IRQ0);
// floppy drives
MCFG_FLOPPY_DRIVE_ADD("5a:0", tf20_floppies, "sd320", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("5a:1", tf20_floppies, "sd320", floppy_image_device::default_floppy_formats)
for (auto &fd : m_fd)
FLOPPY_CONNECTOR(config, fd, tf20_floppies, "sd320", floppy_image_device::default_floppy_formats);
// serial interface to another device
MCFG_EPSON_SIO_ADD("sio", nullptr)
@ -131,7 +130,9 @@ epson_tf20_device::epson_tf20_device(const machine_config &mconfig, const char *
m_ram(*this, "ram"),
m_fdc(*this, "5a"),
m_mpsc(*this, "3a"),
m_sio_output(*this, "sio"), m_fd0(nullptr), m_fd1(nullptr), m_timer_serial(nullptr), m_timer_tc(nullptr),
m_sio_output(*this, "sio"),
m_fd(*this, "5a:%u", 0U),
m_timer_serial(nullptr), m_timer_tc(nullptr),
m_rxc(1), m_txda(0), m_dtra(0), m_pinc(0)
{
m_sio_input = dynamic_cast<epson_sio_device *>(owner);
@ -150,9 +151,6 @@ void epson_tf20_device::device_start()
m_timer_serial = timer_alloc(0, nullptr);
m_timer_tc = timer_alloc(1, nullptr);
m_fd0 = subdevice<floppy_connector>("5a:0")->get_device();
m_fd1 = subdevice<floppy_connector>("5a:1")->get_device();
// enable second half of ram
m_cpu->space(AS_PROGRAM).install_ram(0x8000, 0xffff, m_ram->pointer() + 0x8000);
@ -248,8 +246,9 @@ WRITE8_MEMBER( epson_tf20_device::fdc_control_w )
logerror("%s: tf20_fdc_control_w(%02x)\n", machine().describe_context(), data);
// bit 0, motor on signal
m_fd0->mon_w(!BIT(data, 0));
m_fd1->mon_w(!BIT(data, 0));
for (auto &fd : m_fd)
if (fd->get_device() != nullptr)
fd->get_device()->mon_w(!BIT(data, 0));
}

View File

@ -15,6 +15,7 @@
#include "epson_sio.h"
#include "cpu/z80/z80.h"
#include "imagedev/floppy.h"
#include "machine/ram.h"
#include "machine/upd765.h"
#include "machine/z80dart.h"
@ -67,9 +68,7 @@ private:
required_device<upd765a_device> m_fdc;
required_device<upd7201_device> m_mpsc;
required_device<epson_sio_device> m_sio_output;
floppy_image_device *m_fd0;
floppy_image_device *m_fd1;
required_device_array<floppy_connector, 2> m_fd;
emu_timer *m_timer_serial;
emu_timer *m_timer_tc;

View File

@ -57,10 +57,11 @@ static void mds_a_floppies(device_slot_interface &device)
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_START(s100_mds_a_device::device_add_mconfig)
MCFG_FLOPPY_DRIVE_ADD("floppy0", mds_a_floppies, "525sd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("floppy1", mds_a_floppies, "525sd", floppy_image_device::default_floppy_formats)
MACHINE_CONFIG_END
void s100_mds_a_device::device_add_mconfig(machine_config &config)
{
for (auto &floppy : m_floppy)
FLOPPY_CONNECTOR(config, floppy, mds_a_floppies, "525sd", floppy_image_device::default_floppy_formats);
}
@ -75,8 +76,7 @@ MACHINE_CONFIG_END
s100_mds_a_device::s100_mds_a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, S100_MDS_A, tag, owner, clock),
device_s100_card_interface(mconfig, *this),
m_floppy0(*this, "floppy0"),
m_floppy1(*this, "floppy1"),
m_floppy(*this, "floppy%u", 0U),
m_psel_rom(*this, "psel"),
m_pgm_rom(*this, "pgm")
{

View File

@ -42,8 +42,7 @@ protected:
virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) override;
private:
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
required_device_array<floppy_connector, 2> m_floppy;
required_memory_region m_psel_rom;
required_memory_region m_pgm_rom;
};

View File

@ -58,10 +58,11 @@ static void mds_ad_floppies(device_slot_interface &device)
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_START(s100_mds_ad_device::device_add_mconfig)
MCFG_FLOPPY_DRIVE_ADD("floppy0", mds_ad_floppies, "525dd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("floppy1", mds_ad_floppies, "525dd", floppy_image_device::default_floppy_formats)
MACHINE_CONFIG_END
void s100_mds_ad_device::device_add_mconfig(machine_config &config)
{
for (auto &floppy : m_floppy)
FLOPPY_CONNECTOR(config, floppy, mds_ad_floppies, "525dd", floppy_image_device::default_floppy_formats);
}
@ -76,8 +77,7 @@ MACHINE_CONFIG_END
s100_mds_ad_device::s100_mds_ad_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, S100_MDS_AD, tag, owner, clock),
device_s100_card_interface(mconfig, *this),
m_floppy0(*this, "floppy0"),
m_floppy1(*this, "floppy1"),
m_floppy(*this, "floppy%u", 0U),
m_dsel_rom(*this, "dsel"),
m_dpgm_rom(*this, "dpgm"),
m_dwe_rom(*this, "dwe")

View File

@ -42,8 +42,7 @@ protected:
virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) override;
private:
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
required_device_array<floppy_connector, 2> m_floppy;
required_memory_region m_dsel_rom;
required_memory_region m_dpgm_rom;
required_memory_region m_dwe_rom;