comparison 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
comparison
equal deleted inserted replaced
1734:88fbc4e711fd 1735:ca2336469397
1024 self.addRegArray(parts[0], int(parts[1]), int(parts[2])) 1024 self.addRegArray(parts[0], int(parts[1]), int(parts[2]))
1025 elif len(parts) > 2: 1025 elif len(parts) > 2:
1026 self.addRegArray(parts[0], int(parts[1]), parts[2:]) 1026 self.addRegArray(parts[0], int(parts[1]), parts[2:])
1027 else: 1027 else:
1028 if parts[1].startswith('ptr'): 1028 if parts[1].startswith('ptr'):
1029 self.addPointer(parts[0], int(parts[1][3:])) 1029 self.addPointer(parts[0], parts[1][3:])
1030 else: 1030 else:
1031 self.addReg(parts[0], int(parts[1])) 1031 self.addReg(parts[0], int(parts[1]))
1032 return self 1032 return self
1033 1033
1034 def writeHeader(self, otype, hFile): 1034 def writeHeader(self, otype, hFile):
1035 fieldList = [] 1035 fieldList = []
1036 for pointer in self.pointers: 1036 for pointer in self.pointers:
1037 hFile.write('\n\tuint{sz}_t *{nm};'.format(nm=pointer, sz=self.pointers[pointer])) 1037 stars = '*'
1038 ptype = self.pointers[pointer]
1039 while ptype.startswith('ptr'):
1040 stars += '*'
1041 ptype = ptype[3:]
1042 if ptype.isdigit():
1043 ptype = 'uint{sz}_t'.format(sz=ptype)
1044 hFile.write('\n\t{ptype} {stars}{nm};'.format(nm=pointer, ptype=ptype, stars=stars))
1038 for reg in self.regs: 1045 for reg in self.regs:
1039 if not self.isRegArrayMember(reg): 1046 if not self.isRegArrayMember(reg):
1040 fieldList.append((self.regs[reg], 1, reg)) 1047 fieldList.append((self.regs[reg], 1, reg))
1041 for arr in self.regArrays: 1048 for arr in self.regArrays:
1042 size,regs = self.regArrays[arr] 1049 size,regs = self.regArrays[arr]