diff options
Diffstat (limited to 'src/mame/drivers/tmaster.cpp')
-rw-r--r-- | src/mame/drivers/tmaster.cpp | 50 |
1 files changed, 24 insertions, 26 deletions
diff --git a/src/mame/drivers/tmaster.cpp b/src/mame/drivers/tmaster.cpp index 1fbe7c9326b..fdc9a2b1ecc 100644 --- a/src/mame/drivers/tmaster.cpp +++ b/src/mame/drivers/tmaster.cpp @@ -366,47 +366,45 @@ int tmaster_compute_addr(uint16_t reg_low, uint16_t reg_mid, uint16_t reg_high) return (reg_low & 0xff) | ((reg_mid & 0x1ff) << 8) | (reg_high << 17); } -void tmaster_state::tm(machine_config &config) -{ - M68000(config, m_maincpu, XTAL(24'000'000) / 2); /* 12MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &tmaster_state::tmaster_map); - - TIMER(config, "scantimer").configure_scanline(FUNC(tmaster_state::scanline_interrupt), "screen", 0, 1); +MACHINE_CONFIG_START(tmaster_state::tm) + MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000) / 2) /* 12MHz */ + MCFG_DEVICE_PROGRAM_MAP(tmaster_map) + MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", tmaster_state, scanline_interrupt, "screen", 0, 1) - MC68681(config, m_duart, XTAL(8'664'000) / 2 /*??*/); - m_duart->irq_cb().set(FUNC(tmaster_state::duart_irq_handler)); - m_duart->a_tx_cb().set(m_microtouch, FUNC(microtouch_device::rx)); + MCFG_DEVICE_ADD( "duart68681", MC68681, XTAL(8'664'000) / 2 /*??*/) + MCFG_MC68681_IRQ_CALLBACK(WRITELINE(*this, tmaster_state, duart_irq_handler)) + MCFG_MC68681_A_TX_CALLBACK(WRITELINE("microtouch", microtouch_device, rx)) - MICROTOUCH(config, m_microtouch, 9600).stx().set(m_duart, FUNC(mc68681_device::rx_a_w)); + MCFG_MICROTOUCH_ADD( "microtouch", 9600, WRITELINE("duart68681", mc68681_device, rx_a_w) ) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // video hardware - SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_refresh_hz(60); - m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); - m_screen->set_size(400, 256); - m_screen->set_visarea(0, 400-1, 0, 256-1); - m_screen->set_screen_update(FUNC(tmaster_state::screen_update)); - m_screen->set_palette(m_palette); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) + MCFG_SCREEN_SIZE(400, 256) + MCFG_SCREEN_VISIBLE_AREA(0, 400-1, 0, 256-1) + MCFG_SCREEN_UPDATE_DRIVER(tmaster_state, screen_update) + MCFG_SCREEN_PALETTE(m_palette) PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 0x1000); - CESBLIT(config, m_blitter, XTAL(32'000'000), m_screen); - m_blitter->set_compute_addr(tmaster_compute_addr); - m_blitter->irq_callback().set(FUNC(tmaster_state::blitter_irq_callback)); + MCFG_CESBLIT_ADD("blitter", "screen", XTAL(32'000'000)) + MCFG_CESBLIT_COMPUTE_ADDR(tmaster_compute_addr) + MCFG_CESBLIT_IRQ_CB(WRITELINE(*this, tmaster_state, blitter_irq_callback)) // sound hardware SPEAKER(config, "mono").front_center(); - OKIM6295(config, m_oki, XTAL(24'000'000) / 16, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); /* 1.5Mhz? clock frequency & pin 7 not verified */ -} + MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(24'000'000) / 16, okim6295_device::PIN7_HIGH) /* 1.5Mhz? clock frequency & pin 7 not verified */ + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) +MACHINE_CONFIG_END -void tmaster_state::tmds1204(machine_config &config) -{ +MACHINE_CONFIG_START(tmaster_state::tmds1204) tm(config); - DS1204(config, "ds1204", 0); -} + MCFG_DS1204_ADD("ds1204") +MACHINE_CONFIG_END /*************************************************************************** |