1#ifndef YAZE_APP_EMU_MESEN_MESEN_EMULATOR_ADAPTER_H_
2#define YAZE_APP_EMU_MESEN_MESEN_EMULATOR_ADAPTER_H_
20 absl::Status
Connect(
const std::string& socket_path);
25 void Pause()
override;
27 void Reset()
override;
28 absl::Status
Step(
int count)
override;
30 absl::Status
StepOut()
override;
33 absl::Status
LoadRom(
const std::string& path)
override;
37 absl::StatusOr<uint8_t>
ReadByte(uint32_t addr)
override;
38 absl::StatusOr<std::vector<uint8_t>>
ReadBlock(uint32_t addr,
40 absl::Status
WriteByte(uint32_t addr, uint8_t val)
override;
42 const std::vector<uint8_t>& data)
override;
55 const std::string& condition,
56 const std::string& description)
override;
58 absl::Status
ToggleBreakpoint(uint32_t breakpoint_id,
bool enabled)
override;
66 absl::Status
SaveState(
int slot)
override;
67 absl::Status
LoadState(
int slot)
override;
76 std::unique_ptr<MesenSocketClient>
client_;
Abstract interface for emulator backends (Internal vs Mesen2)
absl::Status ReleaseButton(InputButton button) override
bool SupportsFeature(EmulatorFeature feature) const override
absl::Status GetGameState(GameSnapshot *out_state) override
std::unique_ptr< MesenSocketClient > client_
std::string GetLoadedRomPath() const override
absl::Status GetCpuState(CpuStateSnapshot *out_state) override
absl::StatusOr< uint8_t > ReadByte(uint32_t addr) override
absl::Status PressButton(InputButton button) override
absl::StatusOr< std::vector< uint8_t > > ReadBlock(uint32_t addr, size_t len) override
bool IsRunning() const override
absl::Status SetCollisionOverlay(bool enable) override
absl::Status WriteBlock(uint32_t addr, const std::vector< uint8_t > &data) override
absl::Status Step(int count) override
~MesenEmulatorAdapter() override
std::vector< BreakpointSnapshot > ListBreakpoints() override
absl::Status StepOver() override
absl::Status LoadState(int slot) override
absl::StatusOr< uint32_t > AddBreakpoint(uint32_t addr, BreakpointKind type, CpuKind cpu, const std::string &condition, const std::string &description) override
absl::Status ToggleBreakpoint(uint32_t breakpoint_id, bool enabled) override
absl::Status WriteByte(uint32_t addr, uint8_t val) override
absl::Status RemoveBreakpoint(uint32_t breakpoint_id) override
absl::Status Connect()
Explicitly connect to a Mesen2 socket (replaces auto-connect).
absl::Status StepOut() override
bool IsConnected() const override
absl::Status LoadRom(const std::string &path) override
absl::Status RunToBreakpoint(BreakpointHitResult *response) override
absl::Status SaveState(int slot) override
EmulatorFeature
Features that emulator backends may optionally support. Use with IEmulator::SupportsFeature() to quer...