SNES Emulation and debugging tools. More...
Namespaces | |
namespace | anonymous_namespace{emulator.cc} |
namespace | anonymous_namespace{snes.cc} |
Classes | |
class | Apu |
The Apu class represents the Audio Processing Unit (APU) of a system. More... | |
struct | ApuCallbacks |
class | AsmParser |
class | AudioRam |
AudioRam is an interface for the Audio RAM used by the SPC700. More... | |
class | AudioRamImpl |
AudioRamImpl is an implementation of the AudioRam interface. More... | |
struct | BackgroundLayer |
struct | BGHOFS |
struct | BgLayer |
struct | BGMODE |
struct | BGNBA |
struct | BGSC |
struct | BGVOFS |
struct | CGADD |
struct | CGADSUB |
struct | CGDATA |
struct | CGDATAREAD |
struct | CGWSEL |
struct | CharacterLocation |
struct | COLDATA |
struct | Color |
struct | CounterIrqNmiRegisters |
class | Cpu |
struct | CpuCallbacks |
struct | DmaChannel |
struct | DmaRegisters |
class | Dsp |
struct | DspChannel |
class | Emulator |
A class for emulating and debugging SNES games. More... | |
struct | EmulatorKeybindings |
struct | INIDISP |
struct | Input |
class | InstructionEntry |
struct | JoypadRegisters |
struct | Layer |
struct | M7A |
struct | M7B |
struct | M7C |
struct | M7D |
struct | M7SEL |
struct | M7X |
struct | M7Y |
struct | MainSubScreenDesignation |
struct | MaskLogicSettings |
class | Memory |
Memory interface. More... | |
class | MemoryImpl |
Implementation of the Memory interface for emulating memory in a SNES system. More... | |
struct | MnemonicMode |
struct | MnemonicModeHash |
class | MockMemory |
A mock implementation of the Memory class. More... | |
struct | Mosaic |
struct | MPYH |
struct | MPYL |
struct | MPYM |
struct | OAMADDH |
struct | OAMADDL |
struct | OAMAddress |
struct | OAMDATA |
struct | OAMDATAREAD |
struct | OAMSize |
struct | OBJSEL |
struct | OPHCT |
struct | OPVCT |
class | Ppu |
class | PpuInterface |
struct | ScreenDisplay |
struct | ScreenMode |
struct | ScrollRegister |
struct | SETINI |
struct | SLHV |
class | Snes |
class | Spc700 |
The Spc700 class represents the SPC700 processor. More... | |
struct | SpriteAttributes |
struct | STAT77 |
struct | STAT78 |
struct | Tile |
struct | Tilemap |
struct | TilemapEntry |
struct | TileMapLocation |
struct | Timer |
struct | TM |
struct | TMW |
struct | TS |
struct | TSW |
struct | VideoPortControl |
struct | VMADDH |
struct | VMADDL |
struct | VMAIN |
struct | VMDATA |
struct | VMDATAHREAD |
struct | VMDATALREAD |
struct | W12SEL |
struct | W34SEL |
struct | WBGLOG |
struct | WH0 |
struct | WH1 |
struct | WH2 |
struct | WH3 |
struct | WindowLayer |
struct | WindowMaskSettings |
struct | WindowMaskSettings2 |
struct | WindowPosition |
struct | WOBJLOG |
struct | WOBJSEL |
struct | WramAccessRegisters |
Typedefs | |
typedef struct yaze::emu::Timer | Timer |
typedef struct yaze::emu::DspChannel | DspChannel |
typedef struct yaze::emu::ApuCallbacks | ApuCallbacks |
typedef struct yaze::emu::DmaChannel | DmaChannel |
typedef struct yaze::emu::CpuCallbacks | CpuCallbacks |
typedef struct yaze::emu::Layer | Layer |
typedef struct yaze::emu::BgLayer | BgLayer |
typedef struct yaze::emu::WindowLayer | WindowLayer |
Enumerations | |
enum class | AddressingMode { kAbsolute , kAbsoluteLong , kAbsoluteIndexedIndirect , kAbsoluteIndexedX , kAbsoluteIndexedY , kAbsoluteIndirect , kAbsoluteIndirectLong , kAbsoluteLongIndexedX , kAccumulator , kBlockMove , kDirectPage , kDirectPageIndexedX , kDirectPageIndexedY , kDirectPageIndirect , kDirectPageIndirectIndexedY , kDirectPageIndirectLong , kDirectPageIndirectLongIndexedY , kDirectPageIndirectIndexedX , kDirectPageIndirectLongIndexedX , kImmediate , kImplied , kProgramCounterRelative , kProgramCounterRelativeLong , kStackRelative , kStackRelativeIndirectIndexedY , kStackRelativeIndirectIndexedYLong , kStack , kStackRelativeIndexedY } |
enum class | BackgroundMode { Mode0 , Mode1 , Mode2 , Mode3 , Mode4 , Mode5 , Mode6 , Mode7 } |
enum class | SpriteSize { Size8x8 , Size16x16 , Size32x32 , Size64x64 } |
Functions | |
void | ResetDma (MemoryImpl *memory) |
uint8_t | ReadDma (MemoryImpl *memory, uint16_t adr) |
void | WriteDma (MemoryImpl *memory, uint16_t adr, uint8_t val) |
void | DoDma (Snes *snes, MemoryImpl *memory, int cpuCycles) |
void | HandleDma (Snes *snes, MemoryImpl *memory, int cpu_cycles) |
void | WaitCycle (Snes *snes, MemoryImpl *memory) |
void | InitHdma (Snes *snes, MemoryImpl *memory, bool do_sync, int cpu_cycles) |
void | DoHdma (Snes *snes, MemoryImpl *memory, bool do_sync, int cycles) |
void | TransferByte (Snes *snes, MemoryImpl *memory, uint16_t aAdr, uint8_t aBank, uint8_t bAdr, bool fromB) |
void | StartDma (MemoryImpl *memory, uint8_t val, bool hdma) |
Variables | |
constexpr uint32_t | kROMStart = 0x008000 |
constexpr uint32_t | kROMSize = 0x200000 |
constexpr uint32_t | kRAMStart = 0x7E0000 |
constexpr uint32_t | kRAMSize = 0x20000 |
constexpr uint16_t | INIDISP = 0x2100 |
constexpr uint16_t | OBJSEL = 0x2101 |
constexpr uint16_t | OAMADDL = 0x2102 |
constexpr uint16_t | OAMADDH = 0x2103 |
constexpr uint16_t | OAMDATA = 0x2104 |
constexpr uint16_t | BGMODE = 0x2105 |
constexpr uint16_t | MOSAIC = 0x2106 |
constexpr uint16_t | BG1SC = 0x2107 |
constexpr uint16_t | BG2SC = 0x2108 |
constexpr uint16_t | BG3SC = 0x2109 |
constexpr uint16_t | BG4SC = 0x210A |
constexpr uint16_t | BG12NBA = 0x210B |
constexpr uint16_t | BG34NBA = 0x210C |
constexpr uint16_t | BG1HOFS = 0x210D |
constexpr uint16_t | BG1VOFS = 0x210E |
constexpr uint16_t | BG2HOFS = 0x210F |
constexpr uint16_t | BG2VOFS = 0x2110 |
constexpr uint16_t | BG3HOFS = 0x2111 |
constexpr uint16_t | BG3VOFS = 0x2112 |
constexpr uint16_t | BG4HOFS = 0x2113 |
constexpr uint16_t | BG4VOFS = 0x2114 |
constexpr uint16_t | VMAIN = 0x2115 |
constexpr uint16_t | VMADDL = 0x2116 |
constexpr uint16_t | VMADDH = 0x2117 |
constexpr uint16_t | VMDATAL = 0x2118 |
constexpr uint16_t | VMDATAH = 0x2119 |
constexpr uint16_t | M7SEL = 0x211A |
constexpr uint16_t | M7A = 0x211B |
constexpr uint16_t | M7B = 0x211C |
constexpr uint16_t | M7C = 0x211D |
constexpr uint16_t | M7D = 0x211E |
constexpr uint16_t | M7X = 0x211F |
constexpr uint16_t | M7Y = 0x2120 |
constexpr uint16_t | CGADD = 0x2121 |
constexpr uint16_t | CGDATA = 0x2122 |
constexpr uint16_t | W12SEL = 0x2123 |
constexpr uint16_t | W34SEL = 0x2124 |
constexpr uint16_t | WOBJSEL = 0x2125 |
constexpr uint16_t | WH0 = 0x2126 |
constexpr uint16_t | WH1 = 0x2127 |
constexpr uint16_t | WH2 = 0x2128 |
constexpr uint16_t | WH3 = 0x2129 |
constexpr uint16_t | WBGLOG = 0x212A |
constexpr uint16_t | WOBJLOG = 0x212B |
constexpr uint16_t | TM = 0x212C |
constexpr uint16_t | TS = 0x212D |
constexpr uint16_t | TMW = 0x212E |
constexpr uint16_t | TSW = 0x212F |
constexpr uint16_t | CGWSEL = 0x2130 |
constexpr uint16_t | CGADSUB = 0x2131 |
constexpr uint16_t | COLDATA = 0x2132 |
constexpr uint16_t | SETINI = 0x2133 |
constexpr uint16_t | MPYL = 0x2134 |
constexpr uint16_t | MPYM = 0x2135 |
constexpr uint16_t | MPYH = 0x2136 |
constexpr uint16_t | SLHV = 0x2137 |
constexpr uint16_t | OAMDATAREAD = 0x2138 |
constexpr uint16_t | VMDATALREAD = 0x2139 |
constexpr uint16_t | VMDATAHREAD = 0x213A |
constexpr uint16_t | CGDATAREAD = 0x213B |
constexpr uint16_t | OPHCT = 0x213C |
constexpr uint16_t | OPVCT = 0x213D |
constexpr uint16_t | STAT77 = 0x213E |
constexpr uint16_t | STAT78 = 0x213F |
SNES Emulation and debugging tools.
typedef struct yaze::emu::Timer yaze::emu::Timer |
typedef struct yaze::emu::DspChannel yaze::emu::DspChannel |
typedef struct yaze::emu::ApuCallbacks yaze::emu::ApuCallbacks |
typedef struct yaze::emu::DmaChannel yaze::emu::DmaChannel |
typedef struct yaze::emu::CpuCallbacks yaze::emu::CpuCallbacks |
typedef struct yaze::emu::Layer yaze::emu::Layer |
typedef struct yaze::emu::BgLayer yaze::emu::BgLayer |
typedef struct yaze::emu::WindowLayer yaze::emu::WindowLayer |
|
strong |
Definition at line 15 of file asm_parser.h.
|
strong |
|
strong |
void yaze::emu::ResetDma | ( | MemoryImpl * | memory | ) |
Definition at line 12 of file dma.cc.
References yaze::emu::MemoryImpl::dma_channels(), yaze::emu::MemoryImpl::set_dma_state(), yaze::emu::MemoryImpl::set_hdma_init_requested(), and yaze::emu::MemoryImpl::set_hdma_run_requested().
Referenced by yaze::emu::Snes::Reset().
uint8_t yaze::emu::ReadDma | ( | MemoryImpl * | memory, |
uint16_t | adr ) |
Definition at line 39 of file dma.cc.
References yaze::emu::MemoryImpl::dma_channels(), and yaze::emu::MemoryImpl::open_bus().
Referenced by yaze::emu::Snes::Rread().
void yaze::emu::WriteDma | ( | MemoryImpl * | memory, |
uint16_t | adr, | ||
uint8_t | val ) |
Definition at line 92 of file dma.cc.
References yaze::emu::MemoryImpl::dma_channels().
Referenced by yaze::emu::Snes::Write().
void yaze::emu::DoDma | ( | Snes * | snes, |
MemoryImpl * | memory, | ||
int | cpuCycles ) |
Definition at line 156 of file dma.cc.
References yaze::emu::Snes::cpu(), yaze::emu::MemoryImpl::dma_channels(), yaze::emu::Snes::SyncCycles(), TransferByte(), and WaitCycle().
Referenced by HandleDma().
void yaze::emu::HandleDma | ( | Snes * | snes, |
MemoryImpl * | memory, | ||
int | cpu_cycles ) |
Definition at line 190 of file dma.cc.
References yaze::emu::MemoryImpl::dma_state(), DoDma(), DoHdma(), yaze::emu::MemoryImpl::hdma_init_requested(), yaze::emu::MemoryImpl::hdma_run_requested(), InitHdma(), and yaze::emu::MemoryImpl::set_dma_state().
Referenced by yaze::emu::Snes::CpuIdle(), yaze::emu::Snes::CpuRead(), and yaze::emu::Snes::CpuWrite().
void yaze::emu::WaitCycle | ( | Snes * | snes, |
MemoryImpl * | memory ) |
Definition at line 208 of file dma.cc.
References DoHdma(), yaze::emu::MemoryImpl::hdma_init_requested(), yaze::emu::MemoryImpl::hdma_run_requested(), InitHdma(), and yaze::emu::Snes::RunCycles().
Referenced by DoDma().
void yaze::emu::InitHdma | ( | Snes * | snes, |
MemoryImpl * | memory, | ||
bool | do_sync, | ||
int | cpu_cycles ) |
Definition at line 216 of file dma.cc.
References yaze::emu::Snes::cpu(), yaze::emu::MemoryImpl::dma_channels(), yaze::emu::Snes::Read(), yaze::emu::Snes::RunCycles(), yaze::emu::MemoryImpl::set_hdma_init_requested(), and yaze::emu::Snes::SyncCycles().
Referenced by HandleDma(), and WaitCycle().
void yaze::emu::DoHdma | ( | Snes * | snes, |
MemoryImpl * | memory, | ||
bool | do_sync, | ||
int | cycles ) |
Definition at line 256 of file dma.cc.
References yaze::emu::Snes::cpu(), yaze::emu::MemoryImpl::dma_channels(), yaze::emu::Snes::Read(), yaze::emu::Snes::RunCycles(), yaze::emu::MemoryImpl::set_hdma_run_requested(), yaze::emu::Snes::SyncCycles(), and TransferByte().
Referenced by HandleDma(), and WaitCycle().
void yaze::emu::TransferByte | ( | Snes * | snes, |
MemoryImpl * | memory, | ||
uint16_t | aAdr, | ||
uint8_t | aBank, | ||
uint8_t | bAdr, | ||
bool | fromB ) |
Definition at line 331 of file dma.cc.
References yaze::emu::MemoryImpl::open_bus(), yaze::emu::Snes::Read(), yaze::emu::Snes::ReadBBus(), yaze::emu::Snes::Write(), and yaze::emu::Snes::WriteBBus().
void yaze::emu::StartDma | ( | MemoryImpl * | memory, |
uint8_t | val, | ||
bool | hdma ) |
Definition at line 353 of file dma.cc.
References yaze::emu::MemoryImpl::dma_channels(), and yaze::emu::MemoryImpl::set_dma_state().
Referenced by yaze::emu::Snes::WriteReg().
|
constexpr |
Definition at line 9 of file ppu_registers.h.
|
constexpr |
Definition at line 13 of file ppu_registers.h.
|
constexpr |
Definition at line 16 of file ppu_registers.h.
|
constexpr |
Definition at line 17 of file ppu_registers.h.
|
constexpr |
Definition at line 21 of file ppu_registers.h.
|
constexpr |
Definition at line 29 of file ppu_registers.h.
|
constexpr |
Definition at line 33 of file ppu_registers.h.
|
constexpr |
Definition at line 37 of file ppu_registers.h.
|
constexpr |
Definition at line 38 of file ppu_registers.h.
|
constexpr |
Definition at line 39 of file ppu_registers.h.
|
constexpr |
Definition at line 40 of file ppu_registers.h.
|
constexpr |
Definition at line 44 of file ppu_registers.h.
|
constexpr |
Definition at line 45 of file ppu_registers.h.
|
constexpr |
Definition at line 49 of file ppu_registers.h.
|
constexpr |
Definition at line 50 of file ppu_registers.h.
|
constexpr |
Definition at line 51 of file ppu_registers.h.
|
constexpr |
Definition at line 52 of file ppu_registers.h.
|
constexpr |
Definition at line 53 of file ppu_registers.h.
|
constexpr |
Definition at line 54 of file ppu_registers.h.
|
constexpr |
Definition at line 55 of file ppu_registers.h.
|
constexpr |
Definition at line 56 of file ppu_registers.h.
|
constexpr |
Definition at line 60 of file ppu_registers.h.
|
constexpr |
Definition at line 64 of file ppu_registers.h.
|
constexpr |
Definition at line 65 of file ppu_registers.h.
|
constexpr |
Definition at line 67 of file ppu_registers.h.
|
constexpr |
Definition at line 68 of file ppu_registers.h.
|
constexpr |
Definition at line 69 of file ppu_registers.h.
|
constexpr |
Definition at line 70 of file ppu_registers.h.
|
constexpr |
Definition at line 71 of file ppu_registers.h.
|
constexpr |
Definition at line 72 of file ppu_registers.h.
|
constexpr |
Definition at line 73 of file ppu_registers.h.
|
constexpr |
Definition at line 74 of file ppu_registers.h.
|
constexpr |
Definition at line 75 of file ppu_registers.h.
|
constexpr |
Definition at line 76 of file ppu_registers.h.
|
constexpr |
Definition at line 77 of file ppu_registers.h.
|
constexpr |
Definition at line 78 of file ppu_registers.h.
|
constexpr |
Definition at line 79 of file ppu_registers.h.
|
constexpr |
Definition at line 80 of file ppu_registers.h.
|
constexpr |
Definition at line 81 of file ppu_registers.h.
|
constexpr |
Definition at line 82 of file ppu_registers.h.
|
constexpr |
Definition at line 83 of file ppu_registers.h.
|
constexpr |
Definition at line 84 of file ppu_registers.h.
|
constexpr |
Definition at line 85 of file ppu_registers.h.
|
constexpr |
Definition at line 86 of file ppu_registers.h.
|
constexpr |
Definition at line 87 of file ppu_registers.h.
|
constexpr |
Definition at line 88 of file ppu_registers.h.
|
constexpr |
Definition at line 89 of file ppu_registers.h.
|
constexpr |
Definition at line 90 of file ppu_registers.h.
|
constexpr |
Definition at line 91 of file ppu_registers.h.
|
constexpr |
Definition at line 92 of file ppu_registers.h.
|
constexpr |
Definition at line 93 of file ppu_registers.h.
|
constexpr |
Definition at line 94 of file ppu_registers.h.
|
constexpr |
Definition at line 95 of file ppu_registers.h.
|
constexpr |
Definition at line 96 of file ppu_registers.h.
|
constexpr |
Definition at line 97 of file ppu_registers.h.
|
constexpr |
Definition at line 98 of file ppu_registers.h.
|
constexpr |
Definition at line 99 of file ppu_registers.h.
|
constexpr |
Definition at line 100 of file ppu_registers.h.
|
constexpr |
Definition at line 101 of file ppu_registers.h.
|
constexpr |
Definition at line 102 of file ppu_registers.h.
|
constexpr |
Definition at line 103 of file ppu_registers.h.
|
constexpr |
Definition at line 104 of file ppu_registers.h.
|
constexpr |
Definition at line 105 of file ppu_registers.h.
|
constexpr |
Definition at line 106 of file ppu_registers.h.