summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2019-02-24 00:02:57 +0100
committer hap <happppp@users.noreply.github.com>2019-02-24 00:03:10 +0100
commitbda8e7ffd368cab1ef527c430928f0e2673a55ed (patch)
tree2d5103530edb209bbfe96efbe20ef0aae3cc7582
parente6faf47b1ef5e5c137f1a68c57d7b854be820012 (diff)
New working clone added
----------- Fidelity Elite Private Line (red version) [hap, Berger]
-rw-r--r--src/mame/drivers/fidel_elite.cpp186
-rw-r--r--src/mame/mame.lst4
2 files changed, 147 insertions, 43 deletions
diff --git a/src/mame/drivers/fidel_elite.cpp b/src/mame/drivers/fidel_elite.cpp
index 593f4e3332c..809cdef30c8 100644
--- a/src/mame/drivers/fidel_elite.cpp
+++ b/src/mame/drivers/fidel_elite.cpp
@@ -8,6 +8,9 @@
Fidelity Elite A/S series hardware (EAS, EAG, PC)
see fidel_eag68k.cpp for 68000-based EAG hardware
+TODO:
+- make separate internal artwork for fepriv?
+
*******************************************************************************
Elite A/S Challenger (EAS)
@@ -34,6 +37,10 @@ A condensator keeps RAM contents alive for a few hours when powered off.
Elite Avant Garde (models 6081,6088,6089) is on the same hardware.
+Fidelity Private Line is a modified EAS. They took out the motherboard and leds
+and placed them a little box separate from a (ledless) magnetic chessboard.
+It was probably only released in Germany.
+
Prestige Challenger (PC) hardware is very similar. They stripped the 8255 PPI,
and added more RAM(7*TMM2016P). Some were released at 3.6MHz instead of 4MHz,
perhaps due to hardware instability? Opening module PC16 was included by default,
@@ -44,6 +51,7 @@ this module is the same as CB16 but at different form factor.
#include "emu.h"
#include "includes/fidelbase.h"
+#include "cpu/m6502/m65c02.h"
#include "cpu/m6502/r65c02.h"
#include "machine/i8255.h"
#include "machine/nvram.h"
@@ -67,10 +75,11 @@ public:
{ }
// machine drivers
+ void pc(machine_config &config);
void eas(machine_config &config);
+ void eas_priv(machine_config &config);
void eag(machine_config &config);
void eag2100(machine_config &config);
- void pc(machine_config &config);
template <int Language> void init_eag();
@@ -362,6 +371,16 @@ void elite_state::eas(machine_config &config)
config.set_default_layout(layout_fidel_eas);
}
+void elite_state::eas_priv(machine_config &config)
+{
+ eas(config);
+
+ /* basic machine hardware */
+ M65C02(config.replace(), m_maincpu, 3.579545_MHz_XTAL); // UM6502C
+ m_maincpu->set_addrmap(AS_PROGRAM, &elite_state::div_trampoline);
+ TIMER(config.replace(), "dummy_timer").configure_periodic(timer_device::expired_delegate(), attotime::from_hz(3.579545_MHz_XTAL));
+}
+
void elite_state::eag(machine_config &config)
{
eas(config);
@@ -398,8 +417,8 @@ ROM_START( feasbu )
ROM_CONTINUE( 0x9000, 0x0800 )
ROM_CONTINUE( 0x8800, 0x0800 )
ROM_CONTINUE( 0x9800, 0x0800 )
- ROM_LOAD("101-1052a02.4", 0xc000, 0x2000, CRC(859d69f1) SHA1(a8b057683369e2387f22fc7e916b6f3c75d44b21) ) // Mostek MK36C63N-5
- ROM_LOAD("101-1052a01.5", 0xe000, 0x2000, CRC(571a33a7) SHA1(43b110cf0918caf16643178f401e58b2dc73894f) ) // Mostek MK36C63N-5
+ ROM_LOAD("101-1052a02.5", 0xc000, 0x2000, CRC(859d69f1) SHA1(a8b057683369e2387f22fc7e916b6f3c75d44b21) ) // Mostek MK36C63N-5
+ ROM_LOAD("101-1052a01.4", 0xe000, 0x2000, CRC(571a33a7) SHA1(43b110cf0918caf16643178f401e58b2dc73894f) ) // Mostek MK36C63N-5
ROM_REGION( 0x2000, "speech", 0 )
ROM_LOAD("101-32107", 0x0000, 0x1000, CRC(f35784f9) SHA1(348e54a7fa1e8091f89ac656b4da22f28ca2e44d) ) // NEC D2332C
@@ -412,8 +431,8 @@ ROM_START( feasbug )
ROM_CONTINUE( 0x9000, 0x0800 )
ROM_CONTINUE( 0x8800, 0x0800 )
ROM_CONTINUE( 0x9800, 0x0800 )
- ROM_LOAD("101-1052a02.4", 0xc000, 0x2000, CRC(859d69f1) SHA1(a8b057683369e2387f22fc7e916b6f3c75d44b21) )
- ROM_LOAD("101-1052a01.5", 0xe000, 0x2000, CRC(571a33a7) SHA1(43b110cf0918caf16643178f401e58b2dc73894f) )
+ ROM_LOAD("101-1052a02.5", 0xc000, 0x2000, CRC(859d69f1) SHA1(a8b057683369e2387f22fc7e916b6f3c75d44b21) )
+ ROM_LOAD("101-1052a01.4", 0xe000, 0x2000, CRC(571a33a7) SHA1(43b110cf0918caf16643178f401e58b2dc73894f) )
ROM_REGION( 0x2000, "speech", 0 )
ROM_LOAD("101-64101", 0x0000, 0x2000, BAD_DUMP CRC(6c85e310) SHA1(20d1d6543c1e6a1f04184a2df2a468f33faec3ff) ) // taken from fexcelv, assume correct
@@ -425,8 +444,8 @@ ROM_START( feasbusp )
ROM_CONTINUE( 0x9000, 0x0800 )
ROM_CONTINUE( 0x8800, 0x0800 )
ROM_CONTINUE( 0x9800, 0x0800 )
- ROM_LOAD("101-1052a02.4", 0xc000, 0x2000, CRC(859d69f1) SHA1(a8b057683369e2387f22fc7e916b6f3c75d44b21) )
- ROM_LOAD("101-1052a01.5", 0xe000, 0x2000, CRC(571a33a7) SHA1(43b110cf0918caf16643178f401e58b2dc73894f) )
+ ROM_LOAD("101-1052a02.5", 0xc000, 0x2000, CRC(859d69f1) SHA1(a8b057683369e2387f22fc7e916b6f3c75d44b21) )
+ ROM_LOAD("101-1052a01.4", 0xe000, 0x2000, CRC(571a33a7) SHA1(43b110cf0918caf16643178f401e58b2dc73894f) )
ROM_REGION( 0x2000, "speech", 0 )
ROM_LOAD("101-64106", 0x0000, 0x2000, BAD_DUMP CRC(8766e128) SHA1(78c7413bf240159720b131ab70bfbdf4e86eb1e9) ) // taken from vcc/fexcelv, assume correct
@@ -438,8 +457,8 @@ ROM_START( feasbufr )
ROM_CONTINUE( 0x9000, 0x0800 )
ROM_CONTINUE( 0x8800, 0x0800 )
ROM_CONTINUE( 0x9800, 0x0800 )
- ROM_LOAD("101-1052a02.4", 0xc000, 0x2000, CRC(859d69f1) SHA1(a8b057683369e2387f22fc7e916b6f3c75d44b21) )
- ROM_LOAD("101-1052a01.5", 0xe000, 0x2000, CRC(571a33a7) SHA1(43b110cf0918caf16643178f401e58b2dc73894f) )
+ ROM_LOAD("101-1052a02.5", 0xc000, 0x2000, CRC(859d69f1) SHA1(a8b057683369e2387f22fc7e916b6f3c75d44b21) )
+ ROM_LOAD("101-1052a01.4", 0xe000, 0x2000, CRC(571a33a7) SHA1(43b110cf0918caf16643178f401e58b2dc73894f) )
ROM_REGION( 0x2000, "speech", 0 )
ROM_LOAD("101-64105", 0x0000, 0x2000, BAD_DUMP CRC(fe8c5c18) SHA1(2b64279ab3747ee81c86963c13e78321c6cfa3a3) ) // taken from fexcelv, assume correct
@@ -451,11 +470,11 @@ ROM_START( feasgla )
ROM_CONTINUE( 0x9000, 0x0800 )
ROM_CONTINUE( 0x8800, 0x0800 )
ROM_CONTINUE( 0x9800, 0x0800 )
- ROM_LOAD("eli_gla.4", 0xc000, 0x0800, CRC(f094e625) SHA1(fef84c6a3da504aac15988ec9af94417e5fedfbd) )
+ ROM_LOAD("eli_gla.5", 0xc000, 0x0800, CRC(f094e625) SHA1(fef84c6a3da504aac15988ec9af94417e5fedfbd) )
ROM_CONTINUE( 0xd000, 0x0800 )
ROM_CONTINUE( 0xc800, 0x0800 )
ROM_CONTINUE( 0xd800, 0x0800 )
- ROM_LOAD("eli_gla.5", 0xe000, 0x0800, CRC(5f6845d1) SHA1(684eb16faf36a49560e5a73b55fd0022dc090e35) )
+ ROM_LOAD("eli_gla.4", 0xe000, 0x0800, CRC(5f6845d1) SHA1(684eb16faf36a49560e5a73b55fd0022dc090e35) )
ROM_CONTINUE( 0xf000, 0x0800 )
ROM_CONTINUE( 0xe800, 0x0800 )
ROM_CONTINUE( 0xf800, 0x0800 )
@@ -471,11 +490,11 @@ ROM_START( feasglag )
ROM_CONTINUE( 0x9000, 0x0800 )
ROM_CONTINUE( 0x8800, 0x0800 )
ROM_CONTINUE( 0x9800, 0x0800 )
- ROM_LOAD("eli_gla.4", 0xc000, 0x0800, CRC(f094e625) SHA1(fef84c6a3da504aac15988ec9af94417e5fedfbd) )
+ ROM_LOAD("eli_gla.5", 0xc000, 0x0800, CRC(f094e625) SHA1(fef84c6a3da504aac15988ec9af94417e5fedfbd) )
ROM_CONTINUE( 0xd000, 0x0800 )
ROM_CONTINUE( 0xc800, 0x0800 )
ROM_CONTINUE( 0xd800, 0x0800 )
- ROM_LOAD("eli_gla.5", 0xe000, 0x0800, CRC(5f6845d1) SHA1(684eb16faf36a49560e5a73b55fd0022dc090e35) )
+ ROM_LOAD("eli_gla.4", 0xe000, 0x0800, CRC(5f6845d1) SHA1(684eb16faf36a49560e5a73b55fd0022dc090e35) )
ROM_CONTINUE( 0xf000, 0x0800 )
ROM_CONTINUE( 0xe800, 0x0800 )
ROM_CONTINUE( 0xf800, 0x0800 )
@@ -490,11 +509,11 @@ ROM_START( feasglasp )
ROM_CONTINUE( 0x9000, 0x0800 )
ROM_CONTINUE( 0x8800, 0x0800 )
ROM_CONTINUE( 0x9800, 0x0800 )
- ROM_LOAD("eli_gla.4", 0xc000, 0x0800, CRC(f094e625) SHA1(fef84c6a3da504aac15988ec9af94417e5fedfbd) )
+ ROM_LOAD("eli_gla.5", 0xc000, 0x0800, CRC(f094e625) SHA1(fef84c6a3da504aac15988ec9af94417e5fedfbd) )
ROM_CONTINUE( 0xd000, 0x0800 )
ROM_CONTINUE( 0xc800, 0x0800 )
ROM_CONTINUE( 0xd800, 0x0800 )
- ROM_LOAD("eli_gla.5", 0xe000, 0x0800, CRC(5f6845d1) SHA1(684eb16faf36a49560e5a73b55fd0022dc090e35) )
+ ROM_LOAD("eli_gla.4", 0xe000, 0x0800, CRC(5f6845d1) SHA1(684eb16faf36a49560e5a73b55fd0022dc090e35) )
ROM_CONTINUE( 0xf000, 0x0800 )
ROM_CONTINUE( 0xe800, 0x0800 )
ROM_CONTINUE( 0xf800, 0x0800 )
@@ -509,11 +528,88 @@ ROM_START( feasglafr )
ROM_CONTINUE( 0x9000, 0x0800 )
ROM_CONTINUE( 0x8800, 0x0800 )
ROM_CONTINUE( 0x9800, 0x0800 )
- ROM_LOAD("eli_gla.4", 0xc000, 0x0800, CRC(f094e625) SHA1(fef84c6a3da504aac15988ec9af94417e5fedfbd) )
+ ROM_LOAD("eli_gla.5", 0xc000, 0x0800, CRC(f094e625) SHA1(fef84c6a3da504aac15988ec9af94417e5fedfbd) )
+ ROM_CONTINUE( 0xd000, 0x0800 )
+ ROM_CONTINUE( 0xc800, 0x0800 )
+ ROM_CONTINUE( 0xd800, 0x0800 )
+ ROM_LOAD("eli_gla.4", 0xe000, 0x0800, CRC(5f6845d1) SHA1(684eb16faf36a49560e5a73b55fd0022dc090e35) )
+ ROM_CONTINUE( 0xf000, 0x0800 )
+ ROM_CONTINUE( 0xe800, 0x0800 )
+ ROM_CONTINUE( 0xf800, 0x0800 )
+
+ ROM_REGION( 0x2000, "speech", 0 )
+ ROM_LOAD("101-64105", 0x0000, 0x2000, BAD_DUMP CRC(fe8c5c18) SHA1(2b64279ab3747ee81c86963c13e78321c6cfa3a3) ) // taken from fexcelv, assume correct
+ROM_END
+
+ROM_START( fepriv )
+ ROM_REGION( 0x10000, "mainmap", 0 )
+ ROM_LOAD("4,0_8.6", 0x8000, 0x0800, CRC(32784e2d) SHA1(dae060a5c49cc1993a78db293cd80464adfd892d) )
+ ROM_CONTINUE( 0x9000, 0x0800 )
+ ROM_CONTINUE( 0x8800, 0x0800 )
+ ROM_CONTINUE( 0x9800, 0x0800 )
+ ROM_LOAD("c.5", 0xc000, 0x0800, CRC(ddb80412) SHA1(b1d9435d9a71b8eb241a2169bfbaa0499f510769) )
+ ROM_CONTINUE( 0xd000, 0x0800 )
+ ROM_CONTINUE( 0xc800, 0x0800 )
+ ROM_CONTINUE( 0xd800, 0x0800 )
+ ROM_LOAD("4,0_e.4", 0xe000, 0x0800, CRC(62a5305a) SHA1(a361bd9a54b903d7b0fbacabe55ea5ccbbc1dc51) )
+ ROM_CONTINUE( 0xf000, 0x0800 )
+ ROM_CONTINUE( 0xe800, 0x0800 )
+ ROM_CONTINUE( 0xf800, 0x0800 )
+
+ ROM_REGION( 0x2000, "speech", 0 )
+ ROM_LOAD("101-32107", 0x0000, 0x1000, BAD_DUMP CRC(f35784f9) SHA1(348e54a7fa1e8091f89ac656b4da22f28ca2e44d) ) // taken from csc, assume correct
+ ROM_RELOAD( 0x1000, 0x1000)
+ROM_END
+
+ROM_START( feprivg )
+ ROM_REGION( 0x10000, "mainmap", 0 )
+ ROM_LOAD("4,0_8.6", 0x8000, 0x0800, CRC(32784e2d) SHA1(dae060a5c49cc1993a78db293cd80464adfd892d) )
+ ROM_CONTINUE( 0x9000, 0x0800 )
+ ROM_CONTINUE( 0x8800, 0x0800 )
+ ROM_CONTINUE( 0x9800, 0x0800 )
+ ROM_LOAD("c.5", 0xc000, 0x0800, CRC(ddb80412) SHA1(b1d9435d9a71b8eb241a2169bfbaa0499f510769) )
+ ROM_CONTINUE( 0xd000, 0x0800 )
+ ROM_CONTINUE( 0xc800, 0x0800 )
+ ROM_CONTINUE( 0xd800, 0x0800 )
+ ROM_LOAD("4,0_e.4", 0xe000, 0x0800, CRC(62a5305a) SHA1(a361bd9a54b903d7b0fbacabe55ea5ccbbc1dc51) )
+ ROM_CONTINUE( 0xf000, 0x0800 )
+ ROM_CONTINUE( 0xe800, 0x0800 )
+ ROM_CONTINUE( 0xf800, 0x0800 )
+
+ ROM_REGION( 0x2000, "speech", 0 )
+ ROM_LOAD("101-64101", 0x0000, 0x2000, CRC(6c85e310) SHA1(20d1d6543c1e6a1f04184a2df2a468f33faec3ff) )
+ROM_END
+
+ROM_START( feprivsp )
+ ROM_REGION( 0x10000, "mainmap", 0 )
+ ROM_LOAD("4,0_8.6", 0x8000, 0x0800, CRC(32784e2d) SHA1(dae060a5c49cc1993a78db293cd80464adfd892d) )
+ ROM_CONTINUE( 0x9000, 0x0800 )
+ ROM_CONTINUE( 0x8800, 0x0800 )
+ ROM_CONTINUE( 0x9800, 0x0800 )
+ ROM_LOAD("c.5", 0xc000, 0x0800, CRC(ddb80412) SHA1(b1d9435d9a71b8eb241a2169bfbaa0499f510769) )
+ ROM_CONTINUE( 0xd000, 0x0800 )
+ ROM_CONTINUE( 0xc800, 0x0800 )
+ ROM_CONTINUE( 0xd800, 0x0800 )
+ ROM_LOAD("4,0_e.4", 0xe000, 0x0800, CRC(62a5305a) SHA1(a361bd9a54b903d7b0fbacabe55ea5ccbbc1dc51) )
+ ROM_CONTINUE( 0xf000, 0x0800 )
+ ROM_CONTINUE( 0xe800, 0x0800 )
+ ROM_CONTINUE( 0xf800, 0x0800 )
+
+ ROM_REGION( 0x2000, "speech", 0 )
+ ROM_LOAD("101-64106", 0x0000, 0x2000, BAD_DUMP CRC(8766e128) SHA1(78c7413bf240159720b131ab70bfbdf4e86eb1e9) ) // taken from vcc/fexcelv, assume correct
+ROM_END
+
+ROM_START( feprivfr )
+ ROM_REGION( 0x10000, "mainmap", 0 )
+ ROM_LOAD("4,0_8.6", 0x8000, 0x0800, CRC(32784e2d) SHA1(dae060a5c49cc1993a78db293cd80464adfd892d) )
+ ROM_CONTINUE( 0x9000, 0x0800 )
+ ROM_CONTINUE( 0x8800, 0x0800 )
+ ROM_CONTINUE( 0x9800, 0x0800 )
+ ROM_LOAD("c.5", 0xc000, 0x0800, CRC(ddb80412) SHA1(b1d9435d9a71b8eb241a2169bfbaa0499f510769) )
ROM_CONTINUE( 0xd000, 0x0800 )
ROM_CONTINUE( 0xc800, 0x0800 )
ROM_CONTINUE( 0xd800, 0x0800 )
- ROM_LOAD("eli_gla.5", 0xe000, 0x0800, CRC(5f6845d1) SHA1(684eb16faf36a49560e5a73b55fd0022dc090e35) )
+ ROM_LOAD("4,0_e.4", 0xe000, 0x0800, CRC(62a5305a) SHA1(a361bd9a54b903d7b0fbacabe55ea5ccbbc1dc51) )
ROM_CONTINUE( 0xf000, 0x0800 )
ROM_CONTINUE( 0xe800, 0x0800 )
ROM_CONTINUE( 0xf800, 0x0800 )
@@ -721,29 +817,33 @@ ROM_END
******************************************************************************/
// YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
-CONS( 1983, feasbu, 0, 0, eas, eas, elite_state, init_language<0>, "Fidelity Electronics", "Elite A/S Challenger (Budapest program, English)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1983, feasbug, feasbu, 0, eas, eas, elite_state, init_language<1>, "Fidelity Electronics", "Elite A/S Challenger (Budapest program, German)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1983, feasbusp, feasbu, 0, eas, eas, elite_state, init_language<2>, "Fidelity Electronics", "Elite A/S Challenger (Budapest program, Spanish)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1983, feasbufr, feasbu, 0, eas, eas, elite_state, init_language<3>, "Fidelity Electronics", "Elite A/S Challenger (Budapest program, French)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1984, feasgla, feasbu, 0, eas, eas, elite_state, init_language<0>, "Fidelity Electronics", "Elite A/S Challenger (Glasgow program, English)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1984, feasglag, feasbu, 0, eas, eas, elite_state, init_language<1>, "Fidelity Electronics", "Elite A/S Challenger (Glasgow program, German)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1984, feasglasp, feasbu, 0, eas, eas, elite_state, init_language<2>, "Fidelity Electronics", "Elite A/S Challenger (Glasgow program, Spanish)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1984, feasglafr, feasbu, 0, eas, eas, elite_state, init_language<3>, "Fidelity Electronics", "Elite A/S Challenger (Glasgow program, French)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-
-CONS( 1982, fpres, 0, 0, pc, eas, elite_state, init_language<0>, "Fidelity Electronics", "Prestige Challenger (original program, English)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1982, fpresg, fpres, 0, pc, eas, elite_state, init_language<1>, "Fidelity Electronics", "Prestige Challenger (original program, German)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1982, fpressp, fpres, 0, pc, eas, elite_state, init_language<2>, "Fidelity Electronics", "Prestige Challenger (original program, Spanish)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1982, fpresfr, fpres, 0, pc, eas, elite_state, init_language<3>, "Fidelity Electronics", "Prestige Challenger (original program, French)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1983, fpresbu, fpres, 0, pc, eas, elite_state, init_language<0>, "Fidelity Electronics", "Prestige Challenger (Budapest program, English)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1983, fpresbug, fpres, 0, pc, eas, elite_state, init_language<1>, "Fidelity Electronics", "Prestige Challenger (Budapest program, German)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1983, fpresbusp, fpres, 0, pc, eas, elite_state, init_language<2>, "Fidelity Electronics", "Prestige Challenger (Budapest program, Spanish)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1983, fpresbufr, fpres, 0, pc, eas, elite_state, init_language<3>, "Fidelity Electronics", "Prestige Challenger (Budapest program, French)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-
-CONS( 1986, feag2100, 0, 0, eag2100, eag, elite_state, init_eag<0>, "Fidelity Electronics", "Elite Avant Garde 2100 (English)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1986, feag2100g, feag2100, 0, eag2100, eag, elite_state, init_eag<1>, "Fidelity Electronics", "Elite Avant Garde 2100 (German)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1986, feag2100sp, feag2100, 0, eag2100, eag, elite_state, init_eag<2>, "Fidelity Electronics", "Elite Avant Garde 2100 (Spanish)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1986, feag2100fr, feag2100, 0, eag2100, eag, elite_state, init_eag<3>, "Fidelity Electronics", "Elite Avant Garde 2100 (French)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1986, feag, feag2100, 0, eag, eag, elite_state, init_language<0>, "Fidelity Electronics", "Elite Avant Garde (model 6081, English)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1986, feagg, feag2100, 0, eag, eag, elite_state, init_language<1>, "Fidelity Electronics", "Elite Avant Garde (model 6081, German)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1986, feagsp, feag2100, 0, eag, eag, elite_state, init_language<2>, "Fidelity Electronics", "Elite Avant Garde (model 6081, Spanish)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
-CONS( 1986, feagfr, feag2100, 0, eag, eag, elite_state, init_language<3>, "Fidelity Electronics", "Elite Avant Garde (model 6081, French)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1983, feasbu, 0, 0, eas, eas, elite_state, init_language<0>, "Fidelity Electronics", "Elite A/S Challenger (Budapest program, English)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1983, feasbug, feasbu, 0, eas, eas, elite_state, init_language<1>, "Fidelity Electronics", "Elite A/S Challenger (Budapest program, German)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1983, feasbusp, feasbu, 0, eas, eas, elite_state, init_language<2>, "Fidelity Electronics", "Elite A/S Challenger (Budapest program, Spanish)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1983, feasbufr, feasbu, 0, eas, eas, elite_state, init_language<3>, "Fidelity Electronics", "Elite A/S Challenger (Budapest program, French)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1984, feasgla, feasbu, 0, eas, eas, elite_state, init_language<0>, "Fidelity Electronics", "Elite A/S Challenger (Glasgow program, English)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1984, feasglag, feasbu, 0, eas, eas, elite_state, init_language<1>, "Fidelity Electronics", "Elite A/S Challenger (Glasgow program, German)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1984, feasglasp, feasbu, 0, eas, eas, elite_state, init_language<2>, "Fidelity Electronics", "Elite A/S Challenger (Glasgow program, Spanish)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1984, feasglafr, feasbu, 0, eas, eas, elite_state, init_language<3>, "Fidelity Electronics", "Elite A/S Challenger (Glasgow program, French)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1984, fepriv, feasbu, 0, eas_priv, eas, elite_state, init_language<0>, "Fidelity Electronics", "Elite Private Line (red version, English)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING ) // by Fidelity West Germany
+CONS( 1984, feprivg, feasbu, 0, eas_priv, eas, elite_state, init_language<1>, "Fidelity Electronics", "Elite Private Line (red version, German)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING ) // "
+CONS( 1984, feprivsp, feasbu, 0, eas_priv, eas, elite_state, init_language<2>, "Fidelity Electronics", "Elite Private Line (red version, Spanish)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING ) // "
+CONS( 1984, feprivfr, feasbu, 0, eas_priv, eas, elite_state, init_language<3>, "Fidelity Electronics", "Elite Private Line (red version, French)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING ) // "
+
+CONS( 1982, fpres, 0, 0, pc, eas, elite_state, init_language<0>, "Fidelity Electronics", "Prestige Challenger (original program, English)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1982, fpresg, fpres, 0, pc, eas, elite_state, init_language<1>, "Fidelity Electronics", "Prestige Challenger (original program, German)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1982, fpressp, fpres, 0, pc, eas, elite_state, init_language<2>, "Fidelity Electronics", "Prestige Challenger (original program, Spanish)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1982, fpresfr, fpres, 0, pc, eas, elite_state, init_language<3>, "Fidelity Electronics", "Prestige Challenger (original program, French)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1983, fpresbu, fpres, 0, pc, eas, elite_state, init_language<0>, "Fidelity Electronics", "Prestige Challenger (Budapest program, English)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1983, fpresbug, fpres, 0, pc, eas, elite_state, init_language<1>, "Fidelity Electronics", "Prestige Challenger (Budapest program, German)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1983, fpresbusp, fpres, 0, pc, eas, elite_state, init_language<2>, "Fidelity Electronics", "Prestige Challenger (Budapest program, Spanish)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1983, fpresbufr, fpres, 0, pc, eas, elite_state, init_language<3>, "Fidelity Electronics", "Prestige Challenger (Budapest program, French)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+
+CONS( 1986, feag2100, 0, 0, eag2100, eag, elite_state, init_eag<0>, "Fidelity Electronics", "Elite Avant Garde 2100 (English)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1986, feag2100g, feag2100, 0, eag2100, eag, elite_state, init_eag<1>, "Fidelity Electronics", "Elite Avant Garde 2100 (German)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1986, feag2100sp, feag2100, 0, eag2100, eag, elite_state, init_eag<2>, "Fidelity Electronics", "Elite Avant Garde 2100 (Spanish)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1986, feag2100fr, feag2100, 0, eag2100, eag, elite_state, init_eag<3>, "Fidelity Electronics", "Elite Avant Garde 2100 (French)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1986, feag, feag2100, 0, eag, eag, elite_state, init_language<0>, "Fidelity Electronics", "Elite Avant Garde (model 6081, English)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1986, feagg, feag2100, 0, eag, eag, elite_state, init_language<1>, "Fidelity Electronics", "Elite Avant Garde (model 6081, German)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1986, feagsp, feag2100, 0, eag, eag, elite_state, init_language<2>, "Fidelity Electronics", "Elite Avant Garde (model 6081, Spanish)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
+CONS( 1986, feagfr, feag2100, 0, eag, eag, elite_state, init_language<3>, "Fidelity Electronics", "Elite Avant Garde (model 6081, French)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 71a88e86498..50f33b5401e 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -12925,6 +12925,10 @@ feag2100 // EAG: Elite Avant Garde 2100 (English)
feag2100fr // * French
feag2100g // * German
feag2100sp // * Spanish
+fepriv //
+feprivfr //
+feprivg //
+feprivsp //
fpres //
fpressp //
fpresg //