summaryrefslogtreecommitdiff
path: root/cpu_dsl.py
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2019-02-03 11:05:40 -0800
committerMichael Pavone <pavone@retrodev.com>2019-02-03 11:05:40 -0800
commitd69482b7a3e0a3af3558f37a8a4fbd294308571b (patch)
treea9575d5f664c94e3b3b7154c0a0ac69b8c97ffca /cpu_dsl.py
parent822f91d0a3dd99351d881868f780058949099ffe (diff)
Get new Z80 core running in CPM harness
Diffstat (limited to 'cpu_dsl.py')
-rwxr-xr-xcpu_dsl.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/cpu_dsl.py b/cpu_dsl.py
index 062d2ac..d131a70 100755
--- a/cpu_dsl.py
+++ b/cpu_dsl.py
@@ -1026,7 +1026,7 @@ class Registers:
self.addRegArray(parts[0], int(parts[1]), parts[2:])
else:
if parts[1].startswith('ptr'):
- self.addPointer(parts[0], int(parts[1][3:]))
+ self.addPointer(parts[0], parts[1][3:])
else:
self.addReg(parts[0], int(parts[1]))
return self
@@ -1034,7 +1034,14 @@ class Registers:
def writeHeader(self, otype, hFile):
fieldList = []
for pointer in self.pointers:
- hFile.write('\n\tuint{sz}_t *{nm};'.format(nm=pointer, sz=self.pointers[pointer]))
+ stars = '*'
+ ptype = self.pointers[pointer]
+ while ptype.startswith('ptr'):
+ stars += '*'
+ ptype = ptype[3:]
+ if ptype.isdigit():
+ ptype = 'uint{sz}_t'.format(sz=ptype)
+ hFile.write('\n\t{ptype} {stars}{nm};'.format(nm=pointer, ptype=ptype, stars=stars))
for reg in self.regs:
if not self.isRegArrayMember(reg):
fieldList.append((self.regs[reg], 1, reg))