1#ifndef YAZE_APP_CORE_EMULATOR_H
2#define YAZE_APP_CORE_EMULATOR_H
44 const std::vector<uint8_t>& rom_data);
134 return snes_.
cpu().GetBreakpoints();
149 .audio_frames_queued =
188 const std::vector<InstructionEntry>& instructionLog);
227 uint64_t dma_bytes, uint64_t vram_bytes,
228 float audio_rms_left,
float audio_rms_right);
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Central registry for all editor cards with session awareness and dependency injection.
Manages CPU and SPC700 breakpoints for debugging.
A class for emulating and debugging SNES games.
std::array< float, kMetricHistorySize > audio_queue_history_
gfx::IRenderer * renderer()
void Initialize(gfx::IRenderer *renderer, const std::vector< uint8_t > &rom_data)
BreakpointManager & breakpoint_manager()
void RenderModernCpuDebugger()
std::unique_ptr< audio::IAudioBackend > audio_backend_
auto wanted_samples() const -> int
bool is_debugging() const
std::vector< float > FrameTimeHistory() const
void set_turbo_mode(bool turbo)
bool is_initialized() const
void set_input_config_changed_callback(std::function< void(const input::InputConfig &)> callback)
void SetInputConfig(const input::InputConfig &config)
std::array< float, kMetricHistorySize > vram_bytes_history_
bool IsEmulatorReady() const
int metric_history_count_
bool audio_stream_env_checked_
static constexpr int kMetricHistorySize
void set_use_sdl_audio_stream(bool enabled)
auto wanted_frames() const -> float
double GetCurrentFPS() const
std::vector< float > RomBankFreeBytes() const
void set_debugging(bool debugging)
std::array< float, kMetricHistorySize > audio_rms_left_history_
void set_audio_buffer(int16_t *audio_buffer)
std::vector< float > AudioRmsRightHistory() const
bool is_audio_focus_mode() const
void RenderMemoryViewer()
audio::IAudioBackend * external_audio_backend_
void SetBreakpoint(uint32_t address)
bool audio_stream_config_dirty_
void set_renderer(gfx::IRenderer *renderer)
std::array< float, kMetricHistorySize > frame_time_history_
uint64_t GetCurrentCycle()
void set_interpolation_type(int type)
bool use_sdl_audio_stream_
std::vector< float > VramBytesHistory() const
std::array< float, kMetricHistorySize > fps_history_
std::vector< float > AudioQueueHistory() const
void RenderKeyboardConfig()
std::vector< float > DmaBytesHistory() const
void SetExternalAudioBackend(audio::IAudioBackend *backend)
debug::DisassemblyViewer disassembly_viewer_
std::function< void(const input::InputConfig &) input_config_changed_callback_)
bool use_sdl_audio_stream() const
void PushFrameMetrics(float frame_ms, uint32_t audio_frames, uint64_t dma_bytes, uint64_t vram_bytes, float audio_rms_left, float audio_rms_right)
void StepSingleInstruction()
std::vector< uint8_t > rom_data_
auto set_audio_device_id(SDL_AudioDeviceID audio_device)
bool audio_stream_active_
input::InputManager & input_manager()
void RenderPerformanceMonitor()
bool EnsureInitialized(Rom *rom)
bool is_turbo_mode() const
debug::DisassemblyViewer & disassembly_viewer()
void RenderAIAgentPanel()
input::InputConfig input_config_
void RenderBreakpointList()
BreakpointManager breakpoint_manager_
editor::PanelManager * panel_manager_
std::vector< float > FpsHistory() const
void set_audio_focus_mode(bool focus)
std::vector< Bookmark > bookmarks
input::InputManager input_manager_
std::array< float, kMetricHistorySize > audio_rms_right_history_
void set_running(bool running)
SDL_AudioDeviceID audio_device_
bool is_snes_initialized() const
void RenderCpuInstructionLog(const std::vector< InstructionEntry > &instructionLog)
std::vector< float > AudioRmsLeftHistory() const
void ClearAllBreakpoints()
audio::IAudioBackend * audio_backend()
std::array< float, kMetricHistorySize > dma_bytes_history_
auto running() const -> bool
void mark_audio_stream_configured()
void RenderEmulatorInterface()
EmulatorMetrics GetMetrics()
gfx::IRenderer * renderer_
void set_panel_manager(editor::PanelManager *manager)
int get_interpolation_type() const
std::vector< uint32_t > GetBreakpoints()
auto mutable_cycles() -> uint64_t &
Abstract audio backend interface.
Advanced disassembly viewer with sparse storage and interactive features.
Defines an abstract interface for all rendering operations.
uint32_t audio_frames_queued