diff options
Diffstat (limited to 'src/mame/drivers/rz1.cpp')
-rw-r--r-- | src/mame/drivers/rz1.cpp | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/src/mame/drivers/rz1.cpp b/src/mame/drivers/rz1.cpp index f82d94ca241..a54bdb1c716 100644 --- a/src/mame/drivers/rz1.cpp +++ b/src/mame/drivers/rz1.cpp @@ -45,13 +45,14 @@ class rz1_state : public driver_device { public: - rz1_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), + rz1_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), m_hd44780(*this, "hd44780"), m_pg{ {*this, "upd934g_c"}, {*this, "upd934g_b"} }, - m_samples{ {*this, "samples_a"}, {*this, "samples_b"}}, - m_keys(*this, "kc%u", 0), m_port_a(0), + m_samples{ {*this, "samples_a"}, {*this, "samples_b"} }, + m_keys(*this, "kc%u", 0), + m_port_a(0), m_port_b(0xff) { } @@ -334,39 +335,39 @@ PALETTE_INIT_MEMBER(rz1_state, rz1) //************************************************************************** MACHINE_CONFIG_START( rz1_state::rz1 ) - MCFG_DEVICE_ADD("maincpu", UPD7811, 12_MHz_XTAL) - MCFG_DEVICE_PROGRAM_MAP(map) - MCFG_UPD7810_PORTA_READ_CB(READ8(*this, rz1_state, port_a_r)) - MCFG_UPD7810_PORTA_WRITE_CB(WRITE8(*this, rz1_state, port_a_w)) - MCFG_UPD7810_PORTB_WRITE_CB(WRITE8(*this, rz1_state, port_b_w)) - MCFG_UPD7810_PORTC_READ_CB(READ8(*this, rz1_state, port_c_r)) - MCFG_UPD7810_PORTC_WRITE_CB(WRITE8(*this, rz1_state, port_c_w)) + UPD7811(config, m_maincpu, 12_MHz_XTAL); + m_maincpu->set_addrmap(AS_PROGRAM, &rz1_state::map); + m_maincpu->pa_in_cb().set(FUNC(rz1_state::port_a_r)); + m_maincpu->pa_out_cb().set(FUNC(rz1_state::port_a_w)); + m_maincpu->pb_out_cb().set(FUNC(rz1_state::port_b_w)); + m_maincpu->pc_in_cb().set(FUNC(rz1_state::port_c_r)); + m_maincpu->pc_out_cb().set(FUNC(rz1_state::port_c_w)); // video hardware - MCFG_SCREEN_ADD("screen", LCD) - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ - MCFG_SCREEN_SIZE(6*16+1, 10) - MCFG_SCREEN_VISIBLE_AREA(0, 6*16, 0, 10-1) - MCFG_SCREEN_UPDATE_DEVICE("hd44780", hd44780_device, screen_update) - MCFG_SCREEN_PALETTE("palette") + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD)); + screen.set_refresh_hz(50); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate + screen.set_size(6*16+1, 10); + screen.set_visarea(0, 6*16, 0, 10-1); + screen.set_screen_update("hd44780", FUNC(hd44780_device::screen_update)); + screen.set_palette("palette"); MCFG_PALETTE_ADD("palette", 3) MCFG_PALETTE_INIT_OWNER(rz1_state, rz1) - MCFG_HD44780_ADD("hd44780") - MCFG_HD44780_LCD_SIZE(1, 16) - MCFG_HD44780_PIXEL_UPDATE_CB(rz1_state, lcd_pixel_update) + HD44780(config, m_hd44780, 0); + m_hd44780->set_lcd_size(1, 16); + m_hd44780->set_pixel_update_cb(FUNC(rz1_state::lcd_pixel_update), this); MCFG_DEFAULT_LAYOUT(layout_rz1) SPEAKER(config, "speaker").front_center(); - MCFG_DEVICE_ADD("upd934g_c", UPD934G, 1333000) - MCFG_UPD934G_DATA_CB(READ8(*this, rz1_state, upd934g_c_data_r)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) - MCFG_DEVICE_ADD("upd934g_b", UPD934G, 1280000) - MCFG_UPD934G_DATA_CB(READ8(*this, rz1_state, upd934g_b_data_r)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) + UPD934G(config, m_pg[0], 1333000); + m_pg[0]->data_callback().set(FUNC(rz1_state::upd934g_c_data_r)); + m_pg[0]->add_route(ALL_OUTPUTS, "speaker", 1.0); + UPD934G(config, m_pg[1], 1280000); + m_pg[1]->data_callback().set(FUNC(rz1_state::upd934g_b_data_r)); + m_pg[1]->add_route(ALL_OUTPUTS, "speaker", 1.0); MACHINE_CONFIG_END |