--- a/src/dreamcast.c Mon Jun 16 10:58:41 2008 +0000 +++ b/src/dreamcast.c Sun Jul 06 04:52:37 2008 +0000 @@ -220,7 +220,10 @@ void dreamcast_shutdown() { - dreamcast_stop(); + // Don't do a dreamcast_stop - if we're calling this out of SH4 code, + // it's a shutdown-and-quit event + if( dreamcast_state == STATE_RUNNING ) + dreamcast_state = STATE_STOPPING; dreamcast_save_flash(); #ifdef ENABLE_SH4STATS sh4_stats_print(stdout);