|
|
1.1 ! root 1: /* ! 2: Hatari - hd6301_cpu.h ! 3: Copyright Laurent Sallafranque 2009 ! 4: ! 5: This file is distributed under the GNU Public License, version 2 or at ! 6: your option any later version. Read the file gpl.txt for details. ! 7: ! 8: hd6301_cpu.h - this is the cpu core emulation for hd 6301 processor ! 9: */ ! 10: ! 11: #ifndef HD6301_CPU_H ! 12: #define HD6301_CPU_H ! 13: ! 14: #ifdef __cplusplus ! 15: extern "C" { ! 16: #endif ! 17: ! 18: /* Defines */ ! 19: #define hd6301_REG_CCR_C 0x00 ! 20: #define hd6301_REG_CCR_V 0x01 ! 21: #define hd6301_REG_CCR_Z 0x02 ! 22: #define hd6301_REG_CCR_N 0x03 ! 23: #define hd6301_REG_CCR_I 0x04 ! 24: #define hd6301_REG_CCR_H 0x05 ! 25: ! 26: struct hd6301_opcode_t { ! 27: Uint8 op_value; /* Opcode value */ ! 28: Uint8 op_bytes; /* Total opcode bytes */ ! 29: void (*op_func)(void); /* Function that "executes" opcode */ ! 30: Uint8 op_n_cycles; /* Number of clock cycles */ ! 31: const char *op_mnemonic; /* Printout format string */ ! 32: Uint8 op_disasm; /* For instructions disasm */ ! 33: }; ! 34: ! 35: /* Functions */ ! 36: extern void hd6301_init_cpu(void); ! 37: extern void hd6301_execute_one_instruction(void); ! 38: ! 39: /* HF6301 Disasm and debug code */ ! 40: extern void hd6301_disasm(void); ! 41: extern void hd6301_display_registers(void); ! 42: ! 43: ! 44: #ifdef __cplusplus ! 45: } ! 46: #endif ! 47: ! 48: #endif /* HD6301_CPU_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.