|
|
1.1 root 1: /*
2: Hatari - hd6301_cpu.h
3: Copyright Laurent Sallafranque 2009
4:
1.1.1.2 ! root 5: This file is distributed under the GNU General Public License, version 2
! 6: or at your option any later version. Read the file gpl.txt for details.
1.1 root 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.