diff options
author | Dirk Best <mail@dirk-best.de> | 2019-03-31 04:03:50 +0200 |
---|---|---|
committer | Dirk Best <mail@dirk-best.de> | 2019-03-31 04:04:55 +0200 |
commit | d684b0d0f36883f0110a1b3f7a0af43863436247 (patch) | |
tree | c3830ae99887703a64669f573ece06ba53a9f186 | |
parent | 9dd5f4223490fa22ad10b3b57b328a5e6f2914fd (diff) |
ltcasino: Use 18 MHz XTAL for ltcasino/ltcasinn, update ROM labels
Also update notes.
-rw-r--r-- | src/mame/drivers/ltcasino.cpp | 73 |
1 files changed, 47 insertions, 26 deletions
diff --git a/src/mame/drivers/ltcasino.cpp b/src/mame/drivers/ltcasino.cpp index 65d28465663..b346e674859 100644 --- a/src/mame/drivers/ltcasino.cpp +++ b/src/mame/drivers/ltcasino.cpp @@ -8,9 +8,14 @@ Non-Payout 'Gambling' style games. TODO: - - color version of the first version is undumped? - - figure out the rest of the dipswitches - - keyboard + - Clocks need to be verified + - Figure out the rest of the dipswitches + - Keyboard + + Notes: + - Color version of the first version is undumped (flyer exists)? + - At least one other version of ltcasinn is undumped. It shows + 'PLEASE MAKE SELECTION!' instead of 'PLEASE PICK YOUR POSION!' Mini Vegas @@ -79,6 +84,8 @@ public: m_maincpu(*this, "maincpu"), m_pia(*this, "pia%u", 0U), m_vtc(*this, "vtc"), + m_screen(*this, "screen"), + m_ay(*this, "ay"), m_video_ram(*this, "video_ram"), m_attribute_ram(*this, "attribute_ram"), m_gfxdecode(*this, "gfxdecode"), @@ -90,11 +97,14 @@ public: void ltcasino(machine_config &config); void ltcasinn(machine_config &config); + void mv4in1(machine_config &config); private: required_device<cpu_device> m_maincpu; required_device_array<pia6821_device, 2> m_pia; required_device<crt5037_device> m_vtc; + required_device<screen_device> m_screen; + required_device<ay8910_device> m_ay; required_shared_ptr<uint8_t> m_video_ram; required_shared_ptr<uint8_t> m_attribute_ram; required_device<gfxdecode_device> m_gfxdecode; @@ -128,11 +138,11 @@ void ltcasino_state::main_map(address_map &map) map(0x8000, 0xcfff).rom(); map(0xd000, 0xd7ff).ram().share(m_video_ram); map(0xe000, 0xe7ff).ram().share(m_attribute_ram); - map(0xec00, 0xec03).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0xec10, 0xec13).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0xec20, 0xec21).r("aysnd", FUNC(ay8910_device::data_r)); - map(0xec20, 0xec21).w("aysnd", FUNC(ay8910_device::data_address_w)); - map(0xec30, 0xec3f).rw("vtc", FUNC(crt5037_device::read), FUNC(crt5037_device::write)); + map(0xec00, 0xec03).rw(m_pia[0], FUNC(pia6821_device::read), FUNC(pia6821_device::write)); + map(0xec10, 0xec13).rw(m_pia[1], FUNC(pia6821_device::read), FUNC(pia6821_device::write)); + map(0xec20, 0xec21).r(m_ay, FUNC(ay8910_device::data_r)); + map(0xec20, 0xec21).w(m_ay, FUNC(ay8910_device::data_address_w)); + map(0xec30, 0xec3f).rw(m_vtc, FUNC(crt5037_device::read), FUNC(crt5037_device::write)); map(0xf000, 0xffff).rom(); } @@ -396,7 +406,7 @@ WRITE8_MEMBER(ltcasino_state::output_t_w) void ltcasino_state::ltcasino(machine_config &config) { - M6502(config, m_maincpu, 18.432_MHz_XTAL/16); // clock unknown + M6502(config, m_maincpu, 18_MHz_XTAL/16); // clock unknown m_maincpu->set_addrmap(AS_PROGRAM, <casino_state::main_map); PIA6821(config, m_pia[0], 0); @@ -410,17 +420,17 @@ void ltcasino_state::ltcasino(machine_config &config) MCFG_MACHINE_START_OVERRIDE(ltcasino_state, ltcasino) // video hardware - CRT5037(config, m_vtc, 18.432_MHz_XTAL/16); // this clock gives about 61/51 hz + CRT5037(config, m_vtc, 18_MHz_XTAL/16); // this clock gives about 60/50 hz m_vtc->set_char_width(8); m_vtc->set_screen("screen"); m_vtc->set_visarea(48, 463, 0, 255); m_vtc->vsyn_callback().set_inputline("maincpu", 0); // ? m_vtc->vsyn_callback().append(m_pia[0], FUNC(pia6821_device::cb2_w)); // ? - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_raw(18.432_MHz_XTAL/2, 560, 48, 464, 268, 0, 256); - screen.set_screen_update(FUNC(ltcasino_state::screen_update)); - screen.set_palette("palette"); + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_raw(18_MHz_XTAL/2, 560, 48, 464, 268, 0, 256); + m_screen->set_screen_update(FUNC(ltcasino_state::screen_update)); + m_screen->set_palette("palette"); GFXDECODE(config, m_gfxdecode, "palette", gfx_ltcasino); @@ -429,10 +439,10 @@ void ltcasino_state::ltcasino(machine_config &config) // sound hardware SPEAKER(config, "mono").front_center(); - ay8910_device &aysnd(AY8910(config, "aysnd", 18.432_MHz_XTAL/16)); // clock unknown - aysnd.port_a_read_callback().set_ioport("A"); - aysnd.port_b_read_callback().set_ioport("B"); - aysnd.add_route(ALL_OUTPUTS, "mono", 0.4); + AY8910(config, m_ay, 18_MHz_XTAL/16); // clock unknown + m_ay->port_a_read_callback().set_ioport("A"); + m_ay->port_b_read_callback().set_ioport("B"); + m_ay->add_route(ALL_OUTPUTS, "mono", 0.4); } void ltcasino_state::ltcasinn(machine_config &config) @@ -447,6 +457,17 @@ void ltcasino_state::ltcasinn(machine_config &config) m_gfxdecode->set_info(gfx_ltcasinn); } +void ltcasino_state::mv4in1(machine_config &config) +{ + ltcasinn(config); + + // different XTAL + m_maincpu->set_clock(18.432_MHz_XTAL/16); + m_vtc->set_clock(18.432_MHz_XTAL/16); + m_screen->set_raw(18.432_MHz_XTAL/2, 560, 48, 464, 268, 0, 256); + m_ay->set_clock(18.432_MHz_XTAL/16); +} + //************************************************************************** // ROM DEFINITIONS @@ -467,15 +488,15 @@ ROM_END ROM_START( ltcasinn ) ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "lc2_ra.bin", 0x8000, 0x1000, CRC(1a595442) SHA1(b8fe3e5ed2024a57187c0ce547c1bbef2429ed63) ) - ROM_LOAD( "lc2_rb.bin", 0x9000, 0x1000, CRC(4f5502c1) SHA1(cd1b7c08d26fed71c45e44ebd208bd18dc262e8f) ) - ROM_LOAD( "lc2_rc.bin", 0xa000, 0x1000, CRC(990283b8) SHA1(8a3fe5be8381894b8e8dd14c7d42190e60a25600) ) - ROM_LOAD( "lc2_rd.bin", 0xb000, 0x1000, CRC(884f39dc) SHA1(fe149faf118279205e82760c5052cefb88a2f5be) ) - ROM_LOAD( "lc2_re.bin", 0xc000, 0x1000, CRC(fae38204) SHA1(e5908734cee0a89d873ab3761ded285f8ae138d3) ) - ROM_LOAD( "lc2_rf.bin", 0xf000, 0x1000, CRC(7e8ad9d3) SHA1(8cbe342af7d9f32b2214664db318edd3d2e75630) ) + ROM_LOAD( "v17_00_ra.bin", 0x8000, 0x1000, CRC(1a595442) SHA1(b8fe3e5ed2024a57187c0ce547c1bbef2429ed63) ) + ROM_LOAD( "v17_00_rb.bin", 0x9000, 0x1000, CRC(4f5502c1) SHA1(cd1b7c08d26fed71c45e44ebd208bd18dc262e8f) ) + ROM_LOAD( "v17_00_rc.bin", 0xa000, 0x1000, CRC(990283b8) SHA1(8a3fe5be8381894b8e8dd14c7d42190e60a25600) ) + ROM_LOAD( "v17_00_rd.bin", 0xb000, 0x1000, CRC(884f39dc) SHA1(fe149faf118279205e82760c5052cefb88a2f5be) ) + ROM_LOAD( "v17_00_re.bin", 0xc000, 0x1000, CRC(fae38204) SHA1(e5908734cee0a89d873ab3761ded285f8ae138d3) ) + ROM_LOAD( "v17_00_rf.bin", 0xf000, 0x1000, CRC(7e8ad9d3) SHA1(8cbe342af7d9f32b2214664db318edd3d2e75630) ) ROM_REGION( 0x1000, "gfx1", 0 ) - ROM_LOAD( "lc2_rv.bin", 0x0000, 0x1000, CRC(84cbee7b) SHA1(742831d5ae0db6c7c644a18a837831ee0474d472) ) + ROM_LOAD( "v17_00_rv.bin", 0x0000, 0x1000, CRC(84cbee7b) SHA1(742831d5ae0db6c7c644a18a837831ee0474d472) ) ROM_END ROM_START( mv4in1 ) @@ -498,5 +519,5 @@ ROM_END // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROTATION COMPANY FULLNAME FLAGS GAMEL( 1982, ltcasino, 0, ltcasino, ltcasino, ltcasino_state, empty_init, ROT0, "Digital Controls Inc.", "Little Casino (older)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK, layout_ltcasino ) -GAMEL( 1983, mv4in1, ltcasino, ltcasinn, mv4in1, ltcasino_state, init_mv4in1, ROT0, "Entertainment Enterprises, Ltd.", "Mini Vegas 4in1", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK, layout_ltcasinn ) +GAMEL( 1983, mv4in1, ltcasino, mv4in1, mv4in1, ltcasino_state, init_mv4in1, ROT0, "Entertainment Enterprises, Ltd.", "Mini Vegas 4in1", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK, layout_ltcasinn ) GAMEL( 1984, ltcasinn, 0, ltcasinn, ltcasinn, ltcasino_state, empty_init, ROT0, "Digital Controls Inc.", "Little Casino (newer)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK, layout_ltcasinn ) |