uae-dap
Version:
Debug Adapter Protocol for Amiga development with FS-UAE or WinUAE
75 lines (74 loc) • 2.02 kB
TypeScript
export interface RunOptions {
/** Emulator executable binary */
bin?: string;
/** Additional CLI args to pass to emulator program. Remote debugger args are added automatically */
args: string[];
/** Directory to mount as hard drive 0 (SYS) */
mountDir?: string;
/** Callback executed on process exit */
onExit?: () => void;
}
export interface DebugOptions extends RunOptions {
serverPort: number;
remoteProgram: string;
}
export declare type EmulatorType = "fs-uae" | "winuae";
/**
* Base emulator class
*/
export declare abstract class Emulator {
/**
* Running emulator process
*/
private childProcess?;
/**
* Return default path for emulator binary for platform
*/
protected abstract defaultBin(): string;
/**
* Generated args to pass when running
*/
protected abstract runArgs(opts: RunOptions): string[];
/**
* Generated args to pass when debugging
*/
protected abstract debugArgs(opts: DebugOptions): string[];
/**
* Factory
*/
static getInstance(type: EmulatorType): Emulator;
/**
* Start emulator with remote debugger
*/
debug(opts: DebugOptions): Promise<void>;
/**
* Start emulator process
*/
run(opts: RunOptions): Promise<void>;
/**
* Check suitablity of emulator binary path
*/
protected checkBin(bin: string): boolean;
/**
* Terminate process
*/
destroy(): void;
}
/**
* FS-UAE emaultor program
*/
export declare class FsUAE extends Emulator {
protected defaultBin(): string;
protected checkBin(bin: string): boolean;
protected runArgs(opts: RunOptions): string[];
protected debugArgs(opts: DebugOptions): string[];
}
/**
* WinUAE Emulator program
*/
export declare class WinUAE extends Emulator {
protected defaultBin(): string;
protected checkBin(bin: string): boolean;
protected runArgs(opts: RunOptions): string[];
protected debugArgs(opts: DebugOptions): string[];
}