2018-07-08 04:58:11 +00:00
|
|
|
|
|
|
|
export interface OpcodeMetadata {
|
|
|
|
minCycles: number;
|
|
|
|
// TODO
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface Platform {
|
|
|
|
start() : void;
|
|
|
|
reset() : void;
|
|
|
|
isRunning() : boolean;
|
|
|
|
getToolForFilename(s:string) : string;
|
|
|
|
getDefaultExtension() : string;
|
|
|
|
getPresets() : Preset[];
|
|
|
|
pause() : void;
|
|
|
|
resume() : void;
|
2018-07-10 01:46:45 +00:00
|
|
|
loadROM(title:string, rom:any); // TODO: Uint8Array
|
2018-07-08 04:58:11 +00:00
|
|
|
|
|
|
|
inspect?(ident:string) : void;
|
|
|
|
disassemble?(addr:number, readfn:(addr:number)=>number) : any; // TODO
|
|
|
|
readAddress?(addr:number) : number;
|
|
|
|
setFrameRate?(fps:number) : void;
|
|
|
|
getFrameRate?() : number;
|
|
|
|
cpuStateToLongString?(state) : string;
|
|
|
|
ramStateToLongString?(state) : string;
|
|
|
|
getRasterPosition() : {x:number, y:number};
|
|
|
|
setupDebug?(debugfn : (state)=>void) : void;
|
|
|
|
clearDebug?() : void;
|
|
|
|
step?() : void;
|
|
|
|
runToVsync?() : void;
|
|
|
|
runToPC?(pc:number) : void;
|
|
|
|
runUntilReturn?() : void;
|
|
|
|
stepBack?() : void;
|
|
|
|
//TODO runEval?(evalfn : (cpustate) => boolean) : void;
|
|
|
|
runEval?(evalfn : Function) : void;
|
|
|
|
|
|
|
|
getOpcodeMetadata?(opcode:number, offset:number) : OpcodeMetadata; //TODO
|
|
|
|
saveState?() : any; // TODO
|
|
|
|
getDebugCallback?() : any; // TODO
|
|
|
|
getSP?() : number;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface Preset {
|
|
|
|
id : string;
|
|
|
|
name : string;
|
|
|
|
chapter? : number;
|
|
|
|
title? : string;
|
|
|
|
}
|
|
|
|
|