summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2017-11-20 04:47:25 +1100
committer Robbbert <Robbbert@users.noreply.github.com>2017-11-20 04:47:25 +1100
commit8f4729dd8b54f582be580b46c1c73bfa19f6b2d0 (patch)
tree76c620bffd954dbf2c9dff61c1af313a0cf4fce0
parent9a79dac1d65e4d4fe48f82e18bffd273b534a16f (diff)
New Not Working machine : Milwaukee Computers MC-1200
-rw-r--r--scripts/target/mame/mess.lua1
-rw-r--r--src/mame/drivers/milwaukee.cpp83
-rw-r--r--src/mame/mame.lst3
-rw-r--r--src/mame/mess.flt1
4 files changed, 88 insertions, 0 deletions
diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua
index 7868d27906d..688a08db563 100644
--- a/scripts/target/mame/mess.lua
+++ b/scripts/target/mame/mess.lua
@@ -3526,6 +3526,7 @@ files {
MAME_DIR .. "src/mame/includes/micronic.h",
MAME_DIR .. "src/mame/drivers/microterm.cpp",
MAME_DIR .. "src/mame/drivers/mightyframe.cpp",
+ MAME_DIR .. "src/mame/drivers/milwaukee.cpp",
MAME_DIR .. "src/mame/drivers/mini2440.cpp",
MAME_DIR .. "src/mame/drivers/miniframe.cpp",
MAME_DIR .. "src/mame/drivers/minitel_2_rpic.cpp",
diff --git a/src/mame/drivers/milwaukee.cpp b/src/mame/drivers/milwaukee.cpp
new file mode 100644
index 00000000000..5ef40c5e1e3
--- /dev/null
+++ b/src/mame/drivers/milwaukee.cpp
@@ -0,0 +1,83 @@
+// license:BSD-3-Clause
+// copyright-holders:
+/***********************************************************************************************************************************
+
+2017-11-20 Skeleton
+
+Milwaukee Computer MC-1000 series (MC-1000/1100/1200/1300/1400) all the same except for disk options.
+
+Chips: SY6502, 2x 6821, 2x MC6850P, 6852, INS8253
+Other: 2x 7-position rotary "dips" to select baud rates on each 6850.
+
+************************************************************************************************************************************/
+
+#include "emu.h"
+#include "cpu/m6502/m6502.h"
+#include "machine/6821pia.h"
+#include "machine/6850acia.h"
+#include "machine/pit8253.h"
+#include "machine/mc6852.h"
+#include "machine/clock.h"
+#include "bus/rs232/rs232.h"
+
+class milwaukee_state : public driver_device
+{
+public:
+ milwaukee_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ //, m_p_chargen(*this, "chargen")
+ { }
+
+private:
+ required_device<cpu_device> m_maincpu;
+ //required_region_ptr<u8> m_p_chargen;
+};
+
+static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, milwaukee_state )
+ AM_RANGE(0x0000, 0xf7ff) AM_RAM
+ //AM_RANGE(0xf800, 0xf87f) expansion i/o
+ AM_RANGE(0xf880, 0xf880) AM_DEVREADWRITE("acia1", acia6850_device, status_r, control_w) // terminal
+ AM_RANGE(0xf881, 0xf881) AM_DEVREADWRITE("acia1", acia6850_device, data_r, data_w)
+ AM_RANGE(0xf882, 0xf882) AM_DEVREADWRITE("acia2", acia6850_device, status_r, control_w) // remote
+ AM_RANGE(0xf883, 0xf883) AM_DEVREADWRITE("acia2", acia6850_device, data_r, data_w)
+ AM_RANGE(0xf884, 0xf887) AM_DEVREADWRITE("pia1", pia6821_device, read, write) // centronics
+ AM_RANGE(0xf888, 0xf88b) AM_DEVREADWRITE("pit", pit8253_device, read, write)
+ AM_RANGE(0xf88c, 0xf88f) AM_DEVREADWRITE("pia2", pia6821_device, read, write) // disk controller
+ AM_RANGE(0xf890, 0xf891) AM_DEVREADWRITE("ssda", mc6852_device, read, write)
+ AM_RANGE(0xf898, 0xffff) AM_ROM AM_REGION("roms", 0x0098)
+ADDRESS_MAP_END
+
+static INPUT_PORTS_START( milwaukee )
+INPUT_PORTS_END
+
+static MACHINE_CONFIG_START( milwaukee )
+ MCFG_CPU_ADD("maincpu", M6502, 1'000'000) // can't read crystal, but clock is correct
+ MCFG_CPU_PROGRAM_MAP(mem_map)
+
+ MCFG_DEVICE_ADD("pit", PIT8253, 0)
+ MCFG_DEVICE_ADD("pia1", PIA6821, 0)
+ MCFG_DEVICE_ADD("pia2", PIA6821, 0)
+ MCFG_DEVICE_ADD("acia2", ACIA6850, 0)
+ MCFG_DEVICE_ADD("ssda", MC6852, 0)
+
+ MCFG_DEVICE_ADD("acia_clock", CLOCK, 153600)
+ MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia1", acia6850_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia1", acia6850_device, write_rxc))
+
+ MCFG_DEVICE_ADD("acia1", ACIA6850, 0)
+ MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd))
+ MCFG_ACIA6850_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts))
+
+ MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal")
+ MCFG_RS232_RXD_HANDLER(DEVWRITELINE("acia1", acia6850_device, write_rxd))
+ MCFG_RS232_CTS_HANDLER(DEVWRITELINE("acia1", acia6850_device, write_cts))
+MACHINE_CONFIG_END
+
+ROM_START( mc1200 )
+ ROM_REGION( 0x0c00, "roms", 0 )
+ ROM_LOAD( "mfm_6-29-82_10_sector.u15", 0x0000, 0x0800, CRC(40b0af66) SHA1(c988e1f90c9abb93171c4e40a6585ce9cc3fd495) )
+ ROM_LOAD( "2758.u14", 0x0800, 0x0400, CRC(b20e2345) SHA1(da498cc0c746897a85d6f2d1a5bd70a726c1e4ef) ) // big white sticker, but nothing on it
+ROM_END
+
+COMP( 1980, mc1200, 0, 0, milwaukee, milwaukee, milwaukee_state, 0, "Milwaukee Computers", "MC-1200", MACHINE_IS_SKELETON )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index d6b92392f8f..c048368ebce 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -20937,6 +20937,9 @@ mil4000b // (c) 2000 Sure Milano
mil4000c // (c) 2000 Sure Milano
top21 // (c) 200? Assogiochi Assago (Mi)
+@source:milwaukee.cpp
+mc1200 //
+
@source:mini2440.cpp
mini2440 //
diff --git a/src/mame/mess.flt b/src/mame/mess.flt
index 10e7f085043..70882b7fb27 100644
--- a/src/mame/mess.flt
+++ b/src/mame/mess.flt
@@ -382,6 +382,7 @@ mikro80.cpp
mikromik.cpp
mikrosha.cpp
mightyframe.cpp
+milwaukee.cpp
mini2440.cpp
minicom.cpp
miniforce.cpp