diff options
| author | 2025-08-30 01:38:58 +0200 | |
|---|---|---|
| committer | 2025-08-30 01:38:58 +0200 | |
| commit | 821acc6f88b6e8f55a60f272221bb9fd59573688 (patch) | |
| tree | 4969217cbcc7a889ea6c39b46636f4258fa2eafc | |
| parent | 8125894390f2645cb0bfc397775410e7a2b36b5b (diff) | |
goldstar.cpp driver improvements. [Roberto Fresca, Grull Osgo]
- Fixed Joker Master title tilemap/scroll bug.
- Fixed cmv4 hopper DIP switches polarity.
- Added Animal House button-lamps control panel.
- Added hopper support to the following sets:
roypok96, roypok96a, roypok96b, nfb96se, nfb96sea,
nfb96seb, nfb96sec, carb2003, and noved.
- Added remaining lucky8t (A900) DIP switches. [Ioannis Bampoulas]
| -rw-r--r-- | src/mame/igs/goldstar.cpp | 92 | ||||
| -rw-r--r-- | src/mame/layout/animalhs.lay | 256 |
2 files changed, 314 insertions, 34 deletions
diff --git a/src/mame/igs/goldstar.cpp b/src/mame/igs/goldstar.cpp index 9f62d7bf119..67c4751c43d 100644 --- a/src/mame/igs/goldstar.cpp +++ b/src/mame/igs/goldstar.cpp @@ -250,6 +250,7 @@ #include <algorithm> +#include "animalhs.lh" #include "bingowng.lh" #include "cherryb3.lh" #include "chrygld.lh" @@ -905,9 +906,9 @@ void goldstar_state::video_start() void cmaster_state::video_start() { - m_reel_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cmaster_state::get_reel_tile_info<0>)), TILEMAP_SCAN_ROWS, 8,32, 64, 8); - m_reel_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cmaster_state::get_reel_tile_info<1>)), TILEMAP_SCAN_ROWS, 8,32, 64, 8); - m_reel_tilemap[2] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cmaster_state::get_reel_tile_info<2>)), TILEMAP_SCAN_ROWS, 8,32, 64, 8); + m_reel_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cmaster_state::get_reel_tile_info<0>)), TILEMAP_SCAN_ROWS, 8, 32, 64, 8); + m_reel_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cmaster_state::get_reel_tile_info<1>)), TILEMAP_SCAN_ROWS, 8, 32, 64, 8); + m_reel_tilemap[2] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cmaster_state::get_reel_tile_info<2>)), TILEMAP_SCAN_ROWS, 8, 32, 64, 8); m_reel_tilemap[0]->set_scroll_cols(64); m_reel_tilemap[1]->set_scroll_cols(64); @@ -916,7 +917,7 @@ void cmaster_state::video_start() m_cmaster_girl_num = 0; m_cmaster_girl_pal = 0; - m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cmaster_state::get_cherrym_fg_tile_info)), TILEMAP_SCAN_ROWS, 8,8, 64, 32); + m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cmaster_state::get_cherrym_fg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32); m_fg_tilemap->set_transparent_pen(0); m_enable_reg = 0x0b; @@ -964,7 +965,8 @@ uint32_t goldstar_state::screen_update_goldstar(screen_device &screen, bitmap_rg for (int i = 0; i < 64; i++) m_bg_tilemap->set_scrolly(i, m_bg_scroll[i]); - m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0); + const rectangle bg_visible(0*8, (63)*8-1, 8*8, (31)*8-1); // top clipped for jkrmast + m_bg_tilemap->draw(screen, bitmap, bg_visible, 0, 0); } if (m_enable_reg & 0x08) @@ -1159,9 +1161,9 @@ TILE_GET_INFO_MEMBER(cmast97_state::get_cmast97_bg_tile_info) void cmast97_state::video_start() { - m_reel_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cmast97_state::get_reel_tile_info<0>)), TILEMAP_SCAN_ROWS, 8,32, 64, 8); - m_reel_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cmast97_state::get_reel_tile_info<1>)), TILEMAP_SCAN_ROWS, 8,32, 64, 8); - m_reel_tilemap[2] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cmast97_state::get_reel_tile_info<2>)), TILEMAP_SCAN_ROWS, 8,32, 64, 8); + m_reel_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cmast97_state::get_reel_tile_info<0>)), TILEMAP_SCAN_ROWS, 8, 32, 64, 8); + m_reel_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cmast97_state::get_reel_tile_info<1>)), TILEMAP_SCAN_ROWS, 8, 32, 64, 8); + m_reel_tilemap[2] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cmast97_state::get_reel_tile_info<2>)), TILEMAP_SCAN_ROWS, 8, 32, 64, 8); m_reel_tilemap[0]->set_scroll_cols(64); m_reel_tilemap[1]->set_scroll_cols(64); @@ -1174,11 +1176,11 @@ void cmast97_state::video_start() m_cmaster_girl_num = 0; m_cmaster_girl_pal = 0; - m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cmast97_state::get_cherrym_fg_tile_info)), TILEMAP_SCAN_ROWS, 8,8, 64, 32); + m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cmast97_state::get_cherrym_fg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32); m_fg_tilemap->set_transparent_pen(0); m_fg_tilemap->set_scrolly(0, -16); - m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cmast97_state::get_cmast97_bg_tile_info)), TILEMAP_SCAN_ROWS, 8,8, 64, 32); + m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cmast97_state::get_cmast97_bg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32); } void cmast97_state::cmast97_palette_init(palette_device &palette) const @@ -1237,11 +1239,11 @@ TILE_GET_INFO_MEMBER(wingco_state::get_magical_fg_tile_info) VIDEO_START_MEMBER(wingco_state, bingowng) { - m_reel_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(wingco_state::get_reel_tile_info<0>)), TILEMAP_SCAN_ROWS, 8,32, 64, 8); + m_reel_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(wingco_state::get_reel_tile_info<0>)), TILEMAP_SCAN_ROWS, 8, 32, 64, 8); m_reel_tilemap[0]->set_scroll_cols(64); - m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(wingco_state::get_goldstar_fg_tile_info)), TILEMAP_SCAN_ROWS, 8,8, 64, 32); + m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(wingco_state::get_goldstar_fg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32); m_fg_tilemap->set_transparent_pen(0); // is there an enable reg for this game? @@ -3298,11 +3300,11 @@ static INPUT_PORTS_START( cmv4_dsw2 ) PORT_DIPSETTING( 0x02, "6" ) PORT_DIPSETTING( 0x01, "7" ) PORT_DIPSETTING( 0x00, "8 (Highest)" ) - PORT_DIPNAME( 0x18, 0x00, "Hopper Limit" ) PORT_DIPLOCATION("DSW2:4,5") - PORT_DIPSETTING( 0x18, "300" ) - PORT_DIPSETTING( 0x10, "500" ) - PORT_DIPSETTING( 0x08, "1000" ) - PORT_DIPSETTING( 0x00, "Unlimited" ) + PORT_DIPNAME( 0x18, 0x18, "Hopper Limit" ) PORT_DIPLOCATION("DSW2:4,5") + PORT_DIPSETTING( 0x18, "Unlimited" ) + PORT_DIPSETTING( 0x10, "1000" ) + PORT_DIPSETTING( 0x08, "500" ) + PORT_DIPSETTING( 0x00, "300" ) PORT_DIPNAME( 0x20, 0x20, "100+ Odds Sound" ) PORT_DIPLOCATION("DSW2:6") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) @@ -5623,8 +5625,11 @@ static INPUT_PORTS_START( lucky8t ) PORT_DIPNAME( 0x01, 0x01, "Max Bet" ) PORT_DIPLOCATION("DSW1:1") PORT_DIPSETTING( 0x01, "64" ) PORT_DIPSETTING( 0x00, "120" ) - PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "DSW1:2") - PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "DSW1:3") + PORT_DIPNAME( 0x06, 0x06, "Bonus / Game Difficulty" ) PORT_DIPLOCATION("DSW1:2,3") + PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Medium ) ) + PORT_DIPSETTING( 0x04, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0x06, DEF_STR( Hardest ) ) PORT_DIPNAME( 0x18, 0x18, "Double-Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:4,5") // OK PORT_DIPSETTING( 0x18, "60%" ) PORT_DIPSETTING( 0x10, "70%" ) @@ -5633,8 +5638,11 @@ static INPUT_PORTS_START( lucky8t ) PORT_DIPNAME( 0x20, 0x20, "Reel Speed" ) PORT_DIPLOCATION("DSW1:6") PORT_DIPSETTING( 0x20, "Normal" ) PORT_DIPSETTING( 0x00, "Fast" ) - PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "DSW1:7") - PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "DSW1:8") + PORT_DIPNAME( 0xc0, 0xc0, "JP Game Difficulty" ) PORT_DIPLOCATION("DSW1:7,8") + PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x40, DEF_STR( Medium ) ) + PORT_DIPSETTING( 0x80, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( Hardest ) ) PORT_MODIFY("DSW2") PORT_DIPNAME( 0x03, 0x01, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2") // OK @@ -5645,35 +5653,47 @@ static INPUT_PORTS_START( lucky8t ) PORT_DIPNAME( 0x04, 0x04, "Double Up Game" ) PORT_DIPLOCATION("DSW2:3") // OK, use stop buttons to play PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x04, DEF_STR( On ) ) - PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "DSW2:4") + PORT_DIPNAME( 0x08, 0x08, "Seven Crowns Difficulty" ) PORT_DIPLOCATION("DSW2:4") + PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Hard ) ) PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "DSW2:5") PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "DSW2:6") PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "DSW2:7") PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "DSW2:8") PORT_MODIFY("DSW3") - PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "DSW3:1") - PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "DSW3:2") - PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "DSW3:3") + PORT_DIPNAME( 0x03, 0x03, "Coin Value" ) PORT_DIPLOCATION("DSW3:1,2") + PORT_DIPSETTING( 0x00, "50" ) + PORT_DIPSETTING( 0x03, "100" ) + PORT_DIPSETTING( 0x01, "200" ) + PORT_DIPSETTING( 0x02, "300" ) + PORT_DIPNAME( 0x04, 0x04, "Bell Bonus Difficulty" ) PORT_DIPLOCATION("DSW3:3") + PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x04, DEF_STR( Hard ) ) PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "DSW3:4") PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "DSW3:5") PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "DSW3:6") PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "DSW3:7") - PORT_DIPNAME( 0x80, 0x80, "Minimum Bet" ) PORT_DIPLOCATION("DSW3:8") // conditional to DSW1-1 max bet + PORT_DIPNAME( 0x80, 0x80, "Minimum Bet" ) PORT_DIPLOCATION("DSW3:8") // conditional to DSW1-1 max bet PORT_DIPSETTING( 0x80, "16" ) PORT_CONDITION("DSW1", 0x01, NOTEQUALS, 0x00) // for max 64 PORT_DIPSETTING( 0x00, "32" ) PORT_CONDITION("DSW1", 0x01, NOTEQUALS, 0x00) // for max 64 PORT_DIPSETTING( 0x80, "32" ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x00) // for max 120 PORT_DIPSETTING( 0x00, "40" ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x00) // for max 120 PORT_MODIFY("DSW4") - PORT_DIPNAME( 0x03, 0x03, "Key In Rate" ) PORT_DIPLOCATION("DSW4:1,2") // OK + PORT_DIPNAME( 0x03, 0x03, "Key In Rate" ) PORT_DIPLOCATION("DSW4:1,2") // OK PORT_DIPSETTING( 0x03, "100" ) PORT_DIPSETTING( 0x00, "500" ) PORT_DIPSETTING( 0x02, "1000" ) PORT_DIPSETTING( 0x01, "3000" ) - PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "DSW4:3") - PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "DSW4:4") - PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "DSW4:5") + PORT_DIPNAME( 0x0c, 0x0c, "Big Jackpot Difficulty" ) PORT_DIPLOCATION("DSW4:3,4") + PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x04, DEF_STR( Medium ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0x0c, DEF_STR( Hardest ) ) + PORT_DIPNAME( 0x10, 0x00, "Tuning (Difficulty)" ) PORT_DIPLOCATION("DSW4:5") + PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) // manual recommends this ON PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "DSW4:6") PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "DSW4:7") PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "DSW4:8") @@ -7541,10 +7561,10 @@ static INPUT_PORTS_START( roypok96 ) PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("hopper", FUNC(ticket_dispenser_device::line_r)) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) // Hopper presence detection PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out / Attendant") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("Hopper") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") @@ -8019,6 +8039,10 @@ static INPUT_PORTS_START( nfb96bl ) PORT_INCLUDE( cmv4_service ) + PORT_MODIFY("IN2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("hopper", FUNC(ticket_dispenser_device::line_r)) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) // Hopper presence detection + PORT_START("DSW1") PORT_DIPNAME( 0x07, 0x03, "Game Rate" ) PORT_DIPLOCATION("DSW1:1,2,3") // OK PORT_DIPSETTING( 0x07, "Level 1 - 90%" ) @@ -24937,7 +24961,7 @@ GAMEL( 199?, chryglda, ncb3, cb3e, chrygld, cb3_state, init_cb3e GAME( 1994, chryangla, ncb3, chryangla,ncb3, cb3_state, init_chryangl, ROT0, "bootleg (G.C.I.)", "Cherry Angel (encrypted, W-4 hardware)", MACHINE_NOT_WORKING ) // DYNA CB3 V1.40 string, decrypted but only test screens work GAME( 1991, eldoraddoa, eldoradd, eldoraddoa,animalhs,cmaster_state, init_eldoraddoa,ROT0, "Dyna", "El Dorado (V1.4D)", MACHINE_NOT_WORKING | MACHINE_WRONG_COLORS ) // improve GFX drawing, correct palette decode, I/O, etc -GAME( 1991, animalhs, 0, animalhs, animalhs, cmaster_state, init_animalhs, ROT0, "Suns Co Ltd.", "Animal House (V1.0, set 1)", MACHINE_NOT_WORKING ) // improve GFX drawing, correct palette decode, I/O, etc +GAMEL( 1991, animalhs, 0, animalhs, animalhs, cmaster_state, init_animalhs, ROT0, "Suns Co Ltd.", "Animal House (V1.0, set 1)", 0, layout_animalhs ) // improve GFX drawing, correct palette decode GAME( 1991, animalhsa, animalhs, animalhs, animalhs, cmaster_state, init_animalhs, ROT0, "Suns Co Ltd.", "Animal House (V1.0, set 2)", MACHINE_NOT_WORKING ) // improve GFX drawing, correct palette decode, I/O, etc // looks like a hack of Cherry Bonus 3 diff --git a/src/mame/layout/animalhs.lay b/src/mame/layout/animalhs.lay new file mode 100644 index 00000000000..86d5f3278e0 --- /dev/null +++ b/src/mame/layout/animalhs.lay @@ -0,0 +1,256 @@ +<?xml version="1.0"?> +<!-- +license:CC0-1.0 +copyright-holders: Roberto Fresca + + Animal House control panel + +--> +<mamelayout version="2"> + +<!-- define button-lamps --> + + <element name="stop1" defstate="0"> + <rect state="1"> + <color red="1.0" green="0.0" blue="0.0" /> + </rect> + <rect state="0"> + <color red="0.20" green="0.0" blue="0.0" /> + </rect> + <text string="STOP 1"> + <color red="0.0" green="0.0" blue="0.0" /> + <bounds x="0" y="0.1" width="1" height="0.4" /> + </text> + <text string="DOUBLE"> + <color red="0.0" green="0.0" blue="0.0" /> + <bounds x="0" y="0.5" width="1" height="0.4" /> + </text> + </element> + + <element name="stop2" defstate="0"> + <rect state="1"> + <color red="1.0" green="0.0" blue="0.0" /> + </rect> + <rect state="0"> + <color red="0.20" green="0.0" blue="0.0" /> + </rect> + <text string="STOP 2"> + <color red="0.0" green="0.0" blue="0.0" /> + <bounds x="0" y="0.1" width="1" height="0.4" /> + </text> + <text string="BIG"> + <color red="0.0" green="0.0" blue="0.0" /> + <bounds x="0" y="0.5" width="1" height="0.4" /> + </text> + </element> + + <element name="stop3" defstate="0"> + <rect state="1"> + <color red="1.0" green="0.0" blue="0.0" /> + </rect> + <rect state="0"> + <color red="0.20" green="0.0" blue="0.0" /> + </rect> + <text string="STOP 3"> + <color red="0.0" green="0.0" blue="0.0" /> + <bounds x="0" y="0.1" width="1" height="0.4" /> + </text> + <text string="SMALL/INFO"> + <color red="0.0" green="0.0" blue="0.0" /> + <bounds x="0" y="0.5" width="1" height="0.4" /> + </text> + </element> + + <element name="stopall" defstate="0"> + <rect state="1"> + <color red="1.0" green="0.0" blue="0.0" /> + </rect> + <rect state="0"> + <color red="0.20" green="0.0" blue="0.0" /> + </rect> + <text string="STOP ALL"> + <color red="0.0" green="0.0" blue="0.0" /> + <bounds x="0" y="0.1" width="1" height="0.4" /> + </text> + <text string="TAKE"> + <color red="0.0" green="0.0" blue="0.0" /> + <bounds x="0" y="0.5" width="1" height="0.4" /> + </text> + </element> + + <element name="bet" defstate="0"> + <rect state="1"> + <color red="1.0" green="0.0" blue="1.0" /> + </rect> + <rect state="0"> + <color red="0.20" green="0.0" blue="0.15" /> + </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="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.20" 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> + + + +<!-- 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.7" /> + </rect> + <rect state="0"> + <color red="0.1" green="0.0" blue="0.1" /> + </rect> + </element> + + <element name="stop_b" defstate="0"> + <rect state="1"> + <color red="0.7" green="0.0" blue="0.0" /> + </rect> + <rect state="0"> + <color red="0.1" green="0.0" 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> + + + +<!-- define cpanel degradee elements --> + + + <element name="cpanel1"> + <rect> + <color red="0.20" green="0.20" blue="0.20" /> + </rect> + </element> + + <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> + + +<!-- define background --> + + <view name="Button Lamps"> + <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="cpanel1"> + <bounds left="0" right="4" top="3.01" bottom="3.39" /> + </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> + + +<!-- define lamps --> + + <element name="lamp11" ref="bet_b" inputtag="IN0" inputmask="0x20"> + <bounds x="0.05" y="3.08" width="0.40" height="0.24" /> + </element> + <element name="lamp11" ref="bet" inputtag="IN0" inputmask="0x80"> + <bounds x="0.07" y="3.10" width="0.36" height="0.20" /> + </element> + + + <element name="lamp9" ref="stop_b" inputtag="IN0" inputmask="0x08"> + <bounds x="0.75" y="3.08" width="0.50" height="0.24" /> + </element> + <element name="lamp9" ref="stop1" inputtag="IN0" inputmask="0x08"> + <bounds x="0.77" y="3.10" width="0.46" height="0.20" /> + </element> + + + <element name="lamp8" ref="stop_b" inputtag="IN0" inputmask="0x04"> + <bounds x="1.4" y="3.08" width="0.50" height="0.24" /> + </element> + <element name="lamp8" ref="stop2" inputtag="IN0" inputmask="0x04"> + <bounds x="1.42" y="3.10" width="0.46" height="0.20" /> + </element> + + + <element name="lamp12" ref="stop_b" inputtag="IN0" inputmask="0x40"> + <bounds x="2.05" y="3.08" width="0.50" height="0.24" /> + </element> + <element name="lamp12" ref="stop3" inputtag="IN0" inputmask="0x40"> + <bounds x="2.07" y="3.10" width="0.46" height="0.20" /> + </element> + + + <element name="lamp10" ref="stop_b" inputtag="IN0" inputmask="0x10"> + <bounds x="2.7" y="3.08" width="0.50" height="0.24" /> + </element> + <element name="lamp10" ref="stopall" inputtag="IN0" inputmask="0x10"> + <bounds x="2.72" y="3.10" width="0.46" height="0.20" /> + </element> + + + <element name="lamp13" ref="start_b" inputtag="IN0" inputmask="0x80"> + <bounds x="3.45" y="3.08" width="0.50" height="0.24" /> + </element> + <element name="lamp13" ref="start" inputtag="IN0" inputmask="0x80"> + <bounds x="3.47" y="3.10" width="0.46" height="0.20" /> + </element> + + </view> +</mamelayout> |
