mirror of https://github.com/bsnes-emu/bsnes.git
44 lines
983 B
C++
44 lines
983 B
C++
struct CPU : Processor::ARM, Thread, MMIO {
|
|
uint8* iwram;
|
|
uint8* ewram;
|
|
#include "registers.hpp"
|
|
#include "state.hpp"
|
|
|
|
static void Enter();
|
|
void main();
|
|
void step(unsigned clocks);
|
|
void sync_step(unsigned clocks);
|
|
|
|
void bus_idle(uint32 addr);
|
|
uint32 bus_read(uint32 addr, uint32 size);
|
|
void bus_write(uint32 addr, uint32 size, uint32 word);
|
|
|
|
void keypad_run();
|
|
void power();
|
|
|
|
uint8 read(uint32 addr);
|
|
void write(uint32 addr, uint8 byte);
|
|
|
|
uint32 iwram_read(uint32 addr, uint32 size);
|
|
void iwram_write(uint32 addr, uint32 size, uint32 word);
|
|
|
|
uint32 ewram_read(uint32 addr, uint32 size);
|
|
void ewram_write(uint32 addr, uint32 size, uint32 word);
|
|
|
|
void dma_run();
|
|
void dma_transfer(Registers::DMA &dma);
|
|
void dma_vblank();
|
|
void dma_hblank();
|
|
void dma_hdma();
|
|
|
|
void timer_step(unsigned clocks);
|
|
void timer_increment(unsigned n);
|
|
void timer_fifo_run(unsigned n);
|
|
|
|
void serialize(serializer&);
|
|
CPU();
|
|
~CPU();
|
|
};
|
|
|
|
extern CPU cpu;
|