diff options
Diffstat (limited to 'src/mame/drivers/royalmah.cpp')
-rw-r--r-- | src/mame/drivers/royalmah.cpp | 282 |
1 files changed, 138 insertions, 144 deletions
diff --git a/src/mame/drivers/royalmah.cpp b/src/mame/drivers/royalmah.cpp index e7911dd960b..c8f71683e66 100644 --- a/src/mame/drivers/royalmah.cpp +++ b/src/mame/drivers/royalmah.cpp @@ -1074,7 +1074,7 @@ READ8_MEMBER(royalmah_state::mjifb_rom_io_r) { case 0x8000: return ioport("DSW4")->read(); // dsw 4 case 0x8200: return ioport("DSW3")->read(); // dsw 3 - case 0x9001: return m_ay->data_r(); // inputs + case 0x9001: return m_ay->data_r(space, 0); // inputs case 0x9011: return ioport("SYSTEM")->read(); } @@ -1095,8 +1095,8 @@ WRITE8_MEMBER(royalmah_state::mjifb_rom_io_w) switch(offset) { case 0x8e00: m_palette_base = data & 0x1f; return; - case 0x9002: m_ay->data_w(data); return; - case 0x9003: m_ay->address_w(data); return; + case 0x9002: m_ay->data_w(space,0,data); return; + case 0x9003: m_ay->address_w(space,0,data); return; case 0x9010: mjifb_coin_counter_w(space,0,data); return; @@ -1173,7 +1173,7 @@ READ8_MEMBER(royalmah_state::mjdejavu_rom_io_r) { case 0x8000: return ioport("DSW2")->read(); // dsw 2 case 0x8001: return ioport("DSW1")->read(); // dsw 1 - case 0x9001: return m_ay->data_r(); // inputs + case 0x9001: return m_ay->data_r(space, 0); // inputs case 0x9011: return ioport("SYSTEM")->read(); } @@ -1192,10 +1192,10 @@ WRITE8_MEMBER(royalmah_state::mjdejavu_rom_io_w) offset += 0x8000; switch(offset) { - case 0x8802: m_palette_base = data & 0x1f; return; - case 0x9002: m_ay->data_w(data); return; - case 0x9003: m_ay->address_w(data); return; - case 0x9010: janptr96_coin_counter_w(space,0,data); return; + case 0x8802: m_palette_base = data & 0x1f; return; + case 0x9002: m_ay->data_w(space,0,data); return; + case 0x9003: m_ay->address_w(space,0,data); return; + case 0x9010: janptr96_coin_counter_w(space,0,data); return; case 0x9011: input_port_select_w(space,0,data); return; case 0x9013: // if (data) popmessage("%02x",data); @@ -3532,26 +3532,26 @@ static INPUT_PORTS_START( mjvegasa ) INPUT_PORTS_END -void royalmah_state::royalmah(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::royalmah) + /* basic machine hardware */ - Z80(config, m_maincpu, 18432000/6); /* 3.072 MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &royalmah_state::royalmah_map); - m_maincpu->set_addrmap(AS_IO, &royalmah_state::royalmah_iomap); - m_maincpu->set_vblank_int("screen", FUNC(royalmah_state::irq0_line_hold)); + MCFG_DEVICE_ADD(m_maincpu, Z80, 18432000/6) /* 3.072 MHz */ + MCFG_DEVICE_PROGRAM_MAP(royalmah_map) + MCFG_DEVICE_IO_MAP(royalmah_iomap) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", royalmah_state, irq0_line_hold) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); /* video hardware */ PALETTE(config, "palette", FUNC(royalmah_state::royalmah_palette), 16*4); - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_size(256, 256); - screen.set_visarea(0, 255, 8, 247); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */); - screen.set_screen_update(FUNC(royalmah_state::screen_update_royalmah)); - screen.set_palette("palette"); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_SIZE(256, 256) + MCFG_SCREEN_VISIBLE_AREA(0, 255, 8, 247) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) + MCFG_SCREEN_UPDATE_DRIVER(royalmah_state, screen_update_royalmah) + MCFG_SCREEN_PALETTE("palette") /* sound hardware */ SPEAKER(config, "speaker").front_center(); @@ -3560,107 +3560,106 @@ void royalmah_state::royalmah(machine_config &config) m_ay->port_a_read_callback().set(FUNC(royalmah_state::player_1_port_r)); m_ay->port_b_read_callback().set(FUNC(royalmah_state::player_2_port_r)); m_ay->add_route(ALL_OUTPUTS, "speaker", 0.33); -} +MACHINE_CONFIG_END -void royalmah_state::janoh(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::janoh) royalmah(config); - m_maincpu->set_clock(8000000/2); /* 4 MHz ? */ - m_maincpu->set_addrmap(AS_PROGRAM, &royalmah_state::janoh_map); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_CLOCK(8000000/2) /* 4 MHz ? */ + MCFG_DEVICE_PROGRAM_MAP(janoh_map) - z80_device &sub(Z80(config, "sub", 4000000)); /* 4 MHz ? */ - sub.set_addrmap(AS_PROGRAM, &royalmah_state::janoh_sub_map); - sub.set_addrmap(AS_IO, &royalmah_state::janoh_sub_iomap); - sub.set_vblank_int("screen", FUNC(royalmah_state::irq0_line_hold)); -} + MCFG_DEVICE_ADD("sub", Z80, 4000000) /* 4 MHz ? */ + MCFG_DEVICE_PROGRAM_MAP(janoh_sub_map) + MCFG_DEVICE_IO_MAP(janoh_sub_iomap) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", royalmah_state, irq0_line_hold) +MACHINE_CONFIG_END -void royalmah_state::jansou(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::jansou) royalmah(config); - m_maincpu->set_addrmap(AS_PROGRAM, &royalmah_state::jansou_map); - m_maincpu->set_addrmap(AS_IO, &royalmah_state::royalmah_iomap); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(jansou_map) + MCFG_DEVICE_IO_MAP(royalmah_iomap) - Z80(config, m_audiocpu, 4000000); /* 4.000 MHz */ - m_audiocpu->set_addrmap(AS_PROGRAM, &royalmah_state::jansou_sub_map); - m_audiocpu->set_addrmap(AS_IO, &royalmah_state::jansou_sub_iomap); - m_audiocpu->set_periodic_int(FUNC(royalmah_state::irq0_line_hold), attotime::from_hz(4000000/512)); + MCFG_DEVICE_ADD("audiocpu", Z80, 4000000) /* 4.000 MHz */ + MCFG_DEVICE_PROGRAM_MAP(jansou_sub_map) + MCFG_DEVICE_IO_MAP(jansou_sub_iomap) + MCFG_DEVICE_PERIODIC_INT_DRIVER(royalmah_state, irq0_line_hold, 4000000/512) GENERIC_LATCH_8(config, m_soundlatch); - DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 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, "speaker", 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) +MACHINE_CONFIG_END -void royalmah_state::dondenmj(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::dondenmj) royalmah(config); - m_maincpu->set_clock(8000000/2); /* 4 MHz ? */ - m_maincpu->set_addrmap(AS_IO, &royalmah_state::dondenmj_iomap); -} + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_CLOCK(8000000/2) /* 4 MHz ? */ + MCFG_DEVICE_IO_MAP(dondenmj_iomap) +MACHINE_CONFIG_END -void royalmah_state::tahjong(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::tahjong) royalmah(config); - m_maincpu->set_clock(8000000/2); /* 4 MHz ? */ - m_maincpu->set_addrmap(AS_PROGRAM, &royalmah_state::tahjong_map); - m_maincpu->set_addrmap(AS_IO, &royalmah_state::tahjong_iomap); -} + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_CLOCK(8000000/2) /* 4 MHz ? */ + MCFG_DEVICE_PROGRAM_MAP(tahjong_map) + MCFG_DEVICE_IO_MAP(tahjong_iomap) +MACHINE_CONFIG_END -void royalmah_state::makaijan(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::makaijan) royalmah(config); - m_maincpu->set_clock(8000000/2); /* 4 MHz ? */ - m_maincpu->set_addrmap(AS_IO, &royalmah_state::makaijan_iomap); -} + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_CLOCK(8000000/2) /* 4 MHz ? */ + MCFG_DEVICE_IO_MAP(makaijan_iomap) +MACHINE_CONFIG_END -void royalmah_state::daisyari(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::daisyari) royalmah(config); - m_maincpu->set_clock(8000000/2); /* 4 MHz ? */ - m_maincpu->set_addrmap(AS_IO, &royalmah_state::daisyari_iomap); -} + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_CLOCK(8000000/2) /* 4 MHz ? */ + MCFG_DEVICE_IO_MAP(daisyari_iomap) +MACHINE_CONFIG_END -void royalmah_state::mjclub(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::mjclub) royalmah(config); - m_maincpu->set_clock(8000000/2); /* 4 MHz ? */ - m_maincpu->set_addrmap(AS_IO, &royalmah_state::mjclub_iomap); -} + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_CLOCK(8000000/2) /* 4 MHz ? */ + MCFG_DEVICE_IO_MAP(mjclub_iomap) +MACHINE_CONFIG_END -void royalmah_state::mjyarou(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::mjyarou) royalmah(config); - m_maincpu->set_addrmap(AS_IO, &royalmah_state::mjyarou_iomap); -} + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_IO_MAP(mjyarou_iomap) +MACHINE_CONFIG_END -void royalmah_state::ippatsu(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::ippatsu) dondenmj(config); - m_maincpu->set_addrmap(AS_IO, &royalmah_state::ippatsu_iomap); -} + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_IO_MAP(ippatsu_iomap) +MACHINE_CONFIG_END -void royalmah_state::janyoup2(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::janyoup2) ippatsu(config); - m_maincpu->set_clock(XTAL(18'432'000)/4); // unknown divider - m_maincpu->set_addrmap(AS_IO, &royalmah_state::janyoup2_iomap); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_CLOCK(XTAL(18'432'000)/4) // unknown divider + MCFG_DEVICE_IO_MAP(janyoup2_iomap) h46505_device &crtc(H46505(config, "crtc", XTAL(18'432'000)/12)); // unknown divider crtc.set_screen("screen"); crtc.set_show_border_area(false); crtc.set_char_width(4); -} +MACHINE_CONFIG_END -void royalmah_state::seljan(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::seljan) janyoup2(config); - m_maincpu->set_addrmap(AS_PROGRAM, &royalmah_state::seljan_map); - m_maincpu->set_addrmap(AS_IO, &royalmah_state::seljan_iomap); -} + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(seljan_map) + MCFG_DEVICE_IO_MAP(seljan_iomap) +MACHINE_CONFIG_END INTERRUPT_GEN_MEMBER(royalmah_state::suzume_irq) { @@ -3668,12 +3667,12 @@ INTERRUPT_GEN_MEMBER(royalmah_state::suzume_irq) device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } -void royalmah_state::suzume(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::suzume) dondenmj(config); - m_maincpu->set_addrmap(AS_IO, &royalmah_state::suzume_iomap); - m_maincpu->set_vblank_int("screen", FUNC(royalmah_state::suzume_irq)); -} + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_IO_MAP(suzume_iomap) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", royalmah_state, suzume_irq) +MACHINE_CONFIG_END void royalmah_state::jongshin(machine_config &config) { @@ -3681,41 +3680,41 @@ void royalmah_state::jongshin(machine_config &config) m_maincpu->set_addrmap(AS_IO, &royalmah_state::jongshin_iomap); } -void royalmah_state::tontonb(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::tontonb) dondenmj(config); - m_maincpu->set_addrmap(AS_IO, &royalmah_state::tontonb_iomap); -} + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_IO_MAP(tontonb_iomap) +MACHINE_CONFIG_END -void royalmah_state::mjdiplob(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::mjdiplob) dondenmj(config); - m_maincpu->set_addrmap(AS_IO, &royalmah_state::mjdiplob_iomap); -} + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_IO_MAP(mjdiplob_iomap) +MACHINE_CONFIG_END -void royalmah_state::majs101b(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::majs101b) dondenmj(config); - m_maincpu->set_addrmap(AS_IO, &royalmah_state::majs101b_iomap); -} + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_IO_MAP(majs101b_iomap) +MACHINE_CONFIG_END -void royalmah_state::mjapinky(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::mjapinky) dondenmj(config); - m_maincpu->set_addrmap(AS_PROGRAM, &royalmah_state::mjapinky_map); - m_maincpu->set_addrmap(AS_IO, &royalmah_state::mjapinky_iomap); -} + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(mjapinky_map) + MCFG_DEVICE_IO_MAP(mjapinky_iomap) +MACHINE_CONFIG_END -void royalmah_state::mjderngr(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::mjderngr) dondenmj(config); - m_maincpu->set_addrmap(AS_IO, &royalmah_state::mjderngr_iomap); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_IO_MAP(mjderngr_iomap) /* video hardware */ auto &palette(*subdevice<palette_device>("palette")); palette.set_entries(16*32); palette.set_init(FUNC(royalmah_state::mjderngr_palette)); -} +MACHINE_CONFIG_END void royalmah_state::janptr96(machine_config &config) { @@ -3737,8 +3736,7 @@ void royalmah_state::janptr96(machine_config &config) } -void royalmah_state::mjifb(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::mjifb) mjderngr(config); tmp90841_device &tmp(TMP90841(config.replace(), m_maincpu, 8000000)); /* ? */ tmp.set_addrmap(AS_PROGRAM, &royalmah_state::mjifb_map); @@ -3751,14 +3749,13 @@ void royalmah_state::mjifb(machine_config &config) tmp.port_read<8>().set(FUNC(royalmah_state::mjifb_p8_r)); tmp.port_write<8>().set(FUNC(royalmah_state::mjifb_p8_w)); - screen_device &screen(*subdevice<screen_device>("screen")); - screen.set_visarea(0, 255, 8, 255-8); - screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_IRQ0); -} + MCFG_SCREEN_MODIFY("screen") + MCFG_SCREEN_VISIBLE_AREA(0, 255, 8, 255-8) + MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) +MACHINE_CONFIG_END -void royalmah_state::mjdejavu(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::mjdejavu) mjderngr(config); tmp90841_device &tmp(TMP90841(config.replace(), m_maincpu, 8000000)); /* ? */ tmp.set_addrmap(AS_PROGRAM, &royalmah_state::mjdejavu_map); @@ -3771,46 +3768,43 @@ void royalmah_state::mjdejavu(machine_config &config) tmp.port_read<8>().set(FUNC(royalmah_state::mjifb_p8_r)); tmp.port_write<8>().set(FUNC(royalmah_state::mjifb_p8_w)); - screen_device &screen(*subdevice<screen_device>("screen")); - screen.set_visarea(0, 255, 8, 255-8); - screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_IRQ0); -} + MCFG_SCREEN_MODIFY("screen") + MCFG_SCREEN_VISIBLE_AREA(0, 255, 8, 255-8) + MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) +MACHINE_CONFIG_END -void royalmah_state::mjtensin(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::mjtensin) mjderngr(config); tmp90841_device &tmp(TMP90841(config.replace(), m_maincpu, 12000000)); /* ? */ tmp.set_addrmap(AS_PROGRAM, &royalmah_state::mjtensin_map); tmp.port_read<3>().set(FUNC(royalmah_state::mjtensin_p3_r)); tmp.port_write<4>().set(FUNC(royalmah_state::mjtensin_p4_w)); - screen_device &screen(*subdevice<screen_device>("screen")); - screen.set_visarea(0, 255, 8, 255-8); - screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_IRQ0); + MCFG_SCREEN_MODIFY("screen") + MCFG_SCREEN_VISIBLE_AREA(0, 255, 8, 255-8) + MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) /* devices */ MSM6242(config, m_rtc, 32.768_kHz_XTAL).out_int_handler().set_inputline(m_maincpu, INPUT_LINE_IRQ1); -} +MACHINE_CONFIG_END -void royalmah_state::cafetime(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::cafetime) mjderngr(config); tmp90841_device &tmp(TMP90841(config.replace(), m_maincpu, 12000000)); /* ? */ tmp.set_addrmap(AS_PROGRAM, &royalmah_state::cafetime_map); tmp.port_write<3>().set(FUNC(royalmah_state::cafetime_p3_w)); tmp.port_write<4>().set(FUNC(royalmah_state::cafetime_p4_w)); - screen_device &screen(*subdevice<screen_device>("screen")); - screen.set_visarea(0, 255, 8, 255-8); - screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_IRQ0); + MCFG_SCREEN_MODIFY("screen") + MCFG_SCREEN_VISIBLE_AREA(0, 255, 8, 255-8) + MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) /* devices */ MSM6242(config, m_rtc, 32.768_kHz_XTAL).out_int_handler().set_inputline(m_maincpu, INPUT_LINE_IRQ1); -} +MACHINE_CONFIG_END -void royalmah_state::mjvegasa(machine_config &config) -{ +MACHINE_CONFIG_START(royalmah_state::mjvegasa) mjderngr(config); tmp90841_device &tmp(TMP90841(config.replace(), m_maincpu, XTAL(8'000'000))); /* ? */ tmp.set_addrmap(AS_PROGRAM, &royalmah_state::mjvegasa_map); @@ -3818,13 +3812,13 @@ void royalmah_state::mjvegasa(machine_config &config) tmp.port_write<3>().set(FUNC(royalmah_state::mjvegasa_p3_w)); tmp.port_write<4>().set(FUNC(royalmah_state::mjvegasa_p4_w)); - screen_device &screen(*subdevice<screen_device>("screen")); - screen.set_visarea(0, 255, 8, 255-8); - screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_IRQ0); + MCFG_SCREEN_MODIFY("screen") + MCFG_SCREEN_VISIBLE_AREA(0, 255, 8, 255-8) + MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) /* devices */ MSM6242(config, m_rtc, 32.768_kHz_XTAL).out_int_handler().set_inputline(m_maincpu, INPUT_LINE_IRQ1); -} +MACHINE_CONFIG_END /*************************************************************************** |