From e48e6c02b1d305e63fa7dbf762e07ca20698e240 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Thu, 15 Jun 2023 04:56:56 +1000 Subject: Revert "heath/h19.cpp Implement Shift-Reset functionality (#11330)" This reverts commit 2c0246059f81a9f486f19708cecae2516d205966. This PR obviously wasn't reviewed properly. It has very obvious issues, in particular: * Resetting child devices from device_reset/machine_reset. Child devices are automatically reset when a device is reset. * Changing input state on reset. This leads to state getting out of sync. Devices that change their outputs on reset are responsible for pushing out the update. --- src/mame/heathkit/h19.cpp | 4 +- src/mame/heathkit/h89.cpp | 19 +------ src/mame/heathkit/intr_cntrl.cpp | 14 ------ src/mame/heathkit/intr_cntrl.h | 3 -- src/mame/heathkit/tlb.cpp | 105 +++++++++++++-------------------------- src/mame/heathkit/tlb.h | 6 +-- src/mame/heathkit/z37_fdc.cpp | 12 ----- src/mame/heathkit/z37_fdc.h | 5 +- 8 files changed, 39 insertions(+), 129 deletions(-) diff --git a/src/mame/heathkit/h19.cpp b/src/mame/heathkit/h19.cpp index 825cc826212..d725d8d23f3 100644 --- a/src/mame/heathkit/h19.cpp +++ b/src/mame/heathkit/h19.cpp @@ -5,7 +5,7 @@ Heathkit H19 A smart terminal designed and manufactured by Heath Company. This - is identical to the Zenith Data Systems Z-19. + is identical to the Zenith Data Systems Z-19. ****************************************************************************/ @@ -69,7 +69,7 @@ ROM_START( ultra19 ) ROM_END } // anonymous namespace -// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS +// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS COMP( 1979, h19, 0, 0, h19, 0, h19_state, empty_init, "Heath Company", "Heathkit H-19", MACHINE_SUPPORTS_SAVE ) //Super-19 ROM - ATG Systems, Inc - Adv in Sextant Issue 4, Winter 1983. With the magazine lead-time, likely released late 1982. COMP( 1982, super19, h19, 0, h19_superh19, 0, h19_state, empty_init, "Heath Company", "Heathkit H-19 w/ Super-19 ROM", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/heathkit/h89.cpp b/src/mame/heathkit/h89.cpp index 544cccb54cf..2a5e2ab81dd 100644 --- a/src/mame/heathkit/h89.cpp +++ b/src/mame/heathkit/h89.cpp @@ -123,7 +123,6 @@ private: uint8_t raise_NMI_r(); void raise_NMI_w(uint8_t data); void console_intr(uint8_t data); - void reset_line(uint8_t data); }; /* @@ -363,15 +362,9 @@ void h89_state::machine_reset() update_gpp(0); update_mem_view(); - m_h37->reset(); - m_intr_cntrl->reset(); - m_console->reset(); - m_serial1->reset(); - m_serial2->reset(); - m_serial3->reset(); - m_maincpu->reset(); } + uint8_t h89_state::raise_NMI_r() { m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::from_usec(2)); @@ -396,14 +389,6 @@ void h89_state::console_intr(uint8_t data) } } -void h89_state::reset_line(uint8_t data) -{ - if (data == ASSERT_LINE) - { - reset(); - } -} - TIMER_DEVICE_CALLBACK_MEMBER(h89_state::h89_irq_timer) { if (m_timer_intr_enabled) @@ -463,8 +448,6 @@ void h89_state::h89(machine_config & config) m_console->out_tx_callback().set(m_tlb, FUNC(heath_tlb_device::cb1_w)); m_tlb->serial_data_callback().set(m_console, FUNC(ins8250_uart_device::rx_w)); - m_tlb->reset_cb().set(FUNC(h89_state::reset_line)); - HEATH_Z37_FDC(config, m_h37); m_h37->drq_cb().set(m_intr_cntrl, FUNC(z37_intr_cntrl::set_drq)); m_h37->irq_cb().set(m_intr_cntrl, FUNC(z37_intr_cntrl::set_intrq)); diff --git a/src/mame/heathkit/intr_cntrl.cpp b/src/mame/heathkit/intr_cntrl.cpp index b1c9a42142d..30a694c05cb 100644 --- a/src/mame/heathkit/intr_cntrl.cpp +++ b/src/mame/heathkit/intr_cntrl.cpp @@ -31,11 +31,6 @@ void heath_intr_cntrl::device_start() m_intr_lines = 0; } -void heath_intr_cntrl::device_reset() -{ - m_intr_lines = 0; -} - void heath_intr_cntrl::device_resolve_objects() { m_irq_line.resolve_safe(); @@ -176,15 +171,6 @@ void z37_intr_cntrl::device_start() m_fd_irq_raised = false; } -void z37_intr_cntrl::device_reset() -{ - heath_intr_cntrl::device_reset(); - - m_interrupts_blocked = false; - m_drq_raised = false; - m_fd_irq_raised = false; -} - void z37_intr_cntrl::block_interrupts(uint8_t data) { m_interrupts_blocked = (data != CLEAR_LINE); diff --git a/src/mame/heathkit/intr_cntrl.h b/src/mame/heathkit/intr_cntrl.h index 371f928853d..d6da5c0b6d9 100644 --- a/src/mame/heathkit/intr_cntrl.h +++ b/src/mame/heathkit/intr_cntrl.h @@ -36,8 +36,6 @@ protected: virtual void update_intr_line(); virtual void device_start() override; - virtual void device_reset() override; - virtual void device_resolve_objects() override; devcb_write8 m_irq_line; @@ -64,7 +62,6 @@ protected: virtual void update_intr_line() override; virtual void device_start() override; - virtual void device_reset() override; private: bool m_interrupts_blocked; diff --git a/src/mame/heathkit/tlb.cpp b/src/mame/heathkit/tlb.cpp index d8bc8a2537d..38a67c01353 100644 --- a/src/mame/heathkit/tlb.cpp +++ b/src/mame/heathkit/tlb.cpp @@ -6,7 +6,7 @@ The board used in the H19 smart terminal designed and manufactured by Heath Company. (and the identical Z19 sold by Zenith Data Systems) - This board is also used the Heath's H89 / H88, and ZDS's Z-89 and Z-90. + This board is also used the Heath's H89 / H88, and ZDS's Z-89 and Z-90. The keyboard consists of a 9x10 matrix connected to a MM5740AAC/N mask-programmed keyboard controller. The output of this passes @@ -19,14 +19,12 @@ TODO: - determine why ULTRA ROM's self-diag (ESC |) fails for the ROM and scratchpad memory - - when pressing "REPEAT", the other pressed key should repeatedly trigger ****************************************************************************/ /*************************************************************************** Memory Layout - The U435 three-to-eight line decoder uses A14 and A15 to generate - three memory addresses: + The U435 three-to-eight line decoder uses A14 and A15 to generate three memory addresses: 1. Program ROM 0x0000 2. Scratchpad RAM 0x4000 @@ -35,8 +33,7 @@ Port Layout - Only address lines A5, A6, A7 are used by the U442 three-to-eight - line decoder + Only address lines A5, A6, A7 are used by the U442 three-to-eight line decoder Address Description ---------------------------------------------------- @@ -84,7 +81,6 @@ heath_tlb_device::heath_tlb_device(const machine_config &mconfig, device_type ty device_t(mconfig, type, tag, owner, clock), m_maincpu(*this, "maincpu"), m_write_sd(*this), - m_reset(*this), m_palette(*this, "palette"), m_crtc(*this, "crtc"), m_ace(*this, "ins8250"), @@ -157,40 +153,26 @@ static constexpr uint8_t KB_STATUS_KEYBOARD_STROBE_MASK = 0x80; void heath_tlb_device::device_resolve_objects() { + m_write_sd.resolve_safe(); - m_reset.resolve_safe(); } void heath_tlb_device::device_start() { + save_item(NAME(m_transchar)); save_item(NAME(m_strobe)); save_item(NAME(m_keyclickactive)); save_item(NAME(m_bellactive)); - save_item(NAME(m_reset_pending)); m_strobe = false; m_keyclickactive = false; m_bellactive = false; - m_reset_pending = false; m_key_click_timer = timer_alloc(FUNC(heath_tlb_device::key_click_off), this); m_bell_timer = timer_alloc(FUNC(heath_tlb_device::bell_off), this); } -void heath_tlb_device::device_reset() -{ - m_strobe = false; - m_keyclickactive = false; - m_bellactive = false; - m_reset_pending = false; - - m_crtc->reset(); - m_ace->reset(); - m_beep->reset(); - m_mm5740->reset(); - m_maincpu->reset(); -} void heath_tlb_device::key_click_w(uint8_t data) { @@ -230,39 +212,22 @@ uint16_t heath_tlb_device::translate_mm5740_b(uint16_t b) return ((b & 0x100) >> 2) | ((b & 0x0c0) << 1) | (b & 0x03f); } -void heath_tlb_device::check_for_reset() -{ - ioport_value value = m_kbspecial->read(); - - if ((value & 0x300) == 0) - { - m_reset_pending = true; - } - else if (m_reset_pending) - { - m_reset_pending = false; - m_maincpu->reset(); - m_reset(ASSERT_LINE); - } -} - uint8_t heath_tlb_device::kbd_key_r() { m_maincpu->set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE); m_strobe = false; - // high bit is for control key pressed, this is handled in the ROM, - // no processing needed. + // high bit is for control key pressed, this is handled in the ROM, no processing needed. return m_transchar; } uint8_t heath_tlb_device::kbd_flags_r() { uint16_t modifiers = m_kbspecial->read(); - uint8_t rv = modifiers & 0x7e; + uint8_t rv = modifiers & 0x7f; // check both shifts - if ((modifiers & 0x120) != 0x120) + if ((modifiers & 0x020) == 0 || (modifiers & 0x100) == 0) { rv |= KB_STATUS_SHIFT_KEYS_MASK; } @@ -277,18 +242,16 @@ uint8_t heath_tlb_device::kbd_flags_r() int heath_tlb_device::mm5740_shift_r() { - return ((m_kbspecial->read() & 0x120) != 0x120) ? ASSERT_LINE : CLEAR_LINE; + return ((m_kbspecial->read() ^ 0x120) & 0x120) ? ASSERT_LINE : CLEAR_LINE; } int heath_tlb_device::mm5740_control_r() { - return (m_kbspecial->read() & 0x10) ? CLEAR_LINE : ASSERT_LINE; + return ((m_kbspecial->read() ^ 0x10) & 0x10) ? ASSERT_LINE: CLEAR_LINE; } void heath_tlb_device::mm5740_data_ready_w(int state) { - check_for_reset(); - if (state == ASSERT_LINE) { uint8_t *decode = m_kbdrom->base(); @@ -368,8 +331,8 @@ static INPUT_PORTS_START( tlb ) PORT_BIT(0x020, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("LeftShift") PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_1) PORT_BIT(0x040, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Repeat") PORT_CODE(KEYCODE_LALT) // bit 7 - 0x080 is low if a key is pressed - PORT_BIT(0x100, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("RightShift") PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_2) - PORT_BIT(0x200, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Reset") PORT_CODE(KEYCODE_F10) PORT_CHAR(UCHAR_MAMEKEY(F10)) + PORT_BIT(0x100, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("RightShift") PORT_CODE(KEYCODE_RSHIFT) + PORT_BIT(0x200, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Reset") PORT_CODE(KEYCODE_F10) PORT_START("X1") PORT_BIT(0x001, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("/") PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?') @@ -387,7 +350,7 @@ static INPUT_PORTS_START( tlb ) PORT_BIT(0x001, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("; :") PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR(':') PORT_BIT(0x002, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("\' \"") PORT_CODE(KEYCODE_QUOTE) PORT_CHAR('\'') PORT_CHAR('"') PORT_BIT(0x004, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("{ }") PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR('{') PORT_CHAR('}') - PORT_BIT(0x008, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Return") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13) + PORT_BIT(0x008, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Return") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13) PORT_BIT(0x010, IP_ACTIVE_LOW, IPT_UNUSED) PORT_BIT(0x020, IP_ACTIVE_LOW, IPT_UNUSED) PORT_BIT(0x040, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("KP-1 IL") PORT_CODE(KEYCODE_1_PAD) PORT_CHAR(UCHAR_MAMEKEY(1_PAD)) @@ -420,15 +383,15 @@ static INPUT_PORTS_START( tlb ) PORT_BIT(0x200, IP_ACTIVE_LOW, IPT_UNUSED) PORT_START("X5") - PORT_BIT(0x001, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F1") PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1)) - PORT_BIT(0x002, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F2") PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F2)) - PORT_BIT(0x004, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F3") PORT_CODE(KEYCODE_F3) PORT_CHAR(UCHAR_MAMEKEY(F3)) - PORT_BIT(0x008, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F4") PORT_CODE(KEYCODE_F4) PORT_CHAR(UCHAR_MAMEKEY(F4)) - PORT_BIT(0x010, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F5") PORT_CODE(KEYCODE_F5) PORT_CHAR(UCHAR_MAMEKEY(F5)) - PORT_BIT(0x020, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Erase") PORT_CODE(KEYCODE_F6) PORT_CHAR(UCHAR_MAMEKEY(F6)) - PORT_BIT(0x040, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Blue") PORT_CODE(KEYCODE_F7) PORT_CHAR(UCHAR_MAMEKEY(F7)) - PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Red") PORT_CODE(KEYCODE_F8) PORT_CHAR(UCHAR_MAMEKEY(F8)) - PORT_BIT(0x100, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Gray") PORT_CODE(KEYCODE_F9) PORT_CHAR(UCHAR_MAMEKEY(F9)) + PORT_BIT(0x001, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F1") PORT_CODE(KEYCODE_F1) + PORT_BIT(0x002, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F2") PORT_CODE(KEYCODE_F2) + PORT_BIT(0x004, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F3") PORT_CODE(KEYCODE_F3) + PORT_BIT(0x008, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F4") PORT_CODE(KEYCODE_F4) + PORT_BIT(0x010, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F5") PORT_CODE(KEYCODE_F5) + PORT_BIT(0x020, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Erase") PORT_CODE(KEYCODE_F6) + PORT_BIT(0x040, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Blue") PORT_CODE(KEYCODE_F7) + PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Red") PORT_CODE(KEYCODE_F8) + PORT_BIT(0x100, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Gray") PORT_CODE(KEYCODE_F9) PORT_BIT(0x200, IP_ACTIVE_LOW, IPT_UNUSED) PORT_START("X6") @@ -480,7 +443,7 @@ static INPUT_PORTS_START( tlb ) PORT_BIT(0x200, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Esc") PORT_CODE(KEYCODE_ESC) PORT_CHAR(UCHAR_MAMEKEY(ESC)) PORT_START("SW401") - PORT_DIPNAME( 0x0f, 0x0c, "Baud Rate") PORT_DIPLOCATION("SW401:1,2,3,4") + PORT_DIPNAME( 0x0f, 0x0c, "Baud Rate") PORT_DIPLOCATION("SW401:1,2,3,4") PORT_DIPSETTING( 0x01, "110") PORT_DIPSETTING( 0x02, "150") PORT_DIPSETTING( 0x03, "300") @@ -507,28 +470,28 @@ static INPUT_PORTS_START( tlb ) PORT_DIPSETTING( 0x80, "Full") PORT_START("SW402") - PORT_DIPNAME( 0x01, 0x00, "Cursor") PORT_DIPLOCATION("SW402:1") + PORT_DIPNAME( 0x01, 0x00, "Cursor") PORT_DIPLOCATION("SW402:1") PORT_DIPSETTING( 0x00, "Underline") PORT_DIPSETTING( 0x01, "Block") - PORT_DIPNAME( 0x02, 0x00, "Keyclick") PORT_DIPLOCATION("SW402:2") + PORT_DIPNAME( 0x02, 0x00, "Keyclick") PORT_DIPLOCATION("SW402:2") PORT_DIPSETTING( 0x02, DEF_STR(No)) PORT_DIPSETTING( 0x00, DEF_STR(Yes)) - PORT_DIPNAME( 0x04, 0x00, "Wrap at EOL") PORT_DIPLOCATION("SW402:3") + PORT_DIPNAME( 0x04, 0x00, "Wrap at EOL") PORT_DIPLOCATION("SW402:3") PORT_DIPSETTING( 0x00, DEF_STR(No)) PORT_DIPSETTING( 0x04, DEF_STR(Yes)) - PORT_DIPNAME( 0x08, 0x00, "Auto LF on CR") PORT_DIPLOCATION("SW402:4") + PORT_DIPNAME( 0x08, 0x00, "Auto LF on CR") PORT_DIPLOCATION("SW402:4") PORT_DIPSETTING( 0x00, DEF_STR(No)) PORT_DIPSETTING( 0x08, DEF_STR(Yes)) - PORT_DIPNAME( 0x10, 0x00, "Auto CR on LF") PORT_DIPLOCATION("SW402:5") + PORT_DIPNAME( 0x10, 0x00, "Auto CR on LF") PORT_DIPLOCATION("SW402:5") PORT_DIPSETTING( 0x00, DEF_STR(No)) PORT_DIPSETTING( 0x10, DEF_STR(Yes)) - PORT_DIPNAME( 0x20, 0x00, "Mode") PORT_DIPLOCATION("SW402:6") + PORT_DIPNAME( 0x20, 0x00, "Mode") PORT_DIPLOCATION("SW402:6") PORT_DIPSETTING( 0x00, "Heath/VT52") PORT_DIPSETTING( 0x20, "ANSI") - PORT_DIPNAME( 0x40, 0x00, "Keypad Shifted") PORT_DIPLOCATION("SW402:7") + PORT_DIPNAME( 0x40, 0x00, "Keypad Shifted") PORT_DIPLOCATION("SW402:7") PORT_DIPSETTING( 0x00, DEF_STR(No)) PORT_DIPSETTING( 0x40, DEF_STR(Yes)) - PORT_DIPNAME( 0x80, 0x00, "Refresh") PORT_DIPLOCATION("SW402:8") + PORT_DIPNAME( 0x80, 0x00, "Refresh") PORT_DIPLOCATION("SW402:8") PORT_DIPSETTING( 0x00, "60Hz") PORT_DIPSETTING( 0x80, "50Hz") INPUT_PORTS_END @@ -618,7 +581,7 @@ static INPUT_PORTS_START( ultra19 ) PORT_DIPSETTING( 0x20, "Invisible") PORT_DIPSETTING( 0x40, "Fast Blink") PORT_DIPSETTING( 0x60, "Slow Blink") - PORT_DIPNAME( 0x80, 0x00, "Interlace Scan Mode") PORT_DIPLOCATION("SW402:8") + PORT_DIPNAME( 0x80, 0x00, "Interlace Scan Mode") PORT_DIPLOCATION("SW402:8") PORT_DIPSETTING( 0x00, "Off") PORT_DIPSETTING( 0x80, "On") @@ -628,7 +591,7 @@ static INPUT_PORTS_START( watz19 ) PORT_INCLUDE( tlb ) PORT_MODIFY("SW401") - PORT_DIPNAME( 0x0f, 0x0c, "Baud Rate") PORT_DIPLOCATION("SW401:1,2,3,4") + PORT_DIPNAME( 0x0f, 0x0c, "Baud Rate") PORT_DIPLOCATION("SW401:1,2,3,4") PORT_DIPSETTING( 0x00, "75") PORT_DIPSETTING( 0x01, "110") PORT_DIPSETTING( 0x02, "150") @@ -645,7 +608,7 @@ static INPUT_PORTS_START( watz19 ) PORT_DIPSETTING( 0x0d, "19200") PORT_DIPSETTING( 0x0e, "38400") PORT_DIPSETTING( 0x0f, "134.5") - PORT_DIPNAME( 0x40, 0x00, "Word Size") PORT_DIPLOCATION("SW401:7") + PORT_DIPNAME( 0x40, 0x00, "Word Size") PORT_DIPLOCATION("SW401:7") PORT_DIPSETTING( 0x00, "8-bit Word") PORT_DIPSETTING( 0x40, "7-bit Word") PORT_DIPNAME( 0x80, 0x80, "Duplex") PORT_DIPLOCATION("SW401:8") diff --git a/src/mame/heathkit/tlb.h b/src/mame/heathkit/tlb.h index 8bb294841ac..7ebe322b3b9 100644 --- a/src/mame/heathkit/tlb.h +++ b/src/mame/heathkit/tlb.h @@ -27,7 +27,6 @@ public: // interface routines auto serial_data_callback() { return m_write_sd.bind(); } - auto reset_cb() { return m_reset.bind(); } void cb1_w(int state); @@ -37,7 +36,6 @@ protected: virtual ioport_constructor device_input_ports() const override; virtual const tiny_rom_entry *device_rom_region() const override; virtual void device_start() override; - virtual void device_reset() override; virtual void device_add_mconfig(machine_config &config) override; virtual void device_resolve_objects() override; @@ -49,7 +47,6 @@ protected: private: void key_click_w(uint8_t data); void bell_w(uint8_t data); - void check_for_reset(); uint8_t kbd_key_r(); uint8_t kbd_flags_r(); uint16_t translate_mm5740_b(uint16_t b); @@ -71,7 +68,6 @@ private: emu_timer *m_bell_timer; devcb_write_line m_write_sd; - devcb_write_line m_reset; required_device m_palette; required_device m_crtc; @@ -87,7 +83,7 @@ private: bool m_strobe; bool m_keyclickactive; bool m_bellactive; - bool m_reset_pending; + }; class heath_super19_tlb_device : public heath_tlb_device diff --git a/src/mame/heathkit/z37_fdc.cpp b/src/mame/heathkit/z37_fdc.cpp index 4d8d39d3565..5fccdc2d751 100644 --- a/src/mame/heathkit/z37_fdc.cpp +++ b/src/mame/heathkit/z37_fdc.cpp @@ -170,18 +170,6 @@ void heath_z37_fdc_device::device_start() m_access_track_sector = false; } -void heath_z37_fdc_device::device_reset() -{ - m_control_reg = 0; - m_interface_reg = 0; - - m_intrq_allowed = false; - m_drq_allowed = false; - m_access_track_sector = false; - - m_fdc->reset(); -} - static void z37_floppies(device_slot_interface &device) { // H-17-1 diff --git a/src/mame/heathkit/z37_fdc.h b/src/mame/heathkit/z37_fdc.h index b27216bf65b..dcd6a154938 100644 --- a/src/mame/heathkit/z37_fdc.h +++ b/src/mame/heathkit/z37_fdc.h @@ -27,10 +27,7 @@ public: auto block_interrupt_cb() { return m_block_interrupt_cb.bind(); } -protected: - - virtual void device_start() override; - virtual void device_reset() override; +protected : virtual void device_start() override; virtual void device_add_mconfig(machine_config &config) override; virtual void device_resolve_objects() override; -- cgit v1.2.3