UNPKG

uae-dap

Version:

Debug Adapter Protocol for Amiga development with FS-UAE or WinUAE

75 lines (74 loc) 2.02 kB
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[]; }