summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatarGravatar Robbbert <Robbbert@users.noreply.github.com>2019-07-16 21:51:30 +1000
committerGravatarGravatar Robbbert <Robbbert@users.noreply.github.com>2019-07-16 21:51:30 +1000
commit09e733878d74041622d53d1bd51e66ff114607ff (patch) (github)
tree107536408faf46fc57c2e6aa6715f35bda3960bb
parent2d8207f9178b01f45fec6c08ffd35bc7dafa5772 (diff)
downloadmame-09e733878d74041622d53d1bd51e66ff114607ff.tar.bz2
mame-09e733878d74041622d53d1bd51e66ff114607ff.zip
(nw) binbug: fix it so you can save without console going crazy
-rw-r--r--src/mame/drivers/binbug.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/mame/drivers/binbug.cpp b/src/mame/drivers/binbug.cpp
index d8d00b8849a..1708f5db5f1 100644
--- a/src/mame/drivers/binbug.cpp
+++ b/src/mame/drivers/binbug.cpp
@@ -41,12 +41,9 @@
Status:
- DG640 is completely emulated, even though BINBUG doesn't use most
of its features.
- - BINBUG works except that the cassette interface isn't the same as
- real hardware. But you can save, and load it back.
ToDo:
- Need dumps of 4.4 and 5.2.
- - Fix cassette
****************************************************************************/
@@ -119,6 +116,9 @@ WRITE8_MEMBER( binbug_state::binbug_ctrl_w )
WRITE_LINE_MEMBER( binbug_state::kansas_w )
{
+ if ((m_cass->get_state() & CASSETTE_MASK_UISTATE) != CASSETTE_RECORD)
+ return;
+
u8 twobit = m_cass_data[3] & 15;
if (state)
@@ -145,6 +145,9 @@ TIMER_DEVICE_CALLBACK_MEMBER( binbug_state::kansas_r )
m_cassinbit = 1;
}
+ if ((m_cass->get_state() & CASSETTE_MASK_UISTATE) != CASSETTE_PLAY)
+ return;
+
/* cassette - turn 1200/2400Hz to a bit */
uint8_t cass_ws = (m_cass->input() > +0.04) ? 1 : 0;
@@ -165,7 +168,6 @@ READ_LINE_MEMBER( binbug_state::binbug_serial_r )
WRITE_LINE_MEMBER( binbug_state::binbug_serial_w )
{
- m_cassinbit = 1;
m_cassoutbit = state;
}
@@ -470,8 +472,6 @@ ToDo:
- dips
- leds
- need schematic to find out what else is missing
-- cassette
-- ctc / clock
*/