Fixed some 'dirty rectangle' issues when switching between scanline

advance and frame advance.  There are still some issues though.
Specifically, scanline advancing past the end of the frame shouldn't
be allowed, and this is partially causing the problems with frame
'jumping' when doing a scanline advance after a frame advance.

Still TODO is add some visual cue to indicate which scanline is
being drawn, and which onscreen data is 'old' data.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@660 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2005-07-16 21:29:46 +00:00
parent 3a49da3b6c
commit 2824c317a3
2 changed files with 5 additions and 3 deletions

View File

@ -13,7 +13,7 @@
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: Debugger.cxx,v 1.66 2005-07-15 18:19:28 stephena Exp $
// $Id: Debugger.cxx,v 1.67 2005-07-16 21:29:44 stephena Exp $
//============================================================================
#include "bspf.hxx"
@ -641,6 +641,7 @@ void Debugger::nextScanline(int lines) {
// myTiaDebug->clearTIA();
myOSystem->frameBuffer().advanceScanline(lines);
myOSystem->frameBuffer().refreshTIA();
mySystem->lockDataBus();
}
@ -650,6 +651,7 @@ void Debugger::nextFrame(int frames) {
saveOldState();
mySystem->unlockDataBus();
myOSystem->frameBuffer().advance(frames);
myOSystem->frameBuffer().refreshTIA();
mySystem->lockDataBus();
}

View File

@ -13,7 +13,7 @@
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: DebuggerDialog.cxx,v 1.24 2005-07-15 15:27:29 stephena Exp $
// $Id: DebuggerDialog.cxx,v 1.25 2005-07-16 21:29:46 stephena Exp $
//
// Based on code from ScummVM - Scumm Interpreter
// Copyright (C) 2002-2004 The ScummVM project
@ -95,7 +95,7 @@ DebuggerDialog::DebuggerDialog(OSystem* osystem, DialogContainer* parent,
yoff += 22;
addButton(vWidth + 10, yoff, "Trace", kDDTraceCmd, 0);
yoff += 22;
addButton(vWidth + 10, yoff, "Scanline +1", kDDSAdvCmd, 0);
addButton(vWidth + 10, yoff, "Scan +1", kDDSAdvCmd, 0);
yoff += 22;
addButton(vWidth + 10, yoff, "Frame +1", kDDAdvCmd, 0);