mirror of https://github.com/bsnes-emu/bsnes.git
40 lines
807 B
C++
40 lines
807 B
C++
struct SA1 : Processor::R65816, Cothread {
|
|
#include "bus/bus.hpp"
|
|
#include "dma/dma.hpp"
|
|
#include "memory/memory.hpp"
|
|
#include "mmio/mmio.hpp"
|
|
|
|
struct Status {
|
|
uint8 tick_counter;
|
|
|
|
bool interrupt_pending;
|
|
|
|
uint16 scanlines;
|
|
uint16 vcounter;
|
|
uint16 hcounter;
|
|
} status;
|
|
|
|
static auto Enter() -> void;
|
|
auto main() -> void;
|
|
auto tick() -> void;
|
|
auto interrupt() -> void override;
|
|
|
|
alwaysinline auto trigger_irq() -> void;
|
|
alwaysinline auto lastCycle() -> void override;
|
|
alwaysinline auto interruptPending() const -> bool override;
|
|
|
|
auto init() -> void;
|
|
auto load() -> void;
|
|
auto unload() -> void;
|
|
auto power() -> void;
|
|
auto reset() -> void;
|
|
|
|
auto serialize(serializer&) -> void;
|
|
|
|
MappedRAM rom;
|
|
MappedRAM iram;
|
|
MappedRAM bwram;
|
|
};
|
|
|
|
extern SA1 sa1;
|