bsnes/gba/cpu/cpu.hpp

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;