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();