trap more cases where n64 emulation can halt when running buggy code and shunt through my don't-halt-after-all logic. these are now all associated with error messages; it would be nice if someone knew a way to get those error messages out to c#. then again, that might make buggy code become hopelessly slow due to error spew

re #1214
This commit is contained in:
zeromus 2018-11-03 14:04:18 -04:00
parent d4aceb2aa1
commit 482a3ab8f6
11 changed files with 153 additions and 35 deletions

View File

@ -1,4 +1,3 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
@ -63,69 +62,189 @@ EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Debug|x64.ActiveCfg = Debug|Any CPU
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Debug|x64.Build.0 = Debug|Any CPU
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Debug|x86.ActiveCfg = Debug|Any CPU
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Debug|x86.Build.0 = Debug|Any CPU
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Release|Any CPU.Build.0 = Release|Any CPU
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Release|x64.ActiveCfg = Release|Any CPU
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Release|x64.Build.0 = Release|Any CPU
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Release|x86.ActiveCfg = Release|Any CPU
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Release|x86.Build.0 = Release|Any CPU
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Debug|x64.ActiveCfg = Debug|Any CPU
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Debug|x64.Build.0 = Debug|Any CPU
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Debug|x86.ActiveCfg = Debug|Any CPU
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Debug|x86.Build.0 = Debug|Any CPU
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Release|Any CPU.Build.0 = Release|Any CPU
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Release|x64.ActiveCfg = Release|Any CPU
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Release|x64.Build.0 = Release|Any CPU
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Release|x86.ActiveCfg = Release|Any CPU
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Release|x86.Build.0 = Release|Any CPU
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Debug|x64.ActiveCfg = Debug|Any CPU
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Debug|x64.Build.0 = Debug|Any CPU
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Debug|x86.ActiveCfg = Debug|Any CPU
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Debug|x86.Build.0 = Debug|Any CPU
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Release|Any CPU.Build.0 = Release|Any CPU
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Release|x64.ActiveCfg = Release|Any CPU
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Release|x64.Build.0 = Release|Any CPU
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Release|x86.ActiveCfg = Release|Any CPU
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Release|x86.Build.0 = Release|Any CPU
{DD448B37-BA3F-4544-9754-5406E8094723}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DD448B37-BA3F-4544-9754-5406E8094723}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DD448B37-BA3F-4544-9754-5406E8094723}.Debug|x64.ActiveCfg = Debug|Any CPU
{DD448B37-BA3F-4544-9754-5406E8094723}.Debug|x64.Build.0 = Debug|Any CPU
{DD448B37-BA3F-4544-9754-5406E8094723}.Debug|x86.ActiveCfg = Debug|Any CPU
{DD448B37-BA3F-4544-9754-5406E8094723}.Debug|x86.Build.0 = Debug|Any CPU
{DD448B37-BA3F-4544-9754-5406E8094723}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DD448B37-BA3F-4544-9754-5406E8094723}.Release|Any CPU.Build.0 = Release|Any CPU
{DD448B37-BA3F-4544-9754-5406E8094723}.Release|x64.ActiveCfg = Release|Any CPU
{DD448B37-BA3F-4544-9754-5406E8094723}.Release|x64.Build.0 = Release|Any CPU
{DD448B37-BA3F-4544-9754-5406E8094723}.Release|x86.ActiveCfg = Release|Any CPU
{DD448B37-BA3F-4544-9754-5406E8094723}.Release|x86.Build.0 = Release|Any CPU
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Debug|x64.ActiveCfg = Debug|Any CPU
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Debug|x64.Build.0 = Debug|Any CPU
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Debug|x86.ActiveCfg = Debug|Any CPU
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Debug|x86.Build.0 = Debug|Any CPU
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Release|Any CPU.Build.0 = Release|Any CPU
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Release|x64.ActiveCfg = Release|Any CPU
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Release|x64.Build.0 = Release|Any CPU
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Release|x86.ActiveCfg = Release|Any CPU
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Release|x86.Build.0 = Release|Any CPU
{F51946EA-827F-4D82-B841-1F2F6D060312}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F51946EA-827F-4D82-B841-1F2F6D060312}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F51946EA-827F-4D82-B841-1F2F6D060312}.Debug|x64.ActiveCfg = Debug|Any CPU
{F51946EA-827F-4D82-B841-1F2F6D060312}.Debug|x64.Build.0 = Debug|Any CPU
{F51946EA-827F-4D82-B841-1F2F6D060312}.Debug|x86.ActiveCfg = Debug|Any CPU
{F51946EA-827F-4D82-B841-1F2F6D060312}.Debug|x86.Build.0 = Debug|Any CPU
{F51946EA-827F-4D82-B841-1F2F6D060312}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F51946EA-827F-4D82-B841-1F2F6D060312}.Release|Any CPU.Build.0 = Release|Any CPU
{F51946EA-827F-4D82-B841-1F2F6D060312}.Release|x64.ActiveCfg = Release|Any CPU
{F51946EA-827F-4D82-B841-1F2F6D060312}.Release|x64.Build.0 = Release|Any CPU
{F51946EA-827F-4D82-B841-1F2F6D060312}.Release|x86.ActiveCfg = Release|Any CPU
{F51946EA-827F-4D82-B841-1F2F6D060312}.Release|x86.Build.0 = Release|Any CPU
{E1A23168-B571-411C-B360-2229E7225E0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E1A23168-B571-411C-B360-2229E7225E0E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E1A23168-B571-411C-B360-2229E7225E0E}.Debug|x64.ActiveCfg = Debug|Any CPU
{E1A23168-B571-411C-B360-2229E7225E0E}.Debug|x64.Build.0 = Debug|Any CPU
{E1A23168-B571-411C-B360-2229E7225E0E}.Debug|x86.ActiveCfg = Debug|Any CPU
{E1A23168-B571-411C-B360-2229E7225E0E}.Debug|x86.Build.0 = Debug|Any CPU
{E1A23168-B571-411C-B360-2229E7225E0E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E1A23168-B571-411C-B360-2229E7225E0E}.Release|Any CPU.Build.0 = Release|Any CPU
{E1A23168-B571-411C-B360-2229E7225E0E}.Release|x64.ActiveCfg = Release|Any CPU
{E1A23168-B571-411C-B360-2229E7225E0E}.Release|x64.Build.0 = Release|Any CPU
{E1A23168-B571-411C-B360-2229E7225E0E}.Release|x86.ActiveCfg = Release|Any CPU
{E1A23168-B571-411C-B360-2229E7225E0E}.Release|x86.Build.0 = Release|Any CPU
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Debug|x64.ActiveCfg = Debug|Any CPU
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Debug|x64.Build.0 = Debug|Any CPU
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Debug|x86.ActiveCfg = Debug|Any CPU
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Debug|x86.Build.0 = Debug|Any CPU
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Release|Any CPU.Build.0 = Release|Any CPU
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Release|x64.ActiveCfg = Release|Any CPU
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Release|x64.Build.0 = Release|Any CPU
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Release|x86.ActiveCfg = Release|Any CPU
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Release|x86.Build.0 = Release|Any CPU
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Debug|x64.ActiveCfg = Debug|Any CPU
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Debug|x64.Build.0 = Debug|Any CPU
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Debug|x86.ActiveCfg = Debug|Any CPU
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Debug|x86.Build.0 = Debug|Any CPU
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Release|Any CPU.Build.0 = Release|Any CPU
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Release|x64.ActiveCfg = Release|Any CPU
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Release|x64.Build.0 = Release|Any CPU
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Release|x86.ActiveCfg = Release|Any CPU
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Release|x86.Build.0 = Release|Any CPU
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Debug|x64.ActiveCfg = Debug|Any CPU
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Debug|x64.Build.0 = Debug|Any CPU
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Debug|x86.ActiveCfg = Debug|Any CPU
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Debug|x86.Build.0 = Debug|Any CPU
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Release|Any CPU.Build.0 = Release|Any CPU
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Release|x64.ActiveCfg = Release|Any CPU
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Release|x64.Build.0 = Release|Any CPU
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Release|x86.ActiveCfg = Release|Any CPU
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Release|x86.Build.0 = Release|Any CPU
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Debug|x64.ActiveCfg = Debug|Any CPU
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Debug|x64.Build.0 = Debug|Any CPU
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Debug|x86.ActiveCfg = Debug|Any CPU
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Debug|x86.Build.0 = Debug|Any CPU
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Release|Any CPU.Build.0 = Release|Any CPU
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Release|x64.ActiveCfg = Release|Any CPU
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Release|x64.Build.0 = Release|Any CPU
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Release|x86.ActiveCfg = Release|Any CPU
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Release|x86.Build.0 = Release|Any CPU
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Debug|Any CPU.Build.0 = Debug|Any CPU
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Debug|x64.ActiveCfg = Debug|Any CPU
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Debug|x64.Build.0 = Debug|Any CPU
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Debug|x86.ActiveCfg = Debug|Any CPU
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Debug|x86.Build.0 = Debug|Any CPU
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Release|Any CPU.ActiveCfg = Release|Any CPU
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Release|Any CPU.Build.0 = Release|Any CPU
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Release|x64.ActiveCfg = Release|Any CPU
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Release|x64.Build.0 = Release|Any CPU
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Release|x86.ActiveCfg = Release|Any CPU
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Release|x86.Build.0 = Release|Any CPU
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Debug|x64.ActiveCfg = Debug|Any CPU
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Debug|x64.Build.0 = Debug|Any CPU
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Debug|x86.ActiveCfg = Debug|Any CPU
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Debug|x86.Build.0 = Debug|Any CPU
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Release|Any CPU.Build.0 = Release|Any CPU
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Release|x64.ActiveCfg = Release|Any CPU
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Release|x64.Build.0 = Release|Any CPU
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Release|x86.ActiveCfg = Release|Any CPU
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Release|x86.Build.0 = Release|Any CPU
{B95649F5-A0AE-41EB-B62B-578A2AFF5E18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B95649F5-A0AE-41EB-B62B-578A2AFF5E18}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B95649F5-A0AE-41EB-B62B-578A2AFF5E18}.Debug|x64.ActiveCfg = Debug|Any CPU
{B95649F5-A0AE-41EB-B62B-578A2AFF5E18}.Debug|x86.ActiveCfg = Debug|Any CPU
{B95649F5-A0AE-41EB-B62B-578A2AFF5E18}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B95649F5-A0AE-41EB-B62B-578A2AFF5E18}.Release|Any CPU.Build.0 = Release|Any CPU
{B95649F5-A0AE-41EB-B62B-578A2AFF5E18}.Release|x64.ActiveCfg = Release|Any CPU
{B95649F5-A0AE-41EB-B62B-578A2AFF5E18}.Release|x86.ActiveCfg = Release|Any CPU
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Debug|x64.ActiveCfg = Debug|Any CPU
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Debug|x64.Build.0 = Debug|Any CPU
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Debug|x86.ActiveCfg = Debug|Any CPU
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Debug|x86.Build.0 = Debug|Any CPU
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Release|Any CPU.Build.0 = Release|Any CPU
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Release|x64.ActiveCfg = Release|Any CPU
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Release|x64.Build.0 = Release|Any CPU
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Release|x86.ActiveCfg = Release|Any CPU
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -56,17 +56,21 @@ void DebugMessage(int level, const char *message, ...)
char msgbuf[256];
va_list args;
extern HANDLE rompausesem;
extern int stop;
int new_vi();
if(level == M64MSG_ERROR)
{
//trigger a vsync just to get out of frame advance
new_vi();
new_vi();
WaitForSingleObject(rompausesem, INFINITE);
}
if (pDebugFunc == NULL)
return;
{
va_start(args, message);
vprintf(message, args);
return;
}
va_start(args, message);
vsprintf(msgbuf, message, args);

View File

@ -839,7 +839,7 @@ void main_stop(void)
{
/* note: this operation is asynchronous. It may be called from a thread other than the
main emulator thread, and may return before the emulator is completely stopped */
if (!g_EmulatorRunning)
if (!g_EmulatorRunning)
return;
DebugMessage(M64MSG_STATUS, "Stopping emulation.");

View File

@ -341,7 +341,6 @@ void dma_si_write(void)
if (si_register.si_pif_addr_wr64b != 0x1FC007C0)
{
DebugMessage(M64MSG_ERROR, "dma_si_write(): unknown SI use");
stop=1;
}
for (i=0; i<(64/4); i++)
@ -361,7 +360,6 @@ void dma_si_read(void)
if (si_register.si_pif_addr_rd64b != 0x1FC007C0)
{
DebugMessage(M64MSG_ERROR, "dma_si_read(): unknown SI use");
stop=1;
}
update_pif_read();

View File

@ -154,8 +154,7 @@ void flashram_command(unsigned int command)
case STATUS_MODE:
break;
default:
DebugMessage(M64MSG_WARNING, "unknown flashram command with mode:%x", (int)flashram_info.mode);
stop=1;
DebugMessage(M64MSG_ERROR, "unknown flashram command with mode:%x", (int)flashram_info.mode);
break;
}
flashram_info.mode = NOPES_MODE;
@ -193,7 +192,6 @@ void dma_read_flashram(void)
break;
default:
DebugMessage(M64MSG_WARNING, "unknown dma_read_flashram: %x", flashram_info.mode);
stop=1;
break;
}
}
@ -207,7 +205,6 @@ void dma_write_flashram(void)
break;
default:
DebugMessage(M64MSG_ERROR, "unknown dma_write_flashram: %x", flashram_info.mode);
stop=1;
break;
}
}

View File

@ -49,13 +49,13 @@ DECLARE_INSTRUCTION(NI)
{
DebugMessage(M64MSG_ERROR, "NI() @ 0x%x", PCADDR);
DebugMessage(M64MSG_ERROR, "opcode not implemented: %x:%x", PCADDR, *fast_mem_access(PCADDR));
stop=1;
//stop=1;
}
DECLARE_INSTRUCTION(RESERVED)
{
DebugMessage(M64MSG_ERROR, "reserved opcode: %x:%x", PCADDR, *fast_mem_access(PCADDR));
stop=1;
//stop=1;
}
// R4300

View File

@ -25,7 +25,7 @@ DECLARE_INSTRUCTION(MFC0)
{
case 1:
DebugMessage(M64MSG_ERROR, "MFC0 instruction reading un-implemented Random register");
stop=1;
//stop=1;
case 9: // Count
update_count();
default:
@ -44,7 +44,7 @@ DECLARE_INSTRUCTION(MTC0)
if ((Index & 0x3F) > 31)
{
DebugMessage(M64MSG_ERROR, "MTC0 instruction writing Index register with TLB index > 31");
stop=1;
//stop=1;
}
break;
case 1: // Random
@ -106,7 +106,7 @@ DECLARE_INSTRUCTION(MTC0)
if (rrt!=0)
{
DebugMessage(M64MSG_ERROR, "MTC0 instruction trying to write Cause register with non-0 value");
stop = 1;
//stop = 1;
}
else Cause = (unsigned int) rrt;
break;
@ -134,7 +134,7 @@ DECLARE_INSTRUCTION(MTC0)
break;
default:
DebugMessage(M64MSG_ERROR, "Unknown MTC0 write: %d", PC->f.r.nrd);
stop=1;
//stop=1;
}
ADD_TO_PC(1);
}

View File

@ -300,7 +300,7 @@ DECLARE_INSTRUCTION(C_SF_D)
if (isnan(*reg_cop1_double[cffs]) || isnan(*reg_cop1_double[cfft]))
{
DebugMessage(M64MSG_ERROR, "Invalid operation exception in C opcode");
stop=1;
//stop=1;
}
c_sf_d(reg_cop1_double[cffs], reg_cop1_double[cfft]);
ADD_TO_PC(1);
@ -311,7 +311,7 @@ DECLARE_INSTRUCTION(C_NGLE_D)
if (isnan(*reg_cop1_double[cffs]) || isnan(*reg_cop1_double[cfft]))
{
DebugMessage(M64MSG_ERROR, "Invalid operation exception in C opcode");
stop=1;
//stop=1;
}
c_ngle_d(reg_cop1_double[cffs], reg_cop1_double[cfft]);
ADD_TO_PC(1);
@ -322,7 +322,7 @@ DECLARE_INSTRUCTION(C_SEQ_D)
if (isnan(*reg_cop1_double[cffs]) || isnan(*reg_cop1_double[cfft]))
{
DebugMessage(M64MSG_ERROR, "Invalid operation exception in C opcode");
stop=1;
//stop=1;
}
c_seq_d(reg_cop1_double[cffs], reg_cop1_double[cfft]);
ADD_TO_PC(1);
@ -333,7 +333,7 @@ DECLARE_INSTRUCTION(C_NGL_D)
if (isnan(*reg_cop1_double[cffs]) || isnan(*reg_cop1_double[cfft]))
{
DebugMessage(M64MSG_ERROR, "Invalid operation exception in C opcode");
stop=1;
//stop=1;
}
c_ngl_d(reg_cop1_double[cffs], reg_cop1_double[cfft]);
ADD_TO_PC(1);
@ -345,7 +345,7 @@ DECLARE_INSTRUCTION(C_LT_D)
if (isnan(*reg_cop1_double[cffs]) || isnan(*reg_cop1_double[cfft]))
{
DebugMessage(M64MSG_ERROR, "Invalid operation exception in C opcode");
stop=1;
//stop=1;
}
c_lt_d(reg_cop1_double[cffs], reg_cop1_double[cfft]);
ADD_TO_PC(1);
@ -357,7 +357,7 @@ DECLARE_INSTRUCTION(C_NGE_D)
if (isnan(*reg_cop1_double[cffs]) || isnan(*reg_cop1_double[cfft]))
{
DebugMessage(M64MSG_ERROR, "Invalid operation exception in C opcode");
stop=1;
//stop=1;
}
c_nge_d(reg_cop1_double[cffs], reg_cop1_double[cfft]);
ADD_TO_PC(1);
@ -369,7 +369,7 @@ DECLARE_INSTRUCTION(C_LE_D)
if (isnan(*reg_cop1_double[cffs]) || isnan(*reg_cop1_double[cfft]))
{
DebugMessage(M64MSG_ERROR, "Invalid operation exception in C opcode");
stop=1;
//stop=1;
}
c_le_d(reg_cop1_double[cffs], reg_cop1_double[cfft]);
ADD_TO_PC(1);
@ -381,7 +381,7 @@ DECLARE_INSTRUCTION(C_NGT_D)
if (isnan(*reg_cop1_double[cffs]) || isnan(*reg_cop1_double[cfft]))
{
DebugMessage(M64MSG_ERROR, "Invalid operation exception in C opcode");
stop=1;
//stop=1;
}
c_ngt_d(reg_cop1_double[cffs], reg_cop1_double[cfft]);
ADD_TO_PC(1);
@ -602,7 +602,7 @@ DECLARE_INSTRUCTION(C_SF_S)
if (isnan(*reg_cop1_simple[cffs]) || isnan(*reg_cop1_simple[cfft]))
{
DebugMessage(M64MSG_ERROR, "Invalid operation exception in C opcode");
stop=1;
//stop=1;
}
c_sf_s(reg_cop1_simple[cffs], reg_cop1_simple[cfft]);
ADD_TO_PC(1);
@ -614,7 +614,7 @@ DECLARE_INSTRUCTION(C_NGLE_S)
if (isnan(*reg_cop1_simple[cffs]) || isnan(*reg_cop1_simple[cfft]))
{
DebugMessage(M64MSG_ERROR, "Invalid operation exception in C opcode");
stop=1;
//stop=1;
}
c_ngle_s(reg_cop1_simple[cffs], reg_cop1_simple[cfft]);
ADD_TO_PC(1);
@ -626,7 +626,7 @@ DECLARE_INSTRUCTION(C_SEQ_S)
if (isnan(*reg_cop1_simple[cffs]) || isnan(*reg_cop1_simple[cfft]))
{
DebugMessage(M64MSG_ERROR, "Invalid operation exception in C opcode");
stop=1;
//stop=1;
}
c_seq_s(reg_cop1_simple[cffs], reg_cop1_simple[cfft]);
ADD_TO_PC(1);
@ -638,7 +638,7 @@ DECLARE_INSTRUCTION(C_NGL_S)
if (isnan(*reg_cop1_simple[cffs]) || isnan(*reg_cop1_simple[cfft]))
{
DebugMessage(M64MSG_ERROR, "Invalid operation exception in C opcode");
stop=1;
//stop=1;
}
c_ngl_s(reg_cop1_simple[cffs], reg_cop1_simple[cfft]);
ADD_TO_PC(1);
@ -650,7 +650,7 @@ DECLARE_INSTRUCTION(C_LT_S)
if (isnan(*reg_cop1_simple[cffs]) || isnan(*reg_cop1_simple[cfft]))
{
DebugMessage(M64MSG_ERROR, "Invalid operation exception in C opcode");
stop=1;
//stop=1;
}
c_lt_s(reg_cop1_simple[cffs], reg_cop1_simple[cfft]);
ADD_TO_PC(1);
@ -662,7 +662,7 @@ DECLARE_INSTRUCTION(C_NGE_S)
if (isnan(*reg_cop1_simple[cffs]) || isnan(*reg_cop1_simple[cfft]))
{
DebugMessage(M64MSG_ERROR, "Invalid operation exception in C opcode");
stop=1;
//stop=1;
}
c_nge_s(reg_cop1_simple[cffs], reg_cop1_simple[cfft]);
ADD_TO_PC(1);
@ -674,7 +674,7 @@ DECLARE_INSTRUCTION(C_LE_S)
if (isnan(*reg_cop1_simple[cffs]) || isnan(*reg_cop1_simple[cfft]))
{
DebugMessage(M64MSG_ERROR, "Invalid operation exception in C opcode");
stop=1;
//stop=1;
}
c_le_s(reg_cop1_simple[cffs], reg_cop1_simple[cfft]);
ADD_TO_PC(1);
@ -686,7 +686,7 @@ DECLARE_INSTRUCTION(C_NGT_S)
if (isnan(*reg_cop1_simple[cffs]) || isnan(*reg_cop1_simple[cfft]))
{
DebugMessage(M64MSG_ERROR, "Invalid operation exception in C opcode");
stop=1;
//stop=1;
}
c_ngt_s(reg_cop1_simple[cffs], reg_cop1_simple[cfft]);
ADD_TO_PC(1);

View File

@ -359,7 +359,7 @@ DECLARE_INSTRUCTION(TEQ)
if (rrs == rrt)
{
DebugMessage(M64MSG_ERROR, "trap exception in TEQ");
stop=1;
//stop=1;
}
ADD_TO_PC(1);
}

View File

@ -235,7 +235,7 @@ DECLARE_INSTRUCTION(ERET)
if (Status & 0x4)
{
DebugMessage(M64MSG_ERROR, "error in ERET");
stop=1;
//stop=1;
}
else
{

Binary file not shown.