Mercurial > repos > blastem
comparison z80.cpu @ 1742:6290c88949bd
Fixed CPI/CPD/CPIR/CPDR in new Z80 core
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 04 Feb 2019 23:46:35 -0800 |
parents | 3dbfb4524ad2 |
children | a1663a83dcab |
comparison
equal
deleted
inserted
replaced
1741:3dbfb4524ad2 | 1742:6290c88949bd |
---|---|
2125 end | 2125 end |
2126 | 2126 |
2127 z80_cpd_cpi | 2127 z80_cpd_cpi |
2128 local tmp 16 | 2128 local tmp 16 |
2129 local tmp8 8 | 2129 local tmp8 8 |
2130 local hf 8 | |
2130 arg change 16 | 2131 arg change 16 |
2131 | 2132 |
2132 z80_fetch_mod_hl change | 2133 z80_fetch_mod_hl change |
2133 sub scratch1 a tmp8 | 2134 sub scratch1 a tmp8 |
2134 update_flags SZHXN1 | 2135 update_flags SZHN1 |
2136 | |
2137 lsr chflags 3 hf | |
2138 and 1 hf hf | |
2139 | |
2140 sub hf tmp8 tmp8 | |
2141 update_flags X | |
2135 | 2142 |
2136 and 0x2 tmp8 tmp8 | 2143 and 0x2 tmp8 tmp8 |
2137 lsl tmp8 4 tmp8 | 2144 lsl tmp8 4 tmp8 |
2138 and 0x88 last_flag_result last_flag_result | 2145 and 0x88 last_flag_result last_flag_result |
2139 or tmp8 last_flag_result last_flag_result | 2146 or tmp8 last_flag_result last_flag_result |
2157 | 2164 |
2158 ed 10110001 cpir | 2165 ed 10110001 cpir |
2159 z80_cpd_cpi 1 | 2166 z80_cpd_cpi 1 |
2160 if pvflag | 2167 if pvflag |
2161 | 2168 |
2169 if zflag | |
2170 | |
2171 else | |
2172 | |
2162 add 1 pc wz | 2173 add 1 pc wz |
2163 sub 2 pc pc | 2174 sub 2 pc pc |
2164 cycles 5 | 2175 cycles 5 |
2165 | 2176 |
2166 end | 2177 end |
2178 end | |
2167 | 2179 |
2168 ed 10111001 cpdr | 2180 ed 10111001 cpdr |
2169 z80_cpd_cpi -1 | 2181 z80_cpd_cpi -1 |
2170 if pvflag | 2182 if pvflag |
2171 | 2183 |
2184 if zflag | |
2185 | |
2186 else | |
2187 | |
2172 add 1 pc wz | 2188 add 1 pc wz |
2173 sub 2 pc pc | 2189 sub 2 pc pc |
2174 cycles 5 | 2190 cycles 5 |
2175 | 2191 |
2192 end | |
2176 end | 2193 end |
2177 | 2194 |
2178 00100111 daa | 2195 00100111 daa |
2179 local diff 8 | 2196 local diff 8 |
2180 local tmp 8 | 2197 local tmp 8 |