summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author stonedDiscord <Tukz@gmx.de>2025-09-04 14:23:30 +0200
committer GitHub <noreply@github.com>2025-09-04 14:23:30 +0200
commitfa039d73b1bb75318ae98478aa17fb13cf23ed6d (patch)
tree51fa78ddebaa5550727ab6066ef1997e466df104
parent34b54f1b8ed85da5df7474f2f3a59d3b14d84840 (diff)
adp/stellafr.cpp: add 6 nonworking items (#14017)
* new NOT WORKING software list entries Big Jackpot [stonedDiscord] Disc Bonus [stonedDiscord] Disc Jackpot [stonedDiscord] Joker Poker (Merkur) [stonedDiscord] Jumbo Jumbo [stonedDiscord] Jumbo Jumbo Fun [stonedDiscord]
-rw-r--r--src/mame/adp/stellafr.cpp301
-rw-r--r--src/mame/layout/stellafr.lay57
-rw-r--r--src/mame/mame.lst6
-rw-r--r--src/mame/pinball/gts1.cpp2
4 files changed, 325 insertions, 41 deletions
diff --git a/src/mame/adp/stellafr.cpp b/src/mame/adp/stellafr.cpp
index c7453c4f4f8..5a96275ce22 100644
--- a/src/mame/adp/stellafr.cpp
+++ b/src/mame/adp/stellafr.cpp
@@ -94,12 +94,100 @@ Connectors:
#include "machine/mc68681.h"
#include "machine/nvram.h"
#include "sound/ay8910.h"
+#include "sound/dac.h"
#include "speaker.h"
+//#define VERBOSE 1
+#include "logmacro.h"
+
#include "stellafr.lh"
namespace {
+enum
+{
+ PORT_I_SDA,
+ PORT_I_COIN,
+ PORT_I_IP2, //bridged to IP5
+ PORT_I_MISO,
+ PORT_I_DOOR,
+ PORT_I_IP5
+};
+
+enum
+{
+ PORT_O_ALARM,
+ PORT_O_EN_COIN,
+ PORT_O_EN_SPK,
+ PORT_O_PROT_OD,
+ PORT_O_SCL,
+ PORT_O_LED0,
+ PORT_O_SDA,
+ PORT_O_SPZ
+};
+
+enum
+{
+ PORT_A_IO0,
+ PORT_A_IO1,
+ PORT_A_IO2,
+ PORT_A_IO3,
+ PORT_A_IO4,
+ PORT_A_IO5,
+ PORT_A_RESET,
+ PORT_A_DOOR_SIN
+};
+
+enum
+{
+ PORT_B_IO0,
+ PORT_B_IO1,
+ PORT_B_DAC,
+ PORT_B_COIN_AW,
+ PORT_B_RS485_OUT_EN,
+ PORT_B_RS485_IN_EN,
+ PORT_B_DOOR_SCK,
+ PORT_B_DOOR_SOUT
+};
+
+// outputs
+enum
+{
+ U1_1MA, //shared with output to service keyboard
+ U1_2MA,
+ U1_ME,
+ U1_D3OUT,
+ U1_ANZ1,
+ U1_MUX1,
+ U1_ANZ2,
+ U1_MUX2
+};
+
+enum
+{
+ U5_EN1MA, //shared with output to coin unit 1
+ U5_EN2MA,
+ U5_AW1,
+ U5_AW2,
+ U5_ENANZ1, //shared with output to service keyboard
+ U5_ENMUX1,
+ U5_ENANZ2, //shared with output to coin unit 2
+ U5_ENMUX2
+};
+
+// inputs
+enum
+{
+ U10_OUTLI,
+ U10_OUTEMP,
+ U10_OUTMA,
+ U10_OUTST,
+ U10_OUTT,
+ U10_OUTT2,
+ U10_EMP2,
+ U10_LI2
+};
+
class stellafr_state : public driver_device
{
public:
@@ -108,60 +196,157 @@ public:
m_maincpu(*this, "maincpu"),
m_duart(*this, "duart"),
m_nvram(*this, "nvram"),
- m_digits(*this, "digit%u", 0U)
+ m_dac(*this, "dac"),
+ m_digits(*this, "digit%u", 0U),
+ m_lamps(*this, "lamp%u", 0U),
+ m_leds(*this, "led%u", 0U),
+ m_in0(*this, "IN0")
{ }
void stellafr(machine_config &config);
+protected:
+ virtual void machine_start() override ATTR_COLD;
+ virtual void machine_reset() override ATTR_COLD;
+
private:
- void write_8000c1(uint8_t data);
- uint8_t read_800101();
- void write_800101(uint8_t data);
+ required_device<cpu_device> m_maincpu;
+ required_device<mc68681_device> m_duart;
+ required_device<nvram_device> m_nvram;
+ required_device<ad7224_device> m_dac;
+ output_finder<8> m_digits;
+ output_finder<128> m_lamps;
+ output_finder<2> m_leds;
+ required_ioport m_in0;
+
+ uint8_t m_ma1;
+ uint8_t m_ma2;
+ uint8_t m_me;
+ uint8_t m_data3;
+ uint8_t m_anz1;
+ uint16_t m_mux1;
+ uint8_t m_anz2;
+ uint8_t m_mux2;
+
+ uint8_t mux_r();
+ void mux_w(uint8_t data);
+ void mux2_w(uint8_t data);
void duart_output_w(uint8_t data);
void ay8910_portb_w(uint8_t data);
+ void lamps_w(uint8_t row, uint16_t data);
void mem_map(address_map &map) ATTR_COLD;
void fc7_map(address_map &map) ATTR_COLD;
- // devices
- required_device<cpu_device> m_maincpu;
- required_device<mc68681_device> m_duart;
- required_device<nvram_device> m_nvram;
- output_finder<8> m_digits;
};
-void stellafr_state::write_8000c1(uint8_t data)
+uint8_t stellafr_state::mux_r()
+{
+ bool li = false;
+ bool emp = false;
+ bool ma = false;
+ bool st = false;
+ bool t = false; // main buttons in
+ bool t2 = false;
+ bool emp2 = false;
+ bool li2 = false;
+
+ uint8_t data = 0x00;
+
+ if (li) data |= (1 << U10_OUTLI);
+ if (emp) data |= (1 << U10_OUTEMP);
+ if (ma) data |= (1 << U10_OUTMA);
+ if (st) data |= (1 << U10_OUTST);
+ if (t) data |= (1 << U10_OUTT);
+ if (t2) data |= (1 << U10_OUTT2);
+ if (emp2) data |= (1 << U10_EMP2);
+ if (li2) data |= (1 << U10_LI2);
+
+ return data;
+}
+
+void stellafr_state::lamps_w(uint8_t row, uint16_t data)
{
+ LOG("Row %d\n",row);
+ for (int i = 0; i < 8; i++)
+ {
+ uint8_t lamp_index = (row * 10) + i;
+ bool lamp_value = BIT(data, i);
+ m_lamps[lamp_index] = lamp_value;
+ }
}
-uint8_t stellafr_state::read_800101()
+void stellafr_state::mux_w(uint8_t data)
{
- return 0xff;
+ bool enma1 = BIT(data,U5_EN1MA);
+ bool enma2 = BIT(data,U5_EN2MA);
+ bool aw1 = BIT(data,U5_AW1);
+ bool aw2 = BIT(data,U5_AW2);
+ bool enanz1 = BIT(data,U5_ENANZ1); //enable 7seg
+ bool enmux1 = BIT(data,U5_ENMUX1); //enable lamps/buttons
+ bool enanz2 = BIT(data,U5_ENANZ2);
+ bool enmux2 = BIT(data,U5_ENMUX2);
+
+ if (enma1)
+ ; // LOG("1MA %d\n",m_ma1);
+ if (enma1)
+ ; // LOG("ME %d\n",m_me);
+ if (enma2)
+ ; // LOG("2MA %d\n",m_ma2);
+ if (enanz1)
+ ; // LOG("ANZ1 %d\n",m_anz1); //main 7seg led out
+ if (enanz1)
+ ; // LOG("ST %d\n",m_ma1);
+ if (enmux1)
+ lamps_w((m_mux1 >> 12) & 0x07, m_mux1 & 0x0FFF); //main lamps out
+ if (enanz2)
+ ; // LOG("ANZ2 %d\n",m_anz2);
+ if (enmux2)
+ ; // LOG("MUX2 %d\n",m_mux2);
+ if (aw1)
+ ;
+ if (aw2)
+ ;
}
-void stellafr_state::write_800101(uint8_t data)
+void stellafr_state::mux2_w(uint8_t data)
{
+ // anz goes into one 74hc4094
+ // mux has 2 chained for lamp cols 0 - 11, 3 bits for lz encoded and EnSDAp
+ m_ma1 = (m_ma1 << 1) | BIT(data,U1_1MA);
+ m_ma2 = (m_ma2 << 1) | BIT(data,U1_2MA);
+ m_me = (m_me << 1) | BIT(data,U1_ME);
+ m_data3 = (m_data3 << 1) | BIT(data,U1_D3OUT);
+ m_anz1 = (m_anz1 << 1) | BIT(data,U1_ANZ1);
+ m_mux1 = (m_mux1 << 1) | BIT(data,U1_MUX1);
+ m_anz2 = (m_anz2 << 1) | BIT(data,U1_ANZ2);
+ m_mux2 = (m_mux2 << 1) | BIT(data,U1_MUX2);
}
void stellafr_state::duart_output_w(uint8_t data)
{
+ m_leds[0] = !BIT(data, PORT_O_LED0);
+ m_leds[1] = !BIT(data, PORT_O_SDA);
}
void stellafr_state::ay8910_portb_w(uint8_t data)
{
}
-
-
void stellafr_state::mem_map(address_map &map)
{
map(0x000000, 0x01ffff).rom();
- map(0x8000c1, 0x8000c1).w(FUNC(stellafr_state::write_8000c1));
- map(0x800101, 0x800101).rw(FUNC(stellafr_state::read_800101), FUNC(stellafr_state::write_800101));
- map(0x800141, 0x800141).rw("aysnd", FUNC(ay8910_device::data_r), FUNC(ay8910_device::address_w));
- map(0x800143, 0x800143).w("aysnd", FUNC(ay8910_device::data_w));
- map(0x800180, 0x80019f).rw(m_duart, FUNC(mc68681_device::read), FUNC(mc68681_device::write)).umask16(0x00ff);
+ // controlled by U17 74HC138
+ map(0x800001, 0x800001).w(m_dac, FUNC(dac_byte_interface::data_w)); // Y0
+ // Y1 device on cpu board
+ // Y2 device on cpu board
+ map(0x8000c1, 0x8000c1).w(FUNC(stellafr_state::mux2_w)); // Y3 SP/ME II out
+ map(0x800100, 0x800101).rw(FUNC(stellafr_state::mux_r), FUNC(stellafr_state::mux_w)); // Y4 SP/ME I out / Inputs
+ map(0x800141, 0x800141).rw("aysnd", FUNC(ay8910_device::data_r), FUNC(ay8910_device::address_w)); // Y5
+ map(0x800143, 0x800143).w("aysnd", FUNC(ay8910_device::data_w)); // Y5
+ map(0x800180, 0x80019f).rw(m_duart, FUNC(mc68681_device::read), FUNC(mc68681_device::write)).umask16(0x00ff); // Y6
+ // Y7 NC
map(0xff0000, 0xffffff).ram().share("nvram");
}
@@ -170,6 +355,18 @@ void stellafr_state::fc7_map(address_map &map)
map(0xfffff5, 0xfffff5).r(m_duart, FUNC(mc68681_device::get_irq_vector));
}
+void stellafr_state::machine_start()
+{
+ m_digits.resolve();
+ m_lamps.resolve();
+ m_leds.resolve();
+ save_item(NAME(m_mux1));
+}
+
+void stellafr_state::machine_reset()
+{
+ m_mux1 = 0;
+}
static INPUT_PORTS_START( stellafr )
PORT_START("IN0")
@@ -193,6 +390,8 @@ void stellafr_state::stellafr(machine_config &config)
NVRAM(config, m_nvram, nvram_device::DEFAULT_NONE);
+ AD7224(config, m_dac, 0);
+
SPEAKER(config, "mono").front_center();
ay8910_device &aysnd(AY8910(config, "aysnd", 1000000));
aysnd.add_route(ALL_OUTPUTS, "mono", 0.85);
@@ -212,12 +411,48 @@ ROM_START( allfred )
ROM_LOAD16_BYTE( "allfred_w3_ii.u6", 0x00001, 0x80000, CRC(2f216373) SHA1(71d713b267c21dc0a4e955f422e7102553d16d30) )
ROM_END
+ROM_START( big_jackpot )
+ ROM_REGION( 0x20000, "maincpu", 0 )
+ ROM_LOAD16_BYTE( "big_jackpot_f1_pr_1.u2", 0x00000, 0x8000, CRC(94a14d8e) SHA1(3c4abdad8e38102278920b0f35a8ab3f7a4f2142) )
+ ROM_LOAD16_BYTE( "big_jackpot_f1_pr_2.u6", 0x00001, 0x8000, CRC(51f8ab0b) SHA1(1cb2aa40922956d93605c77862f0fd6f38595eb8) )
+ROM_END
+
+ROM_START( disc_bonus )
+ ROM_REGION( 0x20000, "maincpu", 0 )
+ ROM_LOAD16_BYTE( "disc_bonus_f3_1.u2", 0x00000, 0x10000, CRC(6599babf) SHA1(4ba8844ecee15d299e00fff1c5f51d53ce2ccfde) )
+ ROM_LOAD16_BYTE( "disc_bonus_f3_2.u6", 0x00001, 0x10000, CRC(6e7fa161) SHA1(7f0e695ede3ba198cc94f80e72c6cbe41468a970) )
+ROM_END
+
+ROM_START( disc_jackpot )
+ ROM_REGION( 0x20000, "maincpu", 0 )
+ ROM_LOAD16_BYTE( "disc_jackpot_f2_pr.1.u2", 0x00000, 0x8000, CRC(5af04926) SHA1(7e10ddd1f068565854c245e39f73faf0685e4bf3) )
+ ROM_LOAD16_BYTE( "disc_jackpot_f2_pr.2.u6", 0x00001, 0x8000, CRC(95a7f938) SHA1(2d14da419d89fd26ea3245fbe24cafa346fecdca) )
+ROM_END
+
ROM_START( grandhand )
ROM_REGION( 0x20000, "maincpu", 0 )
ROM_LOAD16_BYTE( "grandhand_f2.u2", 0x00000, 0x10000, CRC(367c86f0) SHA1(c4a42887887614f0d4927b5a36a12b7d88a28e32) )
ROM_LOAD16_BYTE( "grandhand_f2.u6", 0x00001, 0x10000, CRC(b0f14dd4) SHA1(f6a713334ed85ecf52e0671aa15c6c43d32db4d2) )
ROM_END
+ROM_START( jokerpoker )
+ ROM_REGION( 0x300000, "maincpu", 0 )
+ ROM_LOAD16_BYTE( "joker_poker_f1.u2", 0x00000, 0x18000, CRC(9f8ef927) SHA1(9a894e7a9326c9846eabb7b22916244b51c16fd3) )
+ ROM_LOAD16_BYTE( "joker_poker_f1.u6", 0x00001, 0x18000, CRC(f53973a1) SHA1(27dabe5e6df6ec03080635da5b68b5a8125e71d1) )
+ROM_END
+
+ROM_START( jumbojumbo )
+ ROM_REGION( 0x20000, "maincpu", 0 )
+ ROM_LOAD16_BYTE( "jumbo_jumbo_f2_pr1.u2", 0x00000, 0x10000, CRC(97a04942) SHA1(f512451376697e5d3fd18bfadbe6711b9bfeb74b) )
+ ROM_LOAD16_BYTE( "jumbo_jumbo_f2_pr2.u6", 0x00001, 0x10000, CRC(35acb575) SHA1(88a7cb6397fe031bda0b7dddd1049fb04eba8b40) )
+ROM_END
+
+ROM_START( jumbojumbof )
+ ROM_REGION( 0x40000, "maincpu", 0 )
+ ROM_LOAD16_BYTE( "jumbo_jumbo_fun_f1_pr1.u2", 0x00000, 0x20000, CRC(93c19377) SHA1(72a2455dc968b605c408cf0d5ed36e25ded55085) )
+ ROM_LOAD16_BYTE( "jumbo_jumbo_fun_f1_pr2.u6", 0x00001, 0x20000, CRC(be428893) SHA1(273a5339201997b6043992e278f262db28fb3bf9) )
+ROM_END
+
ROM_START( kleopatra )
ROM_REGION( 0x100000, "maincpu", 0 )
ROM_LOAD16_BYTE( "kleopatra_w4_i.u2", 0x00000, 0x80000, CRC(2035d182) SHA1(683cab310445a6d31f080830a12c07d711119874) )
@@ -262,13 +497,19 @@ ROM_END
} // anonymous namespace
-GAMEL(1993, action, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "ADP", "Action", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
-GAMEL(1994, grandhand, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Stella", "Grand Hand", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
-GAMEL(1994, st_vulkn, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Stella", "Vulkan", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
-GAMEL(1995, multimulti,0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "ADP", "Multi Multi", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
-GAMEL(1995, sunny, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Mega", "Sunny", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
-GAMEL(1996, st_ohla, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Stella", "Oh La La", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
-GAMEL(1998, allfred, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Stella", "Allfred", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
-GAMEL(1998, taipan, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Nova", "Tai Pan Money", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
-GAMEL(199?, kleopatra, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Stella", "Asterix und Kleopatra", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
-GAMEL(2001, turbosun, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Mega", "Turbo Sunny", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
+GAMEL(1993, action, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "ADP", "Action", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
+GAMEL(1994, disc_bonus, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "ADP", "Disc Bonus", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
+GAMEL(1994, grandhand, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Stella", "Grand Hand", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
+GAMEL(1994, jumbojumbo, jumbojumbof, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Venus", "Jumbo Jumbo", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
+GAMEL(1994, st_vulkn, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Stella", "Vulkan", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
+GAMEL(1995, multimulti, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "ADP", "Multi Multi", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
+GAMEL(1995, disc_jackpot, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "ADP", "Disc Jackpot", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
+GAMEL(1995, sunny, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Mega", "Sunny", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
+GAMEL(1996, big_jackpot, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "ADP", "Big Jackpot", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
+GAMEL(1994, jumbojumbof, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Venus", "Jumbo Jumbo Fun", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
+GAMEL(1996, st_ohla, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Stella", "Oh La La", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
+GAMEL(1997, jokerpoker, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "ADP", "Joker Poker (Merkur)", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
+GAMEL(1998, allfred, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Stella", "Allfred", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
+GAMEL(1998, taipan, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Nova", "Tai Pan Money", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
+GAMEL(199?, kleopatra, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Stella", "Asterix und Kleopatra", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
+GAMEL(2001, turbosun, 0, stellafr, stellafr, stellafr_state, empty_init, ROT0, "Mega", "Turbo Sunny", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK, layout_stellafr )
diff --git a/src/mame/layout/stellafr.lay b/src/mame/layout/stellafr.lay
index 0ec827a7063..69f1ed1ad9c 100644
--- a/src/mame/layout/stellafr.lay
+++ b/src/mame/layout/stellafr.lay
@@ -4,6 +4,20 @@ license:CC0-1.0
-->
<mamelayout version="2">
+ <element name="led_red" defstate="0">
+ <disk state="1"><color red="1.0" green="0.1" blue="0.15" /></disk>
+ <disk state="0"><color red="0.17" green="0.015" blue="0.02" /></disk>
+ </element>
+
+ <element name="green_led" defstate="0">
+ <rect state="0">
+ <color red="0" green="0.2" blue="0" />
+ </rect>
+ <rect state="1">
+ <color red="0" green="0.8" blue="0" />
+ </rect>
+ </element>
+
<!-- define elements -->
<element name="static_black">
<rect>
@@ -18,39 +32,62 @@ license:CC0-1.0
</element>
<view name="Internal Layout">
- <bounds left="0" right="170" top="0" bottom="47" />
+ <bounds left="0" right="110" top="0" bottom="50" />
<element ref="static_black">
- <bounds left="0" right="170" top="0" bottom="47" />
+ <bounds left="0" right="110" top="0" bottom="50" />
</element>
<!-- left panel -->
<!-- Sonderspiele -->
<element name="digit7" ref="digit">
- <bounds x="40" y="10" width="10" height="15" />
+ <bounds x="10" y="10" width="10" height="15" />
</element>
<element name="digit6" ref="digit">
- <bounds x="50" y="10" width="10" height="15" />
+ <bounds x="20" y="10" width="10" height="15" />
</element>
<element name="digit5" ref="digit">
- <bounds x="60" y="10" width="10" height="15" />
+ <bounds x="30" y="10" width="10" height="15" />
</element>
<!-- right panel -->
<!-- Münzspeicher -->
<element name="digit4" ref="digit">
- <bounds x="100" y="10" width="10" height="15" />
+ <bounds x="50" y="10" width="10" height="15" />
</element>
<element name="digit3" ref="digit">
- <bounds x="110" y="10" width="10" height="15" />
+ <bounds x="60" y="10" width="10" height="15" />
</element>
<element name="digit2" ref="digit">
- <bounds x="120" y="10" width="10" height="15" />
+ <bounds x="70" y="10" width="10" height="15" />
</element>
<element name="digit1" ref="digit">
- <bounds x="130" y="10" width="10" height="10" />
+ <bounds x="80" y="10" width="10" height="10" />
</element>
<element name="digit0" ref="digit">
- <bounds x="140" y="10" width="10" height="10" />
+ <bounds x="90" y="10" width="10" height="10" />
+ </element>
+
+<!-- control unit-->
+ <element name="led0" ref="led_red">
+ <bounds left="40" right="45" top="30" bottom="35" />
</element>
+ <element name="led1" ref="led_red">
+ <bounds left="50" right="55" top="30" bottom="35" />
+ </element>
+
+<!-- debug-->
+ <repeat count="12">
+ <param name="s" start="0" increment="1" />
+ <param name="x" start="0" increment="2" />
+ <repeat count="8">
+ <param name="z" start="0" increment="1" />
+ <param name="y" start="30" increment="2" />
+ <element name="lamp~z~~s~" ref="green_led">
+ <bounds x="~x~" y="~y~" width="1" height="1" />
+ </element>
+ </repeat>
+ </repeat>
+
+
</view>
</mamelayout>
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index c1f84ff0569..86eeff4947a 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -492,7 +492,13 @@ supermultib
@source:adp/stellafr.cpp
action
allfred
+big_jackpot
+disc_bonus
+disc_jackpot
grandhand
+jokerpoker
+jumbojumbo
+jumbojumbof
kleopatra
multimulti
st_ohla
diff --git a/src/mame/pinball/gts1.cpp b/src/mame/pinball/gts1.cpp
index f68d815cc4e..a9758ca2db9 100644
--- a/src/mame/pinball/gts1.cpp
+++ b/src/mame/pinball/gts1.cpp
@@ -1078,7 +1078,7 @@ GAME(19??, sys1test, gts1, p0, gts1, gts1_state, empty_init, ROT0, "Gott
GAME(1977, cleoptra, gts1, p0, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "Cleopatra", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE )
GAME(1978, sinbad, gts1, p0, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "Sinbad", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE )
GAME(1978, sinbadn, sinbad, p0, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "Sinbad (Norway)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE )
-GAME(1978, jokrpokr, gts1, p0, jokrpokr, gts1_state, empty_init, ROT0, "Gottlieb", "Joker Poker", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1978, jokrpokr, gts1, p0, jokrpokr, gts1_state, empty_init, ROT0, "Gottlieb", "Joker Poker (Gottlieb)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE )
// NE555 beeper
GAME(1978, dragon, gts1, p1, gts1, gts1_state, empty_init, ROT0, "Gottlieb", "Dragon", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE )