diff options
| author | 2023-11-24 18:40:45 +0100 | |
|---|---|---|
| committer | 2023-11-24 18:40:45 +0100 | |
| commit | 03f46758ce69544d86be27772e996aa833eaa5fa (patch) | |
| tree | 4311f4fcd96490ffdf9e0298a00656768894f7a8 /src | |
| parent | 706cc60b159b337545748c0abe0545b447037c0a (diff) | |
Taito O System: Added clickable control panel with button lamps to Eibise.
Systems promoted to working
---------------------------
Parent Jack (Japan) [Tomasz Slanina, Angelo Salese, Roberto Fresca, Grull Osgo]
Eibise (Japan) [Tomasz Slanina, Angelo Salese, Roberto Fresca, Grull Osgo]
Diffstat (limited to 'src')
| -rw-r--r-- | src/mame/layout/eibise.lay | 225 | ||||
| -rw-r--r-- | src/mame/taito/taito_o.cpp | 24 |
2 files changed, 237 insertions, 12 deletions
diff --git a/src/mame/layout/eibise.lay b/src/mame/layout/eibise.lay new file mode 100644 index 00000000000..1061890cd6d --- /dev/null +++ b/src/mame/layout/eibise.lay @@ -0,0 +1,225 @@ +<?xml version="1.0"?> +<!-- +license:CC0-1.0 +copyright-holders: Roberto Fresca, Grull Osgo + +********************************************** + + Eibise control panel + + May or may not match arrangement/colour + of real control panel + +********************************************** +--> + +<mamelayout version="2"> + +<!-- define button-lamps --> + + <element name="start" defstate="0"> + <rect state="1"> + <color red="0.0" green="1.0" blue="0.0" /> + </rect> + <rect state="0"> + <color red="0.0" green="0.15" blue="0.0" /> + </rect> + <text string="START"> + <color red="0.0" green="0.0" blue="0.0" /> + <bounds x="0" y="0.3" width="1" height="0.4" /> + </text> + </element> + + <element name="maxbet" defstate="0"> + <rect state="1"> + <color red="1.0" green="0.0" blue="1.0" /> + </rect> + <rect state="0"> + <color red="0.15" green="0.0" blue="0.15" /> + </rect> + <text string="MAX BET"> + <color red="0.0" green="0.0" blue="0.0" /> + <bounds x="0" y="0.3" width="1" height="0.4" /> + </text> + </element> + + <element name="bet" defstate="0"> + <rect state="1"> + <color red="1.0" green="0.0" blue="0.0" /> + </rect> + <rect state="0"> + <color red="0.2" green="0.0" blue="0.0" /> + </rect> + <text string="BET"> + <color red="0.0" green="0.0" blue="0.0" /> + <bounds x="0" y="0.3" width="1" height="0.4" /> + </text> + </element> + + + <element name="dup" defstate="0"> + <rect state="1"> + <color red="1.0" green="0.5" blue="0.0" /> + </rect> + <rect state="0"> + <color red="0.15" green="0.075" blue="0.0" /> + </rect> + <text string="DOUBLE"> + <color red="0.0" green="0.0" blue="0.0" /> + <bounds x="0" y="0.3" width="1" height="0.4" /> + </text> + </element> + + <element name="take" defstate="0"> + <rect state="1"> + <color red="1.0" green="0.5" blue="0.0" /> + </rect> + <rect state="0"> + <color red="0.15" green="0.075" blue="0.0" /> + </rect> + <text string="TAKE"> + <color red="0.0" green="0.0" blue="0.0" /> + <bounds x="0" y="0.1" width="1" height="0.4" /> + </text> + <text string="PAYOUT"> + <color red="0.0" green="0.0" blue="0.0" /> + <bounds x="0" y="0.5" width="1" height="0.4" /> + </text> + </element> + + + +<!-- define basic elements --> + + <element name="cpanel"> + <rect> + <color red="0.0" green="0.0" blue="0.0" /> + </rect> + </element> + + <element name="bet_b" defstate="0"> + <rect state="1"> + <color red="0.7" green="0.0" blue="0.0" /> + </rect> + <rect state="0"> + <color red="0.15" green="0.0" blue="0.0" /> + </rect> + </element> + + <element name="dup_b" defstate="0"> + <rect state="1"> + <color red="0.7" green="0.35" blue="0.0" /> + </rect> + <rect state="0"> + <color red="0.1" green="0.05" blue="0.0" /> + </rect> + </element> + + <element name="start_b" defstate="0"> + <rect state="1"> + <color red="0.0" green="0.7" blue="0.0" /> + </rect> + <rect state="0"> + <color red="0.0" green="0.1" blue="0.0" /> + </rect> + </element> + + <element name="maxbet_b" defstate="0"> + <rect state="1"> + <color red="0.7" green="0.0" blue="0.7" /> + </rect> + <rect state="0"> + <color red="0.1" green="0.0" blue="0.1" /> + </rect> + </element> + + +<!-- define cpanel degradee elements --> + + <element name="cpanel2"> + <rect> + <color red="0.15" green="0.15" blue="0.15" /> + </rect> + </element> + + <element name="cpanel3"> + <rect> + <color red="0.10" green="0.10" blue="0.10" /> + </rect> + </element> + + <element name="cpanel4"> + <rect> + <color red="0.05" green="0.05" blue="0.05" /> + </rect> + </element> + + +<!-- View Field... --> + + <view name="Control Panel"> + <screen index="0"> + <bounds left="0" top="0" right="4" bottom="3" /> + </screen> + + <element ref="cpanel"> + <bounds left="0" right="4" top="3" bottom="3.40" /> + </element> + + <element ref="cpanel2"> + <bounds left="0" right="4" top="3.02" bottom="3.38" /> + </element> + + <element ref="cpanel3"> + <bounds left="0" right="4" top="3.03" bottom="3.37" /> + </element> + + <element ref="cpanel4"> + <bounds left="0" right="4" top="3.04" bottom="3.36" /> + </element> + + <element ref="cpanel"> + <bounds left="0" right="4" top="3.05" bottom="3.35" /> + </element> + + + <element name="lamp12" ref="start_b" inputtag="IN0" inputmask="0x100"> + <bounds x="0.60" y="3.08" width="0.40" height="0.24" /> + </element> + <element name="lamp12" ref="start" inputtag="IN0" inputmask="0x100"> + <bounds x="0.62" y="3.10" width="0.36" height="0.20" /> + </element> + + + <element name="lamp9" ref="maxbet_b" inputtag="IN0" inputmask="0x80"> + <bounds x="1.30" y="3.08" width="0.40" height="0.24" /> + </element> + <element name="lamp9" ref="maxbet" inputtag="IN0" inputmask="0x80"> + <bounds x="1.32" y="3.10" width="0.36" height="0.20" /> + </element> + + + <element name="lamp8" ref="bet_b" inputtag="IN0" inputmask="0x40"> + <bounds x="1.80" y="3.08" width="0.40" height="0.24" /> + </element> + <element name="lamp8" ref="bet" inputtag="IN0" inputmask="0x40"> + <bounds x="1.82" y="3.10" width="0.36" height="0.20" /> + </element> + + + <element name="lamp10" ref="dup_b" inputtag="IN0" inputmask="0x200"> + <bounds x="2.50" y="3.08" width="0.40" height="0.24" /> + </element> + <element name="lamp10" ref="dup" inputtag="IN0" inputmask="0x200"> + <bounds x="2.52" y="3.10" width="0.36" height="0.20" /> + </element> + + <element name="lamp13" ref="dup_b" inputtag="IN0" inputmask="0x20"> + <bounds x="3.00" y="3.08" width="0.40" height="0.24" /> + </element> + <element name="lamp13" ref="take" inputtag="IN0" inputmask="0x20"> + <bounds x="3.02" y="3.10" width="0.36" height="0.20" /> + </element> + + </view> +</mamelayout> diff --git a/src/mame/taito/taito_o.cpp b/src/mame/taito/taito_o.cpp index 0efb9b1c40d..57aa7dfd22c 100644 --- a/src/mame/taito/taito_o.cpp +++ b/src/mame/taito/taito_o.cpp @@ -62,6 +62,7 @@ Notes: #include "speaker.h" #include "parentj.lh" +#include "eibise.lh" namespace { @@ -219,10 +220,9 @@ Bit 14 : paid lamp? (one short pulse after all is paid) */ - for (u8 i = 0; i < 16; i++) -// m_lamps[i + 16] = BIT(data, i); - m_lamps[i] = BIT(data, i); -// logerror("Port b:lamps: data:%04x\n", data); + for (u8 i = 0; i < 16; i++) + m_lamps[i] = BIT(data, i); +// logerror("Port b:lamps: data:%04x\n", data); } @@ -240,6 +240,7 @@ void taitoo_state::prg_map(address_map &map) map(0x500800, 0x500fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); } + INPUT_CHANGED_MEMBER(taitoo_state::all_clear_cb) { if (oldval && !newval) @@ -247,7 +248,6 @@ INPUT_CHANGED_MEMBER(taitoo_state::all_clear_cb) } - static INPUT_PORTS_START( parentj ) PORT_START("COIN") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_WRITE_LINE_DEVICE_MEMBER("opto1", taitoio_opto_device, coin_sense_w) @@ -269,12 +269,12 @@ static INPUT_PORTS_START( parentj ) PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Init NVRAM") PORT_CODE(KEYCODE_7) PORT_CHANGED_MEMBER(DEVICE_SELF, taitoo_state, all_clear_cb, 0) PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Reset Key") PORT_CODE(KEYCODE_R) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Last Key") PORT_CODE(KEYCODE_8) - PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Meter Key") // PORT_TOGGLE + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Meter Key") PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("opto1", taitoio_opto_device, opto_h_r) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("opto1", taitoio_opto_device, opto_l_r) PORT_START("IN1") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper Over") // Hopper overload sensor to activate diverter coil + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper Over") // hopper overload sensor to activate diverter coil PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("opto2", taitoio_opto_device, opto_h_r) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("opto2", taitoio_opto_device, opto_l_r) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("All Clear SW") @@ -337,12 +337,12 @@ static INPUT_PORTS_START( eibise ) PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Reset Key") PORT_CODE(KEYCODE_R) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Last Key") PORT_CODE(KEYCODE_8) - PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Meter Key") // PORT_TOGGLE + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Meter Key") PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("opto1", taitoio_opto_device, opto_h_r) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("opto1", taitoio_opto_device, opto_l_r) PORT_START("IN1") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper Over") // Hopper overload sensor to activate diverter coil + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper Over") // hopper overload sensor to activate diverter coil PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("opto2", taitoio_opto_device, opto_h_r) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("opto2", taitoio_opto_device, opto_l_r) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("All Clear SW") @@ -512,6 +512,6 @@ ROM_END } // anonymous namespace -// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS LAYOUT -GAMEL( 1989, parentj, 0, taitoo, parentj, taitoo_state, empty_init, ROT0, "Taito", "Parent Jack (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_parentj ) -GAME( 1990, eibise, 0, taitoo, eibise, taitoo_state, empty_init, ROT0, "Taito", "Eibise (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) +// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS LAYOUT +GAMEL( 1989, parentj, 0, taitoo, parentj, taitoo_state, empty_init, ROT0, "Taito", "Parent Jack (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_parentj ) +GAMEL( 1990, eibise, 0, taitoo, eibise, taitoo_state, empty_init, ROT0, "Taito", "Eibise (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE, layout_eibise ) |
