Mercurial > repos > blastem
diff gentests.py @ 325:8db584faac4b
Fixed decoding of CHK destination
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 12 May 2013 01:34:29 -0700 |
parents | 42123feab62d |
children | bfbb8613efb4 |
line wrap: on
line diff
--- a/gentests.py Sun May 12 01:34:17 2013 -0700 +++ b/gentests.py Sun May 12 01:34:29 2013 -0700 @@ -24,9 +24,12 @@ def write_rom_test(self, outfile): outfile.write('\tdc.l $0, start\n') needdivzero = self.inst.name.startswith('div') + needchk = self.inst.name.startswith('chk') for i in xrange(0x8, 0x100, 0x4): if needdivzero and i == 0x14: outfile.write('\tdc.l div_zero_handler\n') + elif needchk and i == 0x18: + outfile.write('\tdc.l chk_handler\n') else: outfile.write('\tdc.l empty_handler\n') outfile.write('\tdc.b "SEGA"\nempty_handler:\n\trte\n') @@ -35,6 +38,11 @@ div_zero_count = self.get_dreg() outfile.write('\taddq #1, ' + str(div_zero_count) + '\n') outfile.write('\trte\n') + if needchk: + outfile.write('chk_handler:\n') + chk_count = self.get_dreg() + outfile.write('\taddq #1, ' + str(chk_count) + '\n') + outfile.write('\trte\n') outfile.write('start:\n\tmove #0, CCR\n') if needdivzero: outfile.write('\tmoveq #0, ' + str(div_zero_count) + '\n')