diff options
author | Michael Pavone <pavone@retrodev.com> | 2019-02-05 19:29:54 -0800 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2019-02-05 19:29:54 -0800 |
commit | 961bdbea9dbbabff23624ef18280218eae452a3a (patch) | |
tree | 5a1aeeda71468a1e1240ba02cb225737c699567c | |
parent | 5850cea46e68143be1b4a0a10ee8c2dea17be67a (diff) |
Fixed half-carry flag calcuation for adc/sbc in new Z80 core
-rwxr-xr-x | cpu_dsl.py | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -545,7 +545,7 @@ def _adcCImpl(prog, params, rawParams, flagUpdates): decl,name = prog.getTemp(size) dst = prog.carryFlowDst = name prog.lastA = params[0] - prog.lastB = '({b} + ({check} ? 1 : 0))'.format(b = params[1], check = carryCheck) + prog.lastB = params[1] prog.lastBFlow = '(~{b})'.format(b=params[1]) else: dst = params[2] @@ -573,7 +573,7 @@ def _sbcCImpl(prog, params, rawParams, flagUpdates): decl,name = prog.getTemp(size) dst = prog.carryFlowDst = name prog.lastA = params[1] - prog.lastB = '({b} ^ ({check} ? 1 : 0))'.format(b = params[0], check = carryCheck) + prog.lastB = params[0] prog.lastBFlow = params[0] else: dst = params[2] |