replace restart { ld (hl),(hl) } by { ERROR - peephole - caught (hl),(hl) } replace restart { ld %1,%1 } by { ; Rule 1: Removed redundent load } replace restart { xor a,a or a,%1 or a,a jp %2,%3 } by { xor a,a or a,%1 jp %2,%3 } replace restart { cp a,#0x00 jp nz,%1 } by { ; Rule 3: Changed cp #0 to or or a,a jp nz,%1 } replace restart { jp nz,%1 jp %2 %1: jp %3 %2: } by { ; Rule 4: Changed jp order jp z,%2 %1: jp %3 %2: } replace restart { jp nz,%1 jp %2 %1: } by { ; Rule 5: Changed jump logic jp z,%2 %1: } replace restart { jp z,%1 jp %2 %1: } by { ; Rule 6: Changed jump logic jp nz,%2 %1: } replace restart { or a,%1 or a,a } by { ; Rule 7: Removed redundent or or a,%1 } replace restart { or a,%1) or a,a } by { ; Rule 8: Removed redundent or for (ix) or a,%1) } replace restart { xor a,a or a,%1 jp nz,%2 xor a,a or a,%3 jp z,%2 } by { xor a,a or a,%1 jp nz,%2 or a,%3 jp z,%2 } replace restart { jp nz,%1 inc %3) %1: jp %2 } by { jp nz,%2 inc %3) %1: jp %2 } replace restart { xor a,a ld a,#0x00 } by { xor a,a } replace restart { ld e,#0x00 ld d,#0x00 } by { ld de,#0x0000 }