mirror of
https://github.com/sehugg/8bitworkshop.git
synced 2025-02-16 17:30:27 +00:00
runToVsync()
This commit is contained in:
parent
657303a1f6
commit
00b91acae3
@ -89,6 +89,7 @@ export interface Platform {
|
|||||||
disassemble?(addr:number, readfn:(addr:number)=>number) : DisasmLine;
|
disassemble?(addr:number, readfn:(addr:number)=>number) : DisasmLine;
|
||||||
readAddress?(addr:number) : number;
|
readAddress?(addr:number) : number;
|
||||||
readVRAMAddress?(addr:number) : number;
|
readVRAMAddress?(addr:number) : number;
|
||||||
|
|
||||||
setFrameRate?(fps:number) : void;
|
setFrameRate?(fps:number) : void;
|
||||||
getFrameRate?() : number;
|
getFrameRate?() : number;
|
||||||
|
|
||||||
@ -108,7 +109,6 @@ export interface Platform {
|
|||||||
getOriginPC?() : number;
|
getOriginPC?() : number;
|
||||||
newCodeAnalyzer?() : CodeAnalyzer;
|
newCodeAnalyzer?() : CodeAnalyzer;
|
||||||
|
|
||||||
|
|
||||||
setRecorder?(recorder : EmuRecorder) : void;
|
setRecorder?(recorder : EmuRecorder) : void;
|
||||||
advance?(novideo? : boolean) : void;
|
advance?(novideo? : boolean) : void;
|
||||||
showHelp?(tool:string, ident?:string) : void;
|
showHelp?(tool:string, ident?:string) : void;
|
||||||
@ -218,6 +218,7 @@ export abstract class BaseDebugPlatform extends BasePlatform {
|
|||||||
debugTargetClock : number = 0;
|
debugTargetClock : number = 0;
|
||||||
debugClock : number = 0;
|
debugClock : number = 0;
|
||||||
breakpoints : BreakpointList = new BreakpointList();
|
breakpoints : BreakpointList = new BreakpointList();
|
||||||
|
frameCount : number = 0;
|
||||||
|
|
||||||
abstract getCPUState() : CpuState;
|
abstract getCPUState() : CpuState;
|
||||||
abstract readAddress(addr:number) : number;
|
abstract readAddress(addr:number) : number;
|
||||||
@ -246,6 +247,7 @@ export abstract class BaseDebugPlatform extends BasePlatform {
|
|||||||
this.debugClock = 0;
|
this.debugClock = 0;
|
||||||
this.onBreakpointHit = null;
|
this.onBreakpointHit = null;
|
||||||
this.clearBreakpoint('debug');
|
this.clearBreakpoint('debug');
|
||||||
|
this.frameCount = 0;
|
||||||
}
|
}
|
||||||
setDebugCondition(debugCond : DebugCondition) {
|
setDebugCondition(debugCond : DebugCondition) {
|
||||||
this.setBreakpoint('debug', debugCond);
|
this.setBreakpoint('debug', debugCond);
|
||||||
@ -275,6 +277,7 @@ export abstract class BaseDebugPlatform extends BasePlatform {
|
|||||||
this.debugClock = 0;
|
this.debugClock = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
this.frameCount++;
|
||||||
}
|
}
|
||||||
pollControls() {
|
pollControls() {
|
||||||
}
|
}
|
||||||
@ -355,6 +358,12 @@ export abstract class BaseDebugPlatform extends BasePlatform {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
runToVsync() {
|
||||||
|
var frame0 = this.frameCount;
|
||||||
|
this.runEval( () : boolean => {
|
||||||
|
return this.frameCount > frame0;
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
////// 6502
|
////// 6502
|
||||||
|
@ -288,3 +288,5 @@ export class ProbeRecorder implements ProbeAll {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: handle runToVsync() without erasing entire frame
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user