summaryrefslogtreecommitdiff
path: root/emu/6502.h
diff options
context:
space:
mode:
Diffstat (limited to 'emu/6502.h')
-rw-r--r--emu/6502.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/emu/6502.h b/emu/6502.h
index c3143e7..9dc8614 100644
--- a/emu/6502.h
+++ b/emu/6502.h
@@ -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