diff options
Diffstat (limited to 'emu/6502.h')
-rw-r--r-- | emu/6502.h | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -83,6 +83,7 @@ enum { void cpu_6502_init( cpu_6502_t *cpu, bus_t *bus, bool initialize ); void cpu_6502_reset( cpu_6502_t *cpu ); + uint8_t cpu_6502_read_byte( cpu_6502_t *cpu, uint16_t addr ); uint16_t cpu_6502_read_word( cpu_6502_t *cpu, uint16_t addr ); void cpu_6502_write_byte( cpu_6502_t *cpu, uint16_t addr, uint8_t data ); @@ -90,12 +91,23 @@ void cpu_6502_push_byte( cpu_6502_t *cpu, uint8_t data ); void cpu_6502_push_word( cpu_6502_t *cpu, uint16_t data ); uint8_t cpu_6502_pop_byte( cpu_6502_t *cpu ); uint16_t cpu_6502_pop_word( cpu_6502_t *cpu ); + void cpu_6502_run( cpu_6502_t *cpu, int steps ); void cpu_6502_step( cpu_6502_t *cpu ); + void cpu_6502_get_opcode_mnemonic( cpu_6502_t *cpu, char *buf, int buflen, uint16_t addr ); +void cpu_6502_print_debug( cpu_6502_t *cpu ); void cpu_6502_print_state( cpu_6502_t *cpu, uint16_t addr ); void cpu_6502_print_memory( cpu_6502_t *cpu, uint16_t base, uint8_t size ); void cpu_6502_print_stack( cpu_6502_t *cpu ); void cpu_6502_print_zerop_page( cpu_6502_t *cpu ); +bool cpu_6502_is_negative( cpu_6502_t *cpu ); +bool cpu_6502_is_overflow( cpu_6502_t *cpu ); +bool cpu_6502_is_brk( cpu_6502_t *cpu ); +bool cpu_6502_is_decimal( cpu_6502_t *cpu ); +bool cpu_6502_is_interrupt( cpu_6502_t *cpu ); +bool cpu_6502_is_zero( cpu_6502_t *cpu ); +bool cpu_6502_is_carry( cpu_6502_t *cpu ); + #endif |