From 91046f0a2f8571e52a64246e3720bf1e4b0b928e Mon Sep 17 00:00:00 2001 From: smf- Date: Sun, 2 Apr 2023 08:18:32 +0100 Subject: [PATCH] New working systems ------------------- Space Micon Kit [Dillweed, smf] --- src/mame/mame.lst | 1 + src/mame/snk/miconkit.cpp | 54 ++++++++++++++++++++++++++++++++++++--- 2 files changed, 52 insertions(+), 3 deletions(-) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 2554f2a2e9f..2110e128575 100755 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -41411,6 +41411,7 @@ mechattu1 // A8002 'MA' (c) 1989 @source:snk/miconkit.cpp micon2 +smiconk @source:snk/munchmo.cpp joyfulr // A2001 (c) 1983 diff --git a/src/mame/snk/miconkit.cpp b/src/mame/snk/miconkit.cpp index 4ed0ea5e99b..d7032dea07b 100644 --- a/src/mame/snk/miconkit.cpp +++ b/src/mame/snk/miconkit.cpp @@ -60,6 +60,7 @@ public: { } void micon2(machine_config &config); + void smiconk(machine_config &config); protected: virtual void machine_start() override; @@ -75,6 +76,8 @@ private: void main_map(address_map &map); void io_map(address_map &map); + void smiconk_main_map(address_map &map); + void smiconk_io_map(address_map &map); u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); @@ -176,6 +179,19 @@ void miconkit_state::io_map(address_map &map) map(0x04, 0x04).r(FUNC(miconkit_state::input_r)); } +void miconkit_state::smiconk_main_map(address_map &map) +{ + map(0x0000, 0x1fff).rom(); + map(0x4000, 0x43ff).ram(); + map(0x7000, 0x7fff).ram().share("vram"); +} + +void miconkit_state::smiconk_io_map(address_map &map) +{ + map(0x30, 0x33).rw(m_ppi, FUNC(i8255_device::read), FUNC(i8255_device::write)); + map(0x34, 0x34).r(FUNC(miconkit_state::input_r)); +} + /****************************************************************************** @@ -215,6 +231,22 @@ static INPUT_PORTS_START( micon2 ) PORT_DIPSETTING( 0x80, "5" ) INPUT_PORTS_END +static INPUT_PORTS_START(smiconk) + PORT_INCLUDE(micon2) + + PORT_MODIFY("IN.4") + PORT_DIPNAME( 0x30, 0x10, "Replay" ) PORT_DIPLOCATION("DS1:4,3") + PORT_DIPSETTING( 0x00, DEF_STR( None ) ) + PORT_DIPSETTING( 0x10, "800" ) + PORT_DIPSETTING( 0x20, "1000" ) + PORT_DIPSETTING( 0x30, "1200" ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DS1:2") + PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Lives ) ) PORT_DIPLOCATION("DS1:1") + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x80, "5" ) +INPUT_PORTS_END /****************************************************************************** @@ -248,20 +280,35 @@ void miconkit_state::micon2(machine_config &config) BEEP(config, m_beeper, 0).add_route(ALL_OUTPUTS, "mono", 0.25); } +void miconkit_state::smiconk(machine_config &config) +{ + micon2(config); + m_maincpu->set_addrmap(AS_PROGRAM, &miconkit_state::smiconk_main_map); + m_maincpu->set_addrmap(AS_IO, &miconkit_state::smiconk_io_map); +} /****************************************************************************** ROM Definitions ******************************************************************************/ ROM_START( micon2 ) - ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_REGION( 0x1000, "maincpu", 0 ) ROM_LOAD( "ufo_no_0", 0x0000, 0x0400, CRC(3eb5a299) SHA1(5e7de4cb8312be8b84f7e5e035b61a6cb9798bc0) ) ROM_LOAD( "ufo_no_1", 0x0400, 0x0400, CRC(e796338e) SHA1(86c5f283b4a41e19dd0b624d04e1a62ff2ffbf58) ) ROM_LOAD( "ufo_no_2", 0x0800, 0x0400, CRC(bf246cd7) SHA1(147fb9b877ee108c9c09461ae7e0d72af9ab3275) ) ROM_LOAD( "ufo_no_3", 0x0c00, 0x0400, CRC(0e93b4f0) SHA1(9405e85a7e005edd0043cb43ce2ef283b4c1b341) ) ROM_END +ROM_START( smiconk ) + ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASEFF ) + ROM_LOAD( "1.1a", 0x000000, 0x000400, CRC(927dfbb8) SHA1(a73e7352ddcc3409701a9037ac32868c1a2592bd) ) + ROM_LOAD( "2.1b", 0x000400, 0x000400, CRC(1d0f1474) SHA1(2ead9a60ef1770f8704fff951caba31ad06a38c7) ) + ROM_LOAD( "3.1c", 0x000800, 0x000400, CRC(b89cb388) SHA1(6ec6af0c4e809e8b0b9544eb7007a3e483f921f2) ) + ROM_LOAD( "4.1d", 0x000c00, 0x000400, CRC(a5897e6e) SHA1(5ecc65bfbecb6e1b10d272693309be827fdb3ef7) ) + ROM_LOAD( "5.1e", 0x001000, 0x000400, CRC(98db7810) SHA1(32d6b828bb22145ae1b4e70d6f69baba1d5aad6b) ) +ROM_END + } // anonymous namespace @@ -270,5 +317,6 @@ ROM_END Drivers ******************************************************************************/ -// YEAR NAME PARENT MACHINE INPUT CLASS INIT SCREEN COMPANY, FULLNAME, FLAGS -GAMEL(1978, micon2, 0, micon2, micon2, miconkit_state, empty_init, ROT90, "SNK", "Micon-Kit Part II", MACHINE_SUPPORTS_SAVE, layout_micon2 ) +// YEAR NAME PARENT MACHINE INPUT CLASS INIT SCREEN COMPANY, FULLNAME, FLAGS +GAMEL(1978, micon2, 0, micon2, micon2, miconkit_state, empty_init, ROT90, "SNK", "Micon-Kit Part II", MACHINE_SUPPORTS_SAVE, layout_micon2 ) +GAMEL(1978, smiconk, 0, smiconk, smiconk, miconkit_state, empty_init, ROT90, "SNK", "Space Micon Kit", MACHINE_SUPPORTS_SAVE, layout_micon2 )