summaryrefslogtreecommitdiff
path: root/emu/6502.c
diff options
context:
space:
mode:
Diffstat (limited to 'emu/6502.c')
-rw-r--r--emu/6502.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/emu/6502.c b/emu/6502.c
index ce1f0d3..dbdf5a1 100644
--- a/emu/6502.c
+++ b/emu/6502.c
@@ -8,9 +8,9 @@ static const uint16_t reset_vector = 0xFFFC;
static const uint16_t ZP_base = 0x0;
static const uint16_t SP_base = 0x100;
-void cpu_6502_init( cpu_6502_t *cpu, struct memory_t *memory )
+void cpu_6502_init( cpu_6502_t *cpu, bus_t *bus )
{
- cpu->memory = memory;
+ cpu->bus = bus;
cpu->debug_flags = 0;
}
@@ -62,18 +62,18 @@ void cpu_6502_reset( cpu_6502_t *cpu )
uint8_t cpu_6502_read_byte( cpu_6502_t *cpu, uint16_t addr )
{
- return cpu->memory->read( cpu->memory, addr );
+ return cpu->bus->base.vtable->read( cpu->bus, addr );
}
void cpu_6502_write_byte( cpu_6502_t *cpu, uint16_t addr, uint8_t data )
{
- cpu->memory->write( cpu->memory, addr, data );
+ cpu->bus->base.vtable->write( cpu->bus, addr, data );
}
void cpu_6502_write_word( cpu_6502_t *cpu, uint16_t addr, uint16_t data )
{
- cpu->memory->write( cpu->memory, addr, ( data && 0x00FF ) );
- cpu->memory->write( cpu->memory, addr + 1, ( data && 0x00FF ) );
+ cpu->bus->base.vtable->write( cpu->bus, addr, ( data && 0x00FF ) );
+ cpu->bus->base.vtable->write( cpu->bus, addr + 1, ( data && 0x00FF ) );
}
void cpu_6502_run( cpu_6502_t *cpu, int steps )