summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2021-05-08 10:54:37 -0400
committer AJR <ajrhacker@users.noreply.github.com>2021-05-08 10:57:47 -0400
commitc137f89f869ea13f6fb4bb48a416adedfdfedc19 (patch)
treecb41919404daf09c5176038dc31bf885fcb88f45 /src/mame/drivers
parent9e0e9fb978072781a46d6578b46177b1ebe43598 (diff)
hd6301x, hd6301y & derivatives: Updates to internal peripheral emulation
- Add Timer 2 and its associated interrupt and allow it to clock the serial port - Change divider for external serial clock to 16 - Remove timer hack in supremo
Diffstat (limited to 'src/mame/drivers')
-rw-r--r--src/mame/drivers/novag_snova.cpp7
-rw-r--r--src/mame/drivers/ymtx81z.cpp4
2 files changed, 2 insertions, 9 deletions
diff --git a/src/mame/drivers/novag_snova.cpp b/src/mame/drivers/novag_snova.cpp
index 43402b9ff1e..d8f248ae5ff 100644
--- a/src/mame/drivers/novag_snova.cpp
+++ b/src/mame/drivers/novag_snova.cpp
@@ -7,7 +7,6 @@ Novag Super Nova & related chess computers. I believe the series started with
Primo. The chess engine is by David Kittinger.
TODO:
-- remove timer hack for supremo (missing extra timer emulation in MCU core)
- NMI on power-off switch, it sets 0x14 bit 7 for standby power (see below)
- add nvram, MCU is missing standby power emulation
- beeps are glitchy, as if interrupted for too long
@@ -324,10 +323,6 @@ void snova_state::supremo(machine_config &config)
m_maincpu->set_clock(8_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &snova_state::supremo_map);
- // THIS IS A HACK, vector @ 0xffec, use ROM_COPY
- const attotime irq_period = attotime::from_ticks(4 * 128 * 11, 8_MHz_XTAL);
- m_maincpu->set_periodic_int(FUNC(snova_state::irq0_line_hold), irq_period);
-
config.set_default_layout(layout_novag_supremo);
config.device_remove("rs232");
@@ -351,8 +346,6 @@ ROM_START( supremo )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD("sp_a10.u5", 0x8000, 0x8000, CRC(1db63786) SHA1(4f24452ed8955b31ba88f68cc95c357660930aa4) )
- ROM_COPY("maincpu", 0xffec, 0xfff8, 2) // HACK
-
ROM_REGION( 50926, "screen", 0 )
ROM_LOAD("nsnova.svg", 0, 50926, CRC(5ffa1b53) SHA1(8b1f862bfdf0be837a4e8dc94fea592d6ffff629) )
ROM_END
diff --git a/src/mame/drivers/ymtx81z.cpp b/src/mame/drivers/ymtx81z.cpp
index fbc4f6b94e1..68c367f23cc 100644
--- a/src/mame/drivers/ymtx81z.cpp
+++ b/src/mame/drivers/ymtx81z.cpp
@@ -41,7 +41,7 @@ private:
u8 p2_r();
WRITE_LINE_MEMBER(midi_rx_r) { m_rx_data = state; }
- WRITE_LINE_MEMBER(midiclock_w) { if (state == ASSERT_LINE) m_maincpu->m6801_clock_serial();}
+ WRITE_LINE_MEMBER(midiclock_w) { if (state) m_maincpu->m6801_clock_serial(); }
required_device<hd6303x_cpu_device> m_maincpu;
required_ioport m_port2;
@@ -130,7 +130,7 @@ void ymtx81z_state::tx81z(machine_config &config)
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // TC5564PL-15/-20 + CR2032 battery
- auto &midiclock(CLOCK(config, "midiclock", 500_kHz_XTAL / 2)); // divider not verified
+ auto &midiclock(CLOCK(config, "midiclock", 500_kHz_XTAL));
midiclock.signal_handler().set(FUNC(ymtx81z_state::midiclock_w));
MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(FUNC(ymtx81z_state::midi_rx_r));