1#ifndef YAZE_APP_EMU_SNES_H
2#define YAZE_APP_EMU_SNES_H
8#include "absl/status/status.h"
38 cpu_.
callbacks().write_byte = [
this](uint32_t adr, uint8_t val) {
48 void Reset(
bool hard =
false);
59 uint8_t
Rread(uint32_t adr);
60 uint8_t
Read(uint32_t adr);
63 void WriteReg(uint16_t adr, uint8_t val);
64 void Write(uint32_t adr, uint8_t val);
68 void CpuWrite(uint32_t adr, uint8_t val);
73 void SetSamples(int16_t* sample_data,
int wanted_samples);
77 absl::Status
loadState(
const std::string& path);
78 absl::Status
saveState(
const std::string& path);
The Apu class represents the Audio Processing Unit (APU) of a system.
Implementation of the Memory interface for emulating memory in a SNES system.
auto mutable_cycles() -> uint64_t &
void SetSamples(int16_t *sample_data, int wanted_samples)
auto apu() const -> const Apu &
uint8_t Rread(uint32_t adr)
uint64_t dma_bytes_frame_
void RunCycles(int cycles)
auto apu_handshake_tracker() -> debug::ApuHandshakeTracker &
uint16_t port_auto_read_[4]
void WriteBBus(uint8_t adr, uint8_t val)
uint8_t CpuRead(uint32_t adr)
uint64_t vram_bytes_frame_
absl::Status saveState(const std::string &path)
void SetButtonState(int player, int button, bool pressed)
uint8_t Read(uint32_t adr)
std::vector< uint8_t > access_time
debug::ApuHandshakeTracker apu_handshake_tracker_
bool audio_only_mode() const
void Reset(bool hard=false)
uint64_t vram_bytes_frame() const
uint8_t ReadReg(uint16_t adr)
auto get_ram() -> uint8_t *
void CpuIdle(bool waiting)
void WriteReg(uint16_t adr, uint8_t val)
void CpuWrite(uint32_t adr, uint8_t val)
uint16_t multiply_result_
uint32_t next_horiz_event
uint8_t ReadBBus(uint8_t adr)
void Write(uint32_t adr, uint8_t val)
void set_audio_only_mode(bool mode)
void InitAccessTime(bool recalc)
uint16_t GetInput2State() const
void Init(const std::vector< uint8_t > &rom_data)
uint64_t dma_bytes_frame() const
bool IsAutoJoyReadEnabled() const
absl::Status LoadLegacyState(std::istream &file)
void SyncCycles(bool start, int sync_cycles)
void AccumulateDmaBytes(uint32_t bytes)
uint16_t GetInput1State() const
std::vector< uint8_t > rom_data
absl::Status loadState(const std::string &path)
auto memory() -> MemoryImpl &
void SetPixels(uint8_t *pixel_data)
void AccumulateVramBytes(uint32_t bytes)
uint16_t GetPortAutoRead(int index) const
double apu_catchup_cycles_
int GetAccessTime(uint32_t adr)
IPL ROM handshake tracker.