Skip to content

Commit 19e493c

Browse files
committed
New machines marked as NOT_WORKING
1 parent fe50bb7 commit 19e493c

File tree

2 files changed

+166
-12
lines changed

2 files changed

+166
-12
lines changed

src/mame/adp/stella8085.cpp

+155-12
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,26 @@
33

44
/*
55
6-
Stella 8085 based hardware
7-
Electromechanical fruit machines
6+
Elektronische Steuereinheit
7+
8085 based hardware
88
Lots of lamps and 4 7-segment LEDs
99
1010
Main components:
1111
Siemens SAB 8085AH-2-P (CPU)
1212
Sharp LH5164D-10L (SRAM)
1313
Siemens SAB 8256 A 2 P (MUART)
1414
NEC D8279C-2 (keyboard & display interface)
15-
RTC 62421A
15+
Sound S50240
1616
17-
Is there a sound board or is it discrete?
17+
3 Different boards:
18+
4040-000-101 (6 ROM slots, TC5514 RAM) Parent is excellent
19+
4087-000-101 (3 ROM slots, RTC HD146818) Parent is doppelpot
20+
4109-000-101 (2 ROM slots, RTC 62421A) Parent is kniffi
21+
4382-000-101 (2 ROM slots, RTC 62421A) Parent is dicemstr
1822
19-
Game reference: https://www.youtube.com/watch?v=NlB06dMxjME
23+
Dice Master reference: https://www.youtube.com/watch?v=NlB06dMxjME
24+
Merkur Disc reference: https://www.youtube.com/watch?v=1NjJPkzg9Mk
25+
Nova Kniffi reference: https://www.youtube.com/watch?v=YBq2Z1irXek
2026
*/
2127

2228

@@ -25,8 +31,8 @@ Game reference: https://www.youtube.com/watch?v=NlB06dMxjME
2531
#include "cpu/i8085/i8085.h"
2632
//#include "machine/i8256.h"
2733
#include "machine/i8279.h"
34+
#include "machine/mc146818.h"
2835
#include "machine/msm6242.h"
29-
//#include "sound/???.h"
3036

3137
#include "speaker.h"
3238

@@ -38,13 +44,16 @@ class stella8085_state : public driver_device
3844
public:
3945
stella8085_state(const machine_config &mconfig, device_type type, const char *tag) :
4046
driver_device(mconfig, type, tag),
41-
m_maincpu(*this, "maincpu")
47+
m_maincpu(*this, "maincpu"),
48+
m_kdc(*this, "kdc")
4249
{ }
4350

4451
void dicemstr(machine_config &config);
52+
void doppelpot(machine_config &config);
4553

4654
private:
4755
required_device<cpu_device> m_maincpu;
56+
required_device<i8279_device> m_kdc;
4857

4958
void program_map(address_map &map) ATTR_COLD;
5059
void io_map(address_map &map) ATTR_COLD;
@@ -53,9 +62,9 @@ class stella8085_state : public driver_device
5362

5463
void stella8085_state::program_map(address_map &map)
5564
{
56-
map(0x0000, 0x7fff).rom();
57-
map(0x8000, 0x9fff).ram();
58-
map(0xa000, 0xffff).rom();
65+
map(0x0000, 0x3fff).rom(); // ICE6
66+
map(0x4000, 0x7fff).rom(); // ICD6
67+
map(0xc000, 0xc7ff).ram(); // ICC6
5968
}
6069

6170
void stella8085_state::io_map(address_map &map)
@@ -64,11 +73,50 @@ void stella8085_state::io_map(address_map &map)
6473

6574

6675
static INPUT_PORTS_START( dicemstr )
76+
PORT_START("DSW")
77+
PORT_DIPNAME(0x01, 0x01, "Restart Interrupt 7")
78+
PORT_DIPSETTING(0x01, DEF_STR(Off))
79+
PORT_DIPSETTING(0x00, DEF_STR(On))
80+
PORT_DIPNAME(0x02, 0x02, "Hold")
81+
PORT_DIPSETTING(0x02, DEF_STR(Off))
82+
PORT_DIPSETTING(0x00, DEF_STR(On))
83+
PORT_DIPNAME(0x04, 0x04, "Restart Interrupt 5")
84+
PORT_DIPSETTING(0x04, DEF_STR(Off))
85+
PORT_DIPSETTING(0x00, DEF_STR(On))
86+
PORT_DIPNAME(0x08, 0x08, "Reset")
87+
PORT_DIPSETTING(0x08, DEF_STR(Off))
88+
PORT_DIPSETTING(0x00, DEF_STR(On))
89+
90+
PORT_START("SERVICE1") // Row 6
91+
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Reset") // Col 7
92+
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Dauerlauf")
93+
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Spielzähler")
94+
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Münzspeicher")
95+
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hardware-Test")
96+
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Auszahlquote")
97+
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Foul")
98+
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Gewinn") // Col 0
99+
100+
PORT_START("SERVICE2") // Row 7
101+
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hoch 1,-")
102+
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Runter 1,-")
103+
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hoch Serie")
104+
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Runter Serie")
105+
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hoch 0,10")
106+
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Runter 0,10")
107+
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Münzung")
108+
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Initialisieren")
109+
110+
PORT_START("COINS")
111+
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(3) PORT_NAME("DM 5.00")
112+
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(3) PORT_NAME("DM 2.00")
113+
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN3 ) PORT_IMPULSE(3) PORT_NAME("DM 1.00")
114+
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN4 ) PORT_IMPULSE(3) PORT_NAME("DM 0.10")
115+
67116
PORT_START("INPUTS")
68117
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
69118
INPUT_PORTS_END
70119

71-
72120
void stella8085_state::dicemstr(machine_config &config)
73121
{
74122
I8085A(config, m_maincpu, 10.240_MHz_XTAL / 2); // divider not verified
@@ -77,22 +125,117 @@ void stella8085_state::dicemstr(machine_config &config)
77125

78126
//I8256(config, "muart1", 10.240_MHz_XTAL / 2); // divider not verified
79127

80-
I8279(config, "kdc", 10.240_MHz_XTAL / 2); // divider not verified
128+
I8279(config, m_kdc, 10.240_MHz_XTAL / 2); // divider not verified
81129

82130
RTC62421(config, "rtc", 32.768_kHz_XTAL);
83131

84132
SPEAKER(config, "mono").front_center();
85133
}
86134

135+
void stella8085_state::doppelpot(machine_config &config)
136+
{
137+
I8085A(config, m_maincpu, 6.144_MHz_XTAL);
138+
m_maincpu->set_addrmap(AS_PROGRAM, &stella8085_state::program_map);
139+
m_maincpu->set_addrmap(AS_IO, &stella8085_state::io_map);
140+
141+
//I8256(config, "muart1", 6.144_MHz_XTAL);
142+
143+
I8279(config, m_kdc, 6.144_MHz_XTAL);
144+
145+
MC146818(config, "rtc", 32.768_kHz_XTAL);
146+
147+
SPEAKER(config, "mono").front_center();
148+
}
87149

88150
ROM_START( dicemstr ) // curiously hand-written stickers say F3 but strings in ROM are F2
89151
ROM_REGION( 0x10000, "maincpu", 0 )
90152
ROM_LOAD( "stella_dice_master_f3_i.ice6", 0x0000, 0x8000, CRC(9897fb87) SHA1(bfb18c1370d9bd12ec61622c0ebbad5c0138e1d8) )
91153
ROM_LOAD( "stella_dice_master_f3_ii.icd6", 0x8000, 0x8000, CRC(9484cf3b) SHA1(e1104882eaba860ab984c1a37e2f97d4bed08829) ) // 0x0000 - 0x1fff is 0xff filled
92154
ROM_END
155+
156+
ROM_START( doppelpot )
157+
ROM_REGION( 0x9000, "maincpu", 0 )
158+
ROM_LOAD( "doppelpot.ice6", 0x0000, 0x4000, CRC(b01d3307) SHA1(8364506e8169432ddec275ef5b53660c01dc209e) )
159+
ROM_LOAD( "doppelpot.icd6", 0x4000, 0x4000, CRC(153708cb) SHA1(3d15b115ec39c1df42d4437226e83413f495c4d9) )
160+
ROM_LOAD( "doppelpot.icc5", 0x8000, 0x1000, CRC(135dac6b) SHA1(10873ee64579245eac7069bf84d61550684e67de) )
161+
ROM_END
162+
163+
ROM_START( disc2000 )
164+
ROM_REGION( 0x8000, "maincpu", 0 )
165+
ROM_LOAD( "disc2000.ice6", 0x0000, 0x4000, CRC(53a66005) SHA1(a5bb63abe8eb631a0fb09496ef6e0ee6c713985c) )
166+
ROM_LOAD( "disc2000.icd6", 0x4000, 0x4000, CRC(787b6708) SHA1(be990f95b6d04cbe0b9832603204f2a81b0ace3f) )
167+
ROM_END
168+
169+
ROM_START( disc2001 )
170+
ROM_REGION( 0x8000, "maincpu", 0 )
171+
ROM_LOAD( "disc2001.ice6", 0x0000, 0x4000, CRC(4d128fe1) SHA1(2b9b0a1296ff77b281173fb0fcf667ed3e3ece2b) )
172+
ROM_LOAD( "disc2001.icd6", 0x4000, 0x4000, CRC(72f6560a) SHA1(3fdc3aaafcc2c185a19a27ccd511d8522fbe0c2e) )
173+
ROM_END
174+
175+
ROM_START( disc3000 )
176+
ROM_REGION( 0x8000, "maincpu", 0 )
177+
ROM_LOAD( "disc3000.ice6", 0x0000, 0x4000, CRC(6e024e72) SHA1(7198c0cd844d4bc080b2d8654d32d53a04ce8bb4) )
178+
ROM_LOAD( "disc3000.icd6", 0x4000, 0x4000, CRC(ad88715a) SHA1(660f4044e8f24ad59767ce025966475f9fd56885) )
179+
ROM_END
180+
181+
ROM_START( elitedisc )
182+
ROM_REGION( 0x8000, "maincpu", 0 )
183+
ROM_LOAD( "elitedisc.ice6", 0x0000, 0x4000, CRC(7f7a2f30) SHA1(01e3ce5fce2c9d51d3f4b8aab7dd67ed4b26d8f4) )
184+
ROM_LOAD( "elitedisc.icd6", 0x4000, 0x4000, CRC(e56f2360) SHA1(691a6762578daca6ce4581418761dcc07c291fab) )
185+
ROM_END
186+
187+
ROM_START( excellent )
188+
ROM_REGION( 0x8000, "maincpu", 0 )
189+
ROM_LOAD( "excellent.ice5", 0x0000, 0x0800, CRC(b4c573b5) SHA1(5b01b68b8abd48bd293bc9aa507c3285a6e7550f) )
190+
ROM_LOAD( "excellent.ice6", 0x0800, 0x0800, CRC(f1d53581) SHA1(7aef66149f3427b287d3e9d86cc198dc1ed40d7c) )
191+
ROM_LOAD( "excellent.icd5", 0x1000, 0x0800, CRC(912a5f59) SHA1(3df3ca7eaef8de8e13e93f6a1e6975f8da7ed7a1) )
192+
ROM_LOAD( "excellent.icd6", 0x1800, 0x0800, CRC(5a2b95b4) SHA1(b0d17b327664e8680b163c872109769c4ae42039) )
193+
ROM_LOAD( "excellent.icc5", 0x2000, 0x0800, CRC(ae424805) SHA1(14e12ceebd9fbf6eba96c168e8e7b797b34f7ca5) )
194+
ROM_END
195+
196+
ROM_START( extrablatt )
197+
ROM_REGION( 0x8000, "maincpu", 0 )
198+
ROM_LOAD( "extrablatt.ice6", 0x0000, 0x4000, CRC(6885cf89) SHA1(30acd5511fb73cb22ae4230fedcf40f385c0d261) )
199+
ROM_LOAD( "extrablatt.icd6", 0x4000, 0x4000, CRC(5c0cb9bd) SHA1(673d5f8dec7ccce1c4f39dce6be1e9d1ed699047) )
200+
ROM_END
201+
202+
ROM_START( glucksstern )
203+
ROM_REGION( 0x8000, "maincpu", 0 )
204+
ROM_LOAD( "glucksstern.ice6", 0x0000, 0x4000, CRC(8e969bae) SHA1(bf66d491932b77dab4c6b15ec7fbf470223636ac) )
205+
ROM_LOAD( "glucksstern.icd6", 0x4000, 0x4000, CRC(f31b860a) SHA1(7b016bb7d0699cfe7165c0abb2c1bbcb944cdc86) )
206+
ROM_END
207+
208+
ROM_START( juwel )
209+
ROM_REGION( 0x8000, "maincpu", 0 )
210+
ROM_LOAD( "juwel.ice6", 0x0000, 0x4000, CRC(6fd9fd6a) SHA1(2ff982750d87be1bc7757bde706d9e329ac29785) )
211+
ROM_LOAD( "juwel.icd6", 0x4000, 0x4000, CRC(a9ec9e36) SHA1(f7a2b5866988116e0bbeb8a120cae9083d651c5b) )
212+
ROM_END
213+
214+
ROM_START( karoas )
215+
ROM_REGION( 0x8000, "maincpu", 0 )
216+
ROM_LOAD( "karoas.ice6", 0x0000, 0x4000, CRC(71c4c39d) SHA1(b188896838a788d5bfc7b18f1bb423a06fe5fcc6) )
217+
ROM_LOAD( "karoas.icd6", 0x4000, 0x4000, CRC(e1b131bd) SHA1(dc2fbfaf86fa5b161d17a563eae2bc8fc4d19395) )
218+
ROM_END
219+
220+
ROM_START( kniffi )
221+
ROM_REGION( 0x8000, "maincpu", 0 )
222+
ROM_LOAD( "kniffi.ice6", 0x0000, 0x4000, CRC(57df5d69) SHA1(78bc9cabf0b4bec5f8c2578d55011f0adc034798) )
223+
ROM_LOAD( "kniffi.icd6", 0x4000, 0x4000, CRC(1c129cec) SHA1(bad22f18b94c16dba36995ff8daf4d48f4d082a2) )
224+
ROM_END
93225

94226
} // anonymous namespace
95227

96228

97229
// 'STELLA DICE MASTER F2' and 'COPYRIGHT BY ADP LUEBBECKE GERMANY 1993' in ROM
98230
GAME( 1993, dicemstr, 0, dicemstr, dicemstr, stella8085_state, empty_init, ROT0, "Stella", "Dice Master", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
231+
GAME( 1987, disc2000, doppelpot, doppelpot, dicemstr, stella8085_state, empty_init, ROT0, "ADP", "Disc 2000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
232+
GAME( 1987, disc2001, doppelpot, doppelpot, dicemstr, stella8085_state, empty_init, ROT0, "ADP", "Disc 2001", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
233+
GAME( 1989, disc3000, doppelpot, doppelpot, dicemstr, stella8085_state, empty_init, ROT0, "ADP", "Disc 3000", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
234+
GAME( 1986, doppelpot, 0, doppelpot, dicemstr, stella8085_state, empty_init, ROT0, "Nova", "Doppelpot", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
235+
GAME( 1986, elitedisc, doppelpot, doppelpot, dicemstr, stella8085_state, empty_init, ROT0, "ADP", "Elite Disc", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
236+
GAME( 1988, extrablatt, kniffi, dicemstr, dicemstr, stella8085_state, empty_init, ROT0, "ADP", "Extrablatt", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
237+
GAME( 1982, excellent, 0, doppelpot, dicemstr, stella8085_state, empty_init, ROT0, "ADP", "Excellent", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
238+
GAME( 1998, glucksstern, kniffi, dicemstr, dicemstr, stella8085_state, empty_init, ROT0, "ADP", "Glücks-Stern", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
239+
GAME( 1988, juwel, kniffi, dicemstr, dicemstr, stella8085_state, empty_init, ROT0, "ADP", "Juwel", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
240+
GAME( 1992, karoas, kniffi, dicemstr, dicemstr, stella8085_state, empty_init, ROT0, "ADP", "Karo As", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
241+
GAME( 1987, kniffi, 0, dicemstr, dicemstr, stella8085_state, empty_init, ROT0, "Nova", "Kniffi", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )

src/mame/mame.lst

+11
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,17 @@ manohman
448448

449449
@source:adp/stella8085.cpp
450450
dicemstr
451+
disc2000
452+
disc2001
453+
disc3000
454+
doppelpot
455+
elitedisc
456+
extrablatt
457+
excellent
458+
glucksstern
459+
juwel
460+
karoas
461+
kniffi
451462

452463
@source:adp/stellafr.cpp
453464
st_ohla

0 commit comments

Comments
 (0)