diff cpu_dsl.py @ 1735:ca2336469397

Get new Z80 core running in CPM harness
author Michael Pavone <pavone@retrodev.com>
date Sun, 03 Feb 2019 11:05:40 -0800
parents 88fbc4e711fd
children 2207cd2bae14
line wrap: on
line diff
--- a/cpu_dsl.py	Sun Feb 03 10:40:41 2019 -0800
+++ b/cpu_dsl.py	Sun Feb 03 11:05:40 2019 -0800
@@ -1026,7 +1026,7 @@
 			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 @@
 	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))