-epson_lx810l: Eliminated MACHINE_CONFIG_START, nw

-e0156, e05a30: Eliminated MCFG, nw
This commit is contained in:
mooglyguy 2018-08-25 14:27:33 +02:00
parent 60538922c8
commit bee81e496a
5 changed files with 37 additions and 86 deletions

View File

@ -106,7 +106,8 @@ void epson_lx810l_device::lx810l_mem(address_map &map)
// device_add_mconfig - add device configuration // device_add_mconfig - add device configuration
//------------------------------------------------- //-------------------------------------------------
MACHINE_CONFIG_START(epson_lx810l_device::device_add_mconfig) void epson_lx810l_device::device_add_mconfig(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
upd7810_device &upd(UPD7810(config, m_maincpu, 14.7456_MHz_XTAL)); upd7810_device &upd(UPD7810(config, m_maincpu, 14.7456_MHz_XTAL));
upd.set_addrmap(AS_PROGRAM, &epson_lx810l_device::lx810l_mem); upd.set_addrmap(AS_PROGRAM, &epson_lx810l_device::lx810l_mem);
@ -130,38 +131,38 @@ MACHINE_CONFIG_START(epson_lx810l_device::device_add_mconfig)
// config.set_default_layout(layout_lx800); // config.set_default_layout(layout_lx800);
/* video hardware (simulates paper) */ /* video hardware (simulates paper) */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, m_screen, SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(PAPER_WIDTH, PAPER_HEIGHT) screen.set_size(PAPER_WIDTH, PAPER_HEIGHT);
MCFG_SCREEN_VISIBLE_AREA(0, PAPER_WIDTH-1, 0, PAPER_HEIGHT-1) screen.set_visarea(0, PAPER_WIDTH-1, 0, PAPER_HEIGHT-1);
MCFG_SCREEN_UPDATE_DRIVER(epson_lx810l_device, screen_update_lx810l) screen.set_screen_update(FUNC(epson_lx810l_device::screen_update_lx810l));
/* audio hardware */ /* audio hardware */
SPEAKER(config, "speaker").front_center(); SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) DAC_1BIT(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.25);
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) vref.set_output(5.0);
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
/* gate array */ /* gate array */
MCFG_DEVICE_ADD("e05a30", E05A30, 0) e05a30_device &e05a30(E05A30(config, m_e05a30, 0));
MCFG_E05A30_PRINTHEAD_CALLBACK(WRITE16(*this, epson_lx810l_device, printhead)) e05a30.printhead().set(FUNC(epson_lx810l_device::printhead));
MCFG_E05A30_PF_STEPPER_CALLBACK(WRITE8(*this, epson_lx810l_device, pf_stepper)) e05a30.pf_stepper().set(FUNC(epson_lx810l_device::pf_stepper));
MCFG_E05A30_CR_STEPPER_CALLBACK(WRITE8(*this, epson_lx810l_device, cr_stepper)) e05a30.cr_stepper().set(FUNC(epson_lx810l_device::cr_stepper));
MCFG_E05A30_READY_CALLBACK(WRITELINE(*this, epson_lx810l_device, e05a30_ready)) e05a30.ready().set(FUNC(epson_lx810l_device::e05a30_ready));
MCFG_E05A30_CENTRONICS_ACK_CALLBACK(WRITELINE(*this, epson_lx810l_device, e05a30_centronics_ack)) e05a30.centronics_ack().set(FUNC(epson_lx810l_device::e05a30_centronics_ack));
MCFG_E05A30_CENTRONICS_BUSY_CALLBACK(WRITELINE(*this, epson_lx810l_device, e05a30_centronics_busy)) e05a30.centronics_busy().set(FUNC(epson_lx810l_device::e05a30_centronics_busy));
MCFG_E05A30_CENTRONICS_PERROR_CALLBACK(WRITELINE(*this, epson_lx810l_device, e05a30_centronics_perror)) e05a30.centronics_perror().set(FUNC(epson_lx810l_device::e05a30_centronics_perror));
MCFG_E05A30_CENTRONICS_FAULT_CALLBACK(WRITELINE(*this, epson_lx810l_device, e05a30_centronics_fault)) e05a30.centronics_fault().set(FUNC(epson_lx810l_device::e05a30_centronics_fault));
MCFG_E05A30_CENTRONICS_SELECT_CALLBACK(WRITELINE(*this, epson_lx810l_device, e05a30_centronics_select)) e05a30.centronics_select().set(FUNC(epson_lx810l_device::e05a30_centronics_select));
/* 256-bit eeprom */ /* 256-bit eeprom */
EEPROM_93C06_16BIT(config, "eeprom"); EEPROM_93C06_16BIT(config, "eeprom");
STEPPER(config, "pf_stepper", (uint8_t)4); STEPPER(config, m_pf_stepper, (uint8_t)4);
STEPPER(config, "cr_stepper", (uint8_t)2); STEPPER(config, m_cr_stepper, (uint8_t)2);
}
MACHINE_CONFIG_END
/*************************************************************************** /***************************************************************************

View File

@ -24,23 +24,6 @@
#include "dirtc.h" #include "dirtc.h"
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
#define MCFG_E0516_ADD(_tag, _clock) \
MCFG_DEVICE_ADD(_tag, E0516, _clock)
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> e0516_device
class e0516_device : public device_t, public device_rtc_interface class e0516_device : public device_t, public device_rtc_interface
{ {
public: public:

View File

@ -8,55 +8,22 @@
#ifndef MAME_MACHINE_E05A30_H #ifndef MAME_MACHINE_E05A30_H
#define MAME_MACHINE_E05A30_H #define MAME_MACHINE_E05A30_H
/*************************************************************************** #pragma once
DEVICE CONFIGURATION MACROS
***************************************************************************/
#define MCFG_E05A30_PRINTHEAD_CALLBACK(_write) \
downcast<e05a30_device &>(*device).set_printhead_wr_callback(DEVCB_##_write);
#define MCFG_E05A30_PF_STEPPER_CALLBACK(_write) \
downcast<e05a30_device &>(*device).set_pf_stepper_wr_callback(DEVCB_##_write);
#define MCFG_E05A30_CR_STEPPER_CALLBACK(_write) \
downcast<e05a30_device &>(*device).set_cr_stepper_wr_callback(DEVCB_##_write);
#define MCFG_E05A30_READY_CALLBACK(_write) \
downcast<e05a30_device &>(*device).set_ready_wr_callback(DEVCB_##_write);
#define MCFG_E05A30_CENTRONICS_ACK_CALLBACK(_write) \
downcast<e05a30_device &>(*device).set_centronics_ack_wr_callback(DEVCB_##_write);
#define MCFG_E05A30_CENTRONICS_BUSY_CALLBACK(_write) \
downcast<e05a30_device &>(*device).set_centronics_busy_wr_callback(DEVCB_##_write);
#define MCFG_E05A30_CENTRONICS_PERROR_CALLBACK(_write) \
downcast<e05a30_device &>(*device).set_centronics_perror_wr_callback(DEVCB_##_write);
#define MCFG_E05A30_CENTRONICS_FAULT_CALLBACK(_write) \
downcast<e05a30_device &>(*device).set_centronics_fault_wr_callback(DEVCB_##_write);
#define MCFG_E05A30_CENTRONICS_SELECT_CALLBACK(_write) \
downcast<e05a30_device &>(*device).set_centronics_select_wr_callback(DEVCB_##_write);
/***************************************************************************
TYPE DEFINITIONS
***************************************************************************/
class e05a30_device : public device_t class e05a30_device : public device_t
{ {
public: public:
e05a30_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); e05a30_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <class Object> devcb_base &set_printhead_wr_callback(Object &&cb) { return m_write_printhead.set_callback(std::forward<Object>(cb)); } auto printhead() { return m_write_printhead.bind(); }
template <class Object> devcb_base &set_pf_stepper_wr_callback(Object &&cb) { return m_write_pf_stepper.set_callback(std::forward<Object>(cb)); } auto pf_stepper() { return m_write_pf_stepper.bind(); }
template <class Object> devcb_base &set_cr_stepper_wr_callback(Object &&cb) { return m_write_cr_stepper.set_callback(std::forward<Object>(cb)); } auto cr_stepper() { return m_write_cr_stepper.bind(); }
template <class Object> devcb_base &set_ready_wr_callback(Object &&cb) { return m_write_ready.set_callback(std::forward<Object>(cb)); } auto ready() { return m_write_ready.bind(); }
template <class Object> devcb_base &set_centronics_ack_wr_callback(Object &&cb) { return m_write_centronics_ack.set_callback(std::forward<Object>(cb)); } auto centronics_ack() { return m_write_centronics_ack.bind(); }
template <class Object> devcb_base &set_centronics_busy_wr_callback(Object &&cb) { return m_write_centronics_busy.set_callback(std::forward<Object>(cb)); } auto centronics_busy() { return m_write_centronics_busy.bind(); }
template <class Object> devcb_base &set_centronics_perror_wr_callback(Object &&cb) { return m_write_centronics_perror.set_callback(std::forward<Object>(cb)); } auto centronics_perror() { return m_write_centronics_perror.bind(); }
template <class Object> devcb_base &set_centronics_fault_wr_callback(Object &&cb) { return m_write_centronics_fault.set_callback(std::forward<Object>(cb)); } auto centronics_fault() { return m_write_centronics_fault.bind(); }
template <class Object> devcb_base &set_centronics_select_wr_callback(Object &&cb) { return m_write_centronics_select.set_callback(std::forward<Object>(cb)); } auto centronics_select() { return m_write_centronics_select.bind(); }
DECLARE_WRITE8_MEMBER( write ); DECLARE_WRITE8_MEMBER( write );
DECLARE_READ8_MEMBER( read ); DECLARE_READ8_MEMBER( read );

View File

@ -931,7 +931,7 @@ MACHINE_CONFIG_START(abc1600_state::abc1600)
MCFG_NMC9306_ADD(NMC9306_TAG) MCFG_NMC9306_ADD(NMC9306_TAG)
MCFG_E0516_ADD(E050_C16PC_TAG, 32.768_kHz_XTAL) E0516(config, E050_C16PC_TAG, 32.768_kHz_XTAL);
MCFG_DEVICE_ADD(SAB1797_02P_TAG, FD1797, 64_MHz_XTAL / 64) MCFG_DEVICE_ADD(SAB1797_02P_TAG, FD1797, 64_MHz_XTAL / 64)
MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(m_cio, z8536_device, pb7_w)) MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(m_cio, z8536_device, pb7_w))

View File

@ -1221,7 +1221,7 @@ MACHINE_CONFIG_START(abc806_state::abc806)
abc806_video(config); abc806_video(config);
// peripheral hardware // peripheral hardware
MCFG_E0516_ADD(E0516_TAG, ABC806_X02) E0516(config, E0516_TAG, ABC806_X02);
MCFG_DEVICE_MODIFY(Z80DART_TAG) MCFG_DEVICE_MODIFY(Z80DART_TAG)
MCFG_Z80DART_OUT_DTRB_CB(WRITELINE(*this, abc806_state, keydtr_w)) MCFG_Z80DART_OUT_DTRB_CB(WRITELINE(*this, abc806_state, keydtr_w))