From 348555a6bd25d3ef3cb30ac44ec264418e753191 Mon Sep 17 00:00:00 2001 From: Roberto Fresca Date: Sat, 23 Dec 2023 03:57:35 +0100 Subject: magicard.cpp: Added CANCEL & BET inputs and button-lamps layout to set magicrd1. Now this game is completely playable. --- src/mame/layout/magicard.lay | 8 +++-- src/mame/misc/magicard.cpp | 81 +++++++++++++++++++------------------------- 2 files changed, 41 insertions(+), 48 deletions(-) diff --git a/src/mame/layout/magicard.lay b/src/mame/layout/magicard.lay index a8a485da011..cfd6b858e27 100644 --- a/src/mame/layout/magicard.lay +++ b/src/mame/layout/magicard.lay @@ -81,7 +81,7 @@ copyright-holders: Roberto Fresca - + @@ -96,7 +96,11 @@ copyright-holders: Roberto Fresca - + + + + + diff --git a/src/mame/misc/magicard.cpp b/src/mame/misc/magicard.cpp index 8dfb1c931a0..36f9d185f1f 100644 --- a/src/mame/misc/magicard.cpp +++ b/src/mame/misc/magicard.cpp @@ -556,41 +556,34 @@ void hotslots_state::puzzleme_map(address_map &map) static INPUT_PORTS_START( magicard ) PORT_START("SW0") + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_NAME("Remote 2") + PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME("Remote 1") + PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) + PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) + PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME("Remote 2") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_NAME("Remote 1") - - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) - - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) - - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Bet/Clear/Collect") - - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) - - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) - - PORT_BIT( 0x100, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_TOGGLE PORT_NAME("Rental Book Keeping") - PORT_BIT( 0x200, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Owner Book Keeping") - + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Book 2") + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Book 1") PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) - - PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_NAME("Pay Out") - PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Hopper Count") PORT_CODE(KEYCODE_Q) - PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_SERVICE3 ) PORT_TOGGLE PORT_NAME("Accounting 3") + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_NAME("Pay/Hoper Out") + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper Count") PORT_CODE(KEYCODE_E) + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Books 3") PORT_CODE(KEYCODE_U) PORT_START("SW1") - PORT_DIPNAME( 0x80, 0x80, "Hopper" ) PORT_DIPLOCATION("DIP 1:1") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPNAME( 0x01, 0x01, "Keyboard Test" ) PORT_DIPLOCATION("DIP 1:8") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Hopper" ) PORT_DIPLOCATION("DIP 1:2") - PORT_DIPSETTING( 0x40, "Coin B" ) - PORT_DIPSETTING( 0x00, "Coin A" ) - + PORT_DIPNAME( 0x02, 0x02, "Remote/Keyboard" ) PORT_DIPLOCATION("DIP 1:7") + PORT_DIPSETTING( 0x02, "Remote Switch" ) + PORT_DIPSETTING( 0x00, "Keyboard" ) + PORT_DIPNAME( 0x04, 0x04, "Swap Coin Inputs" ) PORT_DIPLOCATION("DIP 1:6") + PORT_DIPSETTING( 0x04, DEF_STR( No ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_DIPNAME( 0x38, 0x38, "Setting" ) PORT_DIPLOCATION("DIP 1:5,4,3") PORT_DIPSETTING( 0x38, "Austria 1" ) PORT_DIPSETTING( 0x30, "Austria 2" ) @@ -600,25 +593,21 @@ static INPUT_PORTS_START( magicard ) PORT_DIPSETTING( 0x20, "Germany 2" ) PORT_DIPSETTING( 0x08, "Hungary 1" ) PORT_DIPSETTING( 0x00, "Hungary 2" ) - - PORT_DIPNAME( 0x04, 0x04, "Swap Coin Inputs" ) PORT_DIPLOCATION("DIP 1:6") - PORT_DIPSETTING( 0x04, DEF_STR( No ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x02, 0x02, "Remote/Keyboard" ) PORT_DIPLOCATION("DIP 1:7") - PORT_DIPSETTING( 0x02, "Remote Switch" ) - PORT_DIPSETTING( 0x00, "Keyboard" ) - PORT_DIPNAME( 0x01, 0x01, "Keyboard Test" ) PORT_DIPLOCATION("DIP 1:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPNAME( 0x40, 0x40, "Hopper" ) PORT_DIPLOCATION("DIP 1:2") + PORT_DIPSETTING( 0x40, "Coin B" ) + PORT_DIPSETTING( 0x00, "Coin A" ) + PORT_DIPNAME( 0x80, 0x80, "Hopper" ) PORT_DIPLOCATION("DIP 1:1") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_TOGGLE PORT_NAME("Hopper Full") PORT_CODE(KEYCODE_A) - PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED ) // PORT_NAME("Reserve In 9") - PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNUSED ) // PORT_NAME("Reserve In 8") - PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNUSED ) // PORT_NAME("Reserve In 7") - PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED ) // PORT_NAME("Reserve In 6") - PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED ) // PORT_NAME("Reserve In 5") - PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_GAMBLE_DOOR ) PORT_TOGGLE PORT_NAME("Door Switch") - PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Clear Credit") PORT_CODE(KEYCODE_J) + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("All Coins Out") PORT_CODE(KEYCODE_T) + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_GAMBLE_DOOR ) PORT_NAME("Door Switch") + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Reserve In 5") PORT_CODE(KEYCODE_A) + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Reserve In 6") PORT_CODE(KEYCODE_S) + PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Reserve In 7") PORT_CODE(KEYCODE_D) + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Reserve In 8") PORT_CODE(KEYCODE_F) + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Reserve In 9") PORT_CODE(KEYCODE_G) + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper Full") PORT_CODE(KEYCODE_R) INPUT_PORTS_END @@ -2279,7 +2268,7 @@ ROM_END // YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS GAME( 1994, magicard, 0, magicard, magicard, magicard_state, empty_init, ROT0, "Impera", "Magic Card (v2.01)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) -GAME( 1994, magicrd1, 0, magicard_pic56, magicard, magicard_state, empty_init, ROT0, "Impera", "Magic Card (v1.10 14.09.94)", MACHINE_SUPPORTS_SAVE ) +GAMEL( 1994, magicrd1, 0, magicard_pic56, magicard, magicard_state, empty_init, ROT0, "Impera", "Magic Card (v1.10 14.09.94)", MACHINE_SUPPORTS_SAVE, layout_magicard ) GAME( 1993, magicrd1a, magicrd1, magicard, magicard, magicard_state, empty_init, ROT0, "Impera", "Magic Card (v1.5 17.12.93, set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) GAME( 1993, magicrd1b, magicrd1, magicard, magicard, magicard_state, empty_init, ROT0, "Impera", "Magic Card (v1.5 17.12.93, set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) GAME( 1993, magicrd1c, magicrd1, magicard_pic54, magicard, magicard_state, empty_init, ROT0, "Impera", "Magic Card (v1.2 200/93, set 1)", MACHINE_SUPPORTS_SAVE ) -- cgit v1.2.3