diff options
Diffstat (limited to 'emu/6502.c')
-rw-r--r-- | emu/6502.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -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 ) |