diff --git a/e6502.c b/e6502.c index e189a9e..be977b8 100644 --- a/e6502.c +++ b/e6502.c @@ -22,25 +22,25 @@ static inline e6502_Mem_Addr e6502_adr_mem(e6502_Core* core, static inline uint8_t e6502_adr_r8(e6502_Core* core, e6502_Address adr) { - return &adr[0]; + return adr[0]; } static inline uint8_t e6502_adr_r16(e6502_Core* core, e6502_Address adr) { - return (&adr[0] | ((uint16_t)&adr[1] << 8)); + return (adr[0] | ((uint16_t)adr[1] << 8)); } static inline void e6502_adr_w8(e6502_Core* core, e6502_Address adr, uint8_t val) { - &adr[0] = val; + adr[0] = val; } static inline void e6502_adr_w16(e6502_Core* core, e6502_Address adr, uint16_t val) { - &adr[0] = val; - &adr[1] = val >> 8; + adr[0] = val; + adr[1] = val >> 8; } #else // !E6502_POLL_MEM @@ -983,12 +983,16 @@ int e6502_run(e6502_Core* core, return status; } +#ifdef E6502_POLL_MEM +void e6502_init(e6502_Core* core) { /* nuthin' */ } +#else void e6502_init(e6502_Core* core, e6502_Read read, e6502_Write write, void* context) { core->bus_read = read; core->bus_write = write; core->bus_context = context; } +#endif void e6502_reset(e6502_Core* core) { core->registers.PC = e6502_r16(core, e6502_Reset_Vec);