|
1
|
|
package com.rox.cpu.mos6502; |
|
2
|
|
|
|
3
|
|
/** |
|
4
|
|
* WIP... |
|
5
|
|
* |
|
6
|
|
* Status Flags |
|
7
|
|
* Bit: 7 6 5 4 3 2 1 0 |
|
8
|
|
* +---------------+ |
|
9
|
|
* |N|V|1|B|D|I|Z|C| |
|
10
|
|
* +---------------+ |
|
11
|
|
*/ |
|
12
|
|
public class MOS6502Environment { |
|
13
|
|
public boolean negative; //0x80 |
|
14
|
|
public boolean signedOverflow; //0x40 |
|
15
|
|
public boolean breakFlag; //0x10 |
|
16
|
|
public boolean d; //0x08 |
|
17
|
|
public boolean i; //0x04 |
|
18
|
|
public boolean zero; //0x02 |
|
19
|
|
public boolean carry; //0x01 |
|
20
|
|
|
|
21
|
|
private int pc; //16 bit program counter |
|
22
|
|
private int ir; //instruction register |
|
23
|
|
private int adl; //(1/2) address data low byte |
|
24
|
|
private int adh; //(2/2) address data high byte |
|
25
|
|
private int a; //accumulator |
|
26
|
|
private int x; //X register |
|
27
|
|
private int y; //Y registers |
|
28
|
|
private int stackPointer = 0xFF; //Low byte of the stack pointer $01:XX |
|
29
|
|
|
|
30
|
|
private boolean irqLineAsserted; |
|
31
|
|
private boolean nmiPending; |
|
32
|
|
|
|
33
|
|
private MOS6502Operation pendingOperation; |
|
34
|
|
|
|
35
|
|
MOS6502Environment(){ |
|
36
|
|
this(false, false, false, false, false, 0,0,0,0,0, 0,0); |
|
37
|
|
} |
|
38
|
|
|
|
39
|
|
MOS6502Environment(boolean c, boolean z, boolean n, boolean v, boolean breakFlag, |
|
40
|
|
int pc, int ir, int adl, int adh, int a, int x, int y){ |
|
41
|
|
this.carry = c; |
|
42
|
|
this.zero = z; |
|
43
|
|
this.negative = n; |
|
44
|
|
this.signedOverflow = v; |
|
45
|
|
this.breakFlag = breakFlag; |
|
46
|
|
this.pc = pc; |
|
47
|
|
this.ir = ir; |
|
48
|
|
this.adl = adl; |
|
49
|
|
this.adh = adh; |
|
50
|
|
this.a = a; |
|
51
|
|
this.x = x; |
|
52
|
|
this.y = y; |
|
53
|
|
} |
|
54
|
|
|
|
55
|
|
public int getIR(){ |
|
56
|
1
1. getIR : replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getIR → KILLED
|
return this.ir; |
|
57
|
|
} |
|
58
|
|
|
|
59
|
|
public void setIR(final int value){ |
|
60
|
1
1. setIR : Replaced bitwise AND with OR → KILLED
|
this.ir = value & 0xFF; |
|
61
|
|
} |
|
62
|
|
|
|
63
|
|
public int getADL(){ |
|
64
|
2
1. getADL : replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getADL → KILLED
2. getADL : Replaced bitwise AND with OR → KILLED
|
return this.adl & 0xFF; |
|
65
|
|
} |
|
66
|
|
|
|
67
|
|
public void setADL(final int value){ |
|
68
|
1
1. setADL : Replaced bitwise AND with OR → KILLED
|
this.adl = value & 0xFF; |
|
69
|
|
} |
|
70
|
|
|
|
71
|
|
public int getADH() { |
|
72
|
2
1. getADH : replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getADH → KILLED
2. getADH : Replaced bitwise AND with OR → KILLED
|
return this.adh & 0xFF; |
|
73
|
|
} |
|
74
|
|
|
|
75
|
|
public int getAD(){ |
|
76
|
4
1. getAD : Replaced bitwise AND with OR → KILLED
2. getAD : replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getAD → KILLED
3. getAD : Replaced bitwise OR with AND → KILLED
4. getAD : Replaced Shift Left with Shift Right → KILLED
|
return (getADH() << 8 | getADL()) & 0xFFFF; |
|
77
|
|
} |
|
78
|
|
|
|
79
|
|
public void setADH(final int value) { |
|
80
|
1
1. setADH : Replaced bitwise AND with OR → KILLED
|
this.adh = value & 0xFF; |
|
81
|
|
} |
|
82
|
|
|
|
83
|
|
public void setA(final int value){ |
|
84
|
1
1. setA : Replaced bitwise AND with OR → KILLED
|
this.a = value & 0xFF; |
|
85
|
|
} |
|
86
|
|
|
|
87
|
|
public int getA() { |
|
88
|
2
1. getA : Replaced bitwise AND with OR → KILLED
2. getA : replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getA → KILLED
|
return a & 0xFF; |
|
89
|
|
} |
|
90
|
|
|
|
91
|
|
public int getPC() { |
|
92
|
1
1. getPC : replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getPC → KILLED
|
return pc; |
|
93
|
|
} |
|
94
|
|
|
|
95
|
|
public void setPC(final int newPC) { |
|
96
|
|
this.pc = newPC; |
|
97
|
|
} |
|
98
|
|
|
|
99
|
|
public void setPCL(final int newPCL) { |
|
100
|
3
1. setPCL : Replaced bitwise AND with OR → KILLED
2. setPCL : Replaced bitwise OR with AND → KILLED
3. setPCL : Replaced bitwise AND with OR → KILLED
|
this.pc = (this.pc & 0xFF00) | (newPCL & 0xFF); |
|
101
|
|
} |
|
102
|
|
|
|
103
|
|
public int getPCL() { |
|
104
|
2
1. getPCL : Replaced bitwise AND with OR → KILLED
2. getPCL : replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getPCL → KILLED
|
return this.pc & 0xFF; |
|
105
|
|
} |
|
106
|
|
|
|
107
|
|
public void setPCH(final int newPCH) { |
|
108
|
4
1. setPCH : Replaced Shift Left with Shift Right → KILLED
2. setPCH : Replaced bitwise AND with OR → KILLED
3. setPCH : Replaced bitwise AND with OR → KILLED
4. setPCH : Replaced bitwise OR with AND → KILLED
|
this.pc = (this.pc & 0x00FF) | ((newPCH << 8) & 0xFF00); |
|
109
|
|
} |
|
110
|
|
|
|
111
|
|
public int getPCH() { |
|
112
|
3
1. getPCH : replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getPCH → KILLED
2. getPCH : Replaced Shift Right with Shift Left → KILLED
3. getPCH : Replaced bitwise AND with OR → KILLED
|
return (this.pc >> 8) & 0xFF; |
|
113
|
|
} |
|
114
|
|
|
|
115
|
|
public int getX() { |
|
116
|
1
1. getX : replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getX → KILLED
|
return this.x; |
|
117
|
|
} |
|
118
|
|
|
|
119
|
|
public void setX(int newX) { |
|
120
|
|
this.x = newX; |
|
121
|
|
} |
|
122
|
|
|
|
123
|
|
public void setY(int newY) { |
|
124
|
|
this.y = newY; |
|
125
|
|
} |
|
126
|
|
|
|
127
|
|
public int getY() { |
|
128
|
1
1. getY : replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getY → KILLED
|
return y; |
|
129
|
|
} |
|
130
|
|
|
|
131
|
|
public boolean getCarry() { |
|
132
|
2
1. getCarry : replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::getCarry → KILLED
2. getCarry : replaced boolean return with false for com/rox/cpu/mos6502/MOS6502Environment::getCarry → KILLED
|
return carry; |
|
133
|
|
} |
|
134
|
|
|
|
135
|
|
public void setV(final boolean newV){ |
|
136
|
|
this.signedOverflow = newV; |
|
137
|
|
} |
|
138
|
|
|
|
139
|
|
public boolean getV() { |
|
140
|
2
1. getV : replaced boolean return with false for com/rox/cpu/mos6502/MOS6502Environment::getV → KILLED
2. getV : replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::getV → KILLED
|
return signedOverflow; |
|
141
|
|
} |
|
142
|
|
|
|
143
|
|
public void setN(final boolean newN){ |
|
144
|
|
this.negative = newN; |
|
145
|
|
} |
|
146
|
|
|
|
147
|
|
public boolean getN() { |
|
148
|
2
1. getN : replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::getN → KILLED
2. getN : replaced boolean return with false for com/rox/cpu/mos6502/MOS6502Environment::getN → KILLED
|
return negative; |
|
149
|
|
} |
|
150
|
|
|
|
151
|
|
public void setZ(final boolean newZ) { |
|
152
|
|
this.zero = newZ; |
|
153
|
|
} |
|
154
|
|
|
|
155
|
|
public boolean getZ() { |
|
156
|
2
1. getZ : replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::getZ → KILLED
2. getZ : replaced boolean return with false for com/rox/cpu/mos6502/MOS6502Environment::getZ → KILLED
|
return zero; |
|
157
|
|
} |
|
158
|
|
|
|
159
|
|
public void setD(boolean newD) { |
|
160
|
|
this.d = newD; |
|
161
|
|
} |
|
162
|
|
|
|
163
|
|
public boolean getD(){ |
|
164
|
2
1. getD : replaced boolean return with false for com/rox/cpu/mos6502/MOS6502Environment::getD → KILLED
2. getD : replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::getD → KILLED
|
return d; |
|
165
|
|
} |
|
166
|
|
|
|
167
|
|
public void setI(boolean newI) { |
|
168
|
|
this.i = newI; |
|
169
|
|
} |
|
170
|
|
|
|
171
|
|
public boolean getI(){ |
|
172
|
2
1. getI : replaced boolean return with false for com/rox/cpu/mos6502/MOS6502Environment::getI → KILLED
2. getI : replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::getI → KILLED
|
return i; |
|
173
|
|
} |
|
174
|
|
|
|
175
|
|
public void setCarry(boolean carry) { |
|
176
|
|
this.carry = carry; |
|
177
|
|
} |
|
178
|
|
|
|
179
|
|
public void setStackPointer(final int newStackLowByteValue){ |
|
180
|
1
1. setStackPointer : Replaced bitwise AND with OR → KILLED
|
this.stackPointer = newStackLowByteValue & 0xFF; |
|
181
|
|
} |
|
182
|
|
|
|
183
|
|
public int getStackPointer(){ |
|
184
|
2
1. getStackPointer : replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getStackPointer → KILLED
2. getStackPointer : Replaced bitwise AND with OR → KILLED
|
return this.stackPointer & 0xFF; |
|
185
|
|
} |
|
186
|
|
|
|
187
|
|
/** |
|
188
|
|
* Get the current state of the status register |
|
189
|
|
* <pre> |
|
190
|
|
* Bit: 7 6 5 4 3 2 1 0 |
|
191
|
|
* +---------------+ |
|
192
|
|
* |N|V|1|B|D|I|Z|C| |
|
193
|
|
* +---------------+ |
|
194
|
|
* </pre> |
|
195
|
|
*/ |
|
196
|
|
public int getStatus(boolean breakFlag) { |
|
197
|
2
1. getStatus : replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getStatus → KILLED
2. getStatus : negated conditional → KILLED
|
return (getN() ? 0x80 : 0) |
|
198
|
3
1. getStatus : Replaced bitwise OR with AND → KILLED
2. getStatus : negated conditional → KILLED
3. getStatus : Replaced bitwise OR with AND → KILLED
|
| (getV() ? 0x40 : 0) |
|
199
|
|
| 0x20 // bit 5 always set for now |
|
200
|
2
1. getStatus : Replaced bitwise OR with AND → KILLED
2. getStatus : negated conditional → KILLED
|
| (breakFlag ? 0x10 : 0) |
|
201
|
2
1. getStatus : negated conditional → KILLED
2. getStatus : Replaced bitwise OR with AND → KILLED
|
| (getD() ? 0x08 : 0) |
|
202
|
2
1. getStatus : negated conditional → KILLED
2. getStatus : Replaced bitwise OR with AND → KILLED
|
| (getI() ? 0x04 : 0) |
|
203
|
2
1. getStatus : negated conditional → KILLED
2. getStatus : Replaced bitwise OR with AND → KILLED
|
| (getZ() ? 0x02 : 0) |
|
204
|
2
1. getStatus : Replaced bitwise OR with AND → KILLED
2. getStatus : negated conditional → KILLED
|
| (getCarry() ? 0x01 : 0); |
|
205
|
|
} |
|
206
|
|
|
|
207
|
|
public void setStatus(int newStatus) { |
|
208
|
3
1. setStatus : Replaced bitwise AND with OR → KILLED
2. setStatus : removed call to com/rox/cpu/mos6502/MOS6502Environment::setN → KILLED
3. setStatus : negated conditional → KILLED
|
setN((newStatus & 0x80) != 0); |
|
209
|
3
1. setStatus : negated conditional → KILLED
2. setStatus : Replaced bitwise AND with OR → KILLED
3. setStatus : removed call to com/rox/cpu/mos6502/MOS6502Environment::setV → KILLED
|
setV((newStatus & 0x40) != 0); |
|
210
|
|
// ignore bits 5 and 4 |
|
211
|
3
1. setStatus : removed call to com/rox/cpu/mos6502/MOS6502Environment::setD → KILLED
2. setStatus : Replaced bitwise AND with OR → KILLED
3. setStatus : negated conditional → KILLED
|
setD((newStatus & 0x08) != 0); |
|
212
|
3
1. setStatus : removed call to com/rox/cpu/mos6502/MOS6502Environment::setI → KILLED
2. setStatus : Replaced bitwise AND with OR → KILLED
3. setStatus : negated conditional → KILLED
|
setI((newStatus & 0x04) != 0); |
|
213
|
3
1. setStatus : negated conditional → KILLED
2. setStatus : removed call to com/rox/cpu/mos6502/MOS6502Environment::setZ → KILLED
3. setStatus : Replaced bitwise AND with OR → KILLED
|
setZ((newStatus & 0x02) != 0); |
|
214
|
3
1. setStatus : Replaced bitwise AND with OR → KILLED
2. setStatus : removed call to com/rox/cpu/mos6502/MOS6502Environment::setCarry → KILLED
3. setStatus : negated conditional → KILLED
|
setCarry((newStatus & 0x01) != 0); |
|
215
|
|
} |
|
216
|
|
|
|
217
|
|
/** |
|
218
|
|
* Level-sensitive hardware IRQ line, held asserted by a device until it's serviced or the device deasserts it.<br/> |
|
219
|
|
*<br/> |
|
220
|
|
* Vector: FFFE/FFFF<br/> |
|
221
|
|
* Maskable: using {@link MOS6502Environment#setI(boolean)} flag.<br/> |
|
222
|
|
*/ |
|
223
|
|
public void setIRQLine(boolean asserted){ |
|
224
|
|
this.irqLineAsserted = asserted; |
|
225
|
|
} |
|
226
|
|
|
|
227
|
|
public boolean isIRQLineAsserted(){ |
|
228
|
2
1. isIRQLineAsserted : replaced boolean return with false for com/rox/cpu/mos6502/MOS6502Environment::isIRQLineAsserted → KILLED
2. isIRQLineAsserted : replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::isIRQLineAsserted → KILLED
|
return irqLineAsserted; |
|
229
|
|
} |
|
230
|
|
|
|
231
|
|
/** |
|
232
|
|
* Edge-latched hardware NMI signal, set by a device and cleared once serviced.<br/> |
|
233
|
|
*<br/> |
|
234
|
|
* Vector: FFFA/FFFB<br/> |
|
235
|
|
* Maskable: No<br/> |
|
236
|
|
* <br> |
|
237
|
|
* <b>Edge-latched</b> <i>This toggles on a flag {@link MOS6502Environment#hasPendingInterrupt()} on when electronic |
|
238
|
|
* signal falling edge occurs. In a circuit this would mean that in order to retrigger, the signal would need to |
|
239
|
|
* rise to high then fall again. To us this means it's toggled on until it is addressed.</i> |
|
240
|
|
*/ |
|
241
|
|
public void signalNMI(){ |
|
242
|
|
this.nmiPending = true; |
|
243
|
|
} |
|
244
|
|
|
|
245
|
|
boolean isNMIPending(){ |
|
246
|
2
1. isNMIPending : replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::isNMIPending → KILLED
2. isNMIPending : replaced boolean return with false for com/rox/cpu/mos6502/MOS6502Environment::isNMIPending → KILLED
|
return nmiPending; |
|
247
|
|
} |
|
248
|
|
|
|
249
|
|
/** @return true and clears the pending flag if an NMI was latched, false (no change) otherwise */ |
|
250
|
|
public boolean consumeNMI(){ |
|
251
|
|
boolean pending = nmiPending; |
|
252
|
|
nmiPending = false; |
|
253
|
2
1. consumeNMI : replaced boolean return with false for com/rox/cpu/mos6502/MOS6502Environment::consumeNMI → KILLED
2. consumeNMI : replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::consumeNMI → KILLED
|
return pending; |
|
254
|
|
} |
|
255
|
|
|
|
256
|
|
/** @return true if a hardware interrupt should be serviced at the next instruction boundary. NMI is non-maskable and takes priority over IRQ. */ |
|
257
|
|
public boolean hasPendingInterrupt(){ |
|
258
|
4
1. hasPendingInterrupt : negated conditional → KILLED
2. hasPendingInterrupt : negated conditional → KILLED
3. hasPendingInterrupt : replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::hasPendingInterrupt → KILLED
4. hasPendingInterrupt : negated conditional → KILLED
|
return nmiPending || (irqLineAsserted && !getI()); |
|
259
|
|
} |
|
260
|
|
|
|
261
|
|
public boolean additionalTickPending(){ |
|
262
|
|
//XXX (1/4) Workaround for opcodes which have varying cycles |
|
263
|
2
1. additionalTickPending : negated conditional → KILLED
2. additionalTickPending : replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::additionalTickPending → KILLED
|
return pendingOperation!=null; |
|
264
|
|
} |
|
265
|
|
|
|
266
|
|
public void requestAdditionalOp(MOS6502Operation operation) { |
|
267
|
|
//XXX (2/4) Workaround for opcodes which have varying cycles |
|
268
|
|
this.pendingOperation = operation; |
|
269
|
|
} |
|
270
|
|
|
|
271
|
|
public MOS6502Operation getPendingOperation(){ |
|
272
|
|
//XXX (3/4) Workaround for opcodes which have varying cycles |
|
273
|
1
1. getPendingOperation : replaced return value with null for com/rox/cpu/mos6502/MOS6502Environment::getPendingOperation → KILLED
|
return this.pendingOperation; |
|
274
|
|
} |
|
275
|
|
|
|
276
|
|
public void additionalTickCompleted(){ |
|
277
|
|
//XXX (4/4) Workaround for opcodes which have varying cycles |
|
278
|
|
pendingOperation = null; |
|
279
|
|
} |
|
280
|
|
|
|
281
|
|
/** Overflow safe PC + increment */ |
|
282
|
|
public int getAndIncrementPC(){ |
|
283
|
|
int cached_pc = pc; |
|
284
|
2
1. getAndIncrementPC : Replaced integer addition with subtraction → KILLED
2. getAndIncrementPC : Replaced bitwise AND with OR → KILLED
|
pc = (pc + 1) & 0xFFFF; |
|
285
|
1
1. getAndIncrementPC : replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getAndIncrementPC → KILLED
|
return cached_pc; |
|
286
|
|
} |
|
287
|
|
|
|
288
|
|
public MOS6502Environment clone(){ |
|
289
|
|
final MOS6502Environment copy = new MOS6502Environment(carry, zero, negative, signedOverflow, breakFlag, pc, ir, adl, adh, a, x, y); |
|
290
|
|
copy.i = i; |
|
291
|
|
copy.d = d; |
|
292
|
|
copy.stackPointer = stackPointer; |
|
293
|
|
copy.irqLineAsserted = irqLineAsserted; |
|
294
|
|
copy.nmiPending = nmiPending; |
|
295
|
1
1. clone : replaced return value with null for com/rox/cpu/mos6502/MOS6502Environment::clone → KILLED
|
return copy; |
|
296
|
|
} |
|
297
|
|
|
|
298
|
|
@Override |
|
299
|
|
public String toString() { |
|
300
|
1
1. toString : replaced return value with "" for com/rox/cpu/mos6502/MOS6502Environment::toString → NO_COVERAGE
|
return "pc:"+pc+", ir:"+ir+", ad["+adh+":"+adl+"], a:"+a+", x:"+x+" | F[c:"+carry+", z:"+ zero +", n:"+ negative +", v:"+ signedOverflow +"]"; |
|
301
|
|
} |
|
302
|
|
} |
| | Mutations |
| 56 |
|
1.1 Location : getIR Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:fetchEndToEnd()] replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getIR → KILLED
|
| 60 |
|
1.1 Location : setIR Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:fetchEndToEnd()] Replaced bitwise AND with OR → KILLED
|
| 64 |
|
1.1 Location : getADL Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:adToPcEndToEnd()] replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getADL → KILLED
2.2 Location : getADL Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:adToPcEndToEnd()] Replaced bitwise AND with OR → KILLED
|
| 68 |
|
1.1 Location : setADL Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:adToPcEndToEnd()] Replaced bitwise AND with OR → KILLED
|
| 72 |
|
1.1 Location : getADH Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:adToPcEndToEnd()] replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getADH → KILLED
2.2 Location : getADH Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:adToPcEndToEnd()] Replaced bitwise AND with OR → KILLED
|
| 76 |
|
1.1 Location : getAD Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:adToPcEndToEnd()] Replaced bitwise AND with OR → KILLED
2.2 Location : getAD Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:adToPcEndToEnd()] replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getAD → KILLED
3.3 Location : getAD Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:adToPcEndToEnd()] Replaced bitwise OR with AND → KILLED
4.4 Location : getAD Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:adToPcEndToEnd()] Replaced Shift Left with Shift Right → KILLED
|
| 80 |
|
1.1 Location : setADH Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:adToPcEndToEnd()] Replaced bitwise AND with OR → KILLED
|
| 84 |
|
1.1 Location : setA Killed by : com.rox.cpu.mos6502.MOS6502ALUTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502ALUTest]/[test-template:testEOR(int, int, int, boolean, boolean)]/[test-template-invocation:#12] Replaced bitwise AND with OR → KILLED
|
| 88 |
|
1.1 Location : getA Killed by : com.rox.cpu.mos6502.MOS6502ALUTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502ALUTest]/[test-template:testEOR(int, int, int, boolean, boolean)]/[test-template-invocation:#12] Replaced bitwise AND with OR → KILLED
2.2 Location : getA Killed by : com.rox.cpu.mos6502.MOS6502ALUTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502ALUTest]/[test-template:testEOR(int, int, int, boolean, boolean)]/[test-template-invocation:#12] replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getA → KILLED
|
| 92 |
|
1.1 Location : getPC Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:incPcEndToEnd()] replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getPC → KILLED
|
| 100 |
|
1.1 Location : setPCL Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:memToPclEndToEnd()] Replaced bitwise AND with OR → KILLED
2.2 Location : setPCL Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:memToPclEndToEnd()] Replaced bitwise OR with AND → KILLED
3.3 Location : setPCL Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:memToPclEndToEnd()] Replaced bitwise AND with OR → KILLED
|
| 104 |
|
1.1 Location : getPCL Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[nested-class:PUSH_PCH]/[nested-class:PUSH_PCL]/[method:pushPclUsesStackPageNotZeroPage()] Replaced bitwise AND with OR → KILLED
2.2 Location : getPCL Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[nested-class:PUSH_PCH]/[nested-class:PUSH_PCL]/[test-template:pushPclStoresProgramCounterLowByteAtCurrentStackPointerAddress(int, int, int)]/[test-template-invocation:#3] replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getPCL → KILLED
|
| 108 |
|
1.1 Location : setPCH Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:memToPchEndToEnd()] Replaced Shift Left with Shift Right → KILLED
2.2 Location : setPCH Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:memToPchEndToEnd()] Replaced bitwise AND with OR → KILLED
3.3 Location : setPCH Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:memToPchEndToEnd()] Replaced bitwise AND with OR → KILLED
4.4 Location : setPCH Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:memToPchEndToEnd()] Replaced bitwise OR with AND → KILLED
|
| 112 |
|
1.1 Location : getPCH Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[nested-class:PUSH_PCH]/[method:pushPchWrapsStackPointerFromZeroToFf()] replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getPCH → KILLED
2.2 Location : getPCH Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[nested-class:PUSH_PCH]/[method:pushPchWrapsStackPointerFromZeroToFf()] Replaced Shift Right with Shift Left → KILLED
3.3 Location : getPCH Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[nested-class:PUSH_PCH]/[method:pushPchWrapsStackPointerFromZeroToFf()] Replaced bitwise AND with OR → KILLED
|
| 116 |
|
1.1 Location : getX Killed by : com.rox.cpu.mos6502.MOS6502ALUTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502ALUTest]/[test-template:testCPX(int, int, boolean, boolean, boolean)]/[test-template-invocation:#7] replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getX → KILLED
|
| 128 |
|
1.1 Location : getY Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[nested-class:INY]/[method:inyIncrementsY()] replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getY → KILLED
|
| 132 |
|
1.1 Location : getCarry Killed by : com.rox.cpu.mos6502.MOS6502ALUTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502ALUTest]/[test-template:testASL(int, int, boolean)]/[test-template-invocation:#2] replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::getCarry → KILLED
2.2 Location : getCarry Killed by : com.rox.cpu.mos6502.MOS6502ALUTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502ALUTest]/[test-template:testROR(int, boolean, int, boolean)]/[test-template-invocation:#4] replaced boolean return with false for com/rox/cpu/mos6502/MOS6502Environment::getCarry → KILLED
|
| 140 |
|
1.1 Location : getV Killed by : com.rox.cpu.mos6502.MOS6502ALUTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502ALUTest]/[test-template:testBIT(int, int, boolean, boolean, boolean)]/[test-template-invocation:#6] replaced boolean return with false for com/rox/cpu/mos6502/MOS6502Environment::getV → KILLED
2.2 Location : getV Killed by : com.rox.cpu.mos6502.MOS6502ALUTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502ALUTest]/[test-template:testBIT(int, int, boolean, boolean, boolean)]/[test-template-invocation:#7] replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::getV → KILLED
|
| 148 |
|
1.1 Location : getN Killed by : com.rox.cpu.mos6502.MOS6502ALUTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502ALUTest]/[test-template:testEOR(int, int, int, boolean, boolean)]/[test-template-invocation:#12] replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::getN → KILLED
2.2 Location : getN Killed by : com.rox.cpu.mos6502.MOS6502ALUTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502ALUTest]/[test-template:testCPX(int, int, boolean, boolean, boolean)]/[test-template-invocation:#7] replaced boolean return with false for com/rox/cpu/mos6502/MOS6502Environment::getN → KILLED
|
| 156 |
|
1.1 Location : getZ Killed by : com.rox.cpu.mos6502.MOS6502ALUTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502ALUTest]/[test-template:testEOR(int, int, int, boolean, boolean)]/[test-template-invocation:#12] replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::getZ → KILLED
2.2 Location : getZ Killed by : com.rox.cpu.mos6502.MOS6502ALUTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502ALUTest]/[test-template:testCPY(int, int, boolean, boolean, boolean)]/[test-template-invocation:#5] replaced boolean return with false for com/rox/cpu/mos6502/MOS6502Environment::getZ → KILLED
|
| 164 |
|
1.1 Location : getD Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[nested-class:SET_DECIMAL]/[method:setDecimalSetsDTrue()] replaced boolean return with false for com/rox/cpu/mos6502/MOS6502Environment::getD → KILLED
2.2 Location : getD Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[nested-class:CLEAR_DECIMAL]/[method:clearDecimalSetsDFalse()] replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::getD → KILLED
|
| 172 |
|
1.1 Location : getI Killed by : com.rox.cpu.mos6502.MOS6502EnvironmentTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502EnvironmentTest]/[method:irqIsMaskedByInterruptDisableFlag()] replaced boolean return with false for com/rox/cpu/mos6502/MOS6502Environment::getI → KILLED
2.2 Location : getI Killed by : com.rox.cpu.mos6502.MOS6502EnvironmentTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502EnvironmentTest]/[method:nmiTakesPriorityOverIRQWhenBothPending()] replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::getI → KILLED
|
| 180 |
|
1.1 Location : setStackPointer Killed by : com.rox.cpu.mos6502.MOS6502EnvironmentTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502EnvironmentTest]/[method:cloneCopiesTheStackPointer()] Replaced bitwise AND with OR → KILLED
|
| 184 |
|
1.1 Location : getStackPointer Killed by : com.rox.cpu.mos6502.MOS6502EnvironmentTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502EnvironmentTest]/[method:cloneCopiesTheStackPointer()] replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getStackPointer → KILLED
2.2 Location : getStackPointer Killed by : com.rox.cpu.mos6502.MOS6502EnvironmentTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502EnvironmentTest]/[method:cloneCopiesTheStackPointer()] Replaced bitwise AND with OR → KILLED
|
| 197 |
|
1.1 Location : getStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PUSH_PROCESSOR_STATUS_WITH_BREAK]/[method:pushAlwaysPushesBreakAndUnusedBitsAsSet()] replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getStatus → KILLED
2.2 Location : getStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PHP]/[method:phpAlwaysPushesBreakAndUnusedBitsAsSet()] negated conditional → KILLED
|
| 198 |
|
1.1 Location : getStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PUSH_PROCESSOR_STATUS_WITH_BREAK]/[method:pushAlwaysPushesBreakAndUnusedBitsAsSet()] Replaced bitwise OR with AND → KILLED
2.2 Location : getStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PHP]/[method:phpAlwaysPushesBreakAndUnusedBitsAsSet()] negated conditional → KILLED
3.3 Location : getStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PHP]/[test-template:phpPushesProcessorStatusToStackAndDecrementsStackPointer(boolean, boolean, boolean, boolean, boolean, boolean)]/[test-template-invocation:#7] Replaced bitwise OR with AND → KILLED
|
| 200 |
|
1.1 Location : getStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PUSH_PROCESSOR_STATUS_WITH_BREAK]/[method:pushAlwaysPushesBreakAndUnusedBitsAsSet()] Replaced bitwise OR with AND → KILLED
2.2 Location : getStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PUSH_PROCESSOR_STATUS_WITH_BREAK]/[method:pushAlwaysPushesBreakAndUnusedBitsAsSet()] negated conditional → KILLED
|
| 201 |
|
1.1 Location : getStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PHP]/[method:phpAlwaysPushesBreakAndUnusedBitsAsSet()] negated conditional → KILLED
2.2 Location : getStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PUSH_PROCESSOR_STATUS_WITH_BREAK]/[method:pushAlwaysPushesBreakAndUnusedBitsAsSet()] Replaced bitwise OR with AND → KILLED
|
| 202 |
|
1.1 Location : getStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PHP]/[method:phpAlwaysPushesBreakAndUnusedBitsAsSet()] negated conditional → KILLED
2.2 Location : getStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PUSH_PROCESSOR_STATUS_WITH_BREAK]/[method:pushAlwaysPushesBreakAndUnusedBitsAsSet()] Replaced bitwise OR with AND → KILLED
|
| 203 |
|
1.1 Location : getStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PHP]/[method:phpAlwaysPushesBreakAndUnusedBitsAsSet()] negated conditional → KILLED
2.2 Location : getStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PUSH_PROCESSOR_STATUS_WITH_BREAK]/[method:pushAlwaysPushesBreakAndUnusedBitsAsSet()] Replaced bitwise OR with AND → KILLED
|
| 204 |
|
1.1 Location : getStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PUSH_PROCESSOR_STATUS_WITH_BREAK]/[method:pushAlwaysPushesBreakAndUnusedBitsAsSet()] Replaced bitwise OR with AND → KILLED
2.2 Location : getStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PHP]/[method:phpAlwaysPushesBreakAndUnusedBitsAsSet()] negated conditional → KILLED
|
| 208 |
|
1.1 Location : setStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PULL_PROCESSOR_STATUS]/[method:pullDoesNotChangeRegistersAorIndexOrRemoveMemoryValue()] Replaced bitwise AND with OR → KILLED
2.2 Location : setStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PULL_PROCESSOR_STATUS]/[method:pullProcessorStatusLoadsFlagsFromStackAndIncrementsStackPointer()] removed call to com/rox/cpu/mos6502/MOS6502Environment::setN → KILLED
3.3 Location : setStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PULL_PROCESSOR_STATUS]/[method:pullProcessorStatusLoadsFlagsFromStackAndIncrementsStackPointer()] negated conditional → KILLED
|
| 209 |
|
1.1 Location : setStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PULL_PROCESSOR_STATUS]/[method:pullProcessorStatusLoadsFlagsFromStackAndIncrementsStackPointer()] negated conditional → KILLED
2.2 Location : setStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PULL_PROCESSOR_STATUS]/[method:pullDoesNotChangeRegistersAorIndexOrRemoveMemoryValue()] Replaced bitwise AND with OR → KILLED
3.3 Location : setStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PULL_PROCESSOR_STATUS]/[method:pullProcessorStatusLoadsFlagsFromStackAndIncrementsStackPointer()] removed call to com/rox/cpu/mos6502/MOS6502Environment::setV → KILLED
|
| 211 |
|
1.1 Location : setStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PULL_PROCESSOR_STATUS]/[method:pullProcessorStatusLoadsFlagsFromStackAndIncrementsStackPointer()] removed call to com/rox/cpu/mos6502/MOS6502Environment::setD → KILLED
2.2 Location : setStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PULL_PROCESSOR_STATUS]/[method:pullDoesNotChangeRegistersAorIndexOrRemoveMemoryValue()] Replaced bitwise AND with OR → KILLED
3.3 Location : setStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PULL_PROCESSOR_STATUS]/[method:pullProcessorStatusLoadsFlagsFromStackAndIncrementsStackPointer()] negated conditional → KILLED
|
| 212 |
|
1.1 Location : setStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PULL_PROCESSOR_STATUS]/[method:pullProcessorStatusLoadsFlagsFromStackAndIncrementsStackPointer()] removed call to com/rox/cpu/mos6502/MOS6502Environment::setI → KILLED
2.2 Location : setStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PULL_PROCESSOR_STATUS]/[method:pullProcessorStatusLoadsFlagsFromStackAndIncrementsStackPointer()] Replaced bitwise AND with OR → KILLED
3.3 Location : setStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PULL_PROCESSOR_STATUS]/[method:pullProcessorStatusLoadsFlagsFromStackAndIncrementsStackPointer()] negated conditional → KILLED
|
| 213 |
|
1.1 Location : setStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PULL_PROCESSOR_STATUS]/[method:pullProcessorStatusLoadsFlagsFromStackAndIncrementsStackPointer()] negated conditional → KILLED
2.2 Location : setStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PULL_PROCESSOR_STATUS]/[method:pullProcessorStatusLoadsFlagsFromStackAndIncrementsStackPointer()] removed call to com/rox/cpu/mos6502/MOS6502Environment::setZ → KILLED
3.3 Location : setStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PULL_PROCESSOR_STATUS]/[method:pullProcessorStatusLoadsFlagsFromStackAndIncrementsStackPointer()] Replaced bitwise AND with OR → KILLED
|
| 214 |
|
1.1 Location : setStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PULL_PROCESSOR_STATUS]/[method:pullDoesNotChangeRegistersAorIndexOrRemoveMemoryValue()] Replaced bitwise AND with OR → KILLED
2.2 Location : setStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PULL_PROCESSOR_STATUS]/[method:pullWrapsStackPointerFromFfToZeroBeforeReading()] removed call to com/rox/cpu/mos6502/MOS6502Environment::setCarry → KILLED
3.3 Location : setStatus Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:PULL_PROCESSOR_STATUS]/[method:pullWrapsStackPointerFromFfToZeroBeforeReading()] negated conditional → KILLED
|
| 228 |
|
1.1 Location : isIRQLineAsserted Killed by : com.rox.cpu.mos6502.MOS6502EnvironmentTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502EnvironmentTest]/[method:assertingIRQLineIsVisible()] replaced boolean return with false for com/rox/cpu/mos6502/MOS6502Environment::isIRQLineAsserted → KILLED
2.2 Location : isIRQLineAsserted Killed by : com.rox.cpu.mos6502.MOS6502EnvironmentTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502EnvironmentTest]/[method:deassertingIRQLineClearsIt()] replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::isIRQLineAsserted → KILLED
|
| 246 |
|
1.1 Location : isNMIPending Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[method:restoredCpuRunsOnInLockstepWithTheOriginal()] replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::isNMIPending → KILLED
2.2 Location : isNMIPending Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:restoreThenSnapshotRoundTripsEveryField(int, int, int, int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)] replaced boolean return with false for com/rox/cpu/mos6502/MOS6502Environment::isNMIPending → KILLED
|
| 253 |
|
1.1 Location : consumeNMI Killed by : com.rox.cpu.mos6502.MOS6502EnvironmentTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502EnvironmentTest]/[method:nmiTakesPriorityOverIRQWhenBothPending()] replaced boolean return with false for com/rox/cpu/mos6502/MOS6502Environment::consumeNMI → KILLED
2.2 Location : consumeNMI Killed by : com.rox.cpu.mos6502.MOS6502EnvironmentTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502EnvironmentTest]/[method:consumingNMIWhenNoneWasSignalledReturnsFalse()] replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::consumeNMI → KILLED
|
| 258 |
|
1.1 Location : hasPendingInterrupt Killed by : com.rox.cpu.mos6502.MOS6502EnvironmentTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502EnvironmentTest]/[method:nmiTakesPriorityOverIRQWhenBothPending()] negated conditional → KILLED
2.2 Location : hasPendingInterrupt Killed by : com.rox.cpu.mos6502.MOS6502EnvironmentTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502EnvironmentTest]/[method:nmiTakesPriorityOverIRQWhenBothPending()] negated conditional → KILLED
3.3 Location : hasPendingInterrupt Killed by : com.rox.cpu.mos6502.MOS6502EnvironmentTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502EnvironmentTest]/[method:irqIsMaskedByInterruptDisableFlag()] replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::hasPendingInterrupt → KILLED
4.4 Location : hasPendingInterrupt Killed by : com.rox.cpu.mos6502.MOS6502EnvironmentTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502EnvironmentTest]/[method:irqIsMaskedByInterruptDisableFlag()] negated conditional → KILLED
|
| 263 |
|
1.1 Location : additionalTickPending Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[nested-class:BranchMechanics]/[method:notTakenReadsOffsetButLeavesPcAndPendingOpUntouched()] negated conditional → KILLED
2.2 Location : additionalTickPending Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[nested-class:BranchMechanics]/[method:notTakenReadsOffsetButLeavesPcAndPendingOpUntouched()] replaced boolean return with true for com/rox/cpu/mos6502/MOS6502Environment::additionalTickPending → KILLED
|
| 273 |
|
1.1 Location : getPendingOperation Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[nested-class:BranchMechanics]/[method:takenWithMaximumPositiveOffsetAppliesCorrectSignExtension()] replaced return value with null for com/rox/cpu/mos6502/MOS6502Environment::getPendingOperation → KILLED
|
| 284 |
|
1.1 Location : getAndIncrementPC Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:incPcEndToEnd()] Replaced integer addition with subtraction → KILLED
2.2 Location : getAndIncrementPC Killed by : com.rox.cpu.mos6502.MOS6502MicroOpTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502MicroOpTest]/[method:incPcEndToEnd()] Replaced bitwise AND with OR → KILLED
|
| 285 |
|
1.1 Location : getAndIncrementPC Killed by : com.rox.cpu.mos6502.MOS6502OpCodeTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502OpCodeTest]/[nested-class:CLC]/[method:clcClearsCarryFlag()] replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Environment::getAndIncrementPC → KILLED
|
| 295 |
|
1.1 Location : clone Killed by : com.rox.cpu.mos6502.MOS6502EnvironmentTest.[engine:junit-jupiter]/[class:com.rox.cpu.mos6502.MOS6502EnvironmentTest]/[method:cloneCopiesTheDecimalFlag()] replaced return value with null for com/rox/cpu/mos6502/MOS6502Environment::clone → KILLED
|
| 300 |
|
1.1 Location : toString Killed by : none replaced return value with "" for com/rox/cpu/mos6502/MOS6502Environment::toString → NO_COVERAGE
|