diff --git a/hash/z80ne_cass.xml b/hash/z80ne_cass.xml
new file mode 100644
index 00000000000..00c81c0ee95
--- /dev/null
+++ b/hash/z80ne_cass.xml
@@ -0,0 +1,1154 @@
+
+
+
+
+
+
+
+
+ BASIC Italiano-Inglese da Cassetta (v1.0, 1200bps)
+ 198?
+ Nuova Elettronica - Studio LG Genova
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ BASIC Italiano-Inglese da Cassetta (v1.0, 600bps)
+ 198?
+ Nuova Elettronica - Studio LG Genova
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ BASIC Italiano-Inglese da Cassetta (v1.0, 300bps)
+ 198?
+ Nuova Elettronica - Studio LG Genova
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Bioritmi (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Bioritmi (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Bioritmi (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Bioritmi (BASIC, 1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Bioritmi (BASIC, 600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Bioritmi (BASIC, 300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Calcolo Equo Canone (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Calcolo Equo Canone (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Calcolo Equo Canone (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Cannibali (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Cannibali (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Cannibali (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Coda di Bue (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Coda di Bue (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Coda di Bue (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Conto Alla Rovescia (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Conto Alla Rovescia (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Conto Alla Rovescia (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Disegni (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Disegni (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Disegni (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Estrazione Ambi (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Estrazione Ambi (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Estrazione Ambi (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Gestione Magazzino (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Gestione Magazzino (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Gestione Magazzino (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Il Buco Nero (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Il Buco Nero (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Il Buco Nero (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Il Dado e Tratto (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Il Dado e Tratto (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Il Dado e Tratto (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Il Flipper Della Fortuna (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Il Flipper Della Fortuna (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Il Flipper Della Fortuna (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Il Gioco Delle Rane (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Il Gioco Delle Rane (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Il Gioco Delle Rane (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Legge 373 (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Legge 373 (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Legge 373 (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Lunghezza Della Vita (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Lunghezza Della Vita (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Lunghezza Della Vita (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Master Mind (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Master Mind (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Master Mind (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Missione Bombardamento (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Missione Bombardamento (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Missione Bombardamento (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Misto (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Misto (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Misto (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Nim (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Nim (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Nim (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Numeri Lotto (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Numeri Lotto (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Numeri Lotto (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Odissea Nello Spazio (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Odissea Nello Spazio (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Odissea Nello Spazio (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Omini Gialli (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Omini Gialli (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Omini Gialli (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Partita a Dadi (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Partita a Dadi (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Partita a Dadi (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Pronostici Totocalcio (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Pronostici Totocalcio (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Pronostici Totocalcio (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Quadrati Consecutivi (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Quadrati Consecutivi (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Quadrati Consecutivi (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Randomize (1200bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Randomize (600bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ Randomize (300bps)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
diff --git a/hash/z80ne_flop.xml b/hash/z80ne_flop.xml
new file mode 100644
index 00000000000..d7d54feed88
--- /dev/null
+++ b/hash/z80ne_flop.xml
@@ -0,0 +1,739 @@
+
+
+
+
+
+
+ 5.5K Floppy BASIC
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+ NE-DOS (v1.5) + BASIC (v2.1) (Original Disk)
+ 198?
+ Nuova Elettronica
+
+
+
+
+
+
+
+
+
+ NE-DOS (v1.5) + BASIC (v2.1) (Original Disk, DMK Format)
+ 198?
+ Nuova Elettronica
+
+
+
+
+
+
+
+
+
+ NE-DOS (v1.5) + BASIC (v2.1) (Non-Original Disk)
+ 198?
+ Nuova Elettronica
+
+
+
+
+
+
+
+
+
+ NE-DOS (G.1) + BASIC (G.1) (Original Disk)
+ 198?
+ Nuova Elettronica
+
+
+
+
+
+
+
+
+
+ NE-DOS (G.1) + BASIC (G.1) (Original Disk, DMK Format)
+ 198?
+ Nuova Elettronica
+
+
+
+
+
+
+
+
+
+ NE-DOS (G.1) + BASIC (G.1) (Non-Original Disk)
+ 198?
+ Nuova Elettronica
+
+
+
+
+
+
+
+
+
+ SONE (floppy disk)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+ SONE (hard disk)
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+
+ convflp
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+ convflpg
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+ Editor Assember/Disassembler
+ 198?
+ Nuova Elettronica
+
+
+
+
+
+
+
+
+
+
+ Editor Assember/Disassembler G
+ 198?
+ Nuova Elettronica
+
+
+
+
+
+
+
+
+
+
+
+
+ disk01
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk02
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk03
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk04
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk05
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk06
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk07
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk08
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk09
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk10
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk11
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk12
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk13
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk14
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk15
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk16
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk17
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk18
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk19
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk20
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk21
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk22
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+ Vicenza Retrocomputing 2007 Demo
+ 2007
+ <unknown>
+
+
+
+
+
+
+
+
+
+ Z80NE eproms
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk28
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
+
+ disk29
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+
diff --git a/src/mame/drivers/z80ne.cpp b/src/mame/drivers/z80ne.cpp
index 1bb5233afd3..8a81eb14f25 100644
--- a/src/mame/drivers/z80ne.cpp
+++ b/src/mame/drivers/z80ne.cpp
@@ -97,6 +97,7 @@
#include "imagedev/flopdrv.h"
#include "formats/dmk_dsk.h"
#include "machine/ram.h"
+#include "softlist.h"
/* Layout */
#include "z80ne.lh"
@@ -221,7 +222,7 @@ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("LX.384 Reset") PORT_CO
/* Settings */
PORT_START("LX.385")
-PORT_CONFNAME(0x07, 0x01 , "LX.385 Cassette: P1,P3 Data Rate")
+PORT_CONFNAME(0x07, 0x04, "LX.385 Cassette: P1,P3 Data Rate")
PORT_CONFSETTING( 0x01, "A-B: 300 bps")
PORT_CONFSETTING( 0x02, "A-C: 600 bps")
PORT_CONFSETTING( 0x04, "A-D: 1200 bps")
@@ -424,15 +425,19 @@ static MACHINE_CONFIG_START( z80ne, z80ne_state )
MCFG_CASSETTE_ADD( "cassette" )
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED)
+ MCFG_CASSETTE_INTERFACE("z80ne_cass")
MCFG_CASSETTE_ADD( "cassette2" )
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED)
+ MCFG_CASSETTE_INTERFACE("z80ne_cass")
MCFG_DEFAULT_LAYOUT(layout_z80ne)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("32K")
+
+ //MCFG_SOFTWARE_LIST_ADD("cass_list","z80ne_cass") /* all known tapes require LX.388 expansion
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( z80net, z80ne )
@@ -460,6 +465,8 @@ static MACHINE_CONFIG_DERIVED( z80net, z80ne )
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("32K")
MCFG_RAM_EXTRA_OPTIONS("1K")
+
+ MCFG_SOFTWARE_LIST_ADD("cass_list","z80ne_cass")
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( z80netb, z80ne_state )
@@ -477,9 +484,11 @@ static MACHINE_CONFIG_START( z80netb, z80ne_state )
MCFG_CASSETTE_ADD( "cassette" )
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED)
+ MCFG_CASSETTE_INTERFACE("z80ne_cass")
MCFG_CASSETTE_ADD( "cassette2" )
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED)
+ MCFG_CASSETTE_INTERFACE("z80ne_cass")
MCFG_DEVICE_ADD("lx388_kr2376", KR2376, 50000)
@@ -497,6 +506,8 @@ static MACHINE_CONFIG_START( z80netb, z80ne_state )
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("32K")
MCFG_RAM_EXTRA_OPTIONS("1K")
+
+ MCFG_SOFTWARE_LIST_ADD("cass_list","z80ne_cass")
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( z80netf, z80ne_state )
@@ -514,9 +525,11 @@ static MACHINE_CONFIG_START( z80netf, z80ne_state )
MCFG_CASSETTE_ADD( "cassette" )
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED)
+ MCFG_CASSETTE_INTERFACE("z80ne_cass")
MCFG_CASSETTE_ADD( "cassette2" )
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED)
+ MCFG_CASSETTE_INTERFACE("z80ne_cass")
MCFG_DEVICE_ADD("lx388_kr2376", KR2376, 50000)
@@ -539,6 +552,9 @@ static MACHINE_CONFIG_START( z80netf, z80ne_state )
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("56K")
+
+ MCFG_SOFTWARE_LIST_ADD("cass_list","z80ne_cass")
+ MCFG_SOFTWARE_LIST_ADD("flop_list","z80ne_flop")
MACHINE_CONFIG_END
/******************************************************************************