diff options
author | Robbbert <Robbbert@users.noreply.github.com> | 2021-05-15 19:35:36 +1000 |
---|---|---|
committer | Robbbert <Robbbert@users.noreply.github.com> | 2021-05-15 19:35:36 +1000 |
commit | 63783116f2a2546eeac99a15997674ffdfdc7cd8 (patch) | |
tree | bbd29f8fbeb05248104d1440aacdd05347d31376 | |
parent | cb48ece8f96ae30574630762d8bfd74f678c82cf (diff) |
Machines promoted to working
----------------------------
Microbee Teleterm [Robbbert]
-rw-r--r-- | src/mame/drivers/mbee.cpp | 6 | ||||
-rw-r--r-- | src/mame/machine/mbee.cpp | 7 |
2 files changed, 6 insertions, 7 deletions
diff --git a/src/mame/drivers/mbee.cpp b/src/mame/drivers/mbee.cpp index ab2b254d0be..d576dcc184e 100644 --- a/src/mame/drivers/mbee.cpp +++ b/src/mame/drivers/mbee.cpp @@ -93,11 +93,7 @@ from Brett Selwood and Andrew Davies. TODO/not working: Keyboard: - - 256tc: Paste ignores shift key - All others: Paste drops most characters. - - Teleterm: keyboard has problems. The schematic shows it using the old-style keyboard, - however it actually uses the new keyboard with interrupts. - The keyboard has issues in the Offsider Macro Key Editor. FDC: (TODO: see if these bugs still exist) - B drive doesn't work with most disks. @@ -1149,7 +1145,7 @@ COMP( 1985, mbeepc85, mbee, 0, mbeepc, mbee, mbee_state, init_mbeei COMP( 1985, mbeepc85b, mbee, 0, mbeepc, mbee, mbee_state, init_mbeeic, "Applied Technology", "Microbee PC85 (New version)", MACHINE_SUPPORTS_SAVE ) COMP( 1985, mbeepc85s, mbee, 0, mbeepc, mbee, mbee_state, init_mbeeic, "Applied Technology", "Microbee PC85 (Swedish)", MACHINE_SUPPORTS_SAVE ) COMP( 1986, mbeeppc, mbee, 0, mbeeppc, mbee, mbee_state, init_mbeeppc, "Applied Technology", "Microbee Premium PC85", MACHINE_SUPPORTS_SAVE ) -COMP( 1986, mbeett, mbee, 0, mbeett, mbee256, mbee_state, init_mbeett, "Applied Technology", "Microbee Teleterm", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +COMP( 1986, mbeett, mbee, 0, mbeett, mbee256, mbee_state, init_mbeett, "Applied Technology", "Microbee Teleterm", MACHINE_SUPPORTS_SAVE ) COMP( 1986, mbee56, mbee, 0, mbee56, mbee, mbee_state, init_mbee56, "Applied Technology", "Microbee 56k", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) COMP( 1986, mbee128, mbee, 0, mbee128, mbee128, mbee_state, init_mbee128, "Applied Technology", "Microbee 128k Standard", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) COMP( 1986, mbee128p, mbee, 0, mbee128p, mbee128, mbee_state, init_mbee128p, "Applied Technology", "Microbee 128k Premium", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/machine/mbee.cpp b/src/mame/machine/mbee.cpp index 5990c8c17ce..aac736ed3d1 100644 --- a/src/mame/machine/mbee.cpp +++ b/src/mame/machine/mbee.cpp @@ -163,7 +163,8 @@ TIMER_DEVICE_CALLBACK_MEMBER( mbee_state::newkb_timer ) // put it in the queue uint8_t code = (i << 3) | j | (BIT(pressed, j) ? 0x80 : 0); m_newkb_q[m_newkb_q_pos] = code; - if (m_newkb_q_pos < 19) m_newkb_q_pos++; + if (m_newkb_q_pos < (std::size(m_newkb_q)-1)) + m_newkb_q_pos++; } } m_newkb_was_pressed[i] = pressed; @@ -184,11 +185,13 @@ uint8_t mbee_state::port18_r() if (m_newkb_q_pos) { - m_newkb_q_pos--; for (i = 0; i < m_newkb_q_pos; i++) m_newkb_q[i] = m_newkb_q[i+1]; // ripple queue + m_newkb_q[m_newkb_q_pos] = 0; + m_newkb_q_pos--; } m_b2 = 0; // clear irq + m_pio->port_b_write(pio_port_b_r()); return data; } |