Mercurial > repos > blastem
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] |