diff options
Diffstat (limited to 'src/mame/drivers/ettrivia.cpp')
-rw-r--r-- | src/mame/drivers/ettrivia.cpp | 51 |
1 files changed, 26 insertions, 25 deletions
diff --git a/src/mame/drivers/ettrivia.cpp b/src/mame/drivers/ettrivia.cpp index abcead4b5eb..9ad1b40a8bb 100644 --- a/src/mame/drivers/ettrivia.cpp +++ b/src/mame/drivers/ettrivia.cpp @@ -138,20 +138,20 @@ WRITE8_MEMBER(ettrivia_state::b800_w) /* special case to return the value written to 0xb000 */ /* does it reset the chips too ? */ case 0: break; - case 0xc4: m_b000_ret = m_ay[0]->data_r(space, 0); break; - case 0x94: m_b000_ret = m_ay[1]->data_r(space, 0); break; - case 0x86: m_b000_ret = m_ay[2]->data_r(space, 0); break; + case 0xc4: m_b000_ret = m_ay[0]->data_r(); break; + case 0x94: m_b000_ret = m_ay[1]->data_r(); break; + case 0x86: m_b000_ret = m_ay[2]->data_r(); break; case 0x80: switch(m_b800_prev) { - case 0xe0: m_ay[0]->address_w(space,0,m_b000_val); break; - case 0x98: m_ay[1]->address_w(space,0,m_b000_val); break; - case 0x83: m_ay[2]->address_w(space,0,m_b000_val); break; + case 0xe0: m_ay[0]->address_w(m_b000_val); break; + case 0x98: m_ay[1]->address_w(m_b000_val); break; + case 0x83: m_ay[2]->address_w(m_b000_val); break; - case 0xa0: m_ay[0]->data_w(space,0,m_b000_val); break; - case 0x88: m_ay[1]->data_w(space,0,m_b000_val); break; - case 0x81: m_ay[2]->data_w(space,0,m_b000_val); break; + case 0xa0: m_ay[0]->data_w(m_b000_val); break; + case 0x88: m_ay[1]->data_w(m_b000_val); break; + case 0x81: m_ay[2]->data_w(m_b000_val); break; } break; @@ -258,17 +258,17 @@ void ettrivia_state::ettrivia_palette(palette_device &palette) const // red component bit0 = BIT(color_prom[i], 0); bit1 = BIT(color_prom[i+0x100], 0); - int const r = combine_2_weights(weights, bit0, bit1); + int const r = combine_weights(weights, bit0, bit1); // green component bit0 = BIT(color_prom[i], 2); bit1 = BIT(color_prom[i+0x100], 2); - int const g = combine_2_weights(weights, bit0, bit1); + int const g = combine_weights(weights, bit0, bit1); // blue component bit0 = BIT(color_prom[i], 1); bit1 = BIT(color_prom[i+0x100], 1); - int const b = combine_2_weights(weights, bit0, bit1); + int const b = combine_weights(weights, bit0, bit1); palette.set_pen_color(bitswap<8>(i,5,7,6,2,1,0,4,3), rgb_t(r, g, b)); } @@ -297,22 +297,23 @@ INTERRUPT_GEN_MEMBER(ettrivia_state::ettrivia_interrupt) device.execute().set_input_line(0, HOLD_LINE); } -MACHINE_CONFIG_START(ettrivia_state::ettrivia) - MCFG_DEVICE_ADD("maincpu", Z80,12000000/4-48000) //should be ok, it gives the 300 interrupts expected - MCFG_DEVICE_PROGRAM_MAP(cpu_map) - MCFG_DEVICE_IO_MAP(io_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", ettrivia_state, ettrivia_interrupt) +void ettrivia_state::ettrivia(machine_config &config) +{ + Z80(config, m_maincpu, 12000000/4-48000); //should be ok, it gives the 300 interrupts expected + m_maincpu->set_addrmap(AS_PROGRAM, &ettrivia_state::cpu_map); + m_maincpu->set_addrmap(AS_IO, &ettrivia_state::io_map); + m_maincpu->set_vblank_int("screen", FUNC(ettrivia_state::ettrivia_interrupt)); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(256, 256) - MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1) - MCFG_SCREEN_UPDATE_DRIVER(ettrivia_state, screen_update_ettrivia) - MCFG_SCREEN_PALETTE("palette") + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(256, 256); + screen.set_visarea(0*8, 32*8-1, 0*8, 28*8-1); + screen.set_screen_update(FUNC(ettrivia_state::screen_update_ettrivia)); + screen.set_palette("palette"); GFXDECODE(config, m_gfxdecode, "palette", gfx_ettrivia); PALETTE(config, "palette", FUNC(ettrivia_state::ettrivia_palette), 256); @@ -329,7 +330,7 @@ MACHINE_CONFIG_START(ettrivia_state::ettrivia) AY8912(config, m_ay[2], 1500000); m_ay[2]->port_a_read_callback().set_ioport("IN0"); m_ay[2]->add_route(ALL_OUTPUTS, "mono", 0.25); -MACHINE_CONFIG_END +} ROM_START( promutrv ) ROM_REGION( 0x10000, "maincpu", 0 ) |