diff options
Diffstat (limited to 'src/mame/drivers/micral.cpp')
-rw-r--r-- | src/mame/drivers/micral.cpp | 44 |
1 files changed, 20 insertions, 24 deletions
diff --git a/src/mame/drivers/micral.cpp b/src/mame/drivers/micral.cpp index 6b1bab57c18..a7575b3d30f 100644 --- a/src/mame/drivers/micral.cpp +++ b/src/mame/drivers/micral.cpp @@ -57,7 +57,6 @@ Other things... #include "screen.h" #include "speaker.h" #include "machine/ay31015.h" -#include "machine/clock.h" #include "bus/rs232/rs232.h" @@ -378,28 +377,27 @@ MACHINE_RESET_MEMBER( micral_state, micral ) m_uart->write_cs(0); } -void micral_state::micral(machine_config &config) -{ +MACHINE_CONFIG_START(micral_state::micral) // basic machine hardware - Z80(config, m_maincpu, XTAL(4'000'000)); - m_maincpu->set_addrmap(AS_PROGRAM, &micral_state::mem_map); + MCFG_DEVICE_ADD( "maincpu", Z80, XTAL(4'000'000) ) + MCFG_DEVICE_PROGRAM_MAP(mem_map) // no i/o ports on main cpu - z80_device &keyboard(Z80(config, "keyboard", XTAL(1'000'000))); // freq unknown - keyboard.set_addrmap(AS_PROGRAM, &micral_state::mem_kbd); - keyboard.set_addrmap(AS_IO, &micral_state::io_kbd); + MCFG_DEVICE_ADD( "keyboard", Z80, XTAL(1'000'000) ) // freq unknown + MCFG_DEVICE_PROGRAM_MAP(mem_kbd) + MCFG_DEVICE_IO_MAP(io_kbd) MCFG_MACHINE_RESET_OVERRIDE(micral_state, micral) // video hardware - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green())); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(250)); - screen.set_screen_update(FUNC(micral_state::screen_update)); - screen.set_size(640, 240); - screen.set_visarea(0, 639, 0, 239); - screen.set_palette("palette"); + MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green()) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(250)) + MCFG_SCREEN_UPDATE_DRIVER(micral_state, screen_update) + MCFG_SCREEN_SIZE(640, 240) + MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 239) + MCFG_SCREEN_PALETTE("palette") PALETTE(config, "palette", palette_device::MONOCHROME); - //GFXDECODE(config, "gfxdecode", "palette", gfx_micral); + //MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_micral) CRT5037(config, m_crtc, 4000000 / 8); // xtal freq unknown m_crtc->set_char_width(8); // unknown @@ -407,19 +405,17 @@ void micral_state::micral(machine_config &config) m_crtc->set_screen("screen"); /* sound hardware */ - //SPEAKER(config, "mono").front_center(); - //BEEP(config, m_beep, 2000).add_route(ALL_OUTPUTS, "mono", 0.50); + //MCFG_SPEAKER_STANDARD_MONO("mono") + //MCFG_DEVICE_ADD("beeper", BEEP, 2000) + //MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) AY31015(config, m_uart); // CDP6402 + m_uart->set_tx_clock(153600); + m_uart->set_rx_clock(153600); m_uart->read_si_callback().set("rs232", FUNC(rs232_port_device::rxd_r)); m_uart->write_so_callback().set("rs232", FUNC(rs232_port_device::write_txd)); - - clock_device &uart_clock(CLOCK(config, "uart_clock", 153600)); - uart_clock.signal_handler().set(m_uart, FUNC(ay31015_device::write_tcp)); - uart_clock.signal_handler().append(m_uart, FUNC(ay31015_device::write_rcp)); - RS232_PORT(config, "rs232", default_rs232_devices, "keyboard"); -} +MACHINE_CONFIG_END ROM_START( micral ) ROM_REGION( 0x10000, "maincpu", 0 ) |