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')