diff --git a/src/emucore/CartMVC.cxx b/src/emucore/CartMVC.cxx index 019a8d745..98cd5c372 100755 --- a/src/emucore/CartMVC.cxx +++ b/src/emucore/CartMVC.cxx @@ -58,12 +58,15 @@ class StreamReader : public Serializable bool open(string_view path) { myFile = Serializer(path, Serializer::Mode::ReadOnly); - if(myFile) - myFileSize = myFile.size(); + myFileSize = myFile ? myFile.size() : 0; return static_cast(myFile); } + bool isValid() { + return (myFileSize > 0) ? true:false; + } + void blankPartialLines(bool index) { const int colorSize = myVisibleLines * 5; if (index) @@ -1495,7 +1498,8 @@ bool MovieCart::process(uInt16 address) switch(myTitleState) { case TitleState::Display: - myTitleCycles++; + if (myStream.isValid()) + myTitleCycles++; if(myTitleCycles == TITLE_CYCLES) { stopTitleScreen();