openMSX
Z80.hh
Go to the documentation of this file.
1 #ifndef Z80_HH
2 #define Z80_HH
3 
4 #include "CPUClock.hh"
5 #include "inline.hh"
6 #include <cassert>
7 
8 namespace openmsx {
9 
10 class CPURegs;
11 
12 class Z80TYPE : public CPUClock
13 {
14 protected:
15  template<bool> struct Normalize { static constexpr bool value = false; };
16 
17  static constexpr int CLOCK_FREQ = 3579545;
18  static constexpr int WAIT_CYCLES = 1;
19 
20  Z80TYPE(EmuTime::param time, Scheduler& scheduler_)
21  : CPUClock(time, scheduler_)
22  {
23  }
24 
25  ALWAYS_INLINE unsigned haltStates() const { return 4 + WAIT_CYCLES; } // HALT + M1
26  ALWAYS_INLINE bool isR800() const { return false; }
27 
28  template <bool, bool> ALWAYS_INLINE void PRE_MEM (unsigned /*address*/) { }
29  template < bool> ALWAYS_INLINE void POST_MEM (unsigned /*address*/) { }
30  template <bool, bool> ALWAYS_INLINE void PRE_WORD (unsigned /*address*/) { }
31  template < bool> ALWAYS_INLINE void POST_WORD(unsigned /*address*/) { }
32 
35 
36  ALWAYS_INLINE void setMemPtr(unsigned x) { memptr = x; }
37  ALWAYS_INLINE unsigned getMemPtr() const { return memptr; }
38 
39  static constexpr int
40  CC_LD_A_SS = 5+3, CC_LD_A_SS_1 = 5+1,
41  CC_LD_A_NN = 5+3+3+3, CC_LD_A_NN_1 = 5+1, CC_LD_A_NN_2 = 5+3+3+1,
42  CC_LD_A_I = 5+6,
43  CC_LD_R_R = 5,
44  CC_LD_R_N = 5+3, CC_LD_R_N_1 = 5+1,
45  CC_LD_R_HL = 5+3, CC_LD_R_HL_1 = 5+1,
46  CC_LD_R_XIX = 5+3+5+3, CC_LD_R_XIX_1 = 5+1, CC_LD_R_XIX_2 = 5+3+5+1, // +5
47  CC_LD_HL_R = 5+3, CC_LD_HL_R_1 = 5+1,
48  CC_LD_HL_N = 5+3+3, CC_LD_HL_N_1 = 5+1, CC_LD_HL_N_2 = 5+3+1,
49  CC_LD_SS_A = 5+3, CC_LD_SS_A_1 = 5+1,
50  CC_LD_NN_A = 5+3+3+3, CC_LD_NN_A_1 = 5+1, CC_LD_NN_A_2 = 5+3+3+1,
51  CC_LD_XIX_R = 5+3+5+3, CC_LD_XIX_R_1 = 5+1, CC_LD_XIX_R_2 = 5+3+5+1, // +5
52  CC_LD_XIX_N = 5+3+5+3, CC_LD_XIX_N_1 = 5+1, CC_LD_XIX_N_2 = 5+3+5+1, // +5
53  CC_LD_HL_XX = 5+3+3+3+3, CC_LD_HL_XX_1 = 5+1, CC_LD_HL_XX_2 = 5+3+3+1,
55  CC_LD_SS_NN = 5+3+3, CC_LD_SS_NN_1 = 5+1,
56  CC_LD_XX_HL = 5+3+3+3+3, CC_LD_XX_HL_1 = 5+1, CC_LD_XX_HL_2 = 5+3+3+1,
57 
58  CC_CP_R = 5,
59  CC_CP_N = 5+3, CC_CP_N_1 = 5+1,
60  CC_CP_XHL = 5+3, CC_CP_XHL_1 = 5+1,
61  CC_CP_XIX = 5+3+5+3, CC_CP_XIX_1 = 5+1, CC_CP_XIX_2 = 5+3+5+1, // +5
62  CC_INC_R = 5,
63  CC_INC_XHL = 5+4+3, CC_INC_XHL_1 = 5+1, CC_INC_XHL_2 = 5+4+1,
64  CC_INC_XIX = 5+3+5+4+3, CC_INC_XIX_1 = 5+1, EE_INC_XIX = 8, // +5
65  CC_INC_SS = 7,
66  CC_ADD_HL_SS = 5+4+3,
67  CC_ADC_HL_SS = 5+5+4+3,
68 
69  CC_LDI = 5+5+3+5, CC_LDI_1 = 5+5+1, CC_LDI_2 = 5+5+3+1,
70  CC_LDIR = 5+5+3+5+5,
71  CC_CPI = 5+5+3+5, CC_CPI_1 = 5+5+1,
72  CC_CPIR = 5+5+3+5+5,
73 
74  CC_PUSH = 6+3+3, CC_PUSH_1 = 6+1,
75  CC_POP = 5+3+3, CC_POP_1 = 5+1,
76  CC_CALL = 5+3+4+3+3, CC_CALL_1 = 5+1, EE_CALL = 6,
77  CC_CALL_A = 5+3+4+3+3, CC_CALL_B = 5+3+3,
78  CC_RST = 6+3+3,
79  CC_RET_A = 5+3+3, CC_RET_B = 5, EE_RET_C = 1,
80  CC_RETN = 5+5+3+3, EE_RETN = 5,
81  CC_JP_A = 5+3+3, CC_JP_B = 5+3+3, CC_JP_1 = 5+1,
82  CC_JP_HL = 5,
83  CC_JR_A = 5+3+5, CC_JR_B = 5+3, CC_JR_1 = 5+1,
84  CC_DJNZ = 6+3+5, EE_DJNZ = 1,
85 
86  CC_EX_SP_HL = 5+3+4+3+5, CC_EX_SP_HL_1 = 5+1, CC_EX_SP_HL_2 = 5+3+4+1,
87 
88  CC_BIT_R = 5+5,
89  CC_BIT_XHL = 5+5+4, CC_BIT_XHL_1 = 5+5+1,
90  CC_BIT_XIX = 5+3+5+4, CC_BIT_XIX_1 = 5+3+5+1, // +5
91  CC_SET_R = 5+5,
92  CC_SET_XHL = 5+5+4+3, CC_SET_XHL_1 = 5+5+1, CC_SET_XHL_2 = 5+5+4+1,
93  CC_SET_XIX = 5+3+5+4+3, EE_SET_XIX = 3, // +5
94 
95  CC_RLA = 5,
96  CC_RLD = 5+5+3+4+3, CC_RLD_1 = 5+5+1, CC_RLD_2 = 5+5+3+4+1,
97 
98  CC_IN_A_N = 5+3+4, CC_IN_A_N_1 = 5+1, CC_IN_A_N_2 = 5+3+1,
99  CC_IN_R_C = 5+5+4, CC_IN_R_C_1 = 5+5+1,
100  CC_INI = 5+6+4+3, CC_INI_1 = 5+6+1, CC_INI_2 = 5+6+4+1,
101  CC_INIR = 5+6+4+3+5,
102  CC_OUT_N_A = 5+3+4, CC_OUT_N_A_1 = 5+1, CC_OUT_N_A_2 = 5+3+1,
103  CC_OUT_C_R = 5+5+4, CC_OUT_C_R_1 = 5+5+1,
104  CC_OUTI = 5+6+3+4, CC_OUTI_1 = 5+6+1, CC_OUTI_2 = 5+6+3+1,
105  CC_OTIR = 5+6+3+4+5,
106 
107  CC_EX = 5,
108  CC_NOP = 5,
109  CC_CCF = 5,
110  CC_SCF = 5,
111  CC_DAA = 5,
112  CC_NEG = 5+5,
113  CC_CPL = 5,
114  CC_DI = 5,
115  CC_EI = 5,
116  CC_HALT = 5,
117  CC_IM = 5+5,
118 
119  CC_MULUB = 0,
120  CC_MULUW = 0,
121 
122  CC_NMI = 5+3+3, EE_NMI_1 = -1,
123  CC_IRQ0 = 7+3+3, EE_IRQ0_1 = 1,
124  CC_IRQ1 = 7+3+3, EE_IRQ1_1 = 1,
125  CC_IRQ2 = 7+3+3+3+3, EE_IRQ2_1 = 1, CC_IRQ2_2 = 7+3+3+1,
126 
127  CC_MAIN = 1,
128  CC_DD = 5,
129  CC_PREFIX = 5+1,
130  CC_DD_CB = 5+1, // +5
131  EE_ED = 5,
132  CC_RDMEM = 3,
133  CC_WRMEM = 3;
134 
135  // versions (version number shared with CPUCore<> class)
136  // 1 -> initial version
137  // 2 -> moved memptr from CPUCore to here
138  template<typename Archive>
139  void serialize(Archive& ar, unsigned version)
140  {
141  CPUClock::serialize(ar, version);
142  if (version >= 2) {
143  ar.serialize("memptr", memptr);
144  }
145  }
146 
147 private:
148  unsigned memptr;
149 };
150 
151 
152 } // namespace openmsx
153 
154 #endif
openmsx::Z80TYPE::CC_LDI_2
static constexpr int CC_LDI_2
Definition: Z80.hh:69
openmsx::Z80TYPE::CC_LD_XIX_R
static constexpr int CC_LD_XIX_R
Definition: Z80.hh:51
openmsx::Z80TYPE::EE_IRQ2_1
static constexpr int EE_IRQ2_1
Definition: Z80.hh:125
openmsx::Z80TYPE::CC_OUTI_1
static constexpr int CC_OUTI_1
Definition: Z80.hh:104
openmsx::Z80TYPE::CC_IN_A_N
static constexpr int CC_IN_A_N
Definition: Z80.hh:98
openmsx::Z80TYPE::CC_IN_A_N_1
static constexpr int CC_IN_A_N_1
Definition: Z80.hh:98
openmsx::Z80TYPE::CC_SET_XHL_1
static constexpr int CC_SET_XHL_1
Definition: Z80.hh:92
openmsx::Z80TYPE::CC_SET_XHL_2
static constexpr int CC_SET_XHL_2
Definition: Z80.hh:92
openmsx::CPURegs
CPURegs
Definition: CPURegs.cc:50
openmsx::Z80TYPE::CC_LD_HL_XX_1
static constexpr int CC_LD_HL_XX_1
Definition: Z80.hh:53
openmsx::Z80TYPE::CC_OUTI
static constexpr int CC_OUTI
Definition: Z80.hh:104
openmsx::Z80TYPE::CC_CALL_B
static constexpr int CC_CALL_B
Definition: Z80.hh:77
openmsx::Scheduler
Definition: Scheduler.hh:33
openmsx::Z80TYPE::CC_LD_HL_N
static constexpr int CC_LD_HL_N
Definition: Z80.hh:48
ALWAYS_INLINE
#define ALWAYS_INLINE
Definition: inline.hh:16
openmsx::Z80TYPE::CC_RET_A
static constexpr int CC_RET_A
Definition: Z80.hh:79
openmsx::Z80TYPE::CC_PUSH_1
static constexpr int CC_PUSH_1
Definition: Z80.hh:74
openmsx::Z80TYPE::CC_CP_XIX_1
static constexpr int CC_CP_XIX_1
Definition: Z80.hh:61
openmsx::Z80TYPE::getMemPtr
ALWAYS_INLINE unsigned getMemPtr() const
Definition: Z80.hh:37
openmsx::Z80TYPE::CC_EX_SP_HL_1
static constexpr int CC_EX_SP_HL_1
Definition: Z80.hh:86
openmsx::Z80TYPE::CC_MAIN
static constexpr int CC_MAIN
Definition: Z80.hh:127
inline.hh
openmsx::Z80TYPE::CC_SET_XHL
static constexpr int CC_SET_XHL
Definition: Z80.hh:92
openmsx::Z80TYPE::CC_RLD_1
static constexpr int CC_RLD_1
Definition: Z80.hh:96
openmsx::Z80TYPE::CC_IRQ2_2
static constexpr int CC_IRQ2_2
Definition: Z80.hh:125
openmsx::Z80TYPE::CC_LD_XIX_R_2
static constexpr int CC_LD_XIX_R_2
Definition: Z80.hh:51
openmsx::Z80TYPE::PRE_MEM
ALWAYS_INLINE void PRE_MEM(unsigned)
Definition: Z80.hh:28
openmsx::Z80TYPE::CC_RST
static constexpr int CC_RST
Definition: Z80.hh:78
openmsx::Z80TYPE::EE_CALL
static constexpr int EE_CALL
Definition: Z80.hh:76
openmsx::Z80TYPE::CC_PUSH
static constexpr int CC_PUSH
Definition: Z80.hh:74
openmsx::Z80TYPE::CC_LD_SS_A_1
static constexpr int CC_LD_SS_A_1
Definition: Z80.hh:49
openmsx::Z80TYPE::CC_RLD
static constexpr int CC_RLD
Definition: Z80.hh:96
openmsx::Z80TYPE::CLOCK_FREQ
static constexpr int CLOCK_FREQ
Definition: Z80.hh:17
openmsx::Z80TYPE::Z80TYPE
Z80TYPE(EmuTime::param time, Scheduler &scheduler_)
Definition: Z80.hh:20
openmsx::Z80TYPE::CC_LD_XX_HL
static constexpr int CC_LD_XX_HL
Definition: Z80.hh:56
openmsx::Z80TYPE::CC_LD_SS_A
static constexpr int CC_LD_SS_A
Definition: Z80.hh:49
openmsx::Z80TYPE::CC_JP_A
static constexpr int CC_JP_A
Definition: Z80.hh:81
openmsx::Z80TYPE::CC_CPL
static constexpr int CC_CPL
Definition: Z80.hh:113
openmsx::Z80TYPE::CC_SET_R
static constexpr int CC_SET_R
Definition: Z80.hh:91
openmsx::Z80TYPE::CC_RLD_2
static constexpr int CC_RLD_2
Definition: Z80.hh:96
openmsx::Z80TYPE::WAIT_CYCLES
static constexpr int WAIT_CYCLES
Definition: Z80.hh:18
openmsx::Z80TYPE::CC_LD_HL_XX_2
static constexpr int CC_LD_HL_XX_2
Definition: Z80.hh:53
openmsx::Z80TYPE::CC_INI
static constexpr int CC_INI
Definition: Z80.hh:100
openmsx::Z80TYPE::CC_CP_N_1
static constexpr int CC_CP_N_1
Definition: Z80.hh:59
openmsx::Z80TYPE::EE_RETN
static constexpr int EE_RETN
Definition: Z80.hh:80
openmsx::Z80TYPE::CC_EX
static constexpr int CC_EX
Definition: Z80.hh:107
openmsx::Z80TYPE::CC_BIT_XIX
static constexpr int CC_BIT_XIX
Definition: Z80.hh:90
openmsx::Z80TYPE::CC_LDI
static constexpr int CC_LDI
Definition: Z80.hh:69
openmsx::Z80TYPE::CC_ADC_HL_SS
static constexpr int CC_ADC_HL_SS
Definition: Z80.hh:67
openmsx::Z80TYPE::CC_PREFIX
static constexpr int CC_PREFIX
Definition: Z80.hh:129
openmsx::Z80TYPE::CC_INC_XIX_1
static constexpr int CC_INC_XIX_1
Definition: Z80.hh:64
openmsx::Z80TYPE::setMemPtr
ALWAYS_INLINE void setMemPtr(unsigned x)
Definition: Z80.hh:36
openmsx::Z80TYPE::CC_LD_A_SS
static constexpr int CC_LD_A_SS
Definition: Z80.hh:40
openmsx::Z80TYPE::POST_MEM
ALWAYS_INLINE void POST_MEM(unsigned)
Definition: Z80.hh:29
openmsx::Z80TYPE::CC_JR_A
static constexpr int CC_JR_A
Definition: Z80.hh:83
openmsx::Z80TYPE::CC_RETN
static constexpr int CC_RETN
Definition: Z80.hh:80
openmsx::Z80TYPE::EE_IRQ1_1
static constexpr int EE_IRQ1_1
Definition: Z80.hh:124
openmsx::Z80TYPE::CC_CCF
static constexpr int CC_CCF
Definition: Z80.hh:109
openmsx::Z80TYPE::CC_CPI
static constexpr int CC_CPI
Definition: Z80.hh:71
openmsx::Z80TYPE::CC_NEG
static constexpr int CC_NEG
Definition: Z80.hh:112
openmsx::Z80TYPE::CC_LD_A_I
static constexpr int CC_LD_A_I
Definition: Z80.hh:42
openmsx::Z80TYPE::Normalize
Definition: Z80.hh:15
openmsx::Z80TYPE::CC_IRQ2
static constexpr int CC_IRQ2
Definition: Z80.hh:125
openmsx::Z80TYPE::CC_BIT_XHL_1
static constexpr int CC_BIT_XHL_1
Definition: Z80.hh:89
openmsx::Z80TYPE::CC_LD_SS_NN
static constexpr int CC_LD_SS_NN
Definition: Z80.hh:55
openmsx::Z80TYPE::CC_LDIR
static constexpr int CC_LDIR
Definition: Z80.hh:70
openmsx::Z80TYPE::CC_OUT_N_A_1
static constexpr int CC_OUT_N_A_1
Definition: Z80.hh:102
openmsx::Z80TYPE::CC_MULUB
static constexpr int CC_MULUB
Definition: Z80.hh:119
openmsx::Z80TYPE::CC_POP_1
static constexpr int CC_POP_1
Definition: Z80.hh:75
openmsx::Z80TYPE::CC_LD_NN_A_1
static constexpr int CC_LD_NN_A_1
Definition: Z80.hh:50
openmsx::Z80TYPE::CC_CALL_1
static constexpr int CC_CALL_1
Definition: Z80.hh:76
openmsx::Z80TYPE::CC_OUT_C_R_1
static constexpr int CC_OUT_C_R_1
Definition: Z80.hh:103
openmsx::Z80TYPE::CC_LD_R_XIX_1
static constexpr int CC_LD_R_XIX_1
Definition: Z80.hh:46
openmsx::Z80TYPE::CC_LD_R_N_1
static constexpr int CC_LD_R_N_1
Definition: Z80.hh:44
openmsx::Z80TYPE::EE_DJNZ
static constexpr int EE_DJNZ
Definition: Z80.hh:84
openmsx::Z80TYPE::CC_NMI
static constexpr int CC_NMI
Definition: Z80.hh:122
openmsx::Z80TYPE::CC_OUTI_2
static constexpr int CC_OUTI_2
Definition: Z80.hh:104
openmsx::Z80TYPE::CC_LD_NN_A
static constexpr int CC_LD_NN_A
Definition: Z80.hh:50
openmsx::Z80TYPE::CC_MULUW
static constexpr int CC_MULUW
Definition: Z80.hh:120
openmsx::Z80TYPE::CC_DD_CB
static constexpr int CC_DD_CB
Definition: Z80.hh:130
openmsx::Z80TYPE::CC_LD_XX_HL_1
static constexpr int CC_LD_XX_HL_1
Definition: Z80.hh:56
openmsx::Z80TYPE::EE_RET_C
static constexpr int EE_RET_C
Definition: Z80.hh:79
openmsx::Z80TYPE::CC_NOP
static constexpr int CC_NOP
Definition: Z80.hh:108
openmsx::Z80TYPE::CC_EI
static constexpr int CC_EI
Definition: Z80.hh:115
openmsx::Z80TYPE::CC_OUT_N_A_2
static constexpr int CC_OUT_N_A_2
Definition: Z80.hh:102
openmsx::Z80TYPE::CC_SCF
static constexpr int CC_SCF
Definition: Z80.hh:110
openmsx::Z80TYPE::CC_CPI_1
static constexpr int CC_CPI_1
Definition: Z80.hh:71
openmsx::Z80TYPE::CC_LD_NN_A_2
static constexpr int CC_LD_NN_A_2
Definition: Z80.hh:50
openmsx::Z80TYPE::CC_JP_HL
static constexpr int CC_JP_HL
Definition: Z80.hh:82
openmsx::Z80TYPE::CC_JP_1
static constexpr int CC_JP_1
Definition: Z80.hh:81
openmsx::Z80TYPE::serialize
void serialize(Archive &ar, unsigned version)
Definition: Z80.hh:139
openmsx::Z80TYPE::CC_LD_HL_XX
static constexpr int CC_LD_HL_XX
Definition: Z80.hh:53
openmsx::Z80TYPE::CC_LD_R_HL_1
static constexpr int CC_LD_R_HL_1
Definition: Z80.hh:45
openmsx::Z80TYPE::CC_INIR
static constexpr int CC_INIR
Definition: Z80.hh:101
openmsx::Z80TYPE::CC_LD_HL_N_2
static constexpr int CC_LD_HL_N_2
Definition: Z80.hh:48
openmsx::Z80TYPE::CC_LD_HL_R
static constexpr int CC_LD_HL_R
Definition: Z80.hh:47
openmsx::Z80TYPE::CC_HALT
static constexpr int CC_HALT
Definition: Z80.hh:116
openmsx::Z80TYPE::CC_INC_XHL_2
static constexpr int CC_INC_XHL_2
Definition: Z80.hh:63
openmsx::Z80TYPE::CC_CP_XIX_2
static constexpr int CC_CP_XIX_2
Definition: Z80.hh:61
openmsx::Z80TYPE::CC_IRQ0
static constexpr int CC_IRQ0
Definition: Z80.hh:123
openmsx::Z80TYPE::CC_INI_2
static constexpr int CC_INI_2
Definition: Z80.hh:100
openmsx::Z80TYPE::EE_NMI_1
static constexpr int EE_NMI_1
Definition: Z80.hh:122
openmsx::Z80TYPE::CC_LD_A_SS_1
static constexpr int CC_LD_A_SS_1
Definition: Z80.hh:40
openmsx::Z80TYPE::CC_LD_R_R
static constexpr int CC_LD_R_R
Definition: Z80.hh:43
openmsx::Z80TYPE::CC_LD_XIX_R_1
static constexpr int CC_LD_XIX_R_1
Definition: Z80.hh:51
openmsx::Z80TYPE::CC_LDI_1
static constexpr int CC_LDI_1
Definition: Z80.hh:69
openmsx::Z80TYPE::CC_CP_N
static constexpr int CC_CP_N
Definition: Z80.hh:59
CPUClock.hh
openmsx::Z80TYPE::CC_DD
static constexpr int CC_DD
Definition: Z80.hh:128
openmsx::Z80TYPE::CC_LD_A_NN_1
static constexpr int CC_LD_A_NN_1
Definition: Z80.hh:41
openmsx::Z80TYPE::CC_INC_XIX
static constexpr int CC_INC_XIX
Definition: Z80.hh:64
openmsx::Z80TYPE::CC_IRQ1
static constexpr int CC_IRQ1
Definition: Z80.hh:124
openmsx::Z80TYPE::PRE_WORD
ALWAYS_INLINE void PRE_WORD(unsigned)
Definition: Z80.hh:30
openmsx::Z80TYPE::CC_BIT_XHL
static constexpr int CC_BIT_XHL
Definition: Z80.hh:89
openmsx::Z80TYPE::CC_CP_R
static constexpr int CC_CP_R
Definition: Z80.hh:58
openmsx::Z80TYPE::CC_CALL_A
static constexpr int CC_CALL_A
Definition: Z80.hh:77
openmsx::Z80TYPE::EE_IRQ0_1
static constexpr int EE_IRQ0_1
Definition: Z80.hh:123
openmsx::Z80TYPE::CC_ADD_HL_SS
static constexpr int CC_ADD_HL_SS
Definition: Z80.hh:66
openmsx::Z80TYPE::CC_JR_1
static constexpr int CC_JR_1
Definition: Z80.hh:83
openmsx::Z80TYPE::CC_EX_SP_HL_2
static constexpr int CC_EX_SP_HL_2
Definition: Z80.hh:86
openmsx::Z80TYPE::CC_LD_R_XIX_2
static constexpr int CC_LD_R_XIX_2
Definition: Z80.hh:46
openmsx::Z80TYPE::haltStates
ALWAYS_INLINE unsigned haltStates() const
Definition: Z80.hh:25
openmsx::Z80TYPE::CC_LD_XIX_N_1
static constexpr int CC_LD_XIX_N_1
Definition: Z80.hh:52
openmsx::Z80TYPE::CC_LD_R_XIX
static constexpr int CC_LD_R_XIX
Definition: Z80.hh:46
openmsx::x
constexpr KeyMatrixPosition x
Keyboard bindings.
Definition: Keyboard.cc:1419
openmsx::Z80TYPE::CC_JR_B
static constexpr int CC_JR_B
Definition: Z80.hh:83
openmsx::Z80TYPE::CC_INC_R
static constexpr int CC_INC_R
Definition: Z80.hh:62
openmsx::Z80TYPE::R800Refresh
ALWAYS_INLINE void R800Refresh(CPURegs &)
Definition: Z80.hh:33
openmsx::Z80TYPE::CC_RDMEM
static constexpr int CC_RDMEM
Definition: Z80.hh:132
openmsx::Z80TYPE::CC_INC_XHL
static constexpr int CC_INC_XHL
Definition: Z80.hh:63
openmsx::Z80TYPE::CC_LD_HL_N_1
static constexpr int CC_LD_HL_N_1
Definition: Z80.hh:48
openmsx::Z80TYPE::CC_CP_XHL
static constexpr int CC_CP_XHL
Definition: Z80.hh:60
openmsx::Z80TYPE::CC_LD_R_N
static constexpr int CC_LD_R_N
Definition: Z80.hh:44
openmsx::Z80TYPE::CC_LD_A_NN_2
static constexpr int CC_LD_A_NN_2
Definition: Z80.hh:41
openmsx::Z80TYPE::CC_OTIR
static constexpr int CC_OTIR
Definition: Z80.hh:105
openmsx::Z80TYPE::CC_CP_XHL_1
static constexpr int CC_CP_XHL_1
Definition: Z80.hh:60
openmsx::Z80TYPE::CC_BIT_XIX_1
static constexpr int CC_BIT_XIX_1
Definition: Z80.hh:90
openmsx::Z80TYPE::CC_CP_XIX
static constexpr int CC_CP_XIX
Definition: Z80.hh:61
openmsx::Z80TYPE::CC_LD_SS_NN_1
static constexpr int CC_LD_SS_NN_1
Definition: Z80.hh:55
openmsx::Z80TYPE::CC_INC_XHL_1
static constexpr int CC_INC_XHL_1
Definition: Z80.hh:63
openmsx::Z80TYPE
Definition: Z80.hh:12
openmsx::Z80TYPE::CC_LD_XX_HL_2
static constexpr int CC_LD_XX_HL_2
Definition: Z80.hh:56
openmsx::Z80TYPE::CC_DI
static constexpr int CC_DI
Definition: Z80.hh:114
openmsx::CPUClock::serialize
void serialize(Archive &ar, unsigned version)
Definition: CPUClock.cc:21
openmsx::Z80TYPE::POST_WORD
ALWAYS_INLINE void POST_WORD(unsigned)
Definition: Z80.hh:31
openmsx::Z80TYPE::CC_LD_HL_R_1
static constexpr int CC_LD_HL_R_1
Definition: Z80.hh:47
openmsx::Z80TYPE::CC_CALL
static constexpr int CC_CALL
Definition: Z80.hh:76
openmsx::Z80TYPE::EE_INC_XIX
static constexpr int EE_INC_XIX
Definition: Z80.hh:64
openmsx::Z80TYPE::CC_IM
static constexpr int CC_IM
Definition: Z80.hh:117
openmsx::Z80TYPE::CC_CPIR
static constexpr int CC_CPIR
Definition: Z80.hh:72
openmsx::Z80TYPE::CC_INI_1
static constexpr int CC_INI_1
Definition: Z80.hh:100
openmsx::Z80TYPE::EE_SET_XIX
static constexpr int EE_SET_XIX
Definition: Z80.hh:93
openmsx::Z80TYPE::CC_OUT_C_R
static constexpr int CC_OUT_C_R
Definition: Z80.hh:103
openmsx::Z80TYPE::CC_LD_XIX_N_2
static constexpr int CC_LD_XIX_N_2
Definition: Z80.hh:52
openmsx::Z80TYPE::CC_LD_A_NN
static constexpr int CC_LD_A_NN
Definition: Z80.hh:41
openmsx::Z80TYPE::CC_IN_A_N_2
static constexpr int CC_IN_A_N_2
Definition: Z80.hh:98
openmsx::CPURegs
Definition: CPURegs.hh:19
openmsx::Z80TYPE::CC_POP
static constexpr int CC_POP
Definition: Z80.hh:75
openmsx::Z80TYPE::CC_BIT_R
static constexpr int CC_BIT_R
Definition: Z80.hh:88
openmsx::Z80TYPE::CC_WRMEM
static constexpr int CC_WRMEM
Definition: Z80.hh:133
openmsx::Z80TYPE::CC_LD_SP_HL
static constexpr int CC_LD_SP_HL
Definition: Z80.hh:54
openmsx::Z80TYPE::CC_LD_XIX_N
static constexpr int CC_LD_XIX_N
Definition: Z80.hh:52
openmsx::Z80TYPE::R800ForcePageBreak
ALWAYS_INLINE void R800ForcePageBreak()
Definition: Z80.hh:34
openmsx::Z80TYPE::CC_IN_R_C_1
static constexpr int CC_IN_R_C_1
Definition: Z80.hh:99
openmsx::Z80TYPE::CC_RET_B
static constexpr int CC_RET_B
Definition: Z80.hh:79
openmsx
Thanks to enen for testing this on a real cartridge:
Definition: Autofire.cc:5
openmsx::Z80TYPE::CC_DAA
static constexpr int CC_DAA
Definition: Z80.hh:111
openmsx::Z80TYPE::CC_RLA
static constexpr int CC_RLA
Definition: Z80.hh:95
openmsx::Z80TYPE::CC_OUT_N_A
static constexpr int CC_OUT_N_A
Definition: Z80.hh:102
openmsx::Z80TYPE::Normalize::value
static constexpr bool value
Definition: Z80.hh:15
openmsx::Z80TYPE::CC_LD_R_HL
static constexpr int CC_LD_R_HL
Definition: Z80.hh:45
openmsx::Z80TYPE::CC_DJNZ
static constexpr int CC_DJNZ
Definition: Z80.hh:84
openmsx::Z80TYPE::CC_SET_XIX
static constexpr int CC_SET_XIX
Definition: Z80.hh:93
openmsx::Z80TYPE::CC_IN_R_C
static constexpr int CC_IN_R_C
Definition: Z80.hh:99
openmsx::CPUClock
Definition: CPUClock.hh:10
openmsx::Z80TYPE::isR800
ALWAYS_INLINE bool isR800() const
Definition: Z80.hh:26
openmsx::Z80TYPE::CC_JP_B
static constexpr int CC_JP_B
Definition: Z80.hh:81
openmsx::Z80TYPE::EE_ED
static constexpr int EE_ED
Definition: Z80.hh:131
openmsx::Z80TYPE::CC_INC_SS
static constexpr int CC_INC_SS
Definition: Z80.hh:65
openmsx::Z80TYPE::CC_EX_SP_HL
static constexpr int CC_EX_SP_HL
Definition: Z80.hh:86