summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/decstation.cpp
diff options
context:
space:
mode:
author arbee <rb6502@users.noreply.github.com>2018-07-14 17:31:27 -0400
committer arbee <rb6502@users.noreply.github.com>2018-07-14 17:31:27 -0400
commit13c73b2c5bce90d507c7f049b219aba563d7f523 (patch)
tree476b813532631f28aea6a6f64639cad7a4179f52 /src/mame/drivers/decstation.cpp
parent70b2f500f46192b3a81f77b8f528f13c457b207d (diff)
New machines marked as NOT_WORKING:
- DECstation 5000/133 [R. Belmont, Al Kossow]
Diffstat (limited to 'src/mame/drivers/decstation.cpp')
-rw-r--r--src/mame/drivers/decstation.cpp145
1 files changed, 145 insertions, 0 deletions
diff --git a/src/mame/drivers/decstation.cpp b/src/mame/drivers/decstation.cpp
new file mode 100644
index 00000000000..982337091c9
--- /dev/null
+++ b/src/mame/drivers/decstation.cpp
@@ -0,0 +1,145 @@
+// license:BSD-3-Clause
+// copyright-holders:R. Belmont
+/****************************************************************************
+
+ decstation.cpp: MIPS-based DECstation family
+
+ WANTED: all boot ROM dumps except 5000/133, all TURBOchannel card ROM dumps
+
+ Machine types:
+ DECstation 3100 (PMAX/KN01):
+ 16.67 MHz R2000 with FPU and MMU
+ 24 MiB max RAM
+ Serial: DEC "DZ" quad-UART (DC7085 gate array)
+ SCSI: DEC "SII" SCSI interface (DC7061 gate array)
+ Ethernet: AMD7990 "LANCE" controller
+ Monochrome or color video on-board
+ PMIN/KN01:
+ Cheaper PMAX, 12.5 MHz R2000, same as PMAX
+
+ Personal DECstation 5000/xx (MAXine/KN02BA):
+ 20, 25, or 33 MHz R3000 or 100 MHz R4000
+ 40 MiB max RAM
+ Serial: DEC "DZ" quad-UART for keyboard/mouse, SCC8530 for modem/printer
+ SCSI: NCR53C94
+ Ethernet: AMD7990 "LANCE" controller
+ Audio: AMD AM79C30
+ Color 1024x768 8bpp video on-board
+ 2 TURBOchannel slots
+
+ DECstation 5000/1xx: (3MIN/KN02DA):
+ 20, 25, or 33 MHz R3000 or 100 MHz R4000
+ 128 MiB max RAM
+ Serial: 2x SCC8530
+ SCSI: NCR53C94
+ Ethernet: AMD7990 "LANCE" controller
+ No on-board video
+ 3 TURBOchannel slots
+
+ DECstation 5000/200: (3MAX/KN02):
+ 25 MHz R3000
+ 480 MiB max RAM
+ Serial: DEC "DZ" quad-UART
+ SCSI: NCR53C94
+ Ethernet: AMD7990 "LANCE" controllor
+
+ DECstation 5000/240, 5000/261 (3MAX+/KN03)
+ 40 MHz R3400, or 120 MHz R4400.
+ 480 MiB max RAM
+ Serial: 2x SCC8530
+ SCSI: NCR53C94
+ Ethernet: AMD7990 "LANCE" controller
+
+****************************************************************************/
+
+#include "emu.h"
+#include "cpu/mips/r3000.h"
+#include "machine/decioga.h"
+
+class decstation_state : public driver_device
+{
+public:
+ decstation_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag) ,
+ m_maincpu(*this, "maincpu"),
+ m_ioga(*this, "ioga")
+ { }
+
+ void kn02da(machine_config &config);
+
+ void init_decstation();
+
+private:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void video_start() override;
+ required_device<cpu_device> m_maincpu;
+ required_device<dec_ioga_device> m_ioga;
+ void decstation_map(address_map &map);
+};
+
+/***************************************************************************
+ VIDEO HARDWARE
+***************************************************************************/
+
+void decstation_state::video_start()
+{
+}
+
+/***************************************************************************
+ MACHINE FUNCTIONS
+***************************************************************************/
+
+void decstation_state::machine_start()
+{
+}
+
+void decstation_state::machine_reset()
+{
+}
+
+/***************************************************************************
+ ADDRESS MAPS
+***************************************************************************/
+
+void decstation_state::decstation_map(address_map &map)
+{
+ map(0x00000000, 0x07ffffff).ram(); // full 128 MB
+ map(0x1c000000, 0x1dffffff).m(m_ioga, FUNC(dec_ioga_device::map));
+ map(0x1fc00000, 0x1fc3ffff).rom().region("user1", 0);
+}
+
+/***************************************************************************
+ MACHINE DRIVERS
+***************************************************************************/
+
+MACHINE_CONFIG_START(decstation_state::kn02da)
+ MCFG_DEVICE_ADD( "maincpu", R3041, 33000000 ) // FIXME: Should be R2000
+ MCFG_R3000_ENDIANNESS(ENDIANNESS_LITTLE)
+ MCFG_DEVICE_PROGRAM_MAP( decstation_map )
+
+ MCFG_DEVICE_ADD("ioga", DECSTATION_IOGA, XTAL(12'500'000))
+MACHINE_CONFIG_END
+
+static INPUT_PORTS_START( decstation )
+ PORT_START("UNUSED") // unused IN0
+ PORT_BIT(0xffff, IP_ACTIVE_HIGH, IPT_UNUSED)
+INPUT_PORTS_END
+
+void decstation_state::init_decstation()
+{
+}
+
+/***************************************************************************
+
+ ROM definition(s)
+
+***************************************************************************/
+
+ROM_START( ds5k133 )
+ ROM_REGION32_LE( 0x40000, "user1", 0 )
+ ROM_LOAD( "ds5000-133_005eb.bin", 0x000000, 0x040000, CRC(76a91d29) SHA1(140fcdb4fd2327daf764a35006d05fabfbee8da6) )
+ROM_END
+
+// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
+COMP( 1992, ds5k133, 0, 0, kn02da, decstation, decstation_state, init_decstation, "Digital Equipment Corporation", "DECstation 5000/133", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )