From e50e22bd145461dc1b54555f80e05c3def4bddbd Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Wed, 15 Feb 2012 11:34:49 +0000 Subject: [PATCH] Making sure tape stops at end when playing (Apple1 for example), patch by Robbbert (no whatsnew) --- src/emu/imagedev/cassette.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/emu/imagedev/cassette.c b/src/emu/imagedev/cassette.c index 5cc73dd2f2b..8d56985c5f3 100644 --- a/src/emu/imagedev/cassette.c +++ b/src/emu/imagedev/cassette.c @@ -384,4 +384,17 @@ void cassette_image_device::call_display() /* draw the cassette */ ui_draw_text_box(&device().machine().render().ui_container(), buf, JUSTIFY_LEFT, x, y, UI_BACKGROUND_COLOR); + + // make sure tape stops at end when playing + if ((m_state & CASSETTE_MASK_UISTATE) == CASSETTE_PLAY) + { + if ( m_cassette ) + { + if (position > length) + { + m_state = (cassette_state)(( m_state & ~CASSETTE_MASK_UISTATE ) | CASSETTE_STOPPED); + position = length; + } + } + } }