diff --git a/hash/einstein.xml b/hash/einstein.xml
index ca2e1428383..3fea4eb0b5b 100644
--- a/hash/einstein.xml
+++ b/hash/einstein.xml
@@ -383,7 +383,7 @@ Xtal Systems (Xtal Research)
Konami Four Game Arcade
19??
Konami
-
+
@@ -394,7 +394,7 @@ Xtal Systems (Xtal Research)
256 Games Pack for Einstein 256
1986
Merlin Software
-
+
@@ -405,7 +405,7 @@ Xtal Systems (Xtal Research)
Agrovator
19??
Syntaxsoft
-
+
@@ -416,7 +416,7 @@ Xtal Systems (Xtal Research)
Alice and the March Hare
1986
Orion Software
-
+
@@ -428,7 +428,7 @@ Xtal Systems (Xtal Research)
Assembly Language Course
1985
Glentop
-
+
@@ -439,7 +439,7 @@ Xtal Systems (Xtal Research)
Boardello
1985
Bubble Bus
-
+
@@ -450,7 +450,7 @@ Xtal Systems (Xtal Research)
Basic Tutorial
1984
Solo Software
-
+
@@ -461,7 +461,7 @@ Xtal Systems (Xtal Research)
Castle Quest & Quest
19??
Kuma Software
-
+
@@ -472,7 +472,7 @@ Xtal Systems (Xtal Research)
Chuckie Egg
1984
Tatung Einsoft
-
+
@@ -483,7 +483,7 @@ Xtal Systems (Xtal Research)
CP/M+
19??
Duncan Elvin
-
+
@@ -494,7 +494,7 @@ Xtal Systems (Xtal Research)
Cluedo
1984
Leisure Genius
-
+
@@ -505,7 +505,7 @@ Xtal Systems (Xtal Research)
Colour Fantasia
1984
Kuma
-
+
@@ -516,7 +516,7 @@ Xtal Systems (Xtal Research)
The Cracker (v2.31c)
1985
Tatung
-
+
@@ -527,7 +527,7 @@ Xtal Systems (Xtal Research)
Cursed Chambers & ZRIM
19??
Kuma Software
-
+
@@ -538,7 +538,7 @@ Xtal Systems (Xtal Research)
Cursed Chambers & ZRIM (Alt)
19??
Kuma Software
-
+
@@ -549,7 +549,7 @@ Xtal Systems (Xtal Research)
Dan Diamond Trilogy
19??
Tatung Einsoft
-
+
@@ -560,7 +560,7 @@ Xtal Systems (Xtal Research)
The Disc
19??
Emsoft
-
+
@@ -571,7 +571,7 @@ Xtal Systems (Xtal Research)
Disco Dan
1984
Tatung Einsoft
-
+
@@ -583,7 +583,7 @@ Xtal Systems (Xtal Research)
Druid
19??
Merlin Software
-
+
@@ -594,7 +594,7 @@ Xtal Systems (Xtal Research)
Eazidraw
1988
Supasoft
-
+
@@ -605,7 +605,7 @@ Xtal Systems (Xtal Research)
Fire!!! / Para-Shoot / Apocalypse / Headache / Gold Miner / Kentucky Derby
19??
Solo Software
-
+
@@ -616,7 +616,7 @@ Xtal Systems (Xtal Research)
Einstein Compendium
19??
Emsoft
-
+
@@ -627,7 +627,7 @@ Xtal Systems (Xtal Research)
Einstein Micro Plox
1989
Henry Philippe
-
+
@@ -638,7 +638,7 @@ Xtal Systems (Xtal Research)
Elite
198?
Firebird
-
+
@@ -649,7 +649,7 @@ Xtal Systems (Xtal Research)
Escape from Merlin 8
19??
Merlin Software
-
+
@@ -660,7 +660,7 @@ Xtal Systems (Xtal Research)
Fathom's Deep
19??
Merlin Software
-
+
@@ -671,7 +671,7 @@ Xtal Systems (Xtal Research)
Flight Simulation
1985
ScreenSoft
-
+
@@ -682,7 +682,7 @@ Xtal Systems (Xtal Research)
Fu-Kung in Las Vegas
1985
Tatung Einsoft
-
+
@@ -693,7 +693,7 @@ Xtal Systems (Xtal Research)
Games Compendium
19??
Solo Software
-
+
@@ -704,7 +704,7 @@ Xtal Systems (Xtal Research)
Get Lost & Mr Fixit
1984
Solo Software
-
+
@@ -715,7 +715,7 @@ Xtal Systems (Xtal Research)
Gronks
198?
<unknown>
-
+
@@ -726,7 +726,7 @@ Xtal Systems (Xtal Research)
Heli-Maths
1985
Screensoft
-
+
@@ -737,7 +737,7 @@ Xtal Systems (Xtal Research)
Highway Encounter
1985
Orion Software
-
+
@@ -748,7 +748,7 @@ Xtal Systems (Xtal Research)
Hitchhikers Guide to the Galaxy
1984
Infocom
-
+
@@ -759,7 +759,7 @@ Xtal Systems (Xtal Research)
Hustler
1985
Bubble Bus
-
+
@@ -771,7 +771,7 @@ Xtal Systems (Xtal Research)
Island of Artuan
19??
Kuma Software
-
+
@@ -782,7 +782,7 @@ Xtal Systems (Xtal Research)
Jet Set Willy
19??
Software Projects
-
+
@@ -793,7 +793,7 @@ Xtal Systems (Xtal Research)
Kuma Disc Utility (v1.0)
19??
Kuma Software
-
+
@@ -804,7 +804,7 @@ Xtal Systems (Xtal Research)
Lazy Jones
1985
Terminal Software
-
+
@@ -815,7 +815,7 @@ Xtal Systems (Xtal Research)
Les Flics
1985
Electric Software
-
+
@@ -826,7 +826,7 @@ Xtal Systems (Xtal Research)
Manic Miner
1985
Software Projects
-
+
@@ -837,7 +837,7 @@ Xtal Systems (Xtal Research)
Manik Panik & Galaxoids
19??
Solo Software
-
+
@@ -848,7 +848,7 @@ Xtal Systems (Xtal Research)
Mathe-Magic & Scoop
19??
Solo Software
-
+
@@ -859,7 +859,7 @@ Xtal Systems (Xtal Research)
Maths Quest & Alphabet Quest
19??
Solo Software
-
+
@@ -870,7 +870,7 @@ Xtal Systems (Xtal Research)
Maxima
1985
Solo Software
-
+
@@ -881,7 +881,7 @@ Xtal Systems (Xtal Research)
Miner Dick
1984
Merlin Software
-
+
@@ -892,7 +892,7 @@ Xtal Systems (Xtal Research)
Monopoly
19??
Leisure Genius
-
+
@@ -903,7 +903,7 @@ Xtal Systems (Xtal Research)
Mouse Art
19??
Emsoft
-
+
@@ -914,7 +914,7 @@ Xtal Systems (Xtal Research)
Music Composer
1984
Kuma Software
-
+
@@ -925,7 +925,7 @@ Xtal Systems (Xtal Research)
Music Workshop
19??
Screensoft
-
+
@@ -936,7 +936,7 @@ Xtal Systems (Xtal Research)
Music Workshop (Alt)
19??
Screensoft
-
+
@@ -947,7 +947,7 @@ Xtal Systems (Xtal Research)
Nightmare Park & Commando Plain
19??
Solo Software
-
+
@@ -958,7 +958,7 @@ Xtal Systems (Xtal Research)
Oh Mummy!
1984
Tatung Einsoft
-
+
@@ -969,7 +969,7 @@ Xtal Systems (Xtal Research)
Pakman & Millipede
198?
Kuma Software
-
+
@@ -980,7 +980,7 @@ Xtal Systems (Xtal Research)
Panzer Attack
1985
Lothlorien
-
+
@@ -991,7 +991,7 @@ Xtal Systems (Xtal Research)
Pete's Utilities
19??
Merlin Software
-
+
@@ -1002,7 +1002,7 @@ Xtal Systems (Xtal Research)
Programmers Kit
19??
Merlin Software
-
+
@@ -1013,7 +1013,7 @@ Xtal Systems (Xtal Research)
Punchy
1985
Tatung Einsoft
-
+
@@ -1024,7 +1024,7 @@ Xtal Systems (Xtal Research)
Quantum
19??
Merlin Software
-
+
@@ -1035,7 +1035,7 @@ Xtal Systems (Xtal Research)
River Bandits
19??
Merlin Software
-
+
@@ -1046,7 +1046,7 @@ Xtal Systems (Xtal Research)
Rocket / Giant Maths / Mighty Writer
19??
Solo Software
-
+
@@ -1057,7 +1057,7 @@ Xtal Systems (Xtal Research)
Roverball
19??
Merlin Software
-
+
@@ -1068,7 +1068,7 @@ Xtal Systems (Xtal Research)
Qoko 2
19??
Orion Software
-
+
@@ -1079,7 +1079,7 @@ Xtal Systems (Xtal Research)
Scrabble
1985
Leisure Genius
-
+
@@ -1090,7 +1090,7 @@ Xtal Systems (Xtal Research)
Screen Plus
1985
Syntaxsoft
-
+
@@ -1101,7 +1101,7 @@ Xtal Systems (Xtal Research)
Southern Belle
19??
Merlin Software
-
+
@@ -1112,7 +1112,7 @@ Xtal Systems (Xtal Research)
Space Trap
1985
Solo Software
-
+
@@ -1123,7 +1123,7 @@ Xtal Systems (Xtal Research)
Special Operations
198?
Lothlorien
-
+
@@ -1134,7 +1134,7 @@ Xtal Systems (Xtal Research)
Spectrum Emulator Disk 1
19??
Syntaxsoft
-
+
@@ -1145,7 +1145,7 @@ Xtal Systems (Xtal Research)
Spell n' Build
19??
Solo Software
-
+
@@ -1156,7 +1156,7 @@ Xtal Systems (Xtal Research)
Spellbreaker
1985
Infocom
-
+
@@ -1167,7 +1167,7 @@ Xtal Systems (Xtal Research)
Spreadsheet
1984
Kuma Computers
-
+
@@ -1178,7 +1178,7 @@ Xtal Systems (Xtal Research)
Starcross
198?
Infocom
-
+
@@ -1189,7 +1189,7 @@ Xtal Systems (Xtal Research)
Starquake
19??
Merlin Software
-
+
@@ -1200,7 +1200,7 @@ Xtal Systems (Xtal Research)
Stepper
1986
KH Scriven
-
+
@@ -1211,7 +1211,7 @@ Xtal Systems (Xtal Research)
Superchess
1984
Kuma Software
-
+
@@ -1222,7 +1222,7 @@ Xtal Systems (Xtal Research)
SuperFORTH (v1.12)
1984
Tatung Einsoft
-
+
@@ -1233,7 +1233,7 @@ Xtal Systems (Xtal Research)
Super Six Game Pack (Tatung)
198?
Tatung Einsoft
-
+
@@ -1244,7 +1244,7 @@ Xtal Systems (Xtal Research)
Super Six Game Pack (Tatung, Alt)
198?
Tatung Einsoft
-
+
@@ -1255,7 +1255,7 @@ Xtal Systems (Xtal Research)
Super 6 Games (Bell)
19??
Bell Software
-
+
@@ -1266,7 +1266,7 @@ Xtal Systems (Xtal Research)
Superstore
19??
Kuma Software
-
+
@@ -1277,7 +1277,7 @@ Xtal Systems (Xtal Research)
Suspended
19??
A.C.E. Software
-
+
@@ -1288,7 +1288,7 @@ Xtal Systems (Xtal Research)
System 5
19??
Crystal Research
-
+
@@ -1299,7 +1299,7 @@ Xtal Systems (Xtal Research)
System 80
19??
Tatung
-
+
@@ -1310,7 +1310,7 @@ Xtal Systems (Xtal Research)
Tasprint
1985
Tasman Software
-
+
@@ -1321,7 +1321,7 @@ Xtal Systems (Xtal Research)
Tasword
1985
Tasman Software
-
+
@@ -1332,7 +1332,7 @@ Xtal Systems (Xtal Research)
Theatre Europe
19??
Merlin Software
-
+
@@ -1343,7 +1343,7 @@ Xtal Systems (Xtal Research)
Time Trap
1984
Tatung Einsoft
-
+
@@ -1354,7 +1354,7 @@ Xtal Systems (Xtal Research)
Toado & Fruckles
1986
Syntaxsoft
-
+
@@ -1365,7 +1365,7 @@ Xtal Systems (Xtal Research)
Tombs of Karnak & Encounter
19??
Solo Software
-
+
@@ -1376,7 +1376,7 @@ Xtal Systems (Xtal Research)
Tournament Snooker
198?
Hard Software
-
+
@@ -1387,7 +1387,7 @@ Xtal Systems (Xtal Research)
Traditional 16+ Maths & Cyfax
198?
Solo Software
-
+
@@ -1398,7 +1398,7 @@ Xtal Systems (Xtal Research)
Tycoon & Pelmanism
198?
Kuma Software
-
+
@@ -1409,7 +1409,7 @@ Xtal Systems (Xtal Research)
Wishbringer
19??
Infocom
-
+
@@ -1420,7 +1420,7 @@ Xtal Systems (Xtal Research)
Word Processor 40
19??
Surrey Software
-
+
@@ -1431,7 +1431,7 @@ Xtal Systems (Xtal Research)
The Wreck
19??
Electric Software
-
+
@@ -1442,7 +1442,7 @@ Xtal Systems (Xtal Research)
X-master
198?
<unknown>
-
+
@@ -1453,7 +1453,7 @@ Xtal Systems (Xtal Research)
Xanagrams & Quadrax
19??
Kuma Software
-
+
@@ -1464,7 +1464,7 @@ Xtal Systems (Xtal Research)
Xtaldos 1.31
198?
Tatung
-
+
@@ -1476,7 +1476,7 @@ Xtal Systems (Xtal Research)
Zen Editor/Assembler
19??
Kuma Software
-
+
@@ -1487,7 +1487,7 @@ Xtal Systems (Xtal Research)
Zork I - The Great Underground Empire
198?
Infocom
-
+
@@ -1498,7 +1498,7 @@ Xtal Systems (Xtal Research)
Zork II
198?
Infocom
-
+
@@ -1509,7 +1509,7 @@ Xtal Systems (Xtal Research)
Zork III - The Dungeon Master
198?
Infocom
-
+
@@ -1524,7 +1524,7 @@ Xtal Systems (Xtal Research)
19??
<homebrew>
-
+
@@ -1536,7 +1536,7 @@ Xtal Systems (Xtal Research)
19??
<homebrew>
-
+
@@ -1548,7 +1548,7 @@ Xtal Systems (Xtal Research)
2005
<homebrew>
-
+
@@ -1560,7 +1560,7 @@ Xtal Systems (Xtal Research)
19??
<homebrew>
-
+
@@ -1573,7 +1573,7 @@ Xtal Systems (Xtal Research)
<homebrew>
-
+
@@ -1585,7 +1585,7 @@ Xtal Systems (Xtal Research)
19??
<homebrew>
-
+
@@ -1597,7 +1597,7 @@ Xtal Systems (Xtal Research)
1984?
<homebrew>
-
+
@@ -1609,7 +1609,7 @@ Xtal Systems (Xtal Research)
19??
<homebrew>
-
+
@@ -1621,7 +1621,7 @@ Xtal Systems (Xtal Research)
19??
<homebrew>
-
+
@@ -1633,7 +1633,7 @@ Xtal Systems (Xtal Research)
198?
<homebrew>
-
+
@@ -1644,7 +1644,7 @@ Xtal Systems (Xtal Research)
Game Compilation (Cracked)
19??
<unknown>
-
+
@@ -1656,7 +1656,7 @@ Xtal Systems (Xtal Research)
1983
<homebrew>
-
+
@@ -1664,5 +1664,3 @@ Xtal Systems (Xtal Research)
-
-
diff --git a/src/mame/drivers/einstein.cpp b/src/mame/drivers/einstein.cpp
index 19c7266b44f..2ca3b932ed4 100644
--- a/src/mame/drivers/einstein.cpp
+++ b/src/mame/drivers/einstein.cpp
@@ -140,27 +140,19 @@ READ8_MEMBER(einstein_state::einstein_keyboard_data_read)
WRITE8_MEMBER(einstein_state::einstein_drsel_w)
{
- if(VERBOSE_DISK)
+ if (VERBOSE_DISK)
logerror("%s: einstein_drsel_w %02x\n", machine().describe_context(), data);
- /* bit 0 to 3 select the drive */
- static const char *names[] = { IC_I042 ":0", IC_I042 ":1", IC_I042 ":2", IC_I042 ":3" };
floppy_image_device *floppy = nullptr;
- for(int i=0; i<4; i++) {
- if(BIT(data, i)) {
- floppy_connector *con = machine().device(names[i]);
- if(con)
- floppy = con->get_device();
- }
- }
- /* double sided drive connected? */
- if (m_config->read() & data)
- {
- /* bit 4 selects the side then */
- //floppy->ss_w(BIT(data, 4));
- }
- if (floppy) floppy->ss_w(0);
+ if (BIT(data, 0)) floppy = m_floppy[0]->get_device();
+ if (BIT(data, 1)) floppy = m_floppy[1]->get_device();
+ if (BIT(data, 2)) floppy = m_floppy[2]->get_device();
+ if (BIT(data, 3)) floppy = m_floppy[3]->get_device();
+
+ if (floppy)
+ floppy->ss_w(BIT(data, 4));
+
m_fdc->set_floppy(floppy);
}
@@ -484,20 +476,6 @@ static INPUT_PORTS_START( einstein )
/* analog joystick 2 Y axis */
PORT_START("JOY2_Y")
PORT_BIT(0xff, 0x80, IPT_AD_STICK_Y) PORT_SENSITIVITY(100) PORT_KEYDELTA(1) PORT_MINMAX(1,0xff) PORT_CODE_DEC(JOYCODE_Y_UP_SWITCH) PORT_CODE_INC(JOYCODE_Y_DOWN_SWITCH) PORT_PLAYER(2) PORT_REVERSE
-
- PORT_START("config")
- PORT_CONFNAME(0x01, 0x00, "Floppy drive #1")
- PORT_CONFSETTING(0x00, "Single sided")
- PORT_CONFSETTING(0x01, "Double sided")
- PORT_CONFNAME(0x02, 0x00, "Floppy drive #2")
- PORT_CONFSETTING(0x00, "Single sided")
- PORT_CONFSETTING(0x02, "Double sided")
- PORT_CONFNAME(0x04, 0x00, "Floppy drive #3")
- PORT_CONFSETTING(0x00, "Single sided")
- PORT_CONFSETTING(0x04, "Double sided")
- PORT_CONFNAME(0x08, 0x00, "Floppy drive #4")
- PORT_CONFSETTING(0x00, "Single sided")
- PORT_CONFSETTING(0x08, "Double sided")
INPUT_PORTS_END
@@ -506,7 +484,12 @@ INPUT_PORTS_END
***************************************************************************/
static SLOT_INTERFACE_START( einstein_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
+ SLOT_INTERFACE("3ss", TEAC_FD_30A)
+ SLOT_INTERFACE("3ds", FLOPPY_3_DSDD)
+ SLOT_INTERFACE("525ssqd", FLOPPY_525_SSQD)
+ SLOT_INTERFACE("525qd", FLOPPY_525_QD)
+ SLOT_INTERFACE("35ssdd", FLOPPY_35_SSDD)
+ SLOT_INTERFACE("35dd", FLOPPY_35_DD)
SLOT_INTERFACE_END
static MACHINE_CONFIG_START( einstein )
@@ -572,10 +555,10 @@ static MACHINE_CONFIG_START( einstein )
MCFG_WD1770_ADD(IC_I042, XTAL_X002)
- MCFG_FLOPPY_DRIVE_ADD(IC_I042 ":0", einstein_floppies, "525dd", floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(IC_I042 ":1", einstein_floppies, "525dd", floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(IC_I042 ":2", einstein_floppies, "525dd", floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(IC_I042 ":3", einstein_floppies, "525dd", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(IC_I042 ":0", einstein_floppies, "3ss", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(IC_I042 ":1", einstein_floppies, "3ss", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(IC_I042 ":2", einstein_floppies, "525qd", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(IC_I042 ":3", einstein_floppies, "525qd", floppy_image_device::default_floppy_formats)
/* software lists */
MCFG_SOFTWARE_LIST_ADD("disk_list","einstein")
diff --git a/src/mame/includes/einstein.h b/src/mame/includes/einstein.h
index 5d22b4200ec..e446a512c59 100644
--- a/src/mame/includes/einstein.h
+++ b/src/mame/includes/einstein.h
@@ -65,10 +65,10 @@ public:
m_bank1(*this, "bank1"),
m_bank2(*this, "bank2"),
m_bank3(*this, "bank3"),
+ m_floppy{ { *this, IC_I042 ":0" }, { *this, IC_I042 ":1" }, { *this, IC_I042 ":2" }, { *this, IC_I042 ":3" } },
m_line(*this, "LINE%u", 0),
m_extra(*this, "EXTRA"),
- m_buttons(*this, "BUTTONS"),
- m_config(*this, "config")
+ m_buttons(*this, "BUTTONS")
{
}
@@ -117,10 +117,10 @@ private:
required_memory_bank m_bank1;
required_memory_bank m_bank2;
required_memory_bank m_bank3;
+ required_device m_floppy[4];
required_ioport_array<8> m_line;
required_ioport m_extra;
required_ioport m_buttons;
- required_ioport m_config;
void einstein_scan_keyboard();
void einstein_page_rom();