From 32437c6a2252a47bc7a38d600c4b20c38eac641c Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Tue, 15 Apr 2025 19:50:34 +0200 Subject: [PATCH] New systems marked not working ------------------------------ Chaoji Daheng 6th [Mr. Kong] Dokidoki Kingyo Sukui [Darksoft, TeamEurope] Hello Kitty Koi no Shugoshin Uranai [Darksoft, TeamEurope] Katori Attack [Darksoft, TeamEurope] Keroro Gunsou - Hacha Mecha Yakyu Taikai de Arimasu!! [Darksoft, TeamEurope] Kotekitai Slot [Darksoft, TeamEurope] Shatekids [Darksoft, TeamEurope] - bmc/bmcpoker.cpp: added Oki ROM banking and mahjong controls for xyddzhh - neogeo/neogeo.cpp: documentation update [JacKc] - sigma/sigmab98.cpp: dumped BIOS version 1.0 for the Sammy medal games [Darksoft, TeamEurope] --- src/mame/bmc/bmcpokr.cpp | 186 +++++++++-------------- src/mame/igs/igs_m027.cpp | 21 +++ src/mame/mame.lst | 7 + src/mame/merit/merit.cpp | 2 +- src/mame/merit/meritm.cpp | 4 +- src/mame/misc/amuzy.cpp | 16 +- src/mame/neogeo/neogeo.cpp | 37 +++-- src/mame/sigma/sigmab98.cpp | 56 ++++++- src/mame/skeleton/banpresto_tomy_h8s.cpp | 16 +- src/mame/taito/dinoking.cpp | 23 ++- 10 files changed, 229 insertions(+), 139 deletions(-) diff --git a/src/mame/bmc/bmcpokr.cpp b/src/mame/bmc/bmcpokr.cpp index d33099ade61..b4bf0fce757 100644 --- a/src/mame/bmc/bmcpokr.cpp +++ b/src/mame/bmc/bmcpokr.cpp @@ -18,8 +18,8 @@ TODO: dispensed" than the number of coins/tickets the games are supposed to pay out. * dbshahb: Implement different video chip, different memory map - * xyddzhh: Hook up mahjong-style inputs and improve DSW definitions - * xyddzhh: Add Oki banking + * xyddzhh: Verify mahjong-style inputs and improve DSW definitions + * xyddzhh: Verify Oki banking ***************************************************************************/ @@ -48,14 +48,15 @@ public: driver_device(mconfig, type, tag), m_maincpu(*this,"maincpu"), m_hopper(*this,"hopper"), + m_gfxdecode(*this, "gfxdecode"), + m_palette(*this, "palette"), + m_oki(*this, "oki"), m_videoram(*this, "videoram_%u", 1U), m_scrollram(*this, "scrollram_%u", 1U), m_pixram(*this, "pixram"), m_priority(*this, "priority"), m_layerctrl(*this, "layerctrl"), m_backpen(*this, "backpen"), - m_gfxdecode(*this, "gfxdecode"), - m_palette(*this, "palette"), m_dsw(*this, "DSW%u", 1U), m_key(*this, "KEY%u", 1U), m_inputs(*this, "INPUTS") @@ -75,17 +76,18 @@ protected: virtual void video_start() override ATTR_COLD; private: - // Devices required_device m_maincpu; required_device m_hopper; + required_device m_gfxdecode; + required_device m_palette; + required_device m_oki; + required_shared_ptr_array m_videoram; required_shared_ptr_array m_scrollram; required_shared_ptr m_pixram; required_shared_ptr m_priority; required_shared_ptr m_layerctrl; required_shared_ptr m_backpen; - required_device m_gfxdecode; - required_device m_palette; // Protection uint16_t m_prot_val = 0; @@ -102,9 +104,9 @@ private: optional_ioport_array<5> m_key; required_ioport m_inputs; void mux_w(offs_t offset, uint8_t data, uint8_t mem_mask = ~0); + uint16_t mahjong_key_r(); uint16_t dsw_r(); uint16_t mjmaglmp_dsw_r(); - uint16_t mjmaglmp_key_r(); uint16_t xyddzhh_dsw_r(); // Interrupts @@ -386,10 +388,11 @@ void bmcpokr_state::mux_w(offs_t offset, uint8_t data, uint8_t mem_mask) m_hopper->motor_w(BIT(data, 0)); // hopper motor machine().bookkeeping().coin_counter_w(1, BIT(data, 1)); // coin-in / key-in machine().bookkeeping().coin_counter_w(2, BIT(data, 2)); // pay-out + m_oki->set_rom_bank(BIT(data, 3)); // data & 0x60 // DSW mux // data & 0x80 // ? always on -// popmessage("mux %04x", m_mux); + // popmessage("mux %04x", m_mux); } uint16_t bmcpokr_state::dsw_r() { @@ -459,7 +462,7 @@ void bmcpokr_state::bmcpokr_mem(address_map &map) map(0x380001, 0x380001).w(FUNC(bmcpokr_state::mux_w)); map(0x390000, 0x390003).w("ymsnd", FUNC(ym2413_device::write)).umask16(0x00ff); - map(0x398001, 0x398001).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write)); + map(0x398001, 0x398001).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write)); map(0x3b0000, 0x3b0001).portr("INPUTS2"); } @@ -477,6 +480,7 @@ void bmcpokr_state::xyddzhh_map(address_map &map) map(0x330000, 0x330001).r(FUNC(bmcpokr_state::xyddzhh_prot_r)); map(0x340009, 0x340009).lr8(NAME([] () -> uint8_t { return 0xff; })); // andi.b #$7f, so returning 0x00 stops it from working map(0x360000, 0x360001).r(FUNC(bmcpokr_state::xyddzhh_dsw_r)); + map(0x370000, 0x370001).r(FUNC(bmcpokr_state::mahjong_key_r)); } @@ -492,7 +496,7 @@ uint16_t bmcpokr_state::mjmaglmp_dsw_r() return 0xff << 8; } -uint16_t bmcpokr_state::mjmaglmp_key_r() +uint16_t bmcpokr_state::mahjong_key_r() { uint16_t key = 0x3f; switch ((m_mux >> 4) & 7) @@ -528,10 +532,10 @@ void bmcpokr_state::mjmaglmp_map(address_map &map) map(0x390000, 0x390001).r(FUNC(bmcpokr_state::mjmaglmp_dsw_r)); - map(0x398000, 0x398001).r(FUNC(bmcpokr_state::mjmaglmp_key_r)); + map(0x398000, 0x398001).r(FUNC(bmcpokr_state::mahjong_key_r)); map(0x3c8800, 0x3c8803).w("ymsnd", FUNC(ym2413_device::write)).umask16(0x00ff); - map(0x3c9001, 0x3c9001).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write)); + map(0x3c9001, 0x3c9001).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write)); map(0x3c9801, 0x3c9801).w("ramdac", FUNC(ramdac_device::index_w)); map(0x3c9803, 0x3c9803).w("ramdac", FUNC(ramdac_device::pal_w)); @@ -566,7 +570,7 @@ void bmcpokr_state::shendeng_map(address_map &map) map(0x320000, 0x320003).ram().share(m_layerctrl); map(0x330000, 0x330001).rw(FUNC(bmcpokr_state::shendeng_prot_r), FUNC(bmcpokr_state::prot_w)); - map(0x340000, 0x340001).r(FUNC(bmcpokr_state::mjmaglmp_key_r)); + map(0x340000, 0x340001).r(FUNC(bmcpokr_state::mahjong_key_r)); map(0x350000, 0x350001).r(FUNC(bmcpokr_state::mjmaglmp_dsw_r)); map(0x360001, 0x360001).w(FUNC(bmcpokr_state::mux_w)); map(0x370000, 0x370001).ram(); // 370001.b, rw @@ -582,7 +586,7 @@ void bmcpokr_state::shendeng_map(address_map &map) map(0x380003, 0x380003).w("ramdac", FUNC(ramdac_device::pal_w)); map(0x380005, 0x380005).w("ramdac", FUNC(ramdac_device::mask_w)); map(0x390000, 0x390003).w("ymsnd", FUNC(ym2413_device::write)).umask16(0x00ff); - map(0x3a0001, 0x3a0001).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write)); + map(0x3a0001, 0x3a0001).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write)); } void bmcpokr_state::fengyunh_map(address_map &map) @@ -596,6 +600,43 @@ void bmcpokr_state::fengyunh_map(address_map &map) Input Ports ***************************************************************************/ +#define MAHJONG_KEYS_COMMON(port, mask) \ + PORT_START("KEY1") \ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_START("KEY2") \ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_START("KEY3") \ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_START("KEY4") \ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_START("KEY5") \ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_CONDITION(port, mask, EQUALS, mask) \ + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_CONDITION(port, mask, EQUALS, mask) + static INPUT_PORTS_START( bmcpokr ) PORT_START("INPUTS") // Poker controls: @@ -736,45 +777,7 @@ static INPUT_PORTS_START( mjmaglmp ) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CONDITION("DSW2",0x01,EQUALS,0x00) // 1P E3 (select) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - - PORT_START("KEY5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_CONDITION("DSW2",0x01,EQUALS,0x01) + MAHJONG_KEYS_COMMON("DSW2", 0x01) PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("DIP1:1") @@ -884,46 +887,7 @@ static INPUT_PORTS_START( fengyunh ) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CONDITION("DSW3",0x01,EQUALS,0x00) // 1P E3 (select) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - - PORT_START("KEY5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_CONDITION("DSW3",0x01,EQUALS,0x01) - + MAHJONG_KEYS_COMMON("DSW3", 0x01) PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x01, "Max Bet" ) PORT_DIPLOCATION("DIP4:1") // 最大押分 @@ -1126,24 +1090,24 @@ INPUT_PORTS_END static INPUT_PORTS_START( xyddzhh ) PORT_START("INPUTS") // Entertainment controls: - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 ) // PORT_CONDITION("DSW2",0x01,EQUALS,0x00) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) // PORT_CONDITION("DSW2",0x01,EQUALS,0x00) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) // PORT_CONDITION("DSW2",0x01,EQUALS,0x00) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) // PORT_CONDITION("DSW2",0x01,EQUALS,0x00) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) // PORT_CONDITION("DSW2",0x01,EQUALS,0x00) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON1 ) // PORT_CONDITION("DSW2",0x01,EQUALS,0x00) // choose - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) // PORT_CONDITION("DSW2",0x01,EQUALS,0x00) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // PORT_CONDITION("DSW2",0x01,EQUALS,0x00) - PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Pay Out") PORT_CODE(KEYCODE_O) // PAY // PORT_CONDITION("DSW2",0x01,EQUALS,0x00) + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 ) PORT_CONDITION("DSW2",0x01,EQUALS,0x00) + PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_CONDITION("DSW2",0x01,EQUALS,0x00) + PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_CONDITION("DSW2",0x01,EQUALS,0x00) + PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_CONDITION("DSW2",0x01,EQUALS,0x00) + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_CONDITION("DSW2",0x01,EQUALS,0x00) + PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CONDITION("DSW2",0x01,EQUALS,0x00) // choose + PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Pay Out") PORT_CODE(KEYCODE_O) PORT_BIT( 0x0200, IP_ACTIVE_HIGH,IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(bmcpokr_state::hopper_r)) // TODO: verify? - PORT_SERVICE_NO_TOGGLE( 0x0400, IP_ACTIVE_LOW ) // PORT_CONDITION("DSW2",0x01,EQUALS,0x00) - PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_SERVICE1 ) // PORT_CONDITION("DSW2",0x01,EQUALS,0x00) - PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNUSED ) // PORT_CONDITION("DSW2",0x01,EQUALS,0x00) // no effect in test mode - PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) // PORT_CONDITION("DSW2",0x01,EQUALS,0x00) - PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON2 ) // PORT_CONDITION("DSW2",0x01,EQUALS,0x00) // pass - PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN1 ) // PORT_CONDITION("DSW2",0x01,EQUALS,0x00) PORT_IMPULSE(5) + PORT_SERVICE_NO_TOGGLE( 0x0400, IP_ACTIVE_LOW ) + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_SERVICE1 ) + PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("DSW2",0x01,EQUALS,0x00) // no effect in test mode + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_CONDITION("DSW2",0x01,EQUALS,0x00) + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CONDITION("DSW2",0x01,EQUALS,0x00) // pass + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN1 ) - // TODO: Mahjong controls: + MAHJONG_KEYS_COMMON("DSW2", 0x01) PORT_START("INPUTS2") PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -1331,7 +1295,7 @@ void bmcpokr_state::bmcpokr(machine_config &config) YM2413(config, "ymsnd", 42_MHz_XTAL / 12).add_route(ALL_OUTPUTS, "mono", 1.00); // UM3567 @3.50MHz (42/12) - OKIM6295(config, "oki", 42_MHz_XTAL / 40, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.00); // M6295 @1.05MHz (42/40) + OKIM6295(config, m_oki, 42_MHz_XTAL / 40, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.00); // M6295 @1.05MHz (42/40) } void bmcpokr_state::fengyunh(machine_config &config) diff --git a/src/mame/igs/igs_m027.cpp b/src/mame/igs/igs_m027.cpp index 76959c462d8..bea60c00bf1 100644 --- a/src/mame/igs/igs_m027.cpp +++ b/src/mame/igs/igs_m027.cpp @@ -3380,6 +3380,26 @@ ROM_START( extradrw ) // IGS PCB 0326-05-DV-1 ROM_LOAD( "igs s3002.u18", 0x00000, 0x200000, CRC(48601c32) SHA1(8ef3bad80931f4b1badf0598463e15508602f104) ) // BADADDR --xxxxxxxxxxxxxxxxxxx ROM_END +ROM_START( cjdh6th ) // IGS PCB 0226-03. While sharing mask ROMs with extradrw, this PCB doesn't have a second PPI + ROM_REGION( 0x04000, "maincpu", 0 ) + // Internal rom of IGS027A ARM based MCU + ROM_LOAD( "igs027a.u24", 0x00000, 0x4000, NO_DUMP ) + + ROM_REGION32_LE( 0x80000, "user1", ROMREGION_ERASEFF ) // external ARM data / prg + ROM_LOAD( "u5", 0x00000, 0x40000, CRC(76db4f1c) SHA1(df625f20c1743c205181bf1d5053085f4761ac69) ) + ROM_RELOAD( 0x40000, 0x40000 ) + + ROM_REGION( 0x080000, "igs017_igs031:tilemaps", 0 ) + ROM_LOAD( "igs_m3004.u9", 0x000000, 0x080000, CRC(d161f8f7) SHA1(4b495197895fd805979c5d5c5a4b7f07a68f4171) ) + + ROM_REGION( 0x200000, "igs017_igs031:sprites", 0 ) + ROM_LOAD( "igs_m3001.u19", 0x000000, 0x200000, CRC(642247fb) SHA1(69c01c3551551120a3786522b28a80621a0d5082) ) // 1xxxxxxxxxxxxxxxxxxxx = 0xFF + // u21 unpopulated socket + + ROM_REGION( 0x80000, "oki", 0 ) + ROM_LOAD( "igs s3002.u6", 0x00000, 0x80000, CRC(74b64969) SHA1(faaf1765f0982259382657665b82f0b1fb8ad8af) ) // matches the Extra Draw one when split +ROM_END + ROM_START( ccly ) // IGS PCB-0415-05-GD - no XA, contrary to the other regions sets in igs_m027xa.cpp ROM_REGION( 0x04000, "maincpu", 0 ) // Internal rom of IGS027A ARM based MCU @@ -3710,5 +3730,6 @@ GAME( 200?, luckycrs, 0, m027_1ppi, base, igs_m027_state GAME( 2003, amazoni2, 0, m027_1ppi, base, igs_m027_state, init_amazoni2, ROT0, "IGS", "Amazonia King II (V202BR)", MACHINE_NOT_WORKING ) GAME( 2002, sdwx, 0, m027_1ppi, base, igs_m027_state, init_sdwx, ROT0, "IGS", "Sheng Dan Wu Xian", MACHINE_NOT_WORKING ) // aka Christmas 5 Line? (or Amazonia King II, shares roms at least?) GAME( 200?, klxyj, 0, m027_1ppi, base, igs_m027_state, init_klxyj, ROT0, "IGS", "Kuai Le Xi You Ji", MACHINE_NOT_WORKING ) +GAME( 2001, cjdh6th, 0, m027_1ppi, base, igs_m027_state, init_extradrw, ROT0, "IGS", "Chaoji Daheng 6th", MACHINE_NOT_WORKING ) // these have an IGS025 protection device instead of the 8255 GAME( 200?, gonefsh2, 0, m027_noppi,base, igs_m027_state, init_gonefsh2, ROT0, "IGS", "Gone Fishing 2", MACHINE_NOT_WORKING ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 618d273d49b..4e8e2f0ab3d 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -20577,6 +20577,7 @@ cjddzp cjddzps cjddzs cjddzsa +cjdh6th cjtljp extradrw fruitpar @@ -29178,6 +29179,7 @@ dojokkot fishbatl hhunter itazurac +katori mmhammer rodeokng shpchamp @@ -42383,11 +42385,14 @@ gocowboy gunkids haekaka itazuram +kingyosu +kotekita lufykzku mnrockman pepsiman pyenaget sammymdl +shatekds sushimar tbeastw2 tdoboon @@ -42578,6 +42583,7 @@ cmcwa cscaoysd dbzbgck gyakyu +kghmytda satoyama unkbpmed youkai @@ -44310,6 +44316,7 @@ dariusu @source:taito/dinoking.cpp dkbattle dkkids +hkuranai @source:taito/exzisus.cpp exzisus diff --git a/src/mame/merit/merit.cpp b/src/mame/merit/merit.cpp index 9f4b6a3b7f0..eb466d5ef97 100644 --- a/src/mame/merit/merit.cpp +++ b/src/mame/merit/merit.cpp @@ -789,7 +789,7 @@ static INPUT_PORTS_START( chkndraw ) PORT_DIPSETTING( 0x10, "1" ) PORT_DIPNAME( 0x20, 0x00, "Players" ) PORT_DIPLOCATION("SW1:6") PORT_DIPSETTING( 0x20, "One Player" ) - PORT_DIPSETTING( 0x00, "Two Plaerys" ) + PORT_DIPSETTING( 0x00, "Two Players" ) PORT_DIPNAME( 0xc0, 0x00, "Maximum Bet" ) PORT_DIPLOCATION("SW1:7,8") PORT_DIPSETTING( 0x40, "1 Point Per Hand" ) PORT_DIPSETTING( 0xc0, "10" ) diff --git a/src/mame/merit/meritm.cpp b/src/mame/merit/meritm.cpp index 64912486646..6f1141e9c16 100644 --- a/src/mame/merit/meritm.cpp +++ b/src/mame/merit/meritm.cpp @@ -455,7 +455,7 @@ void meritm_state::crt250_questions_bank_w(uint8_t data) } else { - if (m_region_extra->bytes() == 0xc0000) + if (!BIT(data, 7)) { switch(data) { @@ -474,7 +474,7 @@ void meritm_state::crt250_questions_bank_w(uint8_t data) default: logerror( "crt250_questions_bank_w: unknown data = %02x\n", data ); return; } } - else if (m_region_extra->bytes() == 0x180000) + else { switch(data) { diff --git a/src/mame/misc/amuzy.cpp b/src/mame/misc/amuzy.cpp index 014f09c4b07..5c9607d5367 100644 --- a/src/mame/misc/amuzy.cpp +++ b/src/mame/misc/amuzy.cpp @@ -34,7 +34,7 @@ KE4004-0 - Zenigata Ponta - 銭形ポン太 KF4004-0 - Rodeo King - ロデオキング KG4004-0 - Dojokko Tsukami - どじょっ子つかみ -*** KH4004-0 - Katori Attack - 蚊とりアタック + KH4004-0 - Katori Attack - 蚊とりアタック *** KI4004-0 - ??? (maybe unreleased) - ??? KJ4004-0 - Shippe Champion - しっぺチャンピオン *** KK4004-0 - ??? (maybe unreleased) - ??? @@ -198,10 +198,12 @@ #include "machine/ram.h" #include "machine/timer.h" #include "sound/okim9810.h" + #include "emupal.h" #include "screen.h" #include "speaker.h" + namespace { class amuzy_state : public driver_device @@ -516,12 +518,24 @@ ROM_START( itazurac ) // HA9022-0 ROM_LOAD( "u3", 0x000000, 0x200000, CRC(76ce7b79) SHA1(749bc519cf66c0aec615881824e417719af78d2b) ) ROM_END +ROM_START( katori ) // HA9020-0 + ROM_REGION(0x80000, "maincpu", 0) + ROM_LOAD16_WORD_SWAP( "29f400.u1", 0x000000, 0x080000, CRC(34b03727) SHA1(16d18ff7d322f1c1b297de89de3737d407c5a27e) ) // 1xxxxxxxxxxxxxxxxxx = 0xFF + + ROM_REGION(0x1000000, "oki", ROMREGION_ERASEFF ) + ROM_LOAD( "29f016.u2", 0x000000, 0x200000, CRC(ee7f2bb6) SHA1(1638d5196499fd3669a97fc9e64adacf59bc6108) ) // 1xxxxxxxxxxxxxxxxxxxx = 0x00 + + ROM_REGION(0x200000, "gfx", 0 ) + ROM_LOAD( "mx29lv160.u3", 0x000000, 0x200000, CRC(f57c33f6) SHA1(3d5dd858e94156c4c7b1f6b8934b0f7667fd66ad) ) // 1xxxxxxxxxxxxxxxxxxxx = 0x00 +ROM_END + } // anonymous namespace GAME( 2005, boobood, 0, amuzy, amuzy, amuzy_state, empty_init, ROT0, "Amuzy Corporation", "Boo Boo Donpatchi (Japan, ver 1.01)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 2005, dojokkot, 0, amuzy, amuzy, amuzy_state, empty_init, ROT0, "Amuzy Corporation", "Dojokko Tsukami (Japan, ver 1.02)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 2005, fishbatl, 0, amuzy, amuzy, amuzy_state, empty_init, ROT0, "Amuzy Corporation", "Fisherman Battle (Japan, ver 1.03)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 2005, hhunter, 0, amuzy, amuzy, amuzy_state, empty_init, ROT0, "Amuzy Corporation", "Haunted Hunter (Japan, ver 1.00)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) +GAME( 2005, katori, 0, amuzy, amuzy, amuzy_state, empty_init, ROT0, "Amuzy Corporation", "Katori Attack (Japan, ver 1.03)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 2005, rodeokng, 0, amuzy, amuzy, amuzy_state, empty_init, ROT0, "Amuzy Corporation", "Rodeo King (Japan, ver 1.00)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 2005, wanpunch, 0, amuzy, amuzy, amuzy_state, empty_init, ROT0, "Amuzy Corporation", "Wanikko Punch (Japan, ver 1.20)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 2005, zenponta, 0, amuzy, amuzy, amuzy_state, empty_init, ROT0, "Amuzy Corporation", "Zenigata Ponta (Japan, ver 1.02)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) diff --git a/src/mame/neogeo/neogeo.cpp b/src/mame/neogeo/neogeo.cpp index abb05e81541..0df3ac24891 100644 --- a/src/mame/neogeo/neogeo.cpp +++ b/src/mame/neogeo/neogeo.cpp @@ -3688,6 +3688,7 @@ ROM_END NEO-MVS PROG42G / NEO-MVS CHA42G . NGH-018 NEO-AEG PROG42G / NEO-AEG CHA42G + NEO-AEG PROG42G-1 / NEO-AEG CHA42-G1 . prototype NEO-AEG PROG-EP / NEO-AEG CHA-EP ****************************************/ @@ -4169,6 +4170,7 @@ ROM_END . ??M-029 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1 . ??H-029 + NEO-AEG PROG42G / NEO-AEG CHA42G ****************************************/ ROM_START( legendos ) @@ -4972,6 +4974,7 @@ ROM_END NEO-MVS PROG-G2 / NEO-MVS CHA42G-1 NEO-MVS PROG 4096 / NEO-MVS CHA 42G-2 . AIH-051 + NEO-AEG PROG16 / NEO-AEG CHA42G-1 ****************************************/ ROM_START( viewpoin ) @@ -5052,7 +5055,7 @@ ROM_END NEO-MVS PROG16 / NEO-MVS CHA42G-1 . ALH-005 NEO-AEG PROG16 / NEO-AEG CHA42G-1 - NEO-AEG PROG-G2 / NEO-AEG CHA42G-2C + NEO-AEG PROG-G2 (SNK-9201) / NEO-AEG CHA42G-2C ****************************************/ ROM_START( wh1 ) /* MVS VERSION */ @@ -5198,6 +5201,7 @@ ROM_END ROM_START( aof2a ) /* AES VERSION */ ROM_REGION( 0x100000, "cslot1:maincpu", ROMREGION_BE|ROMREGION_16BIT ) + /* Also found AES sets with P1 and SP2 on maskrom; chip label are 056-P1 and 056-SP2G */ ROM_LOAD16_WORD_SWAP( "056-p1.p1", 0x000000, 0x100000, CRC(a3b1d021) SHA1(ee42f3ca4516226b0088d0303ed28e3ecdabcd71) ) /* TC538200 */ /* the rom below acts as a patch to the program rom in the cart, replacing the first 512kb */ ROM_LOAD16_WORD_SWAP( "056-epr.ep1", 0x000000, 0x80000, CRC(75d6301c) SHA1(e72d15fba55f96be7b4fa29e705a7b78f56edf7d) ) /* M27C4002 */ @@ -5213,6 +5217,7 @@ ROM_START( aof2a ) /* AES VERSION */ ROM_LOAD( "056-v3.v3", 0x400000, 0x100000, CRC(d168c301) SHA1(969273d1d11943e81560959359a2c4e69522af0e) ) /* TC538200 */ ROM_REGION( 0x1000000, "cslot1:sprites", 0 ) + /* Different layout with 4xC (32mbit) also exists; chip labels are 056-C13, 056-C24, 056-C57 and 056-C68 */ ROM_LOAD16_BYTE( "056-c1.c1", 0x000000, 0x200000, CRC(17b9cbd2) SHA1(1eee81e02763d384bd1c10a6012473ca931e4093) ) /* Plane 0,1 */ /* TC5316200 */ ROM_LOAD16_BYTE( "056-c2.c2", 0x000001, 0x200000, CRC(5fd76b67) SHA1(11925a41a53b53c6df4a5ebd28f98300950f743b) ) /* Plane 2,3 */ /* TC5316200 */ ROM_LOAD16_BYTE( "056-c3.c3", 0x400000, 0x200000, CRC(d2c88768) SHA1(22e2d84aa0c095944190e249ce87ef50d3f7b8ce) ) /* Plane 0,1 */ /* TC5316200 */ @@ -6425,6 +6430,7 @@ ROM_END ID-0089 . NGM-089 NEO-MVS PROGBK1 / NEO-MVS CHA256 + NEO-MVS PROGBK1 / NEO-MVS CHA256B . NGH-089 NEO-AEG PROGBK1Y / NEO-AEG CHA256RY ****************************************/ @@ -6433,6 +6439,7 @@ ROM_START( pulstar ) ROM_REGION( 0x300000, "cslot1:maincpu", ROMREGION_BE|ROMREGION_16BIT ) ROM_LOAD16_WORD_SWAP( "089-p1.p1", 0x000000, 0x100000, CRC(5e5847a2) SHA1(b864d0ec4184b785569ddbf67c2115b5ab86ee3e) ) /* mask rom TC538200 */ ROM_LOAD16_WORD_SWAP( "089-p2.sp2", 0x100000, 0x200000, CRC(028b774c) SHA1(fc5da2821a5072f2b78245fc59b6e3eeef116d16) ) /* mask rom TC5316200 */ + /* also found MVS sets with EP1 / EP2 on M27C4002 eprom with sticker and P1 / SP2 on TC578200D eprom with sticker; chip label are 089-P1, 089-SP2, EP1 and EP2 */ NEO_SFIX_128K( "089-s1.s1", CRC(c79fc2c8) SHA1(914c224fb3c461a68d7425cae724cf22bd5f985d) ) /* mask rom TC531000 */ @@ -7655,6 +7662,7 @@ ROM_END . SUM-225 NEO-MVS PROGBK1 / NEO-MVS CHA256B . SUH-225 + NEO-AEG PROGBK1Y / NEO-AEG CHA256RY ****************************************/ ROM_START( wakuwak7 ) @@ -9120,7 +9128,10 @@ ROM_END Non SMA protected version found on: NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042) . NGH-2560 + SMA protected version found on: NEO-AEG PROGLBA (1999.7.6) (NEO-SMA)(LBA-SUB) / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7042) + Non SMA protected version found on: + NEO-AEG PROGBK1F / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7042) ****************************************/ ROM_START( mslug3 ) /* Original Version - Encrypted Code & GFX */ /* revision 2000.4.1 */ /* MVS VERSION */ @@ -9609,7 +9620,7 @@ ROM_END . NGM-264? NEO-MVS PROGBK2 (2000.3.21) (NEO-PCM2 SNK) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7050) . NGH-2641 - NEO-AEG PROGBK2 (2002.4.1) (NEO-PCM2 SNK) / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7050) + NEO-AEG PROGBK2 (2002.4.1) (NEO-PCM2 PLAYMORE) / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7050) - Distribution by BrezzaSoft ****************************************/ @@ -9682,9 +9693,9 @@ ROM_END /**************************************** ID-0265 . NGM-2650 - NEO-MVS PROGBK2 (2000.3.21) (NEO-PCM2 PLAYMORE) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7050) + NEO-MVS PROGBK2 (2000.3.21) (NEO-PCM2 SNK) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7050) . NGH-2650 - NEO-AEG PROGBK2 (NEO-PCM2 PLAYMORE) / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7050) + NEO-AEG PROGBK2 (2002.4.1) (NEO-PCM2 PLAYMORE) / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7050) ****************************************/ ROM_START( kof2002 ) /* Encrypted Set */ /* MVS AND AES VERSION */ @@ -9723,7 +9734,7 @@ ROM_END /**************************************** ID-0266 . NGM-2660 - NEO-MVS PROGBK2 (2000.3.21) (NEO-PCM2 PLAYMORE) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7050) + NEO-MVS PROGBK2 (2000.3.21) (NEO-PCM2 SNK) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7050) . NGH-2660 NEO-AEG PROGBK2 (2002.4.1) (NEO-PCM2 PLAYMORE) / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7050) ****************************************/ @@ -9896,9 +9907,9 @@ ROM_END /**************************************** ID-0269 . NGM-2690 - NEO-MVS PROGBK3R (2003.9.2) (NEO-PCM2 PLAYMORE) (NEO-PVC) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050) + NEO-MVS PROGBK3R (2003.9.2) (NEO-PCM2 SNKPLAYMORE) (NEO-PVC) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050) . NGH-2690 - NEO-AEG PROGBK3R (2003.8.29) (NEO-PCM2 PLAYMORE) (NEO-PVC) / NEO-AEG CHAFIO (2003.7.24) (NEO-CMC 7050) + NEO-AEG PROGBK3R (2003.8.29) (NEO-PCM2 SNKPLAYMORE) (NEO-PVC) / NEO-AEG CHAFIO (2003.7.24) (NEO-CMC 7050) ****************************************/ ROM_START( svc ) /* Encrypted Set */ /* MVS AND AES VERSION */ @@ -9937,9 +9948,9 @@ ROM_END /**************************************** ID-0270 . NGM-2700 - NEO-MVS PROGBK2R (2003.8.26) (NEO-PCM2 PLAYMORE) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050) + NEO-MVS PROGBK2R (2003.8.26) (NEO-PCM2 SNKPLAYMORE) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050) . NGH-2700 - NEO-AEG PROGBK2S (2003.10.16) (NEO-PCM2 PLAYMORE) / NEO-AEG CHAFIO (2003.7.24) (NEO-CMC 7050) + NEO-AEG PROGBK2S (2003.10.16) (NEO-PCM2 SNKPLAYMORE) / NEO-AEG CHAFIO (2003.7.24) (NEO-CMC 7050) ****************************************/ ROM_START( samsho5 ) /* Encrypted Set */ /* MVS VERSION, Build Date: Tue Aug 26 22:27:30 2003 */ @@ -10048,9 +10059,9 @@ ROM_END /**************************************** ID-0271 . NGM-2710 - NEO-MVS PROGBK3S (2003.10.1) (NEO-PCM2 PLAYMORE) (NEO-PVC) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050) + NEO-MVS PROGBK3S (2003.10.1) (NEO-PCM2 SNKPLAYMORE) (NEO-PVC) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050) . NGH-2710 - NEO-AEG PROGBK3S (2003.10.6) (NEO-PCM2 PLAYMORE) (NEO-PVC) / NEO-AEG CHAFIO (2003.7.24) (NEO-CMC 7050) + NEO-AEG PROGBK3S (2003.10.6) (NEO-PCM2 SNKPLAYMORE) (NEO-PVC) / NEO-AEG CHAFIO (2003.7.24) (NEO-CMC 7050) ****************************************/ ROM_START( kof2003 ) /* Encrypted Code + Sound + GFX Roms */ /* MVS VERSION */ @@ -10125,9 +10136,9 @@ ROM_END /**************************************** ID-0272 . NGM-2720 - NEO-MVS PROGBK2S (2003.10.18) (NEO-PCM2 PLAYMORE) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050) + NEO-MVS PROGBK2S (2003.10.18) (NEO-PCM2 SNKPLAYMORE) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050) . NGH-2720 - NEO-AEG PROGBK2S (2003.10.16) (NEO-PCM2 PLAYMORE) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050) + NEO-AEG PROGBK2S (2003.10.16) (NEO-PCM2 SNKPLAYMORE) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050) ****************************************/ ROM_START( samsh5sp ) /* Encrypted Set */ /* MVS VERSION */ diff --git a/src/mame/sigma/sigmab98.cpp b/src/mame/sigma/sigmab98.cpp index 45aaba3214c..97ccf2827d4 100644 --- a/src/mame/sigma/sigmab98.cpp +++ b/src/mame/sigma/sigmab98.cpp @@ -52,26 +52,26 @@ is "Treasure Fall" (despite the cart label is "Treasure Hall"). Dumped games: +1999 Dokidoki Kingyo Sukui https://youtu.be/Z0tOjG_tteU +1999 Shatekids https://youtu.be/aWzYlvm6uIs 2000 Animal Catch https://youtu.be/U4L5EwWbxqw 2000 Itazura Monkey https://youtu.be/GHxiqUQRpV8 2000 Pye-nage Taikai https://youtu.be/oL2OIbrv-KI 2000 Taihou de Doboon https://youtu.be/loPP3jt0Ob0 2001 Hae Hae Ka Ka Ka https://youtu.be/37IxYCg0tic +2001 Kotekitai Slot https://youtu.be/IohrnGIma4A 2002 Gun Kids 2003 Go Go Cowboy (EN, prize) https://youtu.be/rymtzmSXjuA 2003 Wantouchable https://youtu.be/aRcTCdZZLRo Games with the same cabinet, or in the Treasure Fall series, which might be on the same hardware: -1999 Shatekids https://youtu.be/aWzYlvm6uIs 1999 Otakara Locomo https://youtu.be/J0NwMWO3SdY -1999 Dokidoki Kingyosukui https://youtu.be/Z0tOjG_tteU 2000 Otoshicha Ottotto https://youtu.be/AybhPHTFvMo 2001 Mushitori Meijin 2001 Morino Dodgeball Senshuken https://youtu.be/k98KIRjTYbY 2001 Waiwai Wanage https://youtu.be/4GmwPTk_Er4 2001 Zarigani Tsuri https://youtu.be/NppRdebkUaQ -2001 Kotekitai Slot https://youtu.be/IohrnGIma4A 2002 Shateki Yokochou https://youtu.be/LPZLWP1x5o8 2002 Ipponzuri Slot 2002 Karateman https://youtu.be/EIrVHEAv3Sc @@ -2099,9 +2099,11 @@ ROM_END #define SAMMYMDL_BIOS \ ROM_REGION( 0x80000, "mainbios", 0 ) \ ROM_SYSTEM_BIOS( 0, "v5", "IPL Ver. 5.0" ) /* (c)2003 */ \ - ROMX_LOAD( "vm1211l01.u2", 0x000000, 0x080000, CRC(c3c74dc5) SHA1(07352e6dba7514214e778ba39e1ca773e4698858), ROM_BIOS(0) ) \ + ROMX_LOAD( "vm1211l01.u2", 0x000000, 0x080000, CRC(c3c74dc5) SHA1(07352e6dba7514214e778ba39e1ca773e4698858), ROM_BIOS(0) ) \ ROM_SYSTEM_BIOS( 1, "v4", "IPL Ver. 4.0" ) /* (c)2000, ROM patches not correct for this BIOS */ \ - ROMX_LOAD( "mt201l04.u012", 0x000000, 0x080000, CRC(c8c6d25f) SHA1(5be39fa72b65f2e455ccc146dbab58d24ab46505), ROM_BIOS(1) ) + ROMX_LOAD( "mt201l04.u012", 0x000000, 0x080000, CRC(c8c6d25f) SHA1(5be39fa72b65f2e455ccc146dbab58d24ab46505), ROM_BIOS(1) ) \ + ROM_SYSTEM_BIOS( 2, "v1", "IPL Ver. 1.0" ) /* (c)1999, ROM patches not correct for this BIOS */ \ + ROMX_LOAD( "vm1201l01.u012", 0x000000, 0x080000, CRC(21b2ccbd) SHA1(c3ceea196e5c1c6a9e03cf3a22e9f25f0099a38e), ROM_BIOS(2) ) ROM_START( sammymdl ) SAMMYMDL_BIOS @@ -2163,6 +2165,19 @@ ROM_START( wantouch ) // ワンタッチャブル ROM_LOAD( "vx2301l01.u016", 0x00000, 0x200000, CRC(cd8d4478) SHA1(224e8e0e9a49f10515e0ebf9a5e97d8adc7eed13) ) ROM_END +ROM_START( kotekita ) // こてき隊(たい)スロット + SAMMYMDL_BIOS + + ROM_REGION( 0x1000000, "oki", ROMREGION_ERASEFF ) + ROM_LOAD( "vx2302l01.u021", 0x00000, 0x200000, CRC(37faa4a9) SHA1(619135d74052fb2272ce78976c2aa59a65244f12) ) + + ROM_REGION( 0x40000, "maincpu", 0 ) + ROM_COPY( "oki", 0x1c0000, 0x00000, 0x40000 ) + + ROM_REGION( 0x200000, "sprites", 0 ) + ROM_LOAD( "vx2301l01.u016", 0x00000, 0x200000, CRC(e471c1ef) SHA1(4ddf3261d8736888ebbdbd0d755aad75987b3b3d) ) +ROM_END + void sammymdl_state::init_animalc() { uint8_t *rom = memregion("mainbios")->base(); @@ -2346,6 +2361,32 @@ void sammymdl_state::init_haekaka() rom[0x005ac] = 0xc3; } +ROM_START( kingyosu ) + SAMMYMDL_BIOS + + ROM_REGION( 0x1000000, "oki", ROMREGION_ERASEFF ) + ROM_LOAD( "vx1302l02.u021", 0x00000, 0x200000, CRC(45e43e3c) SHA1(71ada38c1f65738ca75ca75d2272f310ba43c72c) ) + + ROM_REGION( 0x40000, "maincpu", 0 ) + ROM_COPY( "oki", 0x1c0000, 0x00000, 0x40000 ) + + ROM_REGION( 0x200000, "sprites", 0 ) + ROM_LOAD( "vx1301l01.u016", 0x00000, 0x200000, CRC(25dfbf4c) SHA1(8f9552cf54bdf7490055ebdb23fa758f5cddafb5) ) +ROM_END + +ROM_START( shatekds ) + SAMMYMDL_BIOS + + ROM_REGION( 0x1000000, "oki", ROMREGION_ERASEFF ) + ROM_LOAD( "29f016a.u015", 0x00000, 0x200000, CRC(7c779286) SHA1(db688ac2cad14c642e6da770212217a466e1bb64) ) + + ROM_REGION( 0x40000, "maincpu", 0 ) + ROM_COPY( "oki", 0x1c0000, 0x00000, 0x40000 ) + + ROM_REGION( 0x200000, "sprites", 0 ) + ROM_LOAD( "mx29f1610tc.u016", 0x00000, 0x200000, CRC(6e7d2c7d) SHA1(747d54eee26631966a91fd26b8b4beb32b67ddb7) ) +ROM_END + } // anonymous namespace @@ -2368,12 +2409,15 @@ GAME( 2000, dashhero, 0, sigmab98, sigma_1b, sigmab98_state, init_dashher GAME( 2001, lufykzku, 0, lufykzku, lufykzku, lufykzku_state, init_lufykzku, ROT0, "Banpresto / Eiichiro Oda / Shueisha - Fuji TV - Toho Animation", "Otakara Itadaki Luffy Kaizoku-Dan! (Japan, v1.02)", 0 ) GAME( 2002, mnrockman,0, rockman, lufykzku, lufykzku_state, init_rockman, ROT0, "Banpresto / Capcom / Shogakukan / ShoPro / TV Tokyo", "Medal Network: Rockman EXE", 0 ) // Sammy Medal Games: -GAME( 2000, sammymdl, 0, sammymdl, sammymdl, sammymdl_state, init_animalc, ROT0, "Sammy", "Sammy Medal Game System BIOS", MACHINE_IS_BIOS_ROOT ) +GAME( 1999, sammymdl, 0, sammymdl, sammymdl, sammymdl_state, init_animalc, ROT0, "Sammy", "Sammy Medal Game System BIOS", MACHINE_IS_BIOS_ROOT ) +GAME( 1999, kingyosu, sammymdl, itazuram, sammymdl, sammymdl_state, init_animalc, ROT0, "Sammy", "Dokidoki Kingyo Sukui", 0 ) +GAME( 1999, shatekds, sammymdl, animalc, sammymdl, sammymdl_state, init_animalc, ROT0, "Sammy", "Shatekids", 0 ) GAME( 2000, animalc, sammymdl, animalc, sammymdl, sammymdl_state, init_animalc, ROT0, "Sammy", "Animal Catch", 0 ) GAME( 2000, itazuram, sammymdl, itazuram, sammymdl, sammymdl_state, init_itazuram, ROT0, "Sammy", "Itazura Monkey", 0 ) GAME( 2000, pyenaget, sammymdl, pyenaget, sammymdl, sammymdl_state, init_haekaka, ROT0, "Sammy", "Pye-nage Taikai", 0 ) GAME( 2000, tdoboon, sammymdl, tdoboon, haekaka, sammymdl_state, init_haekaka, ROT0, "Sammy", "Taihou de Doboon", 0 ) GAME( 2001, haekaka, sammymdl, haekaka, haekaka, sammymdl_state, init_haekaka, ROT0, "Sammy", "Hae Hae Ka Ka Ka", 0 ) +GAME( 2001, kotekita, sammymdl, haekaka, sammymdl, sammymdl_state, init_haekaka, ROT0, "Sammy", "Kotekitai Slot", 0 ) GAME( 2002, gunkids, sammymdl, animalc, sammymdl, sammymdl_state, init_animalc, ROT0, "Sammy", "Hayauchi Gun Kids", 0 ) GAME( 2003, wantouch, sammymdl, animalc, sammymdl, sammymdl_state, init_animalc, ROT0, "Sammy", "Wantouchable", 0 ) GAME( 2003, gocowboy, 0, gocowboy, gocowboy, sammymdl_state, empty_init, ROT0, "Sammy", "Go Go Cowboy (English, prize)", 0 ) diff --git a/src/mame/skeleton/banpresto_tomy_h8s.cpp b/src/mame/skeleton/banpresto_tomy_h8s.cpp index 9be16bb0592..9e3986760bc 100644 --- a/src/mame/skeleton/banpresto_tomy_h8s.cpp +++ b/src/mame/skeleton/banpresto_tomy_h8s.cpp @@ -32,7 +32,7 @@ Banpresto "Chara Medal Island" series: BP-05 - Chibi Maruko-chan - Wanage de Asobo!! - ちびまる子ちゃん輪投げで遊ぼ!! ** BP-06 - Doraemon - SOS! Itazura Nezumi wo Yattsukero!! - ドラえもん SOS!いたずらネズミをやっつけろ!! ** BP-07 - GeGeGe no Kitarou - Taose! Seiyou Youkai Gundan - ゲゲゲの鬼太郎 倒せ!西洋妖怪軍団 -** BP-08 - Keroro Gunsou - Hacha Mecha Yakyu Taikai de Arimasu!! - ケロロ軍曹 ハチャメチャ野球大会であります!! + BP-08 - Keroro Gunsou - Hacha Mecha Yakyu Taikai de Arimasu!! - ケロロ軍曹 ハチャメチャ野球大会であります!! almost surely more Takara / Tomy "VS medal" series (games show produced by Amodio and Tomy copyright on title screen): @@ -153,7 +153,7 @@ ROM_START( dbzbgck ) ROM_LOAD( "bp03-s_ver1.0.ic4", 0x000000, 0x100000, CRC(0cbf97b4) SHA1(c39106e4414cf55bd3b9aaf7d3c37de7fc14b48f) ) ROM_END -ROM_START( cmcwa) +ROM_START( cmcwa ) ROM_REGION( 0x400000, "maincpu", 0 ) ROM_LOAD16_WORD_SWAP( "bp05-p_ver1.1.ic5", 0x000000, 0x400000, CRC(f5efd28c) SHA1(a565de1bbb88d949af20150c93db850523ac3c85) ) // 111xxxxxxxxxxxxxxxxxxx = 0xFF @@ -164,6 +164,17 @@ ROM_START( cmcwa) ROM_LOAD( "bp05-s_ver1.0.ic4", 0x000000, 0x100000, CRC(5ee334cc) SHA1(6cbc237980d2aadb28970bd5eecec3c2cf9f873f) ) ROM_END +ROM_START( kghmytda ) + ROM_REGION( 0x400000, "maincpu", 0 ) + ROM_LOAD16_WORD_SWAP( "bp08-p_ver1.0.ic5", 0x000000, 0x400000, CRC(d8d49df1) SHA1(7060094305bea6ee9f58ff42c23c64961fc825a9) ) // 111xxxxxxxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x400000, "gfx", 0 ) + ROM_LOAD( "bp08-g_ver1.0.ic6", 0x000000, 0x400000, CRC(8a3a3b1c) SHA1(b3c635e0d61a41c3b492b604e77d8bb492ac39e6) ) + + ROM_REGION( 0x100000, "oki", 0 ) + ROM_LOAD( "bp08-s_ver1.0.ic4", 0x000000, 0x100000, CRC(b30b9f44) SHA1(98c60021c70524dcf9d55bb0d55be78071f85969) ) +ROM_END + ROM_START( zoids ) ROM_REGION( 0x400000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD16_WORD_SWAP( "tm03-p_ver1.0.ic5", 0x000000, 0x080000, CRC(becd0060) SHA1(68b72a3e7270f3416935db018b6feeaaa8e4aeae) ) @@ -236,6 +247,7 @@ ROM_END GAME( 2006, cscaoysd, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Banpresto", "Crayon Shin-chan - Arashi o Yobu! Sushitori Daigassen", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) GAME( 2006, dbzbgck, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Banpresto", "Dragon Ball Z - Bucchigiri no Chou Kessen", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) GAME( 2007, cmcwa, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Banpresto", "Chibi Maruko-chan - Wanage de Asobo!!", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2007, kghmytda, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Banpresto", "Keroro Gunsou - Hacha Mecha Yakyu Taikai de Arimasu!!", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) GAME( 2005, zoids, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Amodio / Tomy", "Zoids", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // title to be verified GAME( 2007, youkai, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Amodio / Tomy", "Youkai VS Uchuujin", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) GAME( 2007, satoyama, 0, base, base, banpresto_tomy_h8s_state, empty_init, ROT0, "Amodio / Tomy", "Satoyama Grand Prix", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/taito/dinoking.cpp b/src/mame/taito/dinoking.cpp index 9879b779241..ef367295c90 100644 --- a/src/mame/taito/dinoking.cpp +++ b/src/mame/taito/dinoking.cpp @@ -11,7 +11,8 @@ TODO: Taito mid-2000s medal hardware -Currently two games are dumped: +Currently these games are dumped: +Hello Kitty Koi no Shugoshin Uranai - ハローキティ 恋の守護神占い (2003) - K11J0958C - F19 ROM code Dinoking Kids - ダイノキングキッズ (2004) - K11J0985A - F39 ROM code Dinoking Battle - ダイノキングバトル (2005) - K11J0998A - F54 ROM code @@ -171,6 +172,21 @@ void dinoking_state::dinoking(machine_config &config) } +ROM_START( hkuranai ) // slightly different PCB, but mostly same components. Adds a printer. + ROM_REGION16_BE( 0x200000, "maincpu", 0 ) + ROM_LOAD16_WORD_SWAP( "f19-04.ic28", 0x000000, 0x200000, CRC(2e8e409f) SHA1(5845c4e5ea1d95d57f2a31bc590b98e09d74c5b4) ) // silkscreened PRG M27C160-120F1 on PCB + + ROM_REGION( 0x200000, "gfx", 0 ) + ROM_LOAD( "f19-01.ic18", 0x000000, 0x200000, CRC(260213f9) SHA1(128b21a7288d5386e286358d0bc57c4c6494f56a) ) // silkscreened CG-ROM1 MSM27C1602CZ on PCB + // empty socket marked as CG-ROM2 MSM27C1602CZ on PCB at ic19 + + ROM_REGION( 0x200000, "oki", 0 ) + ROM_LOAD( "f19-03.ic20", 0x000000, 0x200000, CRC(5e844985) SHA1(6e31cab29d7e6754e345dac94551b59a700356db) ) // silkscreened PCM MSM27C1602CZ on PCB + + ROM_REGION( 0x100000, "printer_font", 0 ) // on ALPS PTCBL11/21-MAIN PCB + ROM_LOAD( "165-02.u1", 0x000000, 0x100000, CRC(5a9e98ac) SHA1(fc7dd89abebbc32cd833f3abd3bbb10c5f5b790e) ) +ROM_END + ROM_START( dkkids ) ROM_REGION16_BE( 0x200000, "maincpu", 0 ) ROM_LOAD16_WORD_SWAP( "f39-03.ic3", 0x000000, 0x200000, CRC(061ea9e6) SHA1(9a6957a24e228aa1f44bf91c635894ecd4871623) ) // ST-M27C160-100 @@ -196,5 +212,6 @@ ROM_END } // anonymous namespace -GAME( 2004, dkkids, 0, dinoking, dinoking, dinoking_state, empty_init, ROT0, "Taito Corporation", "Dinoking Kids", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) -GAME( 2005, dkbattle, 0, dinoking, dinoking, dinoking_state, empty_init, ROT0, "Taito Corporation", "Dinoking Battle", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2003, hkuranai, 0, dinoking, dinoking, dinoking_state, empty_init, ROT0, "Taito Corporation", "Hello Kitty Koi no Shugoshin Uranai", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2004, dkkids, 0, dinoking, dinoking, dinoking_state, empty_init, ROT0, "Taito Corporation", "Dinoking Kids", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 2005, dkbattle, 0, dinoking, dinoking, dinoking_state, empty_init, ROT0, "Taito Corporation", "Dinoking Battle", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )