mirror of
https://github.com/sehugg/8bitworkshop.git
synced 2024-06-17 03:29:55 +00:00
49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
|
|
||
|
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;
|
||
|
loadROM(title:string, rom:Uint8Array);
|
||
|
|
||
|
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;
|
||
|
}
|
||
|
|