A class for emulating and debugging SNES games. More...
#include <emulator.h>
Classes | |
struct | Bookmark |
Public Member Functions | |
Emulator () | |
void | Run () |
auto | snes () -> Snes & |
auto | running () const -> bool |
void | set_audio_buffer (int16_t *audio_buffer) |
auto | set_audio_device_id (SDL_AudioDeviceID audio_device) |
auto | wanted_samples () const -> int |
Public Member Functions inherited from yaze::SharedRom | |
SharedRom ()=default | |
virtual | ~SharedRom ()=default |
std::shared_ptr< Rom > | shared_rom () |
auto | rom () |
Private Member Functions | |
void | RenderNavBar () |
void | HandleEvents () |
void | RenderSnesPpu () |
void | RenderBreakpointList () |
void | RenderMemoryViewer () |
void | RenderCpuInstructionLog (const std::vector< InstructionEntry > &instructionLog) |
Private Attributes | |
std::vector< Bookmark > | bookmarks |
bool | step_ = true |
bool | power_ = false |
bool | loading_ = false |
bool | running_ = false |
bool | turbo_mode_ = false |
float | wanted_frames_ |
int | wanted_samples_ |
uint8_t | manual_pb_ = 0 |
uint16_t | manual_pc_ = 0 |
uint64_t | count_frequency |
uint64_t | last_count |
float | time_adder = 0.0 |
int16_t * | audio_buffer_ |
SDL_AudioDeviceID | audio_device_ |
Snes | snes_ |
SDL_Texture * | ppu_texture_ |
std::vector< uint8_t > | rom_data_ |
EmulatorKeybindings | keybindings_ |
gui::zeml::Node | emulator_node_ |
Additional Inherited Members | |
Static Public Attributes inherited from yaze::SharedRom | |
static std::shared_ptr< Rom > | shared_rom_ = nullptr |
A class for emulating and debugging SNES games.
Definition at line 39 of file emulator.h.
|
inline |
Definition at line 41 of file emulator.h.
References emulator_node_, yaze::gui::zeml::Parse(), and snes_.
void yaze::emu::Emulator::Run | ( | ) |
Definition at line 49 of file emulator.cc.
References audio_buffer_, audio_device_, count_frequency, emulator_node_, yaze::core::Renderer::GetInstance(), HandleEvents(), last_count, ppu_texture_, yaze::gui::zeml::Render(), RenderNavBar(), yaze::SharedRom::rom(), rom_data_, running_, snes_, time_adder, turbo_mode_, wanted_frames_, and wanted_samples_.
|
inline |
Definition at line 111 of file emulator.h.
References snes_.
|
inline |
Definition at line 112 of file emulator.h.
References running_.
|
inline |
Definition at line 113 of file emulator.h.
References audio_buffer_.
|
inline |
Definition at line 114 of file emulator.h.
References audio_device_.
|
inline |
Definition at line 117 of file emulator.h.
References wanted_samples_.
|
private |
Definition at line 134 of file emulator.cc.
References ICON_MD_INFO, ICON_MD_MEMORY, ICON_MD_PAUSE, ICON_MD_PLAY_ARROW, ICON_MD_REFRESH, ICON_MD_SAVE, ICON_MD_SETTINGS, ICON_MD_SKIP_NEXT, ICON_MD_STOP, ICON_MD_SYSTEM_UPDATE_ALT, yaze::gui::zeml::Parse(), yaze::gui::zeml::Render(), RenderMemoryViewer(), rom_data_, running_, yaze::core::FileDialogWrapper::ShowOpenFileDialog(), snes_, and turbo_mode_.
Referenced by Run().
|
private |
Definition at line 259 of file emulator.cc.
References keybindings_, and snes_.
Referenced by Run().
|
private |
Definition at line 111 of file emulator.cc.
References ppu_texture_, and snes_.
|
private |
Definition at line 358 of file emulator.cc.
References yaze::gui::InputHexByte(), yaze::gui::InputHexWord(), manual_pb_, manual_pc_, and snes_.
|
private |
Definition at line 420 of file emulator.cc.
References bookmarks, ICON_MD_STAR, yaze::gui::InputHex(), and snes_.
Referenced by RenderNavBar().
|
private |
Definition at line 503 of file emulator.cc.
References opcode_to_mnemonic.
|
private |
Definition at line 131 of file emulator.h.
Referenced by RenderMemoryViewer().
|
private |
Definition at line 136 of file emulator.h.
|
private |
Definition at line 137 of file emulator.h.
|
private |
Definition at line 138 of file emulator.h.
|
private |
Definition at line 139 of file emulator.h.
Referenced by RenderNavBar(), Run(), and running().
|
private |
Definition at line 140 of file emulator.h.
Referenced by RenderNavBar(), and Run().
|
private |
Definition at line 142 of file emulator.h.
Referenced by Run().
|
private |
Definition at line 143 of file emulator.h.
Referenced by Run(), and wanted_samples().
|
private |
Definition at line 145 of file emulator.h.
Referenced by RenderBreakpointList().
|
private |
Definition at line 146 of file emulator.h.
Referenced by RenderBreakpointList().
|
private |
Definition at line 149 of file emulator.h.
Referenced by Run().
|
private |
Definition at line 150 of file emulator.h.
Referenced by Run().
|
private |
Definition at line 151 of file emulator.h.
Referenced by Run().
|
private |
Definition at line 153 of file emulator.h.
Referenced by Run(), and set_audio_buffer().
|
private |
Definition at line 154 of file emulator.h.
Referenced by Run(), and set_audio_device_id().
|
private |
Definition at line 156 of file emulator.h.
Referenced by Emulator(), HandleEvents(), RenderBreakpointList(), RenderMemoryViewer(), RenderNavBar(), RenderSnesPpu(), Run(), and snes().
|
private |
Definition at line 157 of file emulator.h.
Referenced by RenderSnesPpu(), and Run().
|
private |
Definition at line 159 of file emulator.h.
Referenced by RenderNavBar(), and Run().
|
private |
Definition at line 161 of file emulator.h.
Referenced by HandleEvents().
|
private |
Definition at line 163 of file emulator.h.
Referenced by Emulator(), and Run().