diff options
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 |
commit | c137f89f869ea13f6fb4bb48a416adedfdfedc19 (patch) | |
tree | cb41919404daf09c5176038dc31bf885fcb88f45 /src/mame/drivers | |
parent | 9e0e9fb978072781a46d6578b46177b1ebe43598 (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.cpp | 7 | ||||
-rw-r--r-- | src/mame/drivers/ymtx81z.cpp | 4 |
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)); |