cloudpilot
    Preparing search index...

    Interface Emulator

    The main emulator interface. Most methods that interact with the emulator are async and should be awaited.

    interface Emulator {
        powerOffChangeEvent: Event<boolean>;
        isUiInitializedChangeEvent: Event<boolean>;
        audioInitializedEvent: Event<void>;
        timesliceEvent: Event<void>;
        hotsyncNameChangeEvent: Event<string>;
        gameModeChangeEvent: Event<boolean>;
        loadRom(
            rom: Uint8Array,
            nand?: Uint8Array<ArrayBufferLike>,
            deviceId?: DeviceId,
        ): Promise<void>;
        loadSession(session: Uint8Array): Promise<void>;
        insertCompressedCardImage(cardImage: Uint8Array): Promise<void>;
        insertCardImage(cardImage: Uint8Array): Promise<void>;
        ejectCard(): Promise<void>;
        isCardMounted(): Promise<boolean>;
        setCanvas(canvas: HTMLCanvasElement): void;
        bindInput(keyboardTarget?: EventTarget): void;
        releaseInput(): void;
        installDatabase(file: Uint8Array): Promise<void>;
        installAndLaunchDatabase(file: Uint8Array): Promise<void>;
        installFromZipfile(file: Uint8Array): Promise<void>;
        installFromZipfileAndLaunch(
            file: Uint8Array,
            launchFile: string,
        ): Promise<void>;
        launchByName(name: string): Promise<void>;
        launchDatabase(database: Uint8Array): Promise<void>;
        reset(): Promise<void>;
        resetNoExtensions(): Promise<void>;
        resetHard(): Promise<void>;
        isRunning(): Promise<boolean>;
        isPowerOff(): Promise<boolean>;
        isUiInitialized(): Promise<boolean>;
        resume(): Promise<void>;
        pause(): Promise<void>;
        buttonDown(button: Button): void;
        buttonUp(button: Button): void;
        setSpeed(speed: number): void;
        getSpeed(): number;
        setVolume(volume: number): void;
        getVolume(): number;
        setDisablePcmAudio(disablePcmAudio: boolean): void;
        getDisablePcmAudio(): boolean;
        setMaxHostLoad(maxHostLoad: number): void;
        getMaxHostLoad(): number;
        setDisableDpad(disableDpad: boolean): void;
        getDisableDpad(): boolean;
        initializeAudio(): Promise<boolean>;
        isAudioInitialized(): boolean;
        setGameMode(gameModeActive: boolean): void;
        isGameMode(): boolean;
        setGameModeHotkeyEnabled(enableGamemodeHotkey: boolean): void;
        isGameModeHotkeyEnabled(): boolean;
        setGameModeIndicatorEnabled(gameModeIndicatorEnabled: boolean): void;
        isGameModeIndicatorEnabled(): boolean;
        setOrientation(orientation: DeviceOrientation): void;
        getOrientation(): DeviceOrientation;
        setHotsyncName(hotsyncName: undefined | string): Promise<void>;
        getHotsyncName(): Promise<undefined | string>;
        setRunHidden(toggle: boolean): void;
        getRunHidden(): boolean;
        getStatistics(): undefined | EmulationStatistics;
        getSerialPortIR(): undefined | SerialPort;
        getSerialPortSerial(): undefined | SerialPort;
    }
    Index

    Properties

    powerOffChangeEvent: Event<boolean>

    Fires when the device turns on or off.

    isUiInitializedChangeEvent: Event<boolean>

    Fires when PalmOS resets or passed UI initialization during boot.

    audioInitializedEvent: Event<void>

    Fires when audio is initializd successfully.

    timesliceEvent: Event<void>

    Fires after each emulated timeslice (typically 60 times per second)

    hotsyncNameChangeEvent: Event<string>

    Fires when the hotsync name changes. This does not happen immediatelly when setHotsyncName is called, but only when the OS is notified of the new name.

    gameModeChangeEvent: Event<boolean>

    Fires if game mode is enabled or disabled.

    Methods

    • Load a ROM and put the emulator in paused state.

      Parameters

      • rom: Uint8Array

        Device ROM

      • Optionalnand: Uint8Array<ArrayBufferLike>

        Device NAND. OS5 devices only.

      • OptionaldeviceId: DeviceId

        Optional: device ID, autodetected if not specified

      Returns Promise<void>

    • Load a Cloudpilot session and put the emulator in paused state.

      Parameters

      • session: Uint8Array

        Session image

      Returns Promise<void>

    • Attach and mount a gzip compressed card image.

      Parameters

      • cardImage: Uint8Array

        Gzip compressed image data

      Returns Promise<void>

    • Attach and mount a plain card image.

      Parameters

      • cardImage: Uint8Array

        Image data

      Returns Promise<void>

    • Check whether a card is currently mounted.

      Returns Promise<boolean>

    • Configure the canvas element used for displaying the emulator.

      Parameters

      • canvas: HTMLCanvasElement

        Canvas for displaying the emulator

      Returns void

    • Receive input events from the specified sources. If this method is called multiple times the previous sources will be unbound.

      Parameters

      • OptionalkeyboardTarget: EventTarget

        Optional: target for keyboard events, default: window

      Returns void

    • Install a prc or pdb database to the device.

      Parameters

      • file: Uint8Array

        The database data.

      Returns Promise<void>

    • Install a prc database to the device and attempt to launch it.

      Parameters

      • file: Uint8Array

        The database data.

      Returns Promise<void>

    • Extract all databases from a zip archive and install them.

      Parameters

      • file: Uint8Array

        The zip archive data.

      Returns Promise<void>

    • Extract all databases from a zip archive and install them, then attempt to launch the specified file.

      Parameters

      • file: Uint8Array

        The zip archive data.

      • launchFile: string

        The file name of the database that Cloudpilot will try to launch.

      Returns Promise<void>

    • Attempt to launch the database with the specified name.

      Parameters

      • name: string

        Database name

      Returns Promise<void>

    • Attempt to extract the name from a database and launch it.

      Parameters

      • database: Uint8Array

        Database data (only the first 32 bytes are required)

      Returns Promise<void>

    • Perform a soft reset (equivalent of pushing the reset button).

      Returns Promise<void>

    • Reset w/o system extensions (equivalent to holding "down" while pushing the reset button).

      Returns Promise<void>

    • Hard reset (equivalent to holding "power" while pushing the reset button).

      Returns Promise<void>

    • Has the emulated device passed UI initialization (during boot)? This is required before software can be installed.

      Returns Promise<boolean>

    • Adjust speed of the emulated device.

      Parameters

      • speed: number

        Speed factor

      Returns void

    • Set audio volume.

      Parameters

      • volume: number

        Volume (1 = 100%, 0 = silent)

      Returns void

    • Disable PCM audio on OS5. This will improve emulation speed (by freeing cycles that would be used to generate audio) but may lead to * compatibility issues with some apps.

      Parameters

      • disablePcmAudio: boolean

        Disable / enable PCM audio

      Returns void

    • Set the maximum host load. This applies to OS5 emulation only.

      Parameters

      • maxHostLoad: number

        Maximum host load (1 = full core)

      Returns void

    • Disable the full d-pad on devices that support it.

      Parameters

      • disableDpad: boolean

        Disable / enable d-pad

      Returns void

    • Initialize audio. This must be called from an event handler that was triggered by a user interaction, i.e. a click or a key press.

      Returns Promise<boolean>

    • Enable or disable game mode (direct key mapping to hardware buttons).

      Parameters

      • gameModeActive: boolean

        Desired state

      Returns void

    • Enable or disable shift-ctrl for toggling game mode (enabled by default).

      Parameters

      • enableGamemodeHotkey: boolean

        Desired state

      Returns void

    • Enable or disable game mode indicator (overlays hard buttons if game mode is active)? Enabled by default.

      Parameters

      • gameModeIndicatorEnabled: boolean

        Desired state

      Returns void

    • Set hotsync name.

      Parameters

      • hotsyncName: undefined | string

        Desired hotsync name

      Returns Promise<void>

    • Keep running if the emulator tab is not visible?

      Parameters

      • toggle: boolean

        Desired state

      Returns void