diff options
author | Vas Crabb <vas@vastheman.com> | 2019-02-19 20:19:15 +1100 |
---|---|---|
committer | Vas Crabb <vas@vastheman.com> | 2019-02-19 20:19:15 +1100 |
commit | 798368509692350152e06a5c4eedce05b1bac7ca (patch) | |
tree | ddcdb7186df66795ffb3fb9335bbd8b41ca88d0a | |
parent | 4f049026f6c76f531f6bd1faeaa06d1d97db274b (diff) |
(nw) clean up trivial stuff - the device delegate boilerplate is ugly, I will address it ASAP
28 files changed, 148 insertions, 108 deletions
diff --git a/src/devices/bus/coco/cococart.h b/src/devices/bus/coco/cococart.h index cae4f333529..c559a2eea53 100644 --- a/src/devices/bus/coco/cococart.h +++ b/src/devices/bus/coco/cococart.h @@ -187,36 +187,26 @@ protected: // cartridges (e.g. - Orch-90, Multi-Pak interface) for their control registers, independently // of the SCS or CTS lines address_space &cartridge_space(); - template<typename R> void install_read_handler(u16 addrstart, u16 addrend, R rhandler) + template <typename R> + void install_read_handler(u16 addrstart, u16 addrend, R &&rhandler) { address_space &space(cartridge_space()); - space.install_read_handler(addrstart, addrend, rhandler); + space.install_read_handler(addrstart, addrend, std::forward<R>(rhandler)); } - template<typename W> void install_write_handler(u16 addrstart, u16 addrend, W whandler) + template <typename W> + void install_write_handler(u16 addrstart, u16 addrend, W &&whandler) { address_space &space(cartridge_space()); - space.install_write_handler(addrstart, addrend, whandler); + space.install_write_handler(addrstart, addrend, std::forward<W>(whandler)); } - template<typename R, typename W> void install_readwrite_handler(u16 addrstart, u16 addrend, R rhandler, W whandler) + template <typename R, typename W> + void install_readwrite_handler(u16 addrstart, u16 addrend, R &&rhandler, W &&whandler) { address_space &space(cartridge_space()); - space.install_read_handler(addrstart, addrend, rhandler); - space.install_write_handler(addrstart, addrend, whandler); + space.install_read_handler(addrstart, addrend, std::forward<R>(rhandler)); + space.install_write_handler(addrstart, addrend, std::forward<W>(whandler)); } - void install_read_handler(u16 addrstart, u16 addrend, read8_delegate rhandler) { install_read_handler<read8_delegate>(addrstart, addrend, rhandler); } - void install_write_handler(u16 addrstart, u16 addrend, write8_delegate whandler) { install_write_handler<write8_delegate>(addrstart, addrend, whandler); } - void install_read_handler(u16 addrstart, u16 addrend, read8m_delegate rhandler) { install_read_handler<read8m_delegate>(addrstart, addrend, rhandler); } - void install_write_handler(u16 addrstart, u16 addrend, write8m_delegate whandler) { install_write_handler<write8m_delegate>(addrstart, addrend, whandler); } - void install_read_handler(u16 addrstart, u16 addrend, read8s_delegate rhandler) { install_read_handler<read8s_delegate>(addrstart, addrend, rhandler); } - void install_write_handler(u16 addrstart, u16 addrend, write8s_delegate whandler) { install_write_handler<write8s_delegate>(addrstart, addrend, whandler); } - void install_read_handler(u16 addrstart, u16 addrend, read8sm_delegate rhandler) { install_read_handler<read8sm_delegate>(addrstart, addrend, rhandler); } - void install_write_handler(u16 addrstart, u16 addrend, write8sm_delegate whandler) { install_write_handler<write8sm_delegate>(addrstart, addrend, whandler); } - void install_read_handler(u16 addrstart, u16 addrend, read8mo_delegate rhandler) { install_read_handler<read8mo_delegate>(addrstart, addrend, rhandler); } - void install_write_handler(u16 addrstart, u16 addrend, write8mo_delegate whandler) { install_write_handler<write8mo_delegate>(addrstart, addrend, whandler); } - void install_read_handler(u16 addrstart, u16 addrend, read8smo_delegate rhandler) { install_read_handler<read8smo_delegate>(addrstart, addrend, rhandler); } - void install_write_handler(u16 addrstart, u16 addrend, write8smo_delegate whandler) { install_write_handler<write8smo_delegate>(addrstart, addrend, whandler); } - // setting line values void set_line_value(cococart_slot_device::line line, cococart_slot_device::line_value value); void set_line_value(cococart_slot_device::line line, bool value) { set_line_value(line, value ? cococart_slot_device::line_value::ASSERT : cococart_slot_device::line_value::CLEAR); } diff --git a/src/devices/bus/compis/hrg.cpp b/src/devices/bus/compis/hrg.cpp index 6049be0adcd..e9898709097 100644 --- a/src/devices/bus/compis/hrg.cpp +++ b/src/devices/bus/compis/hrg.cpp @@ -89,7 +89,7 @@ void compis_hrg_device::device_add_mconfig(machine_config &config) UPD7220(config, m_crtc, 2252500); // unknown clock m_crtc->set_addrmap(0, &compis_hrg_device::hrg_map); - m_crtc->set_display_pixels_callback(FUNC(compis_hrg_device::display_pixels), this); + m_crtc->set_display_pixels(FUNC(compis_hrg_device::display_pixels)); m_crtc->set_screen(SCREEN_TAG); PALETTE(config, m_palette, palette_device::MONOCHROME); @@ -108,7 +108,7 @@ void compis_uhrg_device::device_add_mconfig(machine_config &config) UPD7220(config, m_crtc, 2252500*2); // unknown clock m_crtc->set_addrmap(0, &compis_uhrg_device::uhrg_map); - m_crtc->set_display_pixels_callback(FUNC(compis_uhrg_device::display_pixels), this); + m_crtc->set_display_pixels(FUNC(compis_uhrg_device::display_pixels)); m_crtc->set_screen(SCREEN_TAG); PALETTE(config, m_palette, palette_device::MONOCHROME); diff --git a/src/devices/bus/isa/num9rev.cpp b/src/devices/bus/isa/num9rev.cpp index 6137ed580a7..16aab8762fe 100644 --- a/src/devices/bus/isa/num9rev.cpp +++ b/src/devices/bus/isa/num9rev.cpp @@ -64,7 +64,7 @@ void isa8_number_9_rev_device::device_add_mconfig(machine_config &config) UPD7220(config, m_upd7220, XTAL(4'433'619)/2); // unknown clock m_upd7220->set_addrmap(0, &isa8_number_9_rev_device::upd7220_map); - m_upd7220->set_display_pixels_callback(FUNC(isa8_number_9_rev_device::hgdc_display_pixels), this); + m_upd7220->set_display_pixels(FUNC(isa8_number_9_rev_device::hgdc_display_pixels)); m_upd7220->set_screen("screen"); } diff --git a/src/devices/bus/wangpc/tig.cpp b/src/devices/bus/wangpc/tig.cpp index 966cc023b6c..4d3827ad21a 100644 --- a/src/devices/bus/wangpc/tig.cpp +++ b/src/devices/bus/wangpc/tig.cpp @@ -127,12 +127,12 @@ void wangpc_tig_device::device_add_mconfig(machine_config &config) UPD7220(config, m_hgdc0, XTAL(52'832'000)/28); m_hgdc0->set_addrmap(0, &wangpc_tig_device::upd7220_0_map); - m_hgdc0->set_draw_text_callback(FUNC(wangpc_tig_device::hgdc_draw_text), this); + m_hgdc0->set_draw_text(FUNC(wangpc_tig_device::hgdc_draw_text)); m_hgdc0->set_screen(SCREEN_TAG); UPD7220(config, m_hgdc1, XTAL(52'832'000)/28); m_hgdc1->set_addrmap(0, &wangpc_tig_device::upd7220_1_map); - m_hgdc1->set_display_pixels_callback(FUNC(wangpc_tig_device::hgdc_display_pixels), this); + m_hgdc1->set_display_pixels(FUNC(wangpc_tig_device::hgdc_display_pixels)); m_hgdc1->set_screen(SCREEN_TAG); } diff --git a/src/devices/machine/i2cmem.cpp b/src/devices/machine/i2cmem.cpp index b48085687e6..b16003764f2 100644 --- a/src/devices/machine/i2cmem.cpp +++ b/src/devices/machine/i2cmem.cpp @@ -58,7 +58,7 @@ static inline void ATTR_PRINTF( 3, 4 ) verboselog( device_t *device, int n_level //************************************************************************** // device type definition -DEFINE_DEVICE_TYPE(I2CMEM, i2cmem_device, "i2cmem", "I2C Memory") +DEFINE_DEVICE_TYPE(I2CMEM, i2cmem_device, "i2cmem", "I2C Memory") DEFINE_DEVICE_TYPE(I2C_X2404P, i2c_x2404p_device, "x2404p", "X2404P I2C Memory") DEFINE_DEVICE_TYPE(I2C_24C01, i2c_24c01_device, "24c01", "24C01 I2C Memory") DEFINE_DEVICE_TYPE(I2C_24C02, i2c_24c02_device, "24c02", "24C02 I2C Memory") @@ -75,8 +75,15 @@ DEFINE_DEVICE_TYPE(I2C_24C64, i2c_24c64_device, "24c64", "24C64 I2C Memory") // i2cmem_device - constructor //------------------------------------------------- -i2cmem_device::i2cmem_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, int page_size, int data_size) - : device_t(mconfig, type, tag, owner, (uint32_t)0), +i2cmem_device::i2cmem_device( + const machine_config &mconfig, + device_type type, + const char *tag, + device_t *owner, + uint32_t clock, + int page_size, + int data_size) : + device_t(mconfig, type, tag, owner, clock), device_nvram_interface(mconfig, *this), m_region(*this, DEVICE_SELF), m_slave_address(I2CMEM_SLAVE_ADDRESS), @@ -93,45 +100,47 @@ i2cmem_device::i2cmem_device(const machine_config &mconfig, device_type type, co m_shift(0), m_byteaddr(0) { + // these memories work off the I2C clock only + assert(!clock); } -i2cmem_device::i2cmem_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : i2cmem_device(mconfig, I2CMEM, tag, owner, 0, 0) +i2cmem_device::i2cmem_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + i2cmem_device(mconfig, I2CMEM, tag, owner, clock, 0, 0) { } -i2c_x2404p_device::i2c_x2404p_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : i2cmem_device(mconfig, I2C_X2404P, tag, owner, 8, 0x200) +i2c_x2404p_device::i2c_x2404p_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + i2cmem_device(mconfig, I2C_X2404P, tag, owner, clock, 8, 0x200) { } -i2c_24c01_device::i2c_24c01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : i2cmem_device(mconfig, I2C_24C01, tag, owner, 4, 0x80) +i2c_24c01_device::i2c_24c01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + i2cmem_device(mconfig, I2C_24C01, tag, owner, clock, 4, 0x80) { } -i2c_24c02_device::i2c_24c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : i2cmem_device(mconfig, I2C_24C02, tag, owner, 4, 0x100) +i2c_24c02_device::i2c_24c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + i2cmem_device(mconfig, I2C_24C02, tag, owner, clock, 4, 0x100) { } -i2c_24c08_device::i2c_24c08_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : i2cmem_device(mconfig, I2C_24C08, tag, owner, 0, 0x400) +i2c_24c08_device::i2c_24c08_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + i2cmem_device(mconfig, I2C_24C08, tag, owner, clock, 0, 0x400) { } -i2c_24c16_device::i2c_24c16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : i2cmem_device(mconfig, I2C_24C16, tag, owner, 8, 0x800) +i2c_24c16_device::i2c_24c16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + i2cmem_device(mconfig, I2C_24C16, tag, owner, clock, 8, 0x800) { } -i2c_24c16a_device::i2c_24c16a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : i2cmem_device(mconfig, I2C_24C16A, tag, owner, 0, 0x800) +i2c_24c16a_device::i2c_24c16a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + i2cmem_device(mconfig, I2C_24C16A, tag, owner, clock, 0, 0x800) { } -i2c_24c64_device::i2c_24c64_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : i2cmem_device(mconfig, I2C_24C64, tag, owner, 8, 0x2000) +i2c_24c64_device::i2c_24c64_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + i2cmem_device(mconfig, I2C_24C64, tag, owner, clock, 8, 0x2000) { } diff --git a/src/devices/machine/i2cmem.h b/src/devices/machine/i2cmem.h index 528987c753a..fb28c278379 100644 --- a/src/devices/machine/i2cmem.h +++ b/src/devices/machine/i2cmem.h @@ -55,7 +55,7 @@ public: protected: // construction/destruction - i2cmem_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, int page_size, int data_size); + i2cmem_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int page_size, int data_size); // device-level overrides virtual void device_start() override; diff --git a/src/devices/video/upd7220.h b/src/devices/video/upd7220.h index 6a9837d90eb..43748f7fa63 100644 --- a/src/devices/video/upd7220.h +++ b/src/devices/video/upd7220.h @@ -62,8 +62,47 @@ public: // construction/destruction upd7220_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - template <typename... T> void set_display_pixels_callback(T &&... args) { m_display_cb = display_pixels_delegate(std::forward<T>(args)...); } - template <typename... T> void set_draw_text_callback(T &&... args) { m_draw_text_cb = draw_text_delegate(std::forward<T>(args)...); } + // FIXME: these should be aware of current device for resolving the tag + template <class FunctionClass> + void set_display_pixels(void (FunctionClass::*init)(bitmap_rgb32 &, int, int, uint32_t), const char *name) + { + m_display_cb = display_pixels_delegate(init, name, nullptr, static_cast<FunctionClass *>(nullptr)); + } + template <class FunctionClass> + void set_display_pixels(void (FunctionClass::*init)(bitmap_rgb32 &, int, int, uint32_t) const, const char *name) + { + m_display_cb = display_pixels_delegate(init, name, nullptr, static_cast<FunctionClass *>(nullptr)); + } + template <class FunctionClass> + void set_display_pixels(const char *devname, void (FunctionClass::*init)(bitmap_rgb32 &, int, int, uint32_t), const char *name) + { + m_display_cb = display_pixels_delegate(init, name, devname, static_cast<FunctionClass *>(nullptr)); + } + template <class FunctionClass> + void set_display_pixels(const char *devname, void (FunctionClass::*init)(bitmap_rgb32 &, int, int, uint32_t) const, const char *name) + { + m_display_cb = display_pixels_delegate(init, name, devname, static_cast<FunctionClass *>(nullptr)); + } + template <class FunctionClass> + void set_draw_text(void (FunctionClass::*init)(bitmap_rgb32 &, uint32_t, int, int, int, int, int, int), const char *name) + { + m_draw_text_cb = draw_text_delegate(init, name, nullptr, static_cast<FunctionClass *>(nullptr)); + } + template <class FunctionClass> + void set_draw_text(void (FunctionClass::*init)(bitmap_rgb32 &, uint32_t, int, int, int, int, int, int) const, const char *name) + { + m_draw_text_cb = draw_text_delegate(init, name, nullptr, static_cast<FunctionClass *>(nullptr)); + } + template <class FunctionClass> + void set_draw_text(const char *devname, void (FunctionClass::*init)(bitmap_rgb32 &, uint32_t, int, int, int, int, int, int), const char *name) + { + m_draw_text_cb = draw_text_delegate(init, name, devname, static_cast<FunctionClass *>(nullptr)); + } + template <class FunctionClass> + void set_draw_text(const char *devname, void (FunctionClass::*init)(bitmap_rgb32 &, uint32_t, int, int, int, int, int, int) const, const char *name) + { + m_draw_text_cb = draw_text_delegate(init, name, devname, static_cast<FunctionClass *>(nullptr)); + } auto drq_wr_callback() { return m_write_drq.bind(); } auto hsync_wr_callback() { return m_write_hsync.bind(); } diff --git a/src/emu/devfind.cpp b/src/emu/devfind.cpp index d66c59a3f6f..4128123e0f2 100644 --- a/src/emu/devfind.cpp +++ b/src/emu/devfind.cpp @@ -314,23 +314,26 @@ bool finder_base::validate_addrspace(int spacenum, u8 width, bool required) cons bool finder_base::report_missing(bool found, const char *objname, bool required) const { - if (required && (strcmp(m_tag, DUMMY_TAG) == 0)) + if (required && (DUMMY_TAG == m_tag)) { osd_printf_error("Tag not defined for required %s\n", objname); return false; } - - // just pass through in the found case - if (found) + else if (found) + { + // just pass through in the found case return true; - - // otherwise, report - std::string const region_fulltag(m_base.get().subtag(m_tag)); - if (required) - osd_printf_error("Required %s '%s' not found\n", objname, region_fulltag.c_str()); + } else - osd_printf_verbose("Optional %s '%s' not found\n", objname, region_fulltag.c_str()); - return !required; + { + // otherwise, report + std::string const region_fulltag(m_base.get().subtag(m_tag)); + if (required) + osd_printf_error("Required %s '%s' not found\n", objname, region_fulltag.c_str()); + else if (DUMMY_TAG != m_tag) + osd_printf_verbose("Optional %s '%s' not found\n", objname, region_fulltag.c_str()); + return !required; + } } @@ -339,7 +342,7 @@ void finder_base::printf_warning(const char *format, ...) va_list argptr; char buffer[1024]; - /* do the output */ + // do the output va_start(argptr, format); vsnprintf(buffer, 1024, format, argptr); osd_printf_warning("%s", buffer); diff --git a/src/lib/netlist/devices/nld_7448.cpp b/src/lib/netlist/devices/nld_7448.cpp index c95af08778f..25d3ba5d108 100644 --- a/src/lib/netlist/devices/nld_7448.cpp +++ b/src/lib/netlist/devices/nld_7448.cpp @@ -5,11 +5,11 @@ * */ -#include <array> - -#include "nld_7448.h" +#include "nld_7448.h" #include "nlid_truthtable.h" +#include <array> + namespace netlist { namespace devices diff --git a/src/lib/netlist/plib/pstring.h b/src/lib/netlist/plib/pstring.h index c490ffa019e..bc056424531 100644 --- a/src/lib/netlist/plib/pstring.h +++ b/src/lib/netlist/plib/pstring.h @@ -42,14 +42,14 @@ public: using string_type = typename T::string_type; using traits_type = typename T::traits_type; - pstring_const_iterator() noexcept : p() { } + constexpr pstring_const_iterator() noexcept : p() { } explicit constexpr pstring_const_iterator(const typename string_type::const_iterator &x) noexcept : p(x) { } pstring_const_iterator& operator++() noexcept { p += static_cast<difference_type>(traits_type::codelen(&(*p))); return *this; } - const pstring_const_iterator operator++(int) noexcept { pstring_const_iterator tmp(*this); operator++(); return tmp; } + pstring_const_iterator operator++(int) noexcept { pstring_const_iterator tmp(*this); operator++(); return tmp; } - bool operator==(const pstring_const_iterator& rhs) const noexcept { return p == rhs.p; } - bool operator!=(const pstring_const_iterator& rhs) const noexcept { return p != rhs.p; } + constexpr bool operator==(const pstring_const_iterator& rhs) const noexcept { return p == rhs.p; } + constexpr bool operator!=(const pstring_const_iterator& rhs) const noexcept { return p != rhs.p; } reference operator*() const noexcept { return *reinterpret_cast<pointer>(&(*p)); } pointer operator->() const noexcept { return reinterpret_cast<pointer>(&(*p)); } diff --git a/src/lib/netlist/plib/ptypes.h b/src/lib/netlist/plib/ptypes.h index 5e0f8d49fe3..a3b11b65e74 100644 --- a/src/lib/netlist/plib/ptypes.h +++ b/src/lib/netlist/plib/ptypes.h @@ -108,7 +108,7 @@ namespace plib operator E() const {return m_v;} \ bool operator==(const ename &rhs) const {return m_v == rhs.m_v;} \ bool operator==(const E &rhs) const {return m_v == rhs;} \ - const std::string name() const { \ + std::string name() const { \ static char const *const strings = # __VA_ARGS__; \ return nthstr(static_cast<int>(m_v), strings); \ } \ diff --git a/src/lib/netlist/solver/nld_solver.cpp b/src/lib/netlist/solver/nld_solver.cpp index 9ed380020f4..6ce9a093c84 100644 --- a/src/lib/netlist/solver/nld_solver.cpp +++ b/src/lib/netlist/solver/nld_solver.cpp @@ -31,10 +31,6 @@ #pragma GCC optimize "ivopts" #endif -#include <algorithm> -#include <cmath> // <<= needed by windows build -#include <memory> - #include "../nl_lists.h" #include "../plib/pomp.h" @@ -58,6 +54,9 @@ #include "nld_ms_sor_mat.h" #include "nld_ms_w.h" +#include <algorithm> +#include <cmath> + namespace netlist { namespace devices diff --git a/src/lib/netlist/solver/nld_solver.h b/src/lib/netlist/solver/nld_solver.h index 1ba15fed64a..247abc9097b 100644 --- a/src/lib/netlist/solver/nld_solver.h +++ b/src/lib/netlist/solver/nld_solver.h @@ -8,14 +8,14 @@ #ifndef NLD_SOLVER_H_ #define NLD_SOLVER_H_ -#include <map> -#include <memory> -#include <vector> - #include "../nl_base.h" #include "../plib/pstream.h" #include "nld_matrix_solver.h" +#include <map> +#include <memory> +#include <vector> + //#define ATTR_ALIGNED(N) __attribute__((aligned(N))) #define ATTR_ALIGNED(N) ATTR_ALIGN diff --git a/src/mame/audio/nichisnd.cpp b/src/mame/audio/nichisnd.cpp index e4291b41342..405f5017aac 100644 --- a/src/mame/audio/nichisnd.cpp +++ b/src/mame/audio/nichisnd.cpp @@ -102,8 +102,8 @@ void nichisnd_device::device_add_mconfig(machine_config &config) DAC_8BIT_R2R(config, "dac2", 0).add_route(ALL_OUTPUTS, "speaker", 0.37); // unknown DAC voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); vref.set_output(5.0); - vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT); - vref.add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT); + vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT).add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT); + vref.add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT).add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT); } diff --git a/src/mame/drivers/a5105.cpp b/src/mame/drivers/a5105.cpp index 72b72c97549..f9f2d38e97d 100644 --- a/src/mame/drivers/a5105.cpp +++ b/src/mame/drivers/a5105.cpp @@ -585,8 +585,8 @@ MACHINE_CONFIG_START(a5105_state::a5105) /* Devices */ UPD7220(config, m_hgdc, XTAL(15'000'000) / 16); // unk clock m_hgdc->set_addrmap(0, &a5105_state::upd7220_map); - m_hgdc->set_display_pixels_callback(FUNC(a5105_state::hgdc_display_pixels), this); - m_hgdc->set_draw_text_callback(FUNC(a5105_state::hgdc_draw_text), this); + m_hgdc->set_display_pixels(FUNC(a5105_state::hgdc_display_pixels)); + m_hgdc->set_draw_text(FUNC(a5105_state::hgdc_draw_text)); z80ctc_device& ctc(Z80CTC(config, "z80ctc", XTAL(15'000'000) / 4)); ctc.intr_callback().set_inputline(m_maincpu, 0); diff --git a/src/mame/drivers/apc.cpp b/src/mame/drivers/apc.cpp index 398ddb225f1..a1311fbc024 100644 --- a/src/mame/drivers/apc.cpp +++ b/src/mame/drivers/apc.cpp @@ -995,11 +995,11 @@ MACHINE_CONFIG_START(apc_state::apc) UPD7220(config, m_hgdc1, 3579545); // unk clock m_hgdc1->set_addrmap(0, &apc_state::upd7220_1_map); - m_hgdc1->set_draw_text_callback(FUNC(apc_state::hgdc_draw_text), this); + m_hgdc1->set_draw_text(FUNC(apc_state::hgdc_draw_text)); UPD7220(config, m_hgdc2, 3579545); // unk clock m_hgdc2->set_addrmap(0, &apc_state::upd7220_2_map); - m_hgdc2->set_display_pixels_callback(FUNC(apc_state::hgdc_display_pixels), this); + m_hgdc2->set_display_pixels(FUNC(apc_state::hgdc_display_pixels)); /* sound hardware */ SPEAKER(config, m_speaker).front_center(); diff --git a/src/mame/drivers/applix.cpp b/src/mame/drivers/applix.cpp index 4e6ad739e47..018fbd589e6 100644 --- a/src/mame/drivers/applix.cpp +++ b/src/mame/drivers/applix.cpp @@ -882,8 +882,8 @@ MACHINE_CONFIG_START(applix_state::applix) DAC0800(config, "rdac", 0).add_route(ALL_OUTPUTS, "rspeaker", 1.0); // 74ls374.u20 + dac0800.u21 + 4052.u23 voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); vref.set_output(5.0); - vref.add_route(0, "ldac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "ldac", -1.0, DAC_VREF_NEG_INPUT); - vref.add_route(0, "rdac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "rdac", -1.0, DAC_VREF_NEG_INPUT); + vref.add_route(0, "ldac", 1.0, DAC_VREF_POS_INPUT).add_route(0, "ldac", -1.0, DAC_VREF_NEG_INPUT); + vref.add_route(0, "rdac", 1.0, DAC_VREF_POS_INPUT).add_route(0, "rdac", -1.0, DAC_VREF_NEG_INPUT); WAVE(config, "wave", m_cass).add_route(ALL_OUTPUTS, "lspeaker", 0.50); diff --git a/src/mame/drivers/armedf.cpp b/src/mame/drivers/armedf.cpp index 6a79b51b97f..4bd8243be03 100644 --- a/src/mame/drivers/armedf.cpp +++ b/src/mame/drivers/armedf.cpp @@ -1268,8 +1268,8 @@ void armedf_state::terraf_sound(machine_config &config) DAC_8BIT_R2R(config, "dac2", 0).add_route(ALL_OUTPUTS, "speaker", 0.8); // 10-pin SIP with 74HC374P latch voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); vref.set_output(5.0); - vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT); - vref.add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT); + vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT).add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT); + vref.add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT).add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT); } MACHINE_CONFIG_START(armedf_state::terraf) @@ -1347,8 +1347,8 @@ MACHINE_CONFIG_START(armedf_state::terrafjb) DAC_8BIT_R2R(config, "dac2", 0).add_route(ALL_OUTPUTS, "speaker", 0.8); // unknown DAC voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); vref.set_output(5.0); - vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT); - vref.add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT); + vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT).add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT); + vref.add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT).add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT); MACHINE_CONFIG_END void armedf_state::terrafb(machine_config &config) @@ -1428,8 +1428,8 @@ MACHINE_CONFIG_START(armedf_state::armedf) DAC_8BIT_R2R(config, "dac2", 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); vref.set_output(5.0); - vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT); - vref.add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT); + vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT).add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT); + vref.add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT).add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT); MACHINE_CONFIG_END MACHINE_CONFIG_START(armedf_state::cclimbr2) @@ -1475,8 +1475,8 @@ MACHINE_CONFIG_START(armedf_state::cclimbr2) DAC_8BIT_R2R(config, "dac2", 0).add_route(ALL_OUTPUTS, "speaker", 0.4); // unknown DAC voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); vref.set_output(5.0); - vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT); - vref.add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT); + vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT).add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT); + vref.add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT).add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT); MACHINE_CONFIG_END MACHINE_CONFIG_START(armedf_state::legion_common) @@ -1514,8 +1514,8 @@ MACHINE_CONFIG_START(armedf_state::legion_common) DAC_8BIT_R2R(config, "dac2", 0).add_route(ALL_OUTPUTS, "speaker", 0.4); // 10-pin SIP with 74HC374P latch voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); vref.set_output(5.0); - vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT); - vref.add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT); + vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT).add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT); + vref.add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT).add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT); MACHINE_CONFIG_END MACHINE_CONFIG_START(armedf_state::legion) diff --git a/src/mame/drivers/atari_s2.cpp b/src/mame/drivers/atari_s2.cpp index 219e52392b4..7f90dcdbfd9 100644 --- a/src/mame/drivers/atari_s2.cpp +++ b/src/mame/drivers/atari_s2.cpp @@ -495,8 +495,8 @@ void atari_s2_state::atari_s2(machine_config &config) DAC_3BIT_BINARY_WEIGHTED(config, m_dac1, 0).add_route(ALL_OUTPUTS, "speaker", 0.15); // r18-r20 (100k,47k,100k) voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); vref.set_output(5.0); - vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); - vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT); + vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT).add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); + vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT).add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT); /* Video */ config.set_default_layout(layout_atari_s2); diff --git a/src/mame/drivers/dmv.cpp b/src/mame/drivers/dmv.cpp index 0932855f1ca..0e3098ec7b9 100644 --- a/src/mame/drivers/dmv.cpp +++ b/src/mame/drivers/dmv.cpp @@ -805,8 +805,8 @@ void dmv_state::dmv(machine_config &config) // devices UPD7220(config, m_hgdc, XTAL(5'000'000)/2); // unk clock m_hgdc->set_addrmap(0, &dmv_state::upd7220_map); - m_hgdc->set_display_pixels_callback(FUNC(dmv_state::hgdc_display_pixels), this); - m_hgdc->set_draw_text_callback(FUNC(dmv_state::hgdc_draw_text), this); + m_hgdc->set_display_pixels(FUNC(dmv_state::hgdc_display_pixels)); + m_hgdc->set_draw_text(FUNC(dmv_state::hgdc_draw_text)); AM9517A(config, m_dmac, 4_MHz_XTAL); m_dmac->out_hreq_callback().set(FUNC(dmv_state::dma_hrq_changed)); diff --git a/src/mame/drivers/if800.cpp b/src/mame/drivers/if800.cpp index fe36af9d1e7..fe117e36e4d 100644 --- a/src/mame/drivers/if800.cpp +++ b/src/mame/drivers/if800.cpp @@ -100,7 +100,7 @@ MACHINE_CONFIG_START(if800_state::if800) // PIC8259(config, "pic8259", 0); UPD7220(config, m_hgdc, 8000000/4); m_hgdc->set_addrmap(0, &if800_state::upd7220_map); - m_hgdc->set_display_pixels_callback(FUNC(if800_state::hgdc_display_pixels), this); + m_hgdc->set_display_pixels(FUNC(if800_state::hgdc_display_pixels)); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) diff --git a/src/mame/drivers/mz3500.cpp b/src/mame/drivers/mz3500.cpp index e34b883647e..134ed18d7cd 100644 --- a/src/mame/drivers/mz3500.cpp +++ b/src/mame/drivers/mz3500.cpp @@ -836,12 +836,12 @@ MACHINE_CONFIG_START(mz3500_state::mz3500) UPD7220(config, m_hgdc1, MAIN_CLOCK/5); m_hgdc1->set_addrmap(0, &mz3500_state::upd7220_1_map); - m_hgdc1->set_draw_text_callback(FUNC(mz3500_state::hgdc_draw_text), this); + m_hgdc1->set_draw_text(FUNC(mz3500_state::hgdc_draw_text)); m_hgdc1->vsync_wr_callback().set(m_hgdc2, FUNC(upd7220_device::ext_sync_w)); UPD7220(config, m_hgdc2, MAIN_CLOCK/5); m_hgdc2->set_addrmap(0, &mz3500_state::upd7220_2_map); - m_hgdc2->set_display_pixels_callback(FUNC(mz3500_state::hgdc_display_pixels), this); + m_hgdc2->set_display_pixels(FUNC(mz3500_state::hgdc_display_pixels)); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) diff --git a/src/mame/drivers/mz6500.cpp b/src/mame/drivers/mz6500.cpp index f0aa02bf4f7..3fcf897c971 100644 --- a/src/mame/drivers/mz6500.cpp +++ b/src/mame/drivers/mz6500.cpp @@ -168,7 +168,7 @@ MACHINE_CONFIG_START(mz6500_state::mz6500) /* Devices */ UPD7220(config, m_hgdc, 8000000/6); // unk clock m_hgdc->set_addrmap(0, &mz6500_state::upd7220_map); - m_hgdc->set_display_pixels_callback(FUNC(mz6500_state::hgdc_display_pixels), this); + m_hgdc->set_display_pixels(FUNC(mz6500_state::hgdc_display_pixels)); UPD765A(config, m_fdc, 8000000, true, true); FLOPPY_CONNECTOR(config, "upd765:0", mz6500_floppies, "525hd", floppy_image_device::default_floppy_formats); diff --git a/src/mame/drivers/pc9801.cpp b/src/mame/drivers/pc9801.cpp index eb7e2be3743..08cfafde863 100644 --- a/src/mame/drivers/pc9801.cpp +++ b/src/mame/drivers/pc9801.cpp @@ -2367,12 +2367,12 @@ void pc9801_state::pc9801_common(machine_config &config) UPD7220(config, m_hgdc1, 21.0526_MHz_XTAL / 8); m_hgdc1->set_addrmap(0, &pc9801_state::upd7220_1_map); - m_hgdc1->set_draw_text_callback(FUNC(pc9801_state::hgdc_draw_text), this); + m_hgdc1->set_draw_text(FUNC(pc9801_state::hgdc_draw_text)); m_hgdc1->vsync_wr_callback().set(m_hgdc2, FUNC(upd7220_device::ext_sync_w)); UPD7220(config, m_hgdc2, 21.0526_MHz_XTAL / 8); m_hgdc2->set_addrmap(0, &pc9801_state::upd7220_2_map); - m_hgdc2->set_display_pixels_callback(FUNC(pc9801_state::hgdc_display_pixels), this); + m_hgdc2->set_display_pixels(FUNC(pc9801_state::hgdc_display_pixels)); SPEAKER(config, "mono").front_center(); diff --git a/src/mame/drivers/qx10.cpp b/src/mame/drivers/qx10.cpp index 949d11abe90..009917ce16c 100644 --- a/src/mame/drivers/qx10.cpp +++ b/src/mame/drivers/qx10.cpp @@ -801,8 +801,8 @@ MACHINE_CONFIG_START(qx10_state::qx10) UPD7220(config, m_hgdc, MAIN_CLK/6); // unk clock m_hgdc->set_addrmap(0, &qx10_state::upd7220_map); - m_hgdc->set_display_pixels_callback(FUNC(qx10_state::hgdc_display_pixels), this); - m_hgdc->set_draw_text_callback(FUNC(qx10_state::hgdc_draw_text), this); + m_hgdc->set_display_pixels(FUNC(qx10_state::hgdc_display_pixels)); + m_hgdc->set_draw_text(FUNC(qx10_state::hgdc_draw_text)); m_hgdc->set_screen("screen"); MC146818(config, m_rtc, 32.768_kHz_XTAL); diff --git a/src/mame/drivers/rainbow.cpp b/src/mame/drivers/rainbow.cpp index f51d0f6248a..3b3e769e4c1 100644 --- a/src/mame/drivers/rainbow.cpp +++ b/src/mame/drivers/rainbow.cpp @@ -3233,7 +3233,7 @@ MACHINE_CONFIG_START(rainbow_state::rainbow) m_hgdc->vsync_wr_callback().set(FUNC(rainbow_state::GDC_vblank_irq)); // "The vsync callback line needs to be below the 7220 DEVICE_ADD line." m_hgdc->set_addrmap(0, &rainbow_state::upd7220_map); - m_hgdc->set_display_pixels_callback(FUNC(rainbow_state::hgdc_display_pixels), this); + m_hgdc->set_display_pixels(FUNC(rainbow_state::hgdc_display_pixels)); m_hgdc->set_screen(m_screen2); // set_screen needs to be added after 7720 device in the machine config, not after the screen. MCFG_PALETTE_ADD("palette2", 32) diff --git a/src/mame/drivers/vt240.cpp b/src/mame/drivers/vt240.cpp index c70774e41f0..c2d9295884b 100644 --- a/src/mame/drivers/vt240.cpp +++ b/src/mame/drivers/vt240.cpp @@ -667,7 +667,7 @@ void vt240_state::vt240(machine_config &config) UPD7220(config, m_hgdc, XTAL(16'097'280) / 16); // actually /8? m_hgdc->set_addrmap(0, &vt240_state::upd7220_map); - m_hgdc->set_display_pixels_callback(FUNC(vt240_state::hgdc_draw), this); + m_hgdc->set_display_pixels(FUNC(vt240_state::hgdc_draw)); m_hgdc->vsync_wr_callback().set_inputline(m_i8085, I8085_RST75_LINE); m_hgdc->blank_wr_callback().set_inputline(m_i8085, I8085_RST55_LINE); m_hgdc->set_screen("screen"); diff --git a/src/mame/video/mikromik.cpp b/src/mame/video/mikromik.cpp index bcadbfc954a..f66a3af4e21 100644 --- a/src/mame/video/mikromik.cpp +++ b/src/mame/video/mikromik.cpp @@ -150,6 +150,6 @@ void mm1_state::mm1m6_video(machine_config &config) UPD7220(config, m_hgdc, XTAL(18'720'000)/8); m_hgdc->set_addrmap(0, &mm1_state::mm1_upd7220_map); - m_hgdc->set_display_pixels_callback(FUNC(mm1_state::hgdc_display_pixels), this); + m_hgdc->set_display_pixels(FUNC(mm1_state::hgdc_display_pixels)); m_hgdc->set_screen(SCREEN_TAG); } |