summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/newbrain
diff options
context:
space:
mode:
author andreasnaive <andreasnaive@gmail.com>2019-03-25 23:13:40 +0100
committer andreasnaive <andreasnaive@gmail.com>2019-03-25 23:13:40 +0100
commitb380514764cf857469bae61c11143a19f79a74c5 (patch)
tree63c8012e262618f08a332da31dd714281aa2c5ed /src/devices/bus/newbrain
parentc24473ddff715ecec2e258a6eb38960cf8c8e98e (diff)
Revert "conflict resolution (nw)"
This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
Diffstat (limited to 'src/devices/bus/newbrain')
-rw-r--r--src/devices/bus/newbrain/eim.cpp25
-rw-r--r--src/devices/bus/newbrain/eim.h8
-rw-r--r--src/devices/bus/newbrain/exp.cpp16
-rw-r--r--src/devices/bus/newbrain/exp.h37
-rw-r--r--src/devices/bus/newbrain/fdc.cpp45
-rw-r--r--src/devices/bus/newbrain/fdc.h14
6 files changed, 72 insertions, 73 deletions
diff --git a/src/devices/bus/newbrain/eim.cpp b/src/devices/bus/newbrain/eim.cpp
index 3f0b7a19ee0..2bafd008eb6 100644
--- a/src/devices/bus/newbrain/eim.cpp
+++ b/src/devices/bus/newbrain/eim.cpp
@@ -67,15 +67,14 @@ const tiny_rom_entry *newbrain_eim_device::device_rom_region() const
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void newbrain_eim_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(newbrain_eim_device::device_add_mconfig)
// devices
Z80CTC(config, m_ctc, XTAL(16'000'000)/8);
m_ctc->zc_callback<0>().set(m_acia, FUNC(acia6850_device::write_rxc));
m_ctc->zc_callback<1>().set(m_acia, FUNC(acia6850_device::write_txc));
m_ctc->zc_callback<2>().set(FUNC(newbrain_eim_device::ctc_z2_w));
- TIMER(config, "z80ctc_c2").configure_periodic(FUNC(newbrain_eim_device::ctc_c2_tick), attotime::from_hz(XTAL(16'000'000)/4/13));
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("z80ctc_c2", newbrain_eim_device, ctc_c2_tick, attotime::from_hz(XTAL(16'000'000)/4/13))
adc0809_device &adc(ADC0809(config, ADC0809_TAG, 500000));
adc.eoc_callback().set(FUNC(newbrain_eim_device::adc_eoc_w));
@@ -93,11 +92,11 @@ void newbrain_eim_device::device_add_mconfig(machine_config &config)
RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr);
- NEWBRAIN_EXPANSION_SLOT(config, m_exp, XTAL(16'000'000)/8, newbrain_expansion_cards, "fdc");
+ MCFG_NEWBRAIN_EXPANSION_SLOT_ADD(NEWBRAIN_EXPANSION_SLOT_TAG, XTAL(16'000'000)/8, newbrain_expansion_cards, "fdc")
// internal ram
RAM(config, RAM_TAG).set_default_size("96K");
-}
+MACHINE_CONFIG_END
//**************************************************************************
@@ -145,9 +144,9 @@ void newbrain_eim_device::device_reset()
// mreq_r - memory request read
//-------------------------------------------------
-uint8_t newbrain_eim_device::mreq_r(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
+uint8_t newbrain_eim_device::mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
{
- return m_exp->mreq_r(offset, data, romov, exrm, raminh);
+ return m_exp->mreq_r(space, offset, data, romov, exrm, raminh);
}
@@ -155,9 +154,9 @@ uint8_t newbrain_eim_device::mreq_r(offs_t offset, uint8_t data, bool &romov, in
// mreq_w - memory request write
//-------------------------------------------------
-void newbrain_eim_device::mreq_w(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
+void newbrain_eim_device::mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
{
- m_exp->mreq_w(offset, data, romov, exrm, raminh);
+ m_exp->mreq_w(space, offset, data, romov, exrm, raminh);
}
@@ -165,9 +164,9 @@ void newbrain_eim_device::mreq_w(offs_t offset, uint8_t data, bool &romov, int &
// iorq_r - I/O request read
//-------------------------------------------------
-uint8_t newbrain_eim_device::iorq_r(offs_t offset, uint8_t data, bool &prtov)
+uint8_t newbrain_eim_device::iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov)
{
- return m_exp->iorq_r(offset, data, prtov);
+ return m_exp->iorq_r(space, offset, data, prtov);
}
@@ -175,9 +174,9 @@ uint8_t newbrain_eim_device::iorq_r(offs_t offset, uint8_t data, bool &prtov)
// iorq_w - I/O request write
//-------------------------------------------------
-void newbrain_eim_device::iorq_w(offs_t offset, uint8_t data, bool &prtov)
+void newbrain_eim_device::iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov)
{
- m_exp->iorq_w(offset, data, prtov);
+ m_exp->iorq_w(space, offset, data, prtov);
}
diff --git a/src/devices/bus/newbrain/eim.h b/src/devices/bus/newbrain/eim.h
index 19b456338fd..3e83b22112e 100644
--- a/src/devices/bus/newbrain/eim.h
+++ b/src/devices/bus/newbrain/eim.h
@@ -48,10 +48,10 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_newbrain_expansion_slot_interface overrides
- virtual uint8_t mreq_r(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) override;
- virtual void mreq_w(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) override;
- virtual uint8_t iorq_r(offs_t offset, uint8_t data, bool &prtov) override;
- virtual void iorq_w(offs_t offset, uint8_t data, bool &prtov) override;
+ virtual uint8_t mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) override;
+ virtual void mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) override;
+ virtual uint8_t iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov) override;
+ virtual void iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov) override;
private:
DECLARE_WRITE_LINE_MEMBER( acia_interrupt );
diff --git a/src/devices/bus/newbrain/exp.cpp b/src/devices/bus/newbrain/exp.cpp
index a1a9e2210ed..b4675c3b89f 100644
--- a/src/devices/bus/newbrain/exp.cpp
+++ b/src/devices/bus/newbrain/exp.cpp
@@ -77,11 +77,11 @@ void newbrain_expansion_slot_device::device_reset()
// mreq_r - memory request read
//-------------------------------------------------
-uint8_t newbrain_expansion_slot_device::mreq_r(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
+uint8_t newbrain_expansion_slot_device::mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
{
if (m_card != nullptr)
{
- data = m_card->mreq_r(offset, data, romov, exrm, raminh);
+ data = m_card->mreq_r(space, offset, data, romov, exrm, raminh);
}
return data;
@@ -92,11 +92,11 @@ uint8_t newbrain_expansion_slot_device::mreq_r(offs_t offset, uint8_t data, bool
// mreq_w - memory request write
//-------------------------------------------------
-void newbrain_expansion_slot_device::mreq_w(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
+void newbrain_expansion_slot_device::mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
{
if (m_card != nullptr)
{
- m_card->mreq_w(offset, data, romov, exrm, raminh);
+ m_card->mreq_w(space, offset, data, romov, exrm, raminh);
}
}
@@ -105,11 +105,11 @@ void newbrain_expansion_slot_device::mreq_w(offs_t offset, uint8_t data, bool &r
// iorq_r - I/O request read
//-------------------------------------------------
-uint8_t newbrain_expansion_slot_device::iorq_r(offs_t offset, uint8_t data, bool &prtov)
+uint8_t newbrain_expansion_slot_device::iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov)
{
if (m_card != nullptr)
{
- data = m_card->iorq_r(offset, data, prtov);
+ data = m_card->iorq_r(space, offset, data, prtov);
}
return data;
@@ -120,11 +120,11 @@ uint8_t newbrain_expansion_slot_device::iorq_r(offs_t offset, uint8_t data, bool
// iorq_w - I/O request write
//-------------------------------------------------
-void newbrain_expansion_slot_device::iorq_w(offs_t offset, uint8_t data, bool &prtov)
+void newbrain_expansion_slot_device::iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov)
{
if (m_card != nullptr)
{
- m_card->iorq_w(offset, data, prtov);
+ m_card->iorq_w(space, offset, data, prtov);
}
}
diff --git a/src/devices/bus/newbrain/exp.h b/src/devices/bus/newbrain/exp.h
index e9e56c1bd66..e3ab89a35ef 100644
--- a/src/devices/bus/newbrain/exp.h
+++ b/src/devices/bus/newbrain/exp.h
@@ -49,6 +49,17 @@
#define NEWBRAIN_EXPANSION_SLOT_TAG "exp"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_NEWBRAIN_EXPANSION_SLOT_ADD(_tag, _clock, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, NEWBRAIN_EXPANSION_SLOT, _clock) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -62,24 +73,14 @@ class newbrain_expansion_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- newbrain_expansion_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock, T &&opts, char const *dflt)
- : newbrain_expansion_slot_device(mconfig, tag, owner, clock)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
newbrain_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// computer interface
- uint8_t mreq_r(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh);
- void mreq_w(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh);
+ uint8_t mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh);
+ void mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh);
- uint8_t iorq_r(offs_t offset, uint8_t data, bool &prtov);
- void iorq_w(offs_t offset, uint8_t data, bool &prtov);
+ uint8_t iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov);
+ void iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov);
protected:
// device-level overrides
@@ -97,12 +98,12 @@ class device_newbrain_expansion_slot_interface : public device_slot_card_interfa
{
public:
// memory access
- virtual uint8_t mreq_r(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) { return data; }
- virtual void mreq_w(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) { }
+ virtual uint8_t mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) { return data; }
+ virtual void mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) { }
// I/O access
- virtual uint8_t iorq_r(offs_t offset, uint8_t data, bool &prtov) { return data; }
- virtual void iorq_w(offs_t offset, uint8_t data, bool &prtov) { }
+ virtual uint8_t iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov) { return data; }
+ virtual void iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov) { }
protected:
// construction/destruction
diff --git a/src/devices/bus/newbrain/fdc.cpp b/src/devices/bus/newbrain/fdc.cpp
index 7cadbd0bddd..597def0509b 100644
--- a/src/devices/bus/newbrain/fdc.cpp
+++ b/src/devices/bus/newbrain/fdc.cpp
@@ -104,22 +104,21 @@ static void newbrain_floppies(device_slot_interface &device)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void newbrain_fdc_device::device_add_mconfig(machine_config &config)
-{
- Z80(config, m_maincpu, XTAL(4'000'000));
- m_maincpu->set_addrmap(AS_PROGRAM, &newbrain_fdc_device::newbrain_fdc_mem);
- m_maincpu->set_addrmap(AS_IO, &newbrain_fdc_device::newbrain_fdc_io);
+MACHINE_CONFIG_START(newbrain_fdc_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(4'000'000))
+ MCFG_DEVICE_PROGRAM_MAP(newbrain_fdc_mem)
+ MCFG_DEVICE_IO_MAP(newbrain_fdc_io)
UPD765A(config, m_fdc, 8'000'000, false, true);
m_fdc->intrq_wr_callback().set(FUNC(newbrain_fdc_device::fdc_int_w));
- FLOPPY_CONNECTOR(config, UPD765_TAG ":0", newbrain_floppies, "525dd", floppy_image_device::default_floppy_formats);
- FLOPPY_CONNECTOR(config, UPD765_TAG ":1", newbrain_floppies, "525dd", floppy_image_device::default_floppy_formats);
- FLOPPY_CONNECTOR(config, UPD765_TAG ":2", newbrain_floppies, nullptr, floppy_image_device::default_floppy_formats);
- FLOPPY_CONNECTOR(config, UPD765_TAG ":3", newbrain_floppies, nullptr, floppy_image_device::default_floppy_formats);
+ MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", newbrain_floppies, "525dd", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", newbrain_floppies, "525dd", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":2", newbrain_floppies, nullptr, floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":3", newbrain_floppies, nullptr, floppy_image_device::default_floppy_formats)
- NEWBRAIN_EXPANSION_SLOT(config, m_exp, XTAL(16'000'000)/8, newbrain_expansion_cards, nullptr);
-}
+ MCFG_NEWBRAIN_EXPANSION_SLOT_ADD(NEWBRAIN_EXPANSION_SLOT_TAG, XTAL(16'000'000)/8, newbrain_expansion_cards, nullptr)
+MACHINE_CONFIG_END
//**************************************************************************
@@ -177,9 +176,9 @@ void newbrain_fdc_device::device_reset()
// mreq_r - memory request read
//-------------------------------------------------
-uint8_t newbrain_fdc_device::mreq_r(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
+uint8_t newbrain_fdc_device::mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
{
- return m_exp->mreq_r(offset, data, romov, exrm, raminh);
+ return m_exp->mreq_r(space, offset, data, romov, exrm, raminh);
}
@@ -187,9 +186,9 @@ uint8_t newbrain_fdc_device::mreq_r(offs_t offset, uint8_t data, bool &romov, in
// mreq_w - memory request write
//-------------------------------------------------
-void newbrain_fdc_device::mreq_w(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
+void newbrain_fdc_device::mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
{
- m_exp->mreq_w(offset, data, romov, exrm, raminh);
+ m_exp->mreq_w(space, offset, data, romov, exrm, raminh);
}
@@ -197,9 +196,9 @@ void newbrain_fdc_device::mreq_w(offs_t offset, uint8_t data, bool &romov, int &
// iorq_r - I/O request read
//-------------------------------------------------
-uint8_t newbrain_fdc_device::iorq_r(offs_t offset, uint8_t data, bool &prtov)
+uint8_t newbrain_fdc_device::iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov)
{
- return m_exp->iorq_r(offset, data, prtov);
+ return m_exp->iorq_r(space, offset, data, prtov);
}
@@ -207,13 +206,13 @@ uint8_t newbrain_fdc_device::iorq_r(offs_t offset, uint8_t data, bool &prtov)
// iorq_w - I/O request write
//-------------------------------------------------
-void newbrain_fdc_device::iorq_w(offs_t offset, uint8_t data, bool &prtov)
+void newbrain_fdc_device::iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov)
{
- m_exp->iorq_w(offset, data, prtov);
+ m_exp->iorq_w(space, offset, data, prtov);
if ((offset & 0x20f) == 0x20f)
{
- io_dec_w(data);
+ io_dec_w(space, 0, data);
}
}
@@ -245,7 +244,7 @@ WRITE_LINE_MEMBER( newbrain_fdc_device::fdc_int_w )
// fdc_auxiliary_w -
//-------------------------------------------------
-void newbrain_fdc_device::fdc_auxiliary_w(uint8_t data)
+WRITE8_MEMBER( newbrain_fdc_device::fdc_auxiliary_w )
{
/*
@@ -279,7 +278,7 @@ void newbrain_fdc_device::fdc_auxiliary_w(uint8_t data)
// fdc_control_r -
//-------------------------------------------------
-uint8_t newbrain_fdc_device::fdc_control_r()
+READ8_MEMBER( newbrain_fdc_device::fdc_control_r )
{
/*
@@ -304,7 +303,7 @@ uint8_t newbrain_fdc_device::fdc_control_r()
// io_dec_w - 0x20f
//-------------------------------------------------
-void newbrain_fdc_device::io_dec_w(uint8_t data)
+WRITE8_MEMBER( newbrain_fdc_device::io_dec_w )
{
/*
diff --git a/src/devices/bus/newbrain/fdc.h b/src/devices/bus/newbrain/fdc.h
index e5d6665a078..e5a40ae0748 100644
--- a/src/devices/bus/newbrain/fdc.h
+++ b/src/devices/bus/newbrain/fdc.h
@@ -40,17 +40,17 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_newbrain_expansion_slot_interface overrides
- virtual uint8_t mreq_r(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) override;
- virtual void mreq_w(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) override;
- virtual uint8_t iorq_r(offs_t offset, uint8_t data, bool &prtov) override;
- virtual void iorq_w(offs_t offset, uint8_t data, bool &prtov) override;
+ virtual uint8_t mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) override;
+ virtual void mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) override;
+ virtual uint8_t iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov) override;
+ virtual void iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov) override;
private:
DECLARE_WRITE_LINE_MEMBER( fdc_int_w );
- void fdc_auxiliary_w(uint8_t data);
- uint8_t fdc_control_r();
- void io_dec_w(uint8_t data);
+ DECLARE_WRITE8_MEMBER( fdc_auxiliary_w );
+ DECLARE_READ8_MEMBER( fdc_control_r );
+ DECLARE_WRITE8_MEMBER( io_dec_w );
void newbrain_fdc_io(address_map &map);
void newbrain_fdc_mem(address_map &map);