summaryrefslogtreecommitdiff
path: root/cpu_dsl.py
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2019-02-05 19:29:54 -0800
committerMichael Pavone <pavone@retrodev.com>2019-02-05 19:29:54 -0800
commit961bdbea9dbbabff23624ef18280218eae452a3a (patch)
tree5a1aeeda71468a1e1240ba02cb225737c699567c /cpu_dsl.py
parent5850cea46e68143be1b4a0a10ee8c2dea17be67a (diff)
Fixed half-carry flag calcuation for adc/sbc in new Z80 core
Diffstat (limited to 'cpu_dsl.py')
-rwxr-xr-xcpu_dsl.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/cpu_dsl.py b/cpu_dsl.py
index 9893600..928681b 100755
--- a/cpu_dsl.py
+++ b/cpu_dsl.py
@@ -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]