summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author MetalliC <0vetal0@gmail.com>2020-09-16 19:22:44 +0300
committer MetalliC <0vetal0@gmail.com>2020-09-16 19:22:44 +0300
commit66e41fb0f196dd765544f470610a70c805737036 (patch)
tree4a51a74d7e7ae9c12004dbd85ec9157e0dc1da17
parent3268783a3a87c75bbc5dbf340eb1e659bdef0aea (diff)
new NOT_WORKING machine
----------------------- Unknown Konami slot medal game (set 2) [Philip Bennett] konmedal68k.cpp fix slot games palette format
-rw-r--r--src/mame/drivers/konmedal68k.cpp61
-rw-r--r--src/mame/mame.lst1
2 files changed, 45 insertions, 17 deletions
diff --git a/src/mame/drivers/konmedal68k.cpp b/src/mame/drivers/konmedal68k.cpp
index dce2553a8f6..02ce8da8538 100644
--- a/src/mame/drivers/konmedal68k.cpp
+++ b/src/mame/drivers/konmedal68k.cpp
@@ -49,6 +49,7 @@ public:
void kzaurus(machine_config &config);
void koropens(machine_config &config);
+ void slot(machine_config &config);
protected:
virtual void machine_start() override;
@@ -98,8 +99,10 @@ private:
return m_k056832->rom_word_r(offset);
}
+ void common_main(address_map &map);
void kzaurus_main(address_map &map);
void koropens_main(address_map &map);
+ void slot_main(address_map &map);
static constexpr int NUM_LAYERS = 4;
@@ -204,7 +207,7 @@ uint32_t konmedal68k_state::screen_update_konmedal68k(screen_device &screen, bit
return 0;
}
-void konmedal68k_state::kzaurus_main(address_map &map)
+void konmedal68k_state::common_main(address_map &map)
{
map(0x000000, 0x07ffff).rom().region("maincpu", 0);
map(0x400000, 0x403fff).ram().share("nvram");
@@ -221,31 +224,32 @@ void konmedal68k_state::kzaurus_main(address_map &map)
map(0x880000, 0x880003).rw(m_ymz, FUNC(ymz280b_device::read), FUNC(ymz280b_device::write)).umask16(0xff00);
map(0xa00000, 0xa01fff).rw(m_k056832, FUNC(k056832_device::ram_word_r), FUNC(k056832_device::ram_word_w));
map(0xa02000, 0xa03fff).rw(m_k056832, FUNC(k056832_device::ram_word_r), FUNC(k056832_device::ram_word_w));
+}
+
+void konmedal68k_state::kzaurus_main(address_map &map)
+{
+ common_main(map);
map(0xb00000, 0xb03fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0xc00000, 0xc01fff).r(FUNC(konmedal68k_state::vrom_r));
}
void konmedal68k_state::koropens_main(address_map &map)
{
- map(0x000000, 0x07ffff).rom().region("maincpu", 0);
- map(0x400000, 0x403fff).ram().share("nvram");
- map(0x800000, 0x800001).w(FUNC(konmedal68k_state::control_w));
- map(0x800004, 0x800005).portr("DSW");
- map(0x800006, 0x800007).portr("IN1");
- map(0x800008, 0x800009).portr("IN0");
- map(0x810000, 0x810001).w(FUNC(konmedal68k_state::control2_w));
- map(0x820000, 0x820001).portw("OUT");
- map(0x830000, 0x83003f).rw(m_k056832, FUNC(k056832_device::word_r), FUNC(k056832_device::word_w));
- map(0x840000, 0x84000f).w(m_k056832, FUNC(k056832_device::b_word_w));
- map(0x85001c, 0x85001f).nopw();
- map(0x870000, 0x87005f).w(m_k055555, FUNC(k055555_device::K055555_word_w));
- map(0x880000, 0x880003).rw(m_ymz, FUNC(ymz280b_device::read), FUNC(ymz280b_device::write)).umask16(0xff00);
- map(0xa00000, 0xa01fff).rw(m_k056832, FUNC(k056832_device::ram_word_r), FUNC(k056832_device::ram_word_w));
- map(0xa02000, 0xa03fff).rw(m_k056832, FUNC(k056832_device::ram_word_r), FUNC(k056832_device::ram_word_w));
+ common_main(map);
map(0xb00000, 0xb03fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0xc00000, 0xc01fff).r(FUNC(konmedal68k_state::vrom_koropens_r));
}
+void konmedal68k_state::slot_main(address_map &map)
+{
+ common_main(map);
+ map(0xb00000, 0xb03fff).ram().lrw16(
+ NAME([this](offs_t offset) -> u16 { return (offset & 1) ? m_palette->read16(offset / 2) : 0; }),
+ NAME([this](offs_t offset, u16 data) { if (offset & 1) m_palette->write16(offset / 2, data); })
+ ).share("palette");
+ map(0xc00000, 0xc01fff).r(FUNC(konmedal68k_state::vrom_r));
+}
+
static INPUT_PORTS_START( kzaurus )
PORT_START("IN0")
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON1 )
@@ -379,6 +383,16 @@ void konmedal68k_state::koropens(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &konmedal68k_state::koropens_main);
}
+void konmedal68k_state::slot(machine_config &config)
+{
+ kzaurus(config);
+
+ M68000(config.replace(), m_maincpu, XTAL(33'868'800) / 4); // 33.8688 MHz crystal verified on PCB
+ m_maincpu->set_addrmap(AS_PROGRAM, &konmedal68k_state::slot_main);
+
+ PALETTE(config.replace(), "palette").set_format(palette_device::xBGR_444, 4096).enable_shadows();
+}
+
ROM_START( kzaurus )
ROM_REGION( 0x80000, "maincpu", 0 ) /* main program */
ROM_LOAD16_WORD_SWAP( "540-b05-2n.bin", 0x000000, 0x080000, CRC(110d4ecb) SHA1(8903783f62ad5a983242a0fe8d835857964abc43) )
@@ -471,10 +485,23 @@ ROM_START( konslot )
ROM_LOAD( "669-a01-2d.bin", 0x000000, 0x080000, CRC(08438dad) SHA1(b4ef8fc37deca5b6537cc581fc99968c86e6ec2c) )
ROM_END
+ROM_START( konslot2 )
+ ROM_REGION( 0x80000, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "660-a05.2n", 0x000000, 0x080000, CRC(d7460250) SHA1(490588181b3b558e03752f4c6cbdadb807b990b3) )
+
+ ROM_REGION( 0x80000, "k056832", 0 )
+ ROM_LOAD( "660-a06.14n", 0x000000, 0x080000, CRC(17d2dbb7) SHA1(b32b4123c6006ad7ee0b2d12542bad6b9ccb4cf2) )
+
+ ROM_REGION( 0x100000, "ymz", 0 )
+ ROM_LOAD( "660-a01.2f", 0x000000, 0x080000, CRC(b350de2f) SHA1(56d6054b5b9fbabc12cfa3979c8b563c66f687c9) )
+ ROM_LOAD( "660-a02.1f", 0x080000, 0x080000, CRC(e3199b0d) SHA1(8805be14388c73c5a8e0b2eb98fb8efb5def1714) )
+ROM_END
+
GAME( 1995, kzaurus, 0, kzaurus, kzaurus, konmedal68k_state, empty_init, ROT0, "Konami", "Pittanko Zaurus", MACHINE_IMPERFECT_GRAPHICS )
GAME( 1996, dobouchn, 0, kzaurus, kzaurus, konmedal68k_state, empty_init, ROT0, "Konami", "Dobou-Chan (ver JAA)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 199?, konslot, 0, kzaurus, kzaurus, konmedal68k_state, empty_init, ROT0, "Konami", "Unknown Konami slot medal game", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 199?, konslot, 0, slot, kzaurus, konmedal68k_state, empty_init, ROT0, "Konami", "Unknown Konami slot medal game (set 1)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 199?, konslot2, 0, slot, kzaurus, konmedal68k_state, empty_init, ROT0, "Konami", "Unknown Konami slot medal game (set 2)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
GAME( 1997, koropens, 0, koropens, kzaurus, konmedal68k_state, empty_init, ROT0, "Konami", "Korokoro Pensuke", MACHINE_IMPERFECT_GRAPHICS )
GAME( 1998, kattobas, 0, koropens, kzaurus, konmedal68k_state, empty_init, ROT0, "Konami", "Kattobase Power Pro Kun", MACHINE_IMPERFECT_GRAPHICS )
GAME( 1999, pwrchanc, 0, koropens, kzaurus, konmedal68k_state, empty_init, ROT0, "Konami", "Powerful Chance", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 5806a1a9e1d..4c866a7642b 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -19000,6 +19000,7 @@ mariorou
dobouchn
kattobas
konslot
+konslot2
koropens
kzaurus
pwrchanc