// JLH 11/25/2009 Major rewrite of memory subsystem and handlers
// JPM 09/04/2018 Added the new Models and BIOS handler
// JPM 10/13/2018 Added breakpoints features
-// JPM Aug./2019 Fix specific breakpoint for ROM cartridge or unknown memory location writing; added a specific breakpoint for the M68K illegal instruction and address error exceptions
+// JPM Aug./2019 Fix specific breakpoint for ROM cartridge or unknown memory location writing; added a specific breakpoint for the M68K illegal & unimplemented instruction, unknown exceptions and address error exceptions
+// JPM Aug./2019 Fix potential emulator freeze after an exception has occured
//
S_BrkInfo *brkInfo;
size_t brkNbr;
+bool frameDone;
//
// Callback function to detect illegal instructions
case 0x10:
m68k_read_exception_vector(address, "Illegal instruction");
break;
+
+ case 0x2c:
+ m68k_read_exception_vector(address, "Unimplemented instruction");
+ break;
+
+ default:
+ m68k_read_exception_vector(address, "Exception not referenced");
+ break;
}
+
+ frameDone = true; // Hack to avoid the freeze of the emulator
}
else
{
// New Jaguar execution stack
// This executes 1 frame's worth of code.
//
-bool frameDone;
void JaguarExecuteNew(void)
{
frameDone = false;