diff --git a/hash/cx3000tc.xml b/hash/cx3000tc.xml
new file mode 100644
index 00000000000..469a767f221
--- /dev/null
+++ b/hash/cx3000tc.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+ Paddle Games
+ 19??
+ Palson?
+
+
+
+
+
+
+
+
+
+
+
+ Maze
+ 19??
+ Palson?
+
+
+
+
+
+
+
+
+
+
+
+ Air-Sea Attack
+ 19??
+ Palson?
+
+
+
+
+
+
+
+
+
+
+ Come Come
+ 19??
+ Palson?
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/hash/database.xml b/hash/database.xml
new file mode 100644
index 00000000000..b762a75d155
--- /dev/null
+++ b/hash/database.xml
@@ -0,0 +1,256 @@
+
+
+
+
+
+
+ Air-Sea Attack
+ 19??
+ Voltmace?
+
+
+
+
+
+
+
+
+
+
+
+ Blackjack
+ 19??
+ Voltmace?
+
+
+
+
+
+
+
+
+
+
+
+ Bat & Ball
+ 19??
+ Voltmace?
+
+
+
+
+
+
+
+
+
+
+ Road Race
+ 19??
+ Voltmace?
+
+
+
+
+
+
+
+
+
+
+ Tank & Plane
+ 19??
+ Voltmace?
+
+
+
+
+
+
+
+
+
+
+
+ Mathematics II
+ 19??
+ Voltmace?
+
+
+
+
+
+
+
+
+
+
+ Shooting Gallery
+ 19??
+ Voltmace?
+
+
+
+
+
+
+
+
+
+
+
+ Brain Drain
+ 19??
+ Voltmace?
+
+
+
+
+
+
+
+
+
+
+ Maze
+ 19??
+ Voltmace?
+
+
+
+
+
+
+
+
+
+
+ Horse Racing
+ 19??
+ Voltmace?
+
+
+
+
+
+
+
+
+
+
+ Circus
+ 19??
+ Voltmace?
+
+
+
+
+
+
+
+
+
+
+
+ Boxing
+ 19??
+ Voltmace?
+
+
+
+
+
+
+
+
+
+
+
+ Four in a Row
+ 19??
+ Voltmace?
+
+
+
+
+
+
+
+
+
+
+
+ Flipper / Pinball
+ 19??
+ Voltmace?
+
+
+
+
+
+
+
+
+
+
+
+ Musical Memory
+ 19??
+ Voltmace?
+
+
+
+
+
+
+
+
+
+
+
+ Dame / Draughts / Dames
+ 19??
+ Voltmace?
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Munch & Crunch
+ 19??
+ Voltmace?
+
+
+
+
+
+
+
+
+
+
+
+ Crazy Crab
+ 19??
+ Voltmace?
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/hash/mpu1000.xml b/hash/mpu1000.xml
new file mode 100644
index 00000000000..ff40f5a06ac
--- /dev/null
+++ b/hash/mpu1000.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+ Challenge!
+ 19??
+ Acetronic?
+
+
+
+
+
+
+
+
+
+
diff --git a/hash/rwtrntcs.xml b/hash/rwtrntcs.xml
new file mode 100644
index 00000000000..d3ee232e7ca
--- /dev/null
+++ b/hash/rwtrntcs.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+ SportsWorld
+ 19??
+ Rowtron?
+
+
+
+
+
+
+
+
+
+
+ Monster Munchers
+ 19??
+ Rowtron?
+
+
+
+
+
+
+
+
+
+
diff --git a/hash/vc4000.xml b/hash/vc4000.xml
index 9f92df22f00..d42d8fe7ea7 100644
--- a/hash/vc4000.xml
+++ b/hash/vc4000.xml
@@ -3,11 +3,11 @@
-
Autorennen / Car Races / Course Automobile
19??
Interton
+
@@ -16,11 +16,11 @@
-
Blackjack
19??
Interton
+
@@ -29,11 +29,11 @@
-
Ballspiele / Paddle Games / Jeux De Balle
19??
Interton
+
@@ -42,11 +42,11 @@
-
Panzerschlacht/Luftkampf / Tank Battle/Air Battle / Bataille De Blindes/Combat Aerien
19??
Interton
+
@@ -55,11 +55,11 @@
-
Mathematik I / Mathematics I / Mathematique I
19??
Interton
+
@@ -68,11 +68,11 @@
-
Mathematik II / Mathematics II / Mathematique II
19??
Interton
+
@@ -81,11 +81,11 @@
-
Luftkampf/Seegefecht / Air/Sea Battle / Combat Aerien/Bataile Navale
19??
Interton
+
@@ -94,11 +94,11 @@
-
Memory I/Motivsuche / Memory I/Flag Capture / Memory I/Recherche De Motifs
19??
Interton
+
@@ -107,11 +107,11 @@
-
Intelligenz I / Intelligence I
19??
Interton
+
@@ -120,11 +120,11 @@
-
Wintersport / Winter Sports / Sports D'Hiver
19??
Interton
+
@@ -135,11 +135,11 @@
-
Hippodrom / Hippodrome
19??
Interton
+
@@ -148,11 +148,11 @@
-
Jagd / Hunting / Chasse
19??
Interton
+
@@ -161,11 +161,11 @@
-
Schach / Chess / Les Echecs
19??
Interton
+
@@ -176,11 +176,11 @@
-
Motocross
19??
Interton
+
@@ -191,11 +191,11 @@
-
Intelligenz II / Intelligence II
19??
Interton
+
@@ -204,11 +204,11 @@
-
Intelligenz III / Intelligence III
19??
Interton
+
@@ -217,11 +217,11 @@
-
Circus / Cirque
19??
Interton
+
@@ -230,11 +230,11 @@
-
Boxkampf / Boxing Match / Match De Boxe
19??
Interton
+
@@ -245,11 +245,11 @@
-
Krieg im Weltraum / Outer Space Combat / Guerre Dans L'Espace
19??
Interton
+
@@ -258,11 +258,11 @@
-
Memory II / Melodie/Melody / Simon
19??
Interton
+
@@ -271,11 +271,11 @@
-
Intelligenz IV/Attacke (Reversi) / Intelligence IV/Attack (Reversi) / Intelligence IV/Attaque (Reversi)
19??
Interton
+
@@ -284,11 +284,11 @@
-
Schach II / Chess II / Les Echecs II
19??
Interton
+
@@ -300,11 +300,11 @@
-
Flipper / Pinball
19??
Interton
+
@@ -313,11 +313,11 @@
-
Fussball / Soccer / Football
1979
Interton
+
@@ -326,11 +326,11 @@
-
Bowling/Kegeln / Bowling/Ninepins / Yeux Quilles
19??
Interton
+
@@ -339,11 +339,11 @@
-
Dame / Draughts / Dames
19??
Interton
+
@@ -354,11 +354,11 @@
-
Golf
19??
Interton
+
@@ -369,11 +369,11 @@
-
Cockpit
19??
<unknown>
+
@@ -384,11 +384,11 @@
-
Metropolis / Hangman
19??
Interton
+
@@ -397,11 +397,11 @@
-
Solitär / Solitaire
19??
Interton
+
@@ -410,11 +410,11 @@
-
Casino
19??
Interton
+
@@ -423,11 +423,11 @@
-
Weltrauminvasoren / Invaders / Invaseur De L'Espace
19??
Interton
+
@@ -436,11 +436,11 @@
-
Super Invaders / Super Invaders / Super Envahisseurs
19??
Interton
+
@@ -452,11 +452,11 @@
-
Backgammon / Jacquet
19??
Interton
+
@@ -467,11 +467,11 @@
-
Monster-Man
19??
Interton
+
@@ -480,11 +480,11 @@
-
Hyperspace / Hyperespace
19??
Interton
+
@@ -495,11 +495,11 @@
-
Super-Space
19??
Interton
+
@@ -510,48 +510,4 @@
-
-
-
-
-
- Musical Memory
- 19??
- Voltmace?
-
-
-
-
-
-
-
-
-
-
- Crazy Crab
- 19??
- Voltmace?
-
-
-
-
-
-
-
-
-
-
-
-
- SportsWorld
- 19??
- Rowtron?
-
-
-
-
-
-
-
-
diff --git a/src/mess/drivers/vc4000.c b/src/mess/drivers/vc4000.c
index 727350c0456..19f95921476 100644
--- a/src/mess/drivers/vc4000.c
+++ b/src/mess/drivers/vc4000.c
@@ -549,9 +549,34 @@ static MACHINE_CONFIG_START( vc4000, vc4000_state )
MCFG_VC4000_CARTRIDGE_ADD("cartslot", vc4000_cart, NULL)
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","vc4000")
+ MCFG_SOFTWARE_LIST_ADD("cart_list", "vc4000")
MACHINE_CONFIG_END
+
+static MACHINE_CONFIG_DERIVED( cx3000tc, vc4000 )
+ MCFG_DEVICE_REMOVE("cart_list")
+ MCFG_SOFTWARE_LIST_ADD("cart_list", "cx3000tc")
+MACHINE_CONFIG_END
+
+
+static MACHINE_CONFIG_DERIVED( mpu1000, vc4000 )
+ MCFG_DEVICE_REMOVE("cart_list")
+ MCFG_SOFTWARE_LIST_ADD("cart_list", "mpu1000")
+MACHINE_CONFIG_END
+
+
+static MACHINE_CONFIG_DERIVED( database, vc4000 )
+ MCFG_DEVICE_REMOVE("cart_list")
+ MCFG_SOFTWARE_LIST_ADD("cart_list", "database")
+MACHINE_CONFIG_END
+
+
+static MACHINE_CONFIG_DERIVED( rwtrntcs, vc4000 )
+ MCFG_DEVICE_REMOVE("cart_list")
+ MCFG_SOFTWARE_LIST_ADD("cart_list", "rwtrntcs")
+MACHINE_CONFIG_END
+
+
static MACHINE_CONFIG_DERIVED( elektor, vc4000 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(elektor_mem)
@@ -662,12 +687,12 @@ ROM_END
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME */
CONS(1978, vc4000, 0, 0, vc4000, vc4000, driver_device, 0, "Interton", "Interton Electronic VC 4000", GAME_IMPERFECT_GRAPHICS ) /* Germany, Austria, UK, Australia */
CONS(1979, spc4000, vc4000, 0, vc4000, vc4000, driver_device, 0, "Grundig", "Super Play Computer 4000", GAME_IMPERFECT_GRAPHICS ) /* Germany, Austria */
-CONS(1979, cx3000tc, vc4000, 0, vc4000, vc4000, driver_device, 0, "Palson", "CX 3000 Tele Computer", GAME_IMPERFECT_GRAPHICS ) /* Spain */
+CONS(1979, cx3000tc, vc4000, 0, cx3000tc, vc4000, driver_device, 0, "Palson", "CX 3000 Tele Computer", GAME_IMPERFECT_GRAPHICS ) /* Spain */
CONS(1979, tvc4000, vc4000, 0, vc4000, vc4000, driver_device, 0, "Koerting", "TVC-4000", GAME_IMPERFECT_GRAPHICS ) /* Argentina */
CONS(1976, 1292apvs, 0, vc4000, vc4000, vc4000, driver_device, 0, "Radofin", "1292 Advanced Programmable Video System", GAME_IMPERFECT_GRAPHICS )/* Europe */
CONS(1976, 1392apvs, 1292apvs, 0, vc4000, vc4000, driver_device, 0, "Radofin", "1392 Advanced Programmable Video System", GAME_IMPERFECT_GRAPHICS )/* Europe */
-CONS(1979, mpu1000, 1292apvs, 0, vc4000, vc4000, driver_device, 0, "Acetronic", "MPU-1000", GAME_IMPERFECT_GRAPHICS ) /* Europe */
-CONS(1979, mpu2000, 1292apvs, 0, vc4000, vc4000, driver_device, 0, "Acetronic", "MPU-2000", GAME_IMPERFECT_GRAPHICS ) /* Europe */
+CONS(1979, mpu1000, 1292apvs, 0, mpu1000, vc4000, driver_device, 0, "Acetronic", "MPU-1000", GAME_IMPERFECT_GRAPHICS ) /* Europe */
+CONS(1979, mpu2000, 1292apvs, 0, mpu1000, vc4000, driver_device, 0, "Acetronic", "MPU-2000", GAME_IMPERFECT_GRAPHICS ) /* Europe */
CONS(1978, pp1292, 1292apvs, 0, vc4000, vc4000, driver_device, 0, "Audio Sonic", "PP-1292 Advanced Programmable Video System", GAME_IMPERFECT_GRAPHICS )/* Europe */
CONS(1978, pp1392, 1292apvs, 0, vc4000, vc4000, driver_device, 0, "Audio Sonic", "PP-1392 Advanced Programmable Video System", GAME_IMPERFECT_GRAPHICS )/* Europe */
CONS(1979, f1392, 1292apvs, 0, vc4000, vc4000, driver_device, 0, "Fountain", "Fountain 1392", GAME_IMPERFECT_GRAPHICS ) /* New Zealand */
@@ -676,10 +701,10 @@ CONS(1979, hmg1292, 1292apvs, 0, vc4000, vc4000, driver_device,
CONS(1979, hmg1392, 1292apvs, 0, vc4000, vc4000, driver_device, 0, "Hanimex", "HMG 1392", GAME_IMPERFECT_GRAPHICS ) /* Europe */
CONS(1979, lnsy1392, 1292apvs, 0, vc4000, vc4000, driver_device, 0, "Lansay", "Lansay 1392", GAME_IMPERFECT_GRAPHICS ) /* Europe */
CONS(1979, vc6000, 1292apvs, 0, vc4000, vc4000, driver_device, 0, "Prinztronic", "VC 6000", GAME_IMPERFECT_GRAPHICS ) /* UK */
-CONS(1979, database, 0, vc4000, vc4000, vc4000, driver_device, 0, "Voltmace", "Voltmace Database", GAME_IMPERFECT_GRAPHICS ) /* UK */
-CONS(1979, vmdtbase, database, 0, vc4000, vc4000, driver_device, 0, "Videomaster", "Videomaster Database Games-Computer", GAME_IMPERFECT_GRAPHICS )/* UK */
-CONS(1979, rwtrntcs, 0, vc4000, vc4000, vc4000, driver_device, 0, "Rowtron", "Rowtron Television Computer System", GAME_IMPERFECT_GRAPHICS )/* UK */
-CONS(1979, telngtcs, rwtrntcs, 0, vc4000, vc4000, driver_device, 0, "Teleng", "Teleng Television Computer System", GAME_IMPERFECT_GRAPHICS )/* UK */
+CONS(1979, database, 0, vc4000, database, vc4000, driver_device, 0, "Voltmace", "Voltmace Database", GAME_IMPERFECT_GRAPHICS ) /* UK */
+CONS(1979, vmdtbase, database, 0, database, vc4000, driver_device, 0, "Videomaster", "Videomaster Database Games-Computer", GAME_IMPERFECT_GRAPHICS )/* UK */
+CONS(1979, rwtrntcs, 0, vc4000, rwtrntcs, vc4000, driver_device, 0, "Rowtron", "Rowtron Television Computer System", GAME_IMPERFECT_GRAPHICS )/* UK */
+CONS(1979, telngtcs, rwtrntcs, 0, rwtrntcs, vc4000, driver_device, 0, "Teleng", "Teleng Television Computer System", GAME_IMPERFECT_GRAPHICS )/* UK */
CONS(1979, krvnjvtv, 0, vc4000, vc4000, vc4000, driver_device, 0, "SOE", "OC Jeu Video TV Karvan", GAME_IMPERFECT_GRAPHICS ) /* France */
CONS(1979, oc2000, krvnjvtv, 0, vc4000, vc4000, driver_device, 0, "SOE", "OC-2000", GAME_IMPERFECT_GRAPHICS ) /* France */
CONS(1980, mpt05, 0, vc4000, vc4000, vc4000, driver_device, 0, "ITMC", "MPT-05", GAME_IMPERFECT_GRAPHICS ) /* France */