summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2021-03-14 11:45:15 -0400
committer AJR <ajrhacker@users.noreply.github.com>2021-03-14 11:45:15 -0400
commit25ed5bb25dfda6f64e1430b03498dcc8e225ad86 (patch)
treec89996d03a3eaef55333f615cbd948452e1be00c
parent410b42ee7718b71cca7c478155935c7bb1c7491e (diff)
mpc60: Misc. additions and notes
-rw-r--r--src/emu/xtal.cpp1
-rw-r--r--src/mame/drivers/mpc60.cpp11
2 files changed, 11 insertions, 1 deletions
diff --git a/src/emu/xtal.cpp b/src/emu/xtal.cpp
index 40331eb2e03..a738f1cf975 100644
--- a/src/emu/xtal.cpp
+++ b/src/emu/xtal.cpp
@@ -399,6 +399,7 @@ const double XTAL::known_xtals[] = {
34'291'712, /* 34.291712_MHz_XTAL Fairlight CMI master card */
34'846'000, /* 34.846_MHz_XTAL Visual 550 */
35'834'400, /* 35.8344_MHz_XTAL Tab Products E-22 132-column display clock */
+ 35'840'000, /* 35.84_MHz_XTAL Akai MPC 60 voice PCB */
35'904'000, /* 35.904_MHz_XTAL Used on HP98543 graphics board */
36'000'000, /* 36_MHz_XTAL Sega Model 1 video board */
36'864'000, /* 36.864_MHz_XTAL Unidesa Cirsa Rock 'n' Roll */
diff --git a/src/mame/drivers/mpc60.cpp b/src/mame/drivers/mpc60.cpp
index 45b53782cf4..194ffd81abb 100644
--- a/src/mame/drivers/mpc60.cpp
+++ b/src/mame/drivers/mpc60.cpp
@@ -10,6 +10,7 @@
//#include "bus/midi/midi.h"
#include "cpu/i86/i186.h"
#include "cpu/upd7810/upd7811.h"
+#include "machine/clock.h"
#include "machine/i8255.h"
#include "machine/nvram.h"
#include "machine/upd765.h"
@@ -116,6 +117,8 @@ void mpc60_state::mpc60(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &mpc60_state::mem_map);
m_maincpu->set_addrmap(AS_IO, &mpc60_state::io_map);
+ CLOCK(config, "tmrck", 20_MHz_XTAL / 10).signal_handler().set(m_maincpu, FUNC(i80186_cpu_device::tmrin1_w)); // CPUCK output divided by 74HC390
+
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // CXK5816PN-15L + CL2020 battery
UPD78C11(config, m_panelcpu, 12_MHz_XTAL);
@@ -127,6 +130,10 @@ void mpc60_state::mpc60(machine_config &config)
I8255(config, "ppi"); // MB89255A-P-C
UPD72065(config, m_fdc, 16_MHz_XTAL / 4); // μPD72066C (clocked by SED9420CAC)
+ m_fdc->set_ready_line_connected(false); // RDY tied to VDD (TODO: drive ready signal connected to PPI's PB2 instead)
+ m_fdc->set_select_lines_connected(false);
+ m_fdc->intrq_wr_callback().set(m_maincpu, FUNC(i80186_cpu_device::int0_w));
+ m_fdc->drq_wr_callback().set(m_maincpu, FUNC(i80186_cpu_device::drq1_w)); // FIXME: delayed and combined with DRQAD
hd61830_device &lcdc(HD61830(config, "lcdc", 0)); // LC7981
lcdc.set_addrmap(0, &mpc60_state::lcd_map);
@@ -140,6 +147,8 @@ void mpc60_state::mpc60(machine_config &config)
screen.set_palette("palette");
PALETTE(config, "palette", palette_device::MONOCHROME_INVERTED);
+
+ //L4003(config, "voicelsi", 35.84_MHz_XTAL);
}
ROM_START(mpc60)
@@ -150,7 +159,7 @@ ROM_START(mpc60)
ROM_LOAD16_BYTE("mpc6cpu4.ic5", 0x20001, 0x10000, CRC(d922a66d) SHA1(0f4bc0522b9826d617f4af72382d75853515d7f5))
ROM_REGION16_LE(0x10000, "waves", 0)
- ROM_LOAD16_BYTE("ic17", 0x00000, 0x08000, NO_DUMP)
+ ROM_LOAD16_BYTE("ic17", 0x00000, 0x08000, NO_DUMP) // lowest nibble is unused
ROM_LOAD16_BYTE("ic18", 0x00001, 0x08000, NO_DUMP)
ROM_REGION(0x1000, "panelcpu", 0)