diff options
Diffstat (limited to 'src/mame/drivers/nightgal.cpp')
-rw-r--r-- | src/mame/drivers/nightgal.cpp | 104 |
1 files changed, 53 insertions, 51 deletions
diff --git a/src/mame/drivers/nightgal.cpp b/src/mame/drivers/nightgal.cpp index 67d47158bcc..6e1440b4a66 100644 --- a/src/mame/drivers/nightgal.cpp +++ b/src/mame/drivers/nightgal.cpp @@ -216,18 +216,18 @@ void nightgal_state::nightgal_palette(palette_device &palette) const bit0 = BIT(color_prom[i], 0); bit1 = BIT(color_prom[i], 1); bit2 = BIT(color_prom[i], 2); - int const r = combine_weights(weights_rg, bit0, bit1, bit2); + int const r = combine_3_weights(weights_rg, bit0, bit1, bit2); // green component bit0 = BIT(color_prom[i], 3); bit1 = BIT(color_prom[i], 4); bit2 = BIT(color_prom[i], 5); - int const g = combine_weights(weights_rg, bit0, bit1, bit2); + int const g = combine_3_weights(weights_rg, bit0, bit1, bit2); // blue component bit0 = BIT(color_prom[i], 6); bit1 = BIT(color_prom[i], 7); - int const b = combine_weights(weights_b, bit0, bit1); + int const b = combine_2_weights(weights_b, bit0, bit1); palette.set_pen_color(i, rgb_t(r, g, b)); } @@ -788,26 +788,26 @@ void nightgal_state::machine_reset() memset(m_blit_raw_data, 0, ARRAY_LENGTH(m_blit_raw_data)); } -void nightgal_state::royalqn(machine_config &config) -{ +MACHINE_CONFIG_START(nightgal_state::royalqn) + /* basic machine hardware */ - Z80(config, m_maincpu, MASTER_CLOCK / 8); /* ? MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &nightgal_state::royalqn_map); - m_maincpu->set_addrmap(AS_IO, &nightgal_state::royalqn_io); - m_maincpu->set_vblank_int("screen", FUNC(nightgal_state::irq0_line_hold)); + MCFG_DEVICE_ADD("maincpu", Z80,MASTER_CLOCK / 8) /* ? MHz */ + MCFG_DEVICE_PROGRAM_MAP(royalqn_map) + MCFG_DEVICE_IO_MAP(royalqn_io) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", nightgal_state, irq0_line_hold) - NSC8105(config, m_subcpu, MASTER_CLOCK / 8); - m_subcpu->set_addrmap(AS_PROGRAM, &nightgal_state::royalqn_nsc_map); + MCFG_DEVICE_ADD("sub", NSC8105, MASTER_CLOCK / 8) + MCFG_DEVICE_PROGRAM_MAP(royalqn_nsc_map) - config.m_perfect_cpu_quantum = subtag("maincpu"); + MCFG_QUANTUM_PERFECT_CPU("maincpu") - JANGOU_BLITTER(config, m_blitter, MASTER_CLOCK/4); + MCFG_JANGOU_BLITTER_ADD("blitter", MASTER_CLOCK/4) /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_raw(MASTER_CLOCK/4,320,0,256,264,16,240); - screen.set_screen_update(FUNC(nightgal_state::screen_update_nightgal)); - screen.set_palette(m_palette); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4,320,0,256,264,16,240) + MCFG_SCREEN_UPDATE_DRIVER(nightgal_state, screen_update_nightgal) + MCFG_SCREEN_PALETTE(m_palette) PALETTE(config, m_palette, FUNC(nightgal_state::nightgal_palette), 0x20); @@ -818,65 +818,67 @@ void nightgal_state::royalqn(machine_config &config) aysnd.port_a_read_callback().set(FUNC(nightgal_state::input_1p_r)); aysnd.port_b_read_callback().set(FUNC(nightgal_state::input_2p_r)); aysnd.add_route(ALL_OUTPUTS, "mono", 0.40); -} +MACHINE_CONFIG_END -void nightgal_state::sexygal(machine_config &config) -{ +MACHINE_CONFIG_START(nightgal_state::sexygal) royalqn(config); /* basic machine hardware */ - m_maincpu->set_addrmap(AS_PROGRAM, &nightgal_state::sexygal_map); - m_maincpu->set_addrmap(AS_IO, &nightgal_state::sexygal_io); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(sexygal_map) + MCFG_DEVICE_IO_MAP(sexygal_io) - m_subcpu->set_addrmap(AS_PROGRAM, &nightgal_state::sexygal_nsc_map); - m_subcpu->set_vblank_int("screen", FUNC(nightgal_state::irq0_line_hold)); + MCFG_DEVICE_MODIFY("sub") + MCFG_DEVICE_PROGRAM_MAP(sexygal_nsc_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", nightgal_state, irq0_line_hold) - NSC8105(config, m_audiocpu, MASTER_CLOCK / 8); - m_audiocpu->set_addrmap(AS_PROGRAM, &nightgal_state::sexygal_audio_map); + MCFG_DEVICE_ADD("audiocpu", NSC8105, MASTER_CLOCK / 8) + MCFG_DEVICE_PROGRAM_MAP(sexygal_audio_map) - clock_device &sampleclk(CLOCK(config, "sampleclk", 6000)); // quite a wild guess - sampleclk.signal_handler().set_inputline(m_audiocpu, INPUT_LINE_NMI); + MCFG_DEVICE_ADD("sampleclk", CLOCK, 6000) // quite a wild guess + MCFG_CLOCK_SIGNAL_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_NMI)) - DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "mono", 0.25); // unknown DAC - voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); - vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); - vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); + MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) // unknown DAC + MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) - config.device_remove("aysnd"); + MCFG_DEVICE_REMOVE("aysnd") ym2203_device &ymsnd(YM2203(config, "ymsnd", MASTER_CLOCK / 8)); ymsnd.port_a_read_callback().set(FUNC(nightgal_state::input_1p_r)); ymsnd.port_b_read_callback().set(FUNC(nightgal_state::input_2p_r)); ymsnd.add_route(ALL_OUTPUTS, "mono", 0.40); -} +MACHINE_CONFIG_END -void nightgal_state::sweetgal(machine_config &config) -{ +MACHINE_CONFIG_START(nightgal_state::sweetgal) sexygal(config); - m_maincpu->set_addrmap(AS_PROGRAM, &nightgal_state::sweetgal_map); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(sweetgal_map) // doesn't have the extra NSC8105 (so how does this play samples?) - config.device_remove("audiocpu"); - config.device_remove("sampleclk"); -} + MCFG_DEVICE_REMOVE("audiocpu") + MCFG_DEVICE_REMOVE("sampleclk") +MACHINE_CONFIG_END -void nightgal_state::ngalsumr(machine_config &config) -{ +MACHINE_CONFIG_START(nightgal_state::ngalsumr) royalqn(config); + MCFG_DEVICE_MODIFY("maincpu") // TODO: happens from protection device - m_maincpu->set_periodic_int(FUNC(nightgal_state::nmi_line_pulse), attotime::from_hz(60)); -} + MCFG_DEVICE_PERIODIC_INT_DRIVER(nightgal_state, nmi_line_pulse, 60) -void nightgal_state::sgaltrop(machine_config &config) -{ +MACHINE_CONFIG_END + +MACHINE_CONFIG_START(nightgal_state::sgaltrop) sexygal(config); - m_maincpu->set_addrmap(AS_IO, &nightgal_state::sgaltrop_io); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_IO_MAP(sgaltrop_io) - m_subcpu->set_addrmap(AS_PROGRAM, &nightgal_state::sgaltrop_nsc_map); + MCFG_DEVICE_MODIFY("sub") + MCFG_DEVICE_PROGRAM_MAP(sgaltrop_nsc_map) - config.device_remove("audiocpu"); - config.device_remove("sampleclk"); -} + MCFG_DEVICE_REMOVE("audiocpu") + MCFG_DEVICE_REMOVE("sampleclk") +MACHINE_CONFIG_END /* Night Gal |